From d142b16df31514b11a5f025ec8e82dc4aa20d7ee Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Thu, 12 Sep 2024 16:14:54 +0800 Subject: [PATCH 1/8] =?UTF-8?q?1-1=E5=AF=B9=E6=8E=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 14 + package.json | 1 + src/App.tsx | 17 +- src/page/Component/BarChart/chart.config.ts | 79 +++++ src/page/Component/ChangeFullButton.tsx | 36 --- src/page/Component/ChangeLangButton.tsx | 19 -- src/page/Component/LineChart/chart.config.ts | 121 ++++++++ .../Component/LineChartRight/chart.config.ts | 99 +++++++ src/page/Component/QualityRightTable.tsx | 51 ---- src/page/Component/StyledTable.tsx | 71 ----- .../Component/SummaryBarChart/chart.config.ts | 128 ++++++++ src/page/Component/SwitchOnOff.tsx | 26 -- src/page/Component/TabPanel.tsx | 19 -- src/page/LinePage/Left/LeftUp.tsx | 4 + src/page/LinePage1_1/Center/CenterDown.tsx | 215 ++++++++++++++ src/page/LinePage1_1/Center/CenterUp.tsx | 12 + src/page/LinePage1_1/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 ++ .../Component/SwitchButton/index.tsx | 65 +++++ .../LinePage1_1/Component/TitleBox/index.css | 13 + .../LinePage1_1/Component/TitleBox/index.tsx | 53 ++++ src/page/LinePage1_1/Left/LeftDown.tsx | 245 ++++++++++++++++ src/page/LinePage1_1/Left/LeftUp.tsx | 229 +++++++++++++++ src/page/LinePage1_1/Left/index.tsx | 11 + src/page/LinePage1_1/Right/RightDown.tsx | 273 ++++++++++++++++++ src/page/LinePage1_1/Right/RightUp.tsx | 52 ++++ src/page/LinePage1_1/Right/index.tsx | 12 + src/page/LinePage1_1/TopP.tsx | 14 + src/page/LinePage1_1/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage1_1/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage1_1/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage1_1/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage1_1/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage1_1/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage1_1/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage1_1/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage1_1/index.css | 264 +++++++++++++++++ src/page/LinePage1_1/index.tsx | 18 ++ src/store/LinePageSlice.ts | 76 ++++- src/store/UpdateData.tsx | 189 +++++++++++- 41 files changed, 2208 insertions(+), 249 deletions(-) create mode 100644 src/page/Component/BarChart/chart.config.ts delete mode 100644 src/page/Component/ChangeFullButton.tsx delete mode 100644 src/page/Component/ChangeLangButton.tsx create mode 100644 src/page/Component/LineChart/chart.config.ts create mode 100644 src/page/Component/LineChartRight/chart.config.ts delete mode 100644 src/page/Component/QualityRightTable.tsx delete mode 100644 src/page/Component/StyledTable.tsx create mode 100644 src/page/Component/SummaryBarChart/chart.config.ts delete mode 100644 src/page/Component/SwitchOnOff.tsx delete mode 100644 src/page/Component/TabPanel.tsx create mode 100644 src/page/LinePage1_1/Center/CenterDown.tsx create mode 100644 src/page/LinePage1_1/Center/CenterUp.tsx create mode 100644 src/page/LinePage1_1/Center/index.tsx create mode 100644 src/page/LinePage1_1/Component/SwitchButton/index.css create mode 100644 src/page/LinePage1_1/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage1_1/Component/TitleBox/index.css create mode 100644 src/page/LinePage1_1/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage1_1/Left/LeftDown.tsx create mode 100644 src/page/LinePage1_1/Left/LeftUp.tsx create mode 100644 src/page/LinePage1_1/Left/index.tsx create mode 100644 src/page/LinePage1_1/Right/RightDown.tsx create mode 100644 src/page/LinePage1_1/Right/RightUp.tsx create mode 100644 src/page/LinePage1_1/Right/index.tsx create mode 100644 src/page/LinePage1_1/TopP.tsx create mode 100644 src/page/LinePage1_1/assets/icon/alarm.png create mode 100644 src/page/LinePage1_1/assets/icon/defect.png create mode 100644 src/page/LinePage1_1/assets/icon/finished.png create mode 100644 src/page/LinePage1_1/assets/icon/g.png create mode 100644 src/page/LinePage1_1/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage1_1/assets/icon/num.png create mode 100644 src/page/LinePage1_1/assets/icon/r.png create mode 100644 src/page/LinePage1_1/assets/icon/record.png create mode 100644 src/page/LinePage1_1/assets/icon/y.png create mode 100644 src/page/LinePage1_1/index.css create mode 100644 src/page/LinePage1_1/index.tsx diff --git a/package-lock.json b/package-lock.json index 3f62a41..b063eae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,6 +54,7 @@ "jest-resolve": "^27.4.2", "jest-watch-typeahead": "^1.0.0", "mini-css-extract-plugin": "^2.4.5", + "moment": "^2.30.1", "postcss": "^8.4.4", "postcss-flexbugs-fixes": "^5.0.2", "postcss-loader": "^6.2.1", @@ -11973,6 +11974,14 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", @@ -25921,6 +25930,11 @@ "minimist": "^1.2.6" } }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index 64ae578..dc3b790 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "jest-resolve": "^27.4.2", "jest-watch-typeahead": "^1.0.0", "mini-css-extract-plugin": "^2.4.5", + "moment": "^2.30.1", "postcss": "^8.4.4", "postcss-flexbugs-fixes": "^5.0.2", "postcss-loader": "^6.2.1", diff --git a/src/App.tsx b/src/App.tsx index 7cbaf52..07787da 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -14,6 +14,7 @@ import { selectGlassStatus } from "./store/ProductionMonitoringEntity"; import TestPage from "./page/TestPage"; import LDPage from "./page/LDPage"; import LinePage from "./page/LinePage"; +import LinePage1_1 from "./page/LinePage1_1"; // const LOCALES_LIST = [ // { @@ -65,16 +66,18 @@ function App() { errorElement: , }, /////////////////////////////////////////////////////////////// + // { + // path: "/LP/:LineID?", + // element: , + // errorElement: , + // }, + /////////////////////////////////////////////////////////////// { - path: "/LP/:LineID?", - element: , + path: "/LP/1-1", + element: , errorElement: , }, - // { - // path: "/TP/:LineID?", - // element: , - // errorElement: - // }, + ]); useEffect(() => { const timerId = setInterval(() => { diff --git a/src/page/Component/BarChart/chart.config.ts b/src/page/Component/BarChart/chart.config.ts new file mode 100644 index 0000000..2ca3daa --- /dev/null +++ b/src/page/Component/BarChart/chart.config.ts @@ -0,0 +1,79 @@ +import * as echarts from "echarts"; +export default function getOptions(dataProps: number[],xData:string[], color: string[]) { + if (dataProps.length === 0) return null; + return { + grid: { top: 30, right: 12, bottom: 26, left: 48 }, + legend: { + show: false, + }, + xAxis: { + type: "category", + data: xData, + axisLabel: { + color: "#fff", + fontSize: 12, + interval: 0, + }, + axisTick: { show: false }, + axisLine: { + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + }, + yAxis: { + name: "单位/片", + nameTextStyle: { + color: "#fff", + fontSize: 12, + }, + type: "value", + axisLabel: { + color: "#fff", + fontSize: 12, + formatter: "{value}", + }, + axisLine: { + show: true, + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + splitLine: { + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + }, + tooltip: { + trigger: "axis", + axisPointer: { + type: "shadow", + }, + className: "luoyang-chart-tooltip", + show: false, + }, + series: [ + { + data: dataProps, + type: "bar", + barWidth: 10, + label: { + show: true, + fontSize: 12, + color: "#9CD4FF", + position: "top", + }, + itemStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: color[0] }, + { offset: 1, color: color[1] }, + ]), + }, + }, + ], + }; +} diff --git a/src/page/Component/ChangeFullButton.tsx b/src/page/Component/ChangeFullButton.tsx deleted file mode 100644 index 6f41e9a..0000000 --- a/src/page/Component/ChangeFullButton.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React, {useState} from "react"; -import intl from "react-intl-universal"; -import '../../lanhuapp/common.css'; -import "../../lanhuapp/index.css"; - -function ChangeFullButton() { - const [isFull, setIsFull] = useState(false); - - function fullExit() { - let element = document.documentElement; - - //HTML5 W3C 提议 - document.exitFullscreen(); - - setIsFull(false) - } - - function fullScreen() { - let element = document.documentElement; - - //HTML W3C 提议 - element.requestFullscreen(); - - setIsFull(true) - } - - const click = () => { - isFull ? fullExit() : fullScreen(); - } - - return ( - + ); + })} + + ); +} +export default SwitchButton; diff --git a/src/page/LinePage1_1/Component/TitleBox/index.css b/src/page/LinePage1_1/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage1_1/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage1_1/Component/TitleBox/index.tsx b/src/page/LinePage1_1/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage1_1/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage1_1/Left/LeftDown.tsx b/src/page/LinePage1_1/Left/LeftDown.tsx new file mode 100644 index 0000000..bfa2591 --- /dev/null +++ b/src/page/LinePage1_1/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1Before} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine1Before); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage1_1/Left/LeftUp.tsx b/src/page/LinePage1_1/Left/LeftUp.tsx new file mode 100644 index 0000000..a53c437 --- /dev/null +++ b/src/page/LinePage1_1/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1Before} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine1Before); + console.log('页面数据:',data) + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage1_1/Left/index.tsx b/src/page/LinePage1_1/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage1_1/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage1_1/Right/RightDown.tsx b/src/page/LinePage1_1/Right/RightDown.tsx new file mode 100644 index 0000000..1af50b3 --- /dev/null +++ b/src/page/LinePage1_1/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine1Before); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage1_1/Right/RightUp.tsx b/src/page/LinePage1_1/Right/RightUp.tsx new file mode 100644 index 0000000..a7d1a46 --- /dev/null +++ b/src/page/LinePage1_1/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1Before} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine1Before); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage1_1/Right/index.tsx b/src/page/LinePage1_1/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage1_1/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage1_1/TopP.tsx b/src/page/LinePage1_1/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage1_1/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage1_1/assets/icon/alarm.png b/src/page/LinePage1_1/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage1_1/assets/icon/defect.png b/src/page/LinePage1_1/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1_1/assets/icon/inputAndOutput.png b/src/page/LinePage1_1/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1_1/assets/icon/num.png b/src/page/LinePage1_1/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage1_1/assets/icon/y.png b/src/page/LinePage1_1/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1_1/index.css b/src/page/LinePage1_1/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage1_1/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage1_1/index.tsx b/src/page/LinePage1_1/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage1_1/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/store/LinePageSlice.ts b/src/store/LinePageSlice.ts index 39ac7a1..f6a25d6 100644 --- a/src/store/LinePageSlice.ts +++ b/src/store/LinePageSlice.ts @@ -1,16 +1,16 @@ import { createSlice } from "@reduxjs/toolkit"; import type { RootState } from "./store"; const initialState = { - "line1_1":{}, - "line1After":{}, - "line2Before":{}, - "line2After":{}, - "line3Before":{}, - "line3After":{}, - "line4Before":{}, - "line4After":{}, - "line5Before":{}, - "line5After":{} + line1_1:{}, + line1_2:{}, + line2_1:{}, + line2_2:{}, + line3_1:{}, + line3_2:{}, + line4_1:{}, + line4_2:{}, + line5_1:{}, + line5_2:{} }; export const LinePageSlice = createSlice({ name: "LinePageSlice", @@ -19,11 +19,65 @@ export const LinePageSlice = createSlice({ UpdateLine1Before: (state, action) => { state.line1_1 = action.payload; }, + UpdateLine1After: (state, action) => { + state.line1_2 = action.payload; + }, + UpdateLine2Before: (state, action) => { + state.line2_1 = action.payload; + }, + UpdateLine2After: (state, action) => { + state.line2_2 = action.payload; + }, + UpdateLine3Before: (state, action) => { + state.line3_1 = action.payload; + }, + UpdateLine3After: (state, action) => { + state.line3_2 = action.payload; + }, + UpdateLine4Before: (state, action) => { + state.line4_1 = action.payload; + }, + UpdateLine4After: (state, action) => { + state.line4_2 = action.payload; + }, + UpdateLine5Before: (state, action) => { + state.line5_1 = action.payload; + }, + UpdateLine5After: (state, action) => { + state.line5_2 = action.payload; + }, } }) export const { - UpdateLine1Before + UpdateLine1Before, + UpdateLine1After, + UpdateLine2Before, + UpdateLine2After, + UpdateLine3Before, + UpdateLine3After, + UpdateLine4Before, + UpdateLine4After, + UpdateLine5Before, + UpdateLine5After, } = LinePageSlice.actions; export const selectLine1Before = (state: RootState) => state.LinePageSlice.line1_1; +export const selectLine1After = (state: RootState) => + state.LinePageSlice.line1_2; +export const selectLine2Before = (state: RootState) => + state.LinePageSlice.line2_1; +export const selectLine2After = (state: RootState) => + state.LinePageSlice.line2_2; +export const selectLine3Before = (state: RootState) => + state.LinePageSlice.line3_1; +export const selectLine3After = (state: RootState) => + state.LinePageSlice.line3_2; +export const selectLine4Before = (state: RootState) => + state.LinePageSlice.line4_1; +export const selectLine4After = (state: RootState) => + state.LinePageSlice.line4_2; +export const selectLine5Before = (state: RootState) => + state.LinePageSlice.line5_1; +export const selectLine5After = (state: RootState) => + state.LinePageSlice.line5_2; export default LinePageSlice.reducer; \ No newline at end of file diff --git a/src/store/UpdateData.tsx b/src/store/UpdateData.tsx index eb8e28b..ce4d426 100644 --- a/src/store/UpdateData.tsx +++ b/src/store/UpdateData.tsx @@ -2,7 +2,18 @@ import React, {useState} from "react"; import {useAppDispatch, useAppSelector} from "./hooks"; import axios from "axios"; -import {UpdateLine1Before} from "./LinePageSlice" +import { + UpdateLine1Before, + UpdateLine1After, + UpdateLine2Before, + UpdateLine2After, + UpdateLine3Before, + UpdateLine3After, + UpdateLine4Before, + UpdateLine4After, + UpdateLine5Before, + UpdateLine5After +} from "./LinePageSlice" //将消息显示在网页上 // @ts-ignore @@ -66,22 +77,74 @@ function UpdateData() { .then((r) => { setUrl(r.data.url) }) - let websocketB1 = null; - let websocketA1 = null; + let websocket1_1 = null; + let websocket1_2 = null; + let websocket2_1 = null; + let websocket2_2 = null; + let websocket3_1 = null; + let websocket3_2 = null; + let websocket4_1 = null; + let websocket4_2 = null; + let websocket5_1 = null; + let websocket5_2 = null; if ('WebSocket' in window) { - websocketB1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-1"); + websocket1_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-1"); + // websocket1_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-2"); + // websocket2_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-1"); + // websocket2_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-2"); + // websocket3_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-1"); + // websocket3_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-2"); + // websocket4_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-1"); + // websocket4_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-2"); + // websocket5_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-1"); + // websocket5_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-2"); //连接成功建立的回调方法 } else { alert('Not support websocket'); } // @ts-ignore - websocketB1.onopen = function (event) { - setMessageInnerHTML("websocketB1-open"); + websocket1_1.onopen = function (event) { + setMessageInnerHTML("websocket1_1-open"); } + // @ts-ignore + // websocket1_2.onopen = function (event) { + // setMessageInnerHTML("websocket1_2-open"); + // } + // // @ts-ignore + // websocket2_1.onopen = function (event) { + // setMessageInnerHTML("websocket1_1-open"); + // } + // // @ts-ignore + // websocket2_2.onopen = function (event) { + // setMessageInnerHTML("websocket1_2-open"); + // } + // // @ts-ignore + // websocket3_1.onopen = function (event) { + // setMessageInnerHTML("websocket1_1-open"); + // } + // // @ts-ignore + // websocket3_2.onopen = function (event) { + // setMessageInnerHTML("websocket1_2-open"); + // } + // // @ts-ignore + // websocket4_1.onopen = function (event) { + // setMessageInnerHTML("websocket1_1-open"); + // } + // // @ts-ignore + // websocket4_2.onopen = function (event) { + // setMessageInnerHTML("websocket1_2-open"); + // } + // // @ts-ignore + // websocket5_1.onopen = function (event) { + // setMessageInnerHTML("websocket1_1-open"); + // } + // // @ts-ignore + // websocket5_2.onopen = function (event) { + // setMessageInnerHTML("websocket1_2-open"); + // } //接收到消息的回调方法 // @ts-ignore - websocketB1.onmessage = function (event) { - console.log('接收到消息:',event.data) + websocket1_1.onmessage = function (event) { let msgData = event.data try { msgData = JSON.parse(event.data); @@ -90,8 +153,116 @@ function UpdateData() { } if (!Object.prototype.toString.call(msgData).includes('Object')) return; console.log(msgData) - dispatch(UpdateLine1Before(msgData.data)); + dispatch(UpdateLine1Before(msgData)); } + // @ts-ignore + // websocket1_2.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine1After(msgData)); + // } + // // @ts-ignore + // websocket2_1.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine2Before(msgData)); + // } + // // @ts-ignore + // websocket2_2.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine2After(msgData)); + // } + // // @ts-ignore + // websocket3_1.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine3Before(msgData)); + // } + // // @ts-ignore + // websocket3_2.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine3After(msgData)); + // } + // // @ts-ignore + // websocket4_1.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine4Before(msgData)); + // } + // // @ts-ignore + // websocket4_2.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine4After(msgData)); + // } + // // @ts-ignore + // websocket5_1.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine5Before(msgData)); + // } + // // @ts-ignore + // websocket5_2.onmessage = function (event) { + // let msgData = event.data + // try { + // msgData = JSON.parse(event.data); + // } catch (error) { + // console.log("websocket: [unable to msgData] : ", event.data); + // } + // if (!Object.prototype.toString.call(msgData).includes('Object')) return; + // console.log(msgData) + // dispatch(UpdateLine5After(msgData)); + // } const dispatch = useAppDispatch(); From 022bf57feb38505c28f207f33e8197e50cdc5a58 Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Tue, 29 Oct 2024 14:38:12 +0800 Subject: [PATCH 2/8] =?UTF-8?q?5=E4=B8=AA=E9=A1=B5=E9=9D=A2=E7=9A=84ws?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/wsconfig.json | 2 +- src/App.tsx | 69 +++- src/page/Component/LineChart/chart.config.ts | 2 +- .../Center/CenterDown.tsx | 1 - .../Center/CenterUp.tsx | 4 +- .../Center/index.tsx | 0 .../Component/SwitchButton/index.css | 0 .../Component/SwitchButton/index.tsx | 0 .../Component/TitleBox/index.css | 0 .../Component/TitleBox/index.tsx | 0 .../Left/LeftDown.tsx | 0 .../Left/LeftUp.tsx | 2 +- .../Left/index.tsx | 0 .../Right/RightDown.tsx | 0 .../Right/RightUp.tsx | 0 .../Right/index.tsx | 0 .../{LinePage1_1 => LinePage1-1}/TopP.tsx | 0 .../assets/icon/alarm.png | Bin .../assets/icon/defect.png | Bin .../assets/icon/finished.png | Bin .../assets/icon/g.png | Bin .../assets/icon/inputAndOutput.png | Bin .../assets/icon/num.png | Bin .../assets/icon/r.png | Bin .../assets/icon/record.png | Bin .../assets/icon/y.png | Bin .../{LinePage1_1 => LinePage1-1}/index.css | 0 .../{LinePage1_1 => LinePage1-1}/index.tsx | 0 src/page/LinePage1-2/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage1-2/Center/CenterUp.tsx | 10 + src/page/LinePage1-2/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage1-2/Component/TitleBox/index.css | 13 + .../LinePage1-2/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage1-2/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage1-2/Left/LeftUp.tsx | 229 +++++++++++ src/page/LinePage1-2/Left/index.tsx | 11 + src/page/LinePage1-2/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage1-2/Right/RightUp.tsx | 52 +++ src/page/LinePage1-2/Right/index.tsx | 12 + src/page/LinePage1-2/TopP.tsx | 14 + src/page/LinePage1-2/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage1-2/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage1-2/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage1-2/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage1-2/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage1-2/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage1-2/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage1-2/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage1-2/index.css | 264 +++++++++++++ src/page/LinePage1-2/index.tsx | 18 + src/page/LinePage2-1/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage2-1/Center/CenterUp.tsx | 10 + src/page/LinePage2-1/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage2-1/Component/TitleBox/index.css | 13 + .../LinePage2-1/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage2-1/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage2-1/Left/LeftUp.tsx | 228 +++++++++++ src/page/LinePage2-1/Left/index.tsx | 11 + src/page/LinePage2-1/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage2-1/Right/RightUp.tsx | 52 +++ src/page/LinePage2-1/Right/index.tsx | 12 + src/page/LinePage2-1/TopP.tsx | 14 + src/page/LinePage2-1/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage2-1/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage2-1/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage2-1/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage2-1/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage2-1/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage2-1/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage2-1/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage2-1/index.css | 264 +++++++++++++ src/page/LinePage2-1/index.tsx | 18 + src/page/LinePage2-2/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage2-2/Center/CenterUp.tsx | 10 + src/page/LinePage2-2/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage2-2/Component/TitleBox/index.css | 13 + .../LinePage2-2/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage2-2/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage2-2/Left/LeftUp.tsx | 228 +++++++++++ src/page/LinePage2-2/Left/index.tsx | 11 + src/page/LinePage2-2/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage2-2/Right/RightUp.tsx | 52 +++ src/page/LinePage2-2/Right/index.tsx | 12 + src/page/LinePage2-2/TopP.tsx | 14 + src/page/LinePage2-2/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage2-2/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage2-2/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage2-2/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage2-2/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage2-2/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage2-2/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage2-2/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage2-2/index.css | 264 +++++++++++++ src/page/LinePage2-2/index.tsx | 18 + src/page/LinePage3-1/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage3-1/Center/CenterUp.tsx | 10 + src/page/LinePage3-1/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage3-1/Component/TitleBox/index.css | 13 + .../LinePage3-1/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage3-1/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage3-1/Left/LeftUp.tsx | 229 +++++++++++ src/page/LinePage3-1/Left/index.tsx | 11 + src/page/LinePage3-1/Right/RightDown.tsx | 272 +++++++++++++ src/page/LinePage3-1/Right/RightUp.tsx | 52 +++ src/page/LinePage3-1/Right/index.tsx | 12 + src/page/LinePage3-1/TopP.tsx | 14 + src/page/LinePage3-1/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage3-1/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage3-1/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage3-1/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage3-1/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage3-1/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage3-1/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage3-1/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage3-1/index.css | 264 +++++++++++++ src/page/LinePage3-1/index.tsx | 18 + src/page/LinePage3-2/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage3-2/Center/CenterUp.tsx | 10 + src/page/LinePage3-2/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage3-2/Component/TitleBox/index.css | 13 + .../LinePage3-2/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage3-2/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage3-2/Left/LeftUp.tsx | 229 +++++++++++ src/page/LinePage3-2/Left/index.tsx | 11 + src/page/LinePage3-2/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage3-2/Right/RightUp.tsx | 52 +++ src/page/LinePage3-2/Right/index.tsx | 12 + src/page/LinePage3-2/TopP.tsx | 14 + src/page/LinePage3-2/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage3-2/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage3-2/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage3-2/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage3-2/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage3-2/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage3-2/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage3-2/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage3-2/index.css | 264 +++++++++++++ src/page/LinePage3-2/index.tsx | 18 + src/page/LinePage4-1/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage4-1/Center/CenterUp.tsx | 10 + src/page/LinePage4-1/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage4-1/Component/TitleBox/index.css | 13 + .../LinePage4-1/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage4-1/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage4-1/Left/LeftUp.tsx | 228 +++++++++++ src/page/LinePage4-1/Left/index.tsx | 11 + src/page/LinePage4-1/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage4-1/Right/RightUp.tsx | 52 +++ src/page/LinePage4-1/Right/index.tsx | 12 + src/page/LinePage4-1/TopP.tsx | 14 + src/page/LinePage4-1/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage4-1/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage4-1/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage4-1/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage4-1/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage4-1/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage4-1/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage4-1/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage4-1/index.css | 264 +++++++++++++ src/page/LinePage4-1/index.tsx | 18 + src/page/LinePage4-2/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage4-2/Center/CenterUp.tsx | 10 + src/page/LinePage4-2/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage4-2/Component/TitleBox/index.css | 13 + .../LinePage4-2/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage4-2/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage4-2/Left/LeftUp.tsx | 229 +++++++++++ src/page/LinePage4-2/Left/index.tsx | 11 + src/page/LinePage4-2/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage4-2/Right/RightUp.tsx | 52 +++ src/page/LinePage4-2/Right/index.tsx | 12 + src/page/LinePage4-2/TopP.tsx | 14 + src/page/LinePage4-2/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage4-2/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage4-2/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage4-2/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage4-2/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage4-2/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage4-2/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage4-2/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage4-2/index.css | 264 +++++++++++++ src/page/LinePage4-2/index.tsx | 18 + src/page/LinePage5-1/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage5-1/Center/CenterUp.tsx | 10 + src/page/LinePage5-1/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage5-1/Component/TitleBox/index.css | 13 + .../LinePage5-1/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage5-1/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage5-1/Left/LeftUp.tsx | 228 +++++++++++ src/page/LinePage5-1/Left/index.tsx | 11 + src/page/LinePage5-1/Right/RightDown.tsx | 273 ++++++++++++++ src/page/LinePage5-1/Right/RightUp.tsx | 52 +++ src/page/LinePage5-1/Right/index.tsx | 12 + src/page/LinePage5-1/TopP.tsx | 14 + src/page/LinePage5-1/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage5-1/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage5-1/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage5-1/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage5-1/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage5-1/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage5-1/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage5-1/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage5-1/index.css | 264 +++++++++++++ src/page/LinePage5-1/index.tsx | 18 + src/page/LinePage5-2/Center/CenterDown.tsx | 214 +++++++++++ src/page/LinePage5-2/Center/CenterUp.tsx | 10 + src/page/LinePage5-2/Center/index.tsx | 12 + .../Component/SwitchButton/index.css | 19 + .../Component/SwitchButton/index.tsx | 65 ++++ .../LinePage5-2/Component/TitleBox/index.css | 13 + .../LinePage5-2/Component/TitleBox/index.tsx | 53 +++ src/page/LinePage5-2/Left/LeftDown.tsx | 245 ++++++++++++ src/page/LinePage5-2/Left/LeftUp.tsx | 229 +++++++++++ src/page/LinePage5-2/Left/index.tsx | 11 + src/page/LinePage5-2/Right/RightDown.tsx | 272 +++++++++++++ src/page/LinePage5-2/Right/RightUp.tsx | 52 +++ src/page/LinePage5-2/Right/index.tsx | 12 + src/page/LinePage5-2/TopP.tsx | 14 + src/page/LinePage5-2/assets/icon/alarm.png | Bin 0 -> 2365 bytes src/page/LinePage5-2/assets/icon/defect.png | Bin 0 -> 2622 bytes src/page/LinePage5-2/assets/icon/finished.png | Bin 0 -> 1700 bytes src/page/LinePage5-2/assets/icon/g.png | Bin 0 -> 2359 bytes .../assets/icon/inputAndOutput.png | Bin 0 -> 2862 bytes src/page/LinePage5-2/assets/icon/num.png | Bin 0 -> 2151 bytes src/page/LinePage5-2/assets/icon/r.png | Bin 0 -> 2110 bytes src/page/LinePage5-2/assets/icon/record.png | Bin 0 -> 1565 bytes src/page/LinePage5-2/assets/icon/y.png | Bin 0 -> 2299 bytes src/page/LinePage5-2/index.css | 264 +++++++++++++ src/page/LinePage5-2/index.tsx | 18 + src/store/UpdateData.tsx | 356 ++++++++++-------- 254 files changed, 13788 insertions(+), 178 deletions(-) rename src/page/{LinePage1_1 => LinePage1-1}/Center/CenterDown.tsx (99%) rename src/page/{LinePage1_1 => LinePage1-1}/Center/CenterUp.tsx (64%) rename src/page/{LinePage1_1 => LinePage1-1}/Center/index.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Component/SwitchButton/index.css (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Component/SwitchButton/index.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Component/TitleBox/index.css (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Component/TitleBox/index.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Left/LeftDown.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Left/LeftUp.tsx (99%) rename src/page/{LinePage1_1 => LinePage1-1}/Left/index.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Right/RightDown.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Right/RightUp.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/Right/index.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/TopP.tsx (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/alarm.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/defect.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/finished.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/g.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/inputAndOutput.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/num.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/r.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/record.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/assets/icon/y.png (100%) rename src/page/{LinePage1_1 => LinePage1-1}/index.css (100%) rename src/page/{LinePage1_1 => LinePage1-1}/index.tsx (100%) create mode 100644 src/page/LinePage1-2/Center/CenterDown.tsx create mode 100644 src/page/LinePage1-2/Center/CenterUp.tsx create mode 100644 src/page/LinePage1-2/Center/index.tsx create mode 100644 src/page/LinePage1-2/Component/SwitchButton/index.css create mode 100644 src/page/LinePage1-2/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage1-2/Component/TitleBox/index.css create mode 100644 src/page/LinePage1-2/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage1-2/Left/LeftDown.tsx create mode 100644 src/page/LinePage1-2/Left/LeftUp.tsx create mode 100644 src/page/LinePage1-2/Left/index.tsx create mode 100644 src/page/LinePage1-2/Right/RightDown.tsx create mode 100644 src/page/LinePage1-2/Right/RightUp.tsx create mode 100644 src/page/LinePage1-2/Right/index.tsx create mode 100644 src/page/LinePage1-2/TopP.tsx create mode 100644 src/page/LinePage1-2/assets/icon/alarm.png create mode 100644 src/page/LinePage1-2/assets/icon/defect.png create mode 100644 src/page/LinePage1-2/assets/icon/finished.png create mode 100644 src/page/LinePage1-2/assets/icon/g.png create mode 100644 src/page/LinePage1-2/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage1-2/assets/icon/num.png create mode 100644 src/page/LinePage1-2/assets/icon/r.png create mode 100644 src/page/LinePage1-2/assets/icon/record.png create mode 100644 src/page/LinePage1-2/assets/icon/y.png create mode 100644 src/page/LinePage1-2/index.css create mode 100644 src/page/LinePage1-2/index.tsx create mode 100644 src/page/LinePage2-1/Center/CenterDown.tsx create mode 100644 src/page/LinePage2-1/Center/CenterUp.tsx create mode 100644 src/page/LinePage2-1/Center/index.tsx create mode 100644 src/page/LinePage2-1/Component/SwitchButton/index.css create mode 100644 src/page/LinePage2-1/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage2-1/Component/TitleBox/index.css create mode 100644 src/page/LinePage2-1/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage2-1/Left/LeftDown.tsx create mode 100644 src/page/LinePage2-1/Left/LeftUp.tsx create mode 100644 src/page/LinePage2-1/Left/index.tsx create mode 100644 src/page/LinePage2-1/Right/RightDown.tsx create mode 100644 src/page/LinePage2-1/Right/RightUp.tsx create mode 100644 src/page/LinePage2-1/Right/index.tsx create mode 100644 src/page/LinePage2-1/TopP.tsx create mode 100644 src/page/LinePage2-1/assets/icon/alarm.png create mode 100644 src/page/LinePage2-1/assets/icon/defect.png create mode 100644 src/page/LinePage2-1/assets/icon/finished.png create mode 100644 src/page/LinePage2-1/assets/icon/g.png create mode 100644 src/page/LinePage2-1/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage2-1/assets/icon/num.png create mode 100644 src/page/LinePage2-1/assets/icon/r.png create mode 100644 src/page/LinePage2-1/assets/icon/record.png create mode 100644 src/page/LinePage2-1/assets/icon/y.png create mode 100644 src/page/LinePage2-1/index.css create mode 100644 src/page/LinePage2-1/index.tsx create mode 100644 src/page/LinePage2-2/Center/CenterDown.tsx create mode 100644 src/page/LinePage2-2/Center/CenterUp.tsx create mode 100644 src/page/LinePage2-2/Center/index.tsx create mode 100644 src/page/LinePage2-2/Component/SwitchButton/index.css create mode 100644 src/page/LinePage2-2/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage2-2/Component/TitleBox/index.css create mode 100644 src/page/LinePage2-2/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage2-2/Left/LeftDown.tsx create mode 100644 src/page/LinePage2-2/Left/LeftUp.tsx create mode 100644 src/page/LinePage2-2/Left/index.tsx create mode 100644 src/page/LinePage2-2/Right/RightDown.tsx create mode 100644 src/page/LinePage2-2/Right/RightUp.tsx create mode 100644 src/page/LinePage2-2/Right/index.tsx create mode 100644 src/page/LinePage2-2/TopP.tsx create mode 100644 src/page/LinePage2-2/assets/icon/alarm.png create mode 100644 src/page/LinePage2-2/assets/icon/defect.png create mode 100644 src/page/LinePage2-2/assets/icon/finished.png create mode 100644 src/page/LinePage2-2/assets/icon/g.png create mode 100644 src/page/LinePage2-2/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage2-2/assets/icon/num.png create mode 100644 src/page/LinePage2-2/assets/icon/r.png create mode 100644 src/page/LinePage2-2/assets/icon/record.png create mode 100644 src/page/LinePage2-2/assets/icon/y.png create mode 100644 src/page/LinePage2-2/index.css create mode 100644 src/page/LinePage2-2/index.tsx create mode 100644 src/page/LinePage3-1/Center/CenterDown.tsx create mode 100644 src/page/LinePage3-1/Center/CenterUp.tsx create mode 100644 src/page/LinePage3-1/Center/index.tsx create mode 100644 src/page/LinePage3-1/Component/SwitchButton/index.css create mode 100644 src/page/LinePage3-1/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage3-1/Component/TitleBox/index.css create mode 100644 src/page/LinePage3-1/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage3-1/Left/LeftDown.tsx create mode 100644 src/page/LinePage3-1/Left/LeftUp.tsx create mode 100644 src/page/LinePage3-1/Left/index.tsx create mode 100644 src/page/LinePage3-1/Right/RightDown.tsx create mode 100644 src/page/LinePage3-1/Right/RightUp.tsx create mode 100644 src/page/LinePage3-1/Right/index.tsx create mode 100644 src/page/LinePage3-1/TopP.tsx create mode 100644 src/page/LinePage3-1/assets/icon/alarm.png create mode 100644 src/page/LinePage3-1/assets/icon/defect.png create mode 100644 src/page/LinePage3-1/assets/icon/finished.png create mode 100644 src/page/LinePage3-1/assets/icon/g.png create mode 100644 src/page/LinePage3-1/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage3-1/assets/icon/num.png create mode 100644 src/page/LinePage3-1/assets/icon/r.png create mode 100644 src/page/LinePage3-1/assets/icon/record.png create mode 100644 src/page/LinePage3-1/assets/icon/y.png create mode 100644 src/page/LinePage3-1/index.css create mode 100644 src/page/LinePage3-1/index.tsx create mode 100644 src/page/LinePage3-2/Center/CenterDown.tsx create mode 100644 src/page/LinePage3-2/Center/CenterUp.tsx create mode 100644 src/page/LinePage3-2/Center/index.tsx create mode 100644 src/page/LinePage3-2/Component/SwitchButton/index.css create mode 100644 src/page/LinePage3-2/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage3-2/Component/TitleBox/index.css create mode 100644 src/page/LinePage3-2/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage3-2/Left/LeftDown.tsx create mode 100644 src/page/LinePage3-2/Left/LeftUp.tsx create mode 100644 src/page/LinePage3-2/Left/index.tsx create mode 100644 src/page/LinePage3-2/Right/RightDown.tsx create mode 100644 src/page/LinePage3-2/Right/RightUp.tsx create mode 100644 src/page/LinePage3-2/Right/index.tsx create mode 100644 src/page/LinePage3-2/TopP.tsx create mode 100644 src/page/LinePage3-2/assets/icon/alarm.png create mode 100644 src/page/LinePage3-2/assets/icon/defect.png create mode 100644 src/page/LinePage3-2/assets/icon/finished.png create mode 100644 src/page/LinePage3-2/assets/icon/g.png create mode 100644 src/page/LinePage3-2/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage3-2/assets/icon/num.png create mode 100644 src/page/LinePage3-2/assets/icon/r.png create mode 100644 src/page/LinePage3-2/assets/icon/record.png create mode 100644 src/page/LinePage3-2/assets/icon/y.png create mode 100644 src/page/LinePage3-2/index.css create mode 100644 src/page/LinePage3-2/index.tsx create mode 100644 src/page/LinePage4-1/Center/CenterDown.tsx create mode 100644 src/page/LinePage4-1/Center/CenterUp.tsx create mode 100644 src/page/LinePage4-1/Center/index.tsx create mode 100644 src/page/LinePage4-1/Component/SwitchButton/index.css create mode 100644 src/page/LinePage4-1/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage4-1/Component/TitleBox/index.css create mode 100644 src/page/LinePage4-1/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage4-1/Left/LeftDown.tsx create mode 100644 src/page/LinePage4-1/Left/LeftUp.tsx create mode 100644 src/page/LinePage4-1/Left/index.tsx create mode 100644 src/page/LinePage4-1/Right/RightDown.tsx create mode 100644 src/page/LinePage4-1/Right/RightUp.tsx create mode 100644 src/page/LinePage4-1/Right/index.tsx create mode 100644 src/page/LinePage4-1/TopP.tsx create mode 100644 src/page/LinePage4-1/assets/icon/alarm.png create mode 100644 src/page/LinePage4-1/assets/icon/defect.png create mode 100644 src/page/LinePage4-1/assets/icon/finished.png create mode 100644 src/page/LinePage4-1/assets/icon/g.png create mode 100644 src/page/LinePage4-1/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage4-1/assets/icon/num.png create mode 100644 src/page/LinePage4-1/assets/icon/r.png create mode 100644 src/page/LinePage4-1/assets/icon/record.png create mode 100644 src/page/LinePage4-1/assets/icon/y.png create mode 100644 src/page/LinePage4-1/index.css create mode 100644 src/page/LinePage4-1/index.tsx create mode 100644 src/page/LinePage4-2/Center/CenterDown.tsx create mode 100644 src/page/LinePage4-2/Center/CenterUp.tsx create mode 100644 src/page/LinePage4-2/Center/index.tsx create mode 100644 src/page/LinePage4-2/Component/SwitchButton/index.css create mode 100644 src/page/LinePage4-2/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage4-2/Component/TitleBox/index.css create mode 100644 src/page/LinePage4-2/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage4-2/Left/LeftDown.tsx create mode 100644 src/page/LinePage4-2/Left/LeftUp.tsx create mode 100644 src/page/LinePage4-2/Left/index.tsx create mode 100644 src/page/LinePage4-2/Right/RightDown.tsx create mode 100644 src/page/LinePage4-2/Right/RightUp.tsx create mode 100644 src/page/LinePage4-2/Right/index.tsx create mode 100644 src/page/LinePage4-2/TopP.tsx create mode 100644 src/page/LinePage4-2/assets/icon/alarm.png create mode 100644 src/page/LinePage4-2/assets/icon/defect.png create mode 100644 src/page/LinePage4-2/assets/icon/finished.png create mode 100644 src/page/LinePage4-2/assets/icon/g.png create mode 100644 src/page/LinePage4-2/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage4-2/assets/icon/num.png create mode 100644 src/page/LinePage4-2/assets/icon/r.png create mode 100644 src/page/LinePage4-2/assets/icon/record.png create mode 100644 src/page/LinePage4-2/assets/icon/y.png create mode 100644 src/page/LinePage4-2/index.css create mode 100644 src/page/LinePage4-2/index.tsx create mode 100644 src/page/LinePage5-1/Center/CenterDown.tsx create mode 100644 src/page/LinePage5-1/Center/CenterUp.tsx create mode 100644 src/page/LinePage5-1/Center/index.tsx create mode 100644 src/page/LinePage5-1/Component/SwitchButton/index.css create mode 100644 src/page/LinePage5-1/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage5-1/Component/TitleBox/index.css create mode 100644 src/page/LinePage5-1/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage5-1/Left/LeftDown.tsx create mode 100644 src/page/LinePage5-1/Left/LeftUp.tsx create mode 100644 src/page/LinePage5-1/Left/index.tsx create mode 100644 src/page/LinePage5-1/Right/RightDown.tsx create mode 100644 src/page/LinePage5-1/Right/RightUp.tsx create mode 100644 src/page/LinePage5-1/Right/index.tsx create mode 100644 src/page/LinePage5-1/TopP.tsx create mode 100644 src/page/LinePage5-1/assets/icon/alarm.png create mode 100644 src/page/LinePage5-1/assets/icon/defect.png create mode 100644 src/page/LinePage5-1/assets/icon/finished.png create mode 100644 src/page/LinePage5-1/assets/icon/g.png create mode 100644 src/page/LinePage5-1/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage5-1/assets/icon/num.png create mode 100644 src/page/LinePage5-1/assets/icon/r.png create mode 100644 src/page/LinePage5-1/assets/icon/record.png create mode 100644 src/page/LinePage5-1/assets/icon/y.png create mode 100644 src/page/LinePage5-1/index.css create mode 100644 src/page/LinePage5-1/index.tsx create mode 100644 src/page/LinePage5-2/Center/CenterDown.tsx create mode 100644 src/page/LinePage5-2/Center/CenterUp.tsx create mode 100644 src/page/LinePage5-2/Center/index.tsx create mode 100644 src/page/LinePage5-2/Component/SwitchButton/index.css create mode 100644 src/page/LinePage5-2/Component/SwitchButton/index.tsx create mode 100644 src/page/LinePage5-2/Component/TitleBox/index.css create mode 100644 src/page/LinePage5-2/Component/TitleBox/index.tsx create mode 100644 src/page/LinePage5-2/Left/LeftDown.tsx create mode 100644 src/page/LinePage5-2/Left/LeftUp.tsx create mode 100644 src/page/LinePage5-2/Left/index.tsx create mode 100644 src/page/LinePage5-2/Right/RightDown.tsx create mode 100644 src/page/LinePage5-2/Right/RightUp.tsx create mode 100644 src/page/LinePage5-2/Right/index.tsx create mode 100644 src/page/LinePage5-2/TopP.tsx create mode 100644 src/page/LinePage5-2/assets/icon/alarm.png create mode 100644 src/page/LinePage5-2/assets/icon/defect.png create mode 100644 src/page/LinePage5-2/assets/icon/finished.png create mode 100644 src/page/LinePage5-2/assets/icon/g.png create mode 100644 src/page/LinePage5-2/assets/icon/inputAndOutput.png create mode 100644 src/page/LinePage5-2/assets/icon/num.png create mode 100644 src/page/LinePage5-2/assets/icon/r.png create mode 100644 src/page/LinePage5-2/assets/icon/record.png create mode 100644 src/page/LinePage5-2/assets/icon/y.png create mode 100644 src/page/LinePage5-2/index.css create mode 100644 src/page/LinePage5-2/index.tsx diff --git a/public/wsconfig.json b/public/wsconfig.json index b190853..a95d606 100644 --- a/public/wsconfig.json +++ b/public/wsconfig.json @@ -1,3 +1,3 @@ { - "url": "192.168.1.40:48080" + "url": "192.168.1.35:48080" } \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 07787da..d1b44ae 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -14,7 +14,16 @@ import { selectGlassStatus } from "./store/ProductionMonitoringEntity"; import TestPage from "./page/TestPage"; import LDPage from "./page/LDPage"; import LinePage from "./page/LinePage"; -import LinePage1_1 from "./page/LinePage1_1"; +import LinePage1_1 from "./page/LinePage1-1"; +import LinePage1_2 from "./page/LinePage1-2"; +import LinePage2_1 from "./page/LinePage2-1"; +import LinePage2_2 from "./page/LinePage2-2"; +import LinePage3_1 from "./page/LinePage3-1"; +import LinePage3_2 from "./page/LinePage3-2"; +import LinePage4_1 from "./page/LinePage4-1"; +import LinePage4_2 from "./page/LinePage4-2"; +import LinePage5_1 from "./page/LinePage5-1"; +import LinePage5_2 from "./page/LinePage5-2"; // const LOCALES_LIST = [ // { @@ -49,11 +58,11 @@ function App() { setCurrentLocale(Locale); const router = createHashRouter([ - { - path: "/:LineID?", - element: , - errorElement: , - }, + // { + // path: "/:LineID?", + // element: , + // errorElement: , + // }, ///////////////////////////////////////////////////////////////////////////// { path: "/TP/:LineID?", @@ -71,13 +80,57 @@ function App() { // element: , // errorElement: , // }, - /////////////////////////////////////////////////////////////// + ////////////////////////////从这开始/////////////////////////////////// { path: "/LP/1-1", element: , errorElement: , }, - + { + path: "/LP/1-2", + element: , + errorElement: , + }, + { + path: "/LP/2-1", + element: , + errorElement: , + }, + { + path: "/LP/2-2", + element: , + errorElement: , + }, + { + path: "/LP/3-1", + element: , + errorElement: , + }, + { + path: "/LP/3-2", + element: , + errorElement: , + }, + { + path: "/LP/4-1", + element: , + errorElement: , + }, + { + path: "/LP/4-2", + element: , + errorElement: , + }, + { + path: "/LP/5-1", + element: , + errorElement: , + }, + { + path: "/LP/5-2", + element: , + errorElement: , + }, ]); useEffect(() => { const timerId = setInterval(() => { diff --git a/src/page/Component/LineChart/chart.config.ts b/src/page/Component/LineChart/chart.config.ts index 38cd3a0..5452b3c 100644 --- a/src/page/Component/LineChart/chart.config.ts +++ b/src/page/Component/LineChart/chart.config.ts @@ -5,7 +5,7 @@ export default function getOptions(chartData: any) { const colors = ["#1A99FF", "#FFB70C", "#C69DFF", "#50F4E3", "#E02094"]; return { color: colors, - grid: { top: 38, right: 12, bottom: 26, left: 48 }, + grid: { top: 38, right: 12, bottom: 5, left: 15, containLabel: true }, legend: { show: true, top: 10, diff --git a/src/page/LinePage1_1/Center/CenterDown.tsx b/src/page/LinePage1-1/Center/CenterDown.tsx similarity index 99% rename from src/page/LinePage1_1/Center/CenterDown.tsx rename to src/page/LinePage1-1/Center/CenterDown.tsx index f7b2fff..46c5c72 100644 --- a/src/page/LinePage1_1/Center/CenterDown.tsx +++ b/src/page/LinePage1-1/Center/CenterDown.tsx @@ -4,7 +4,6 @@ import ScrollBoard from "./../../Component/ScrollBoard"; import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; -import { useParams } from "react-router-dom"; import {useAppSelector} from "./../../../store/hooks" import {selectLine1Before} from "./../../../store/LinePageSlice" import moment from "moment"; diff --git a/src/page/LinePage1_1/Center/CenterUp.tsx b/src/page/LinePage1-1/Center/CenterUp.tsx similarity index 64% rename from src/page/LinePage1_1/Center/CenterUp.tsx rename to src/page/LinePage1-1/Center/CenterUp.tsx index ad8d3c0..4ae6d57 100644 --- a/src/page/LinePage1_1/Center/CenterUp.tsx +++ b/src/page/LinePage1-1/Center/CenterUp.tsx @@ -1,8 +1,6 @@ import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; -import { useParams } from "react-router-dom"; function CenterUp() { - const { LineID } = useParams(); - const lineID = LineID?.toString() || "1-1"; + const lineID = "1-1" return (
diff --git a/src/page/LinePage1_1/Center/index.tsx b/src/page/LinePage1-1/Center/index.tsx similarity index 100% rename from src/page/LinePage1_1/Center/index.tsx rename to src/page/LinePage1-1/Center/index.tsx diff --git a/src/page/LinePage1_1/Component/SwitchButton/index.css b/src/page/LinePage1-1/Component/SwitchButton/index.css similarity index 100% rename from src/page/LinePage1_1/Component/SwitchButton/index.css rename to src/page/LinePage1-1/Component/SwitchButton/index.css diff --git a/src/page/LinePage1_1/Component/SwitchButton/index.tsx b/src/page/LinePage1-1/Component/SwitchButton/index.tsx similarity index 100% rename from src/page/LinePage1_1/Component/SwitchButton/index.tsx rename to src/page/LinePage1-1/Component/SwitchButton/index.tsx diff --git a/src/page/LinePage1_1/Component/TitleBox/index.css b/src/page/LinePage1-1/Component/TitleBox/index.css similarity index 100% rename from src/page/LinePage1_1/Component/TitleBox/index.css rename to src/page/LinePage1-1/Component/TitleBox/index.css diff --git a/src/page/LinePage1_1/Component/TitleBox/index.tsx b/src/page/LinePage1-1/Component/TitleBox/index.tsx similarity index 100% rename from src/page/LinePage1_1/Component/TitleBox/index.tsx rename to src/page/LinePage1-1/Component/TitleBox/index.tsx diff --git a/src/page/LinePage1_1/Left/LeftDown.tsx b/src/page/LinePage1-1/Left/LeftDown.tsx similarity index 100% rename from src/page/LinePage1_1/Left/LeftDown.tsx rename to src/page/LinePage1-1/Left/LeftDown.tsx diff --git a/src/page/LinePage1_1/Left/LeftUp.tsx b/src/page/LinePage1-1/Left/LeftUp.tsx similarity index 99% rename from src/page/LinePage1_1/Left/LeftUp.tsx rename to src/page/LinePage1-1/Left/LeftUp.tsx index a53c437..1abff2a 100644 --- a/src/page/LinePage1_1/Left/LeftUp.tsx +++ b/src/page/LinePage1-1/Left/LeftUp.tsx @@ -7,7 +7,7 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine1Before} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine1Before); - console.log('页面数据:',data) + console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { diff --git a/src/page/LinePage1_1/Left/index.tsx b/src/page/LinePage1-1/Left/index.tsx similarity index 100% rename from src/page/LinePage1_1/Left/index.tsx rename to src/page/LinePage1-1/Left/index.tsx diff --git a/src/page/LinePage1_1/Right/RightDown.tsx b/src/page/LinePage1-1/Right/RightDown.tsx similarity index 100% rename from src/page/LinePage1_1/Right/RightDown.tsx rename to src/page/LinePage1-1/Right/RightDown.tsx diff --git a/src/page/LinePage1_1/Right/RightUp.tsx b/src/page/LinePage1-1/Right/RightUp.tsx similarity index 100% rename from src/page/LinePage1_1/Right/RightUp.tsx rename to src/page/LinePage1-1/Right/RightUp.tsx diff --git a/src/page/LinePage1_1/Right/index.tsx b/src/page/LinePage1-1/Right/index.tsx similarity index 100% rename from src/page/LinePage1_1/Right/index.tsx rename to src/page/LinePage1-1/Right/index.tsx diff --git a/src/page/LinePage1_1/TopP.tsx b/src/page/LinePage1-1/TopP.tsx similarity index 100% rename from src/page/LinePage1_1/TopP.tsx rename to src/page/LinePage1-1/TopP.tsx diff --git a/src/page/LinePage1_1/assets/icon/alarm.png b/src/page/LinePage1-1/assets/icon/alarm.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/alarm.png rename to src/page/LinePage1-1/assets/icon/alarm.png diff --git a/src/page/LinePage1_1/assets/icon/defect.png b/src/page/LinePage1-1/assets/icon/defect.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/defect.png rename to src/page/LinePage1-1/assets/icon/defect.png diff --git a/src/page/LinePage1_1/assets/icon/finished.png b/src/page/LinePage1-1/assets/icon/finished.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/finished.png rename to src/page/LinePage1-1/assets/icon/finished.png diff --git a/src/page/LinePage1_1/assets/icon/g.png b/src/page/LinePage1-1/assets/icon/g.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/g.png rename to src/page/LinePage1-1/assets/icon/g.png diff --git a/src/page/LinePage1_1/assets/icon/inputAndOutput.png b/src/page/LinePage1-1/assets/icon/inputAndOutput.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/inputAndOutput.png rename to src/page/LinePage1-1/assets/icon/inputAndOutput.png diff --git a/src/page/LinePage1_1/assets/icon/num.png b/src/page/LinePage1-1/assets/icon/num.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/num.png rename to src/page/LinePage1-1/assets/icon/num.png diff --git a/src/page/LinePage1_1/assets/icon/r.png b/src/page/LinePage1-1/assets/icon/r.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/r.png rename to src/page/LinePage1-1/assets/icon/r.png diff --git a/src/page/LinePage1_1/assets/icon/record.png b/src/page/LinePage1-1/assets/icon/record.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/record.png rename to src/page/LinePage1-1/assets/icon/record.png diff --git a/src/page/LinePage1_1/assets/icon/y.png b/src/page/LinePage1-1/assets/icon/y.png similarity index 100% rename from src/page/LinePage1_1/assets/icon/y.png rename to src/page/LinePage1-1/assets/icon/y.png diff --git a/src/page/LinePage1_1/index.css b/src/page/LinePage1-1/index.css similarity index 100% rename from src/page/LinePage1_1/index.css rename to src/page/LinePage1-1/index.css diff --git a/src/page/LinePage1_1/index.tsx b/src/page/LinePage1-1/index.tsx similarity index 100% rename from src/page/LinePage1_1/index.tsx rename to src/page/LinePage1-1/index.tsx diff --git a/src/page/LinePage1-2/Center/CenterDown.tsx b/src/page/LinePage1-2/Center/CenterDown.tsx new file mode 100644 index 0000000..2d0eae2 --- /dev/null +++ b/src/page/LinePage1-2/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine1After); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage1-2/Center/CenterUp.tsx b/src/page/LinePage1-2/Center/CenterUp.tsx new file mode 100644 index 0000000..5ddf6e2 --- /dev/null +++ b/src/page/LinePage1-2/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "1-2"; + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage1-2/Center/index.tsx b/src/page/LinePage1-2/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage1-2/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage1-2/Component/SwitchButton/index.css b/src/page/LinePage1-2/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage1-2/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage1-2/Component/SwitchButton/index.tsx b/src/page/LinePage1-2/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage1-2/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage1-2/Component/TitleBox/index.css b/src/page/LinePage1-2/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage1-2/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage1-2/Component/TitleBox/index.tsx b/src/page/LinePage1-2/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage1-2/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage1-2/Left/LeftDown.tsx b/src/page/LinePage1-2/Left/LeftDown.tsx new file mode 100644 index 0000000..9100416 --- /dev/null +++ b/src/page/LinePage1-2/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1After} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine1After); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage1-2/Left/LeftUp.tsx b/src/page/LinePage1-2/Left/LeftUp.tsx new file mode 100644 index 0000000..ac007f7 --- /dev/null +++ b/src/page/LinePage1-2/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1After} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine1After); + console.log('页面数据1-1:',data) + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage1-2/Left/index.tsx b/src/page/LinePage1-2/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage1-2/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage1-2/Right/RightDown.tsx b/src/page/LinePage1-2/Right/RightDown.tsx new file mode 100644 index 0000000..d2c51c8 --- /dev/null +++ b/src/page/LinePage1-2/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine1After); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage1-2/Right/RightUp.tsx b/src/page/LinePage1-2/Right/RightUp.tsx new file mode 100644 index 0000000..c01c7be --- /dev/null +++ b/src/page/LinePage1-2/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine1After} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine1After); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage1-2/Right/index.tsx b/src/page/LinePage1-2/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage1-2/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage1-2/TopP.tsx b/src/page/LinePage1-2/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage1-2/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage1-2/assets/icon/alarm.png b/src/page/LinePage1-2/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage1-2/assets/icon/defect.png b/src/page/LinePage1-2/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1-2/assets/icon/inputAndOutput.png b/src/page/LinePage1-2/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1-2/assets/icon/num.png b/src/page/LinePage1-2/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage1-2/assets/icon/y.png b/src/page/LinePage1-2/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage1-2/index.css b/src/page/LinePage1-2/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage1-2/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage1-2/index.tsx b/src/page/LinePage1-2/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage1-2/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage2-1/Center/CenterDown.tsx b/src/page/LinePage2-1/Center/CenterDown.tsx new file mode 100644 index 0000000..d47c712 --- /dev/null +++ b/src/page/LinePage2-1/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine2Before); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage2-1/Center/CenterUp.tsx b/src/page/LinePage2-1/Center/CenterUp.tsx new file mode 100644 index 0000000..4fe5cdd --- /dev/null +++ b/src/page/LinePage2-1/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "2-1" + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage2-1/Center/index.tsx b/src/page/LinePage2-1/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage2-1/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage2-1/Component/SwitchButton/index.css b/src/page/LinePage2-1/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage2-1/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage2-1/Component/SwitchButton/index.tsx b/src/page/LinePage2-1/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage2-1/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage2-1/Component/TitleBox/index.css b/src/page/LinePage2-1/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage2-1/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage2-1/Component/TitleBox/index.tsx b/src/page/LinePage2-1/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage2-1/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage2-1/Left/LeftDown.tsx b/src/page/LinePage2-1/Left/LeftDown.tsx new file mode 100644 index 0000000..f829d78 --- /dev/null +++ b/src/page/LinePage2-1/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2Before} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine2Before); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage2-1/Left/LeftUp.tsx b/src/page/LinePage2-1/Left/LeftUp.tsx new file mode 100644 index 0000000..19a3904 --- /dev/null +++ b/src/page/LinePage2-1/Left/LeftUp.tsx @@ -0,0 +1,228 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2Before} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine2Before); + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage2-1/Left/index.tsx b/src/page/LinePage2-1/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage2-1/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage2-1/Right/RightDown.tsx b/src/page/LinePage2-1/Right/RightDown.tsx new file mode 100644 index 0000000..c46ef93 --- /dev/null +++ b/src/page/LinePage2-1/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine2Before); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage2-1/Right/RightUp.tsx b/src/page/LinePage2-1/Right/RightUp.tsx new file mode 100644 index 0000000..d3c4b67 --- /dev/null +++ b/src/page/LinePage2-1/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2Before} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine2Before); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage2-1/Right/index.tsx b/src/page/LinePage2-1/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage2-1/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage2-1/TopP.tsx b/src/page/LinePage2-1/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage2-1/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage2-1/assets/icon/alarm.png b/src/page/LinePage2-1/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-1/assets/icon/defect.png b/src/page/LinePage2-1/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-1/assets/icon/inputAndOutput.png b/src/page/LinePage2-1/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-1/assets/icon/num.png b/src/page/LinePage2-1/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-1/assets/icon/y.png b/src/page/LinePage2-1/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-1/index.css b/src/page/LinePage2-1/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage2-1/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage2-1/index.tsx b/src/page/LinePage2-1/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage2-1/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage2-2/Center/CenterDown.tsx b/src/page/LinePage2-2/Center/CenterDown.tsx new file mode 100644 index 0000000..cf9c180 --- /dev/null +++ b/src/page/LinePage2-2/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine2After); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage2-2/Center/CenterUp.tsx b/src/page/LinePage2-2/Center/CenterUp.tsx new file mode 100644 index 0000000..2dd19f2 --- /dev/null +++ b/src/page/LinePage2-2/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "2-2"; + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage2-2/Center/index.tsx b/src/page/LinePage2-2/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage2-2/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage2-2/Component/SwitchButton/index.css b/src/page/LinePage2-2/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage2-2/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage2-2/Component/SwitchButton/index.tsx b/src/page/LinePage2-2/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage2-2/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage2-2/Component/TitleBox/index.css b/src/page/LinePage2-2/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage2-2/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage2-2/Component/TitleBox/index.tsx b/src/page/LinePage2-2/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage2-2/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage2-2/Left/LeftDown.tsx b/src/page/LinePage2-2/Left/LeftDown.tsx new file mode 100644 index 0000000..e7e83d8 --- /dev/null +++ b/src/page/LinePage2-2/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2After} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine2After); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage2-2/Left/LeftUp.tsx b/src/page/LinePage2-2/Left/LeftUp.tsx new file mode 100644 index 0000000..e172b49 --- /dev/null +++ b/src/page/LinePage2-2/Left/LeftUp.tsx @@ -0,0 +1,228 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2After} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine2After); + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage2-2/Left/index.tsx b/src/page/LinePage2-2/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage2-2/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage2-2/Right/RightDown.tsx b/src/page/LinePage2-2/Right/RightDown.tsx new file mode 100644 index 0000000..48064ca --- /dev/null +++ b/src/page/LinePage2-2/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine2After); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage2-2/Right/RightUp.tsx b/src/page/LinePage2-2/Right/RightUp.tsx new file mode 100644 index 0000000..8265b0c --- /dev/null +++ b/src/page/LinePage2-2/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine2After} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine2After); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage2-2/Right/index.tsx b/src/page/LinePage2-2/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage2-2/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage2-2/TopP.tsx b/src/page/LinePage2-2/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage2-2/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage2-2/assets/icon/alarm.png b/src/page/LinePage2-2/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-2/assets/icon/defect.png b/src/page/LinePage2-2/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-2/assets/icon/inputAndOutput.png b/src/page/LinePage2-2/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-2/assets/icon/num.png b/src/page/LinePage2-2/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-2/assets/icon/y.png b/src/page/LinePage2-2/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage2-2/index.css b/src/page/LinePage2-2/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage2-2/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage2-2/index.tsx b/src/page/LinePage2-2/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage2-2/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage3-1/Center/CenterDown.tsx b/src/page/LinePage3-1/Center/CenterDown.tsx new file mode 100644 index 0000000..d9d03f7 --- /dev/null +++ b/src/page/LinePage3-1/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine3Before); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage3-1/Center/CenterUp.tsx b/src/page/LinePage3-1/Center/CenterUp.tsx new file mode 100644 index 0000000..933f33d --- /dev/null +++ b/src/page/LinePage3-1/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "3-1" + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage3-1/Center/index.tsx b/src/page/LinePage3-1/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage3-1/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage3-1/Component/SwitchButton/index.css b/src/page/LinePage3-1/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage3-1/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage3-1/Component/SwitchButton/index.tsx b/src/page/LinePage3-1/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage3-1/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage3-1/Component/TitleBox/index.css b/src/page/LinePage3-1/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage3-1/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage3-1/Component/TitleBox/index.tsx b/src/page/LinePage3-1/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage3-1/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage3-1/Left/LeftDown.tsx b/src/page/LinePage3-1/Left/LeftDown.tsx new file mode 100644 index 0000000..bae9c71 --- /dev/null +++ b/src/page/LinePage3-1/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3Before} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine3Before); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage3-1/Left/LeftUp.tsx b/src/page/LinePage3-1/Left/LeftUp.tsx new file mode 100644 index 0000000..c7841fb --- /dev/null +++ b/src/page/LinePage3-1/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3Before} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine3Before); + console.log('页面数据1-1:',data) + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage3-1/Left/index.tsx b/src/page/LinePage3-1/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage3-1/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage3-1/Right/RightDown.tsx b/src/page/LinePage3-1/Right/RightDown.tsx new file mode 100644 index 0000000..61de04b --- /dev/null +++ b/src/page/LinePage3-1/Right/RightDown.tsx @@ -0,0 +1,272 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine3Before); + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage3-1/Right/RightUp.tsx b/src/page/LinePage3-1/Right/RightUp.tsx new file mode 100644 index 0000000..ee87241 --- /dev/null +++ b/src/page/LinePage3-1/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3Before} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine3Before); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage3-1/Right/index.tsx b/src/page/LinePage3-1/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage3-1/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage3-1/TopP.tsx b/src/page/LinePage3-1/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage3-1/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage3-1/assets/icon/alarm.png b/src/page/LinePage3-1/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-1/assets/icon/defect.png b/src/page/LinePage3-1/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-1/assets/icon/inputAndOutput.png b/src/page/LinePage3-1/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-1/assets/icon/num.png b/src/page/LinePage3-1/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 zcmV-t2$=VYP)Px-AxT6*RCr$PT1{wNRTMtwPMU<2Qm}|1YX4}^f^<{t-i>WHwzYNZW-JUUxCl~L zc2$tzLKIZ+2kTF*ZnQB?X5~)1bm>5=X%gHNL`BI=X67C}_ug~wd2jMF6Ef4Zc|#$S z&bx2k`|kI1&Ury7UKs?iz$1%50Z5J!1t0|=Ynw#Dkb)rvLwX9*LNbM93dwA~WX{na zyZ`#ventc%hzLLcr4qa`Gq&eOPv3SA9Nd+MoUH#n-dtX;x%&w#446uF*8}h01NYd| zC3X);bGgRMAa{C#QmIs_?%eKxcq|-Cwmn0Zmm4)?B-lczV90p0xm+UxU{B?j0jgAY zJ-E$1gcZY}0D&n%rMh!F0}@h(fE-JV*_wcyXxu(LGHieU7We^orce?0mSZlyRQ1v~U%HPG@#CNKojGh#$<1?5nHgRhRLJ@#u)tg*zkcDFCtnG22Bw$Gn8k@ zIf8dYV1XrL24JeKW|EBa5>A=b8RD5S{}li{$NKi81EG1UXS@$4Z}NWP{(WirH1TSaL9y16)TJ5H*L$V(7$ci4qVEni=e+3cF`c0K}8i-WWq#Mh9ZVUlg zCn}Z(k&T6+7`*?<1Bp0EWm%`X^bJSsx=jr4<5Ks(qCVGlaZkgz7v(9DOXN%<=l%BoRz#;|+a<8%pam z=rBTuOD=kqgyQjepHY>wHf@7!s{IDUQdTltsdfND6VV7`!6dgMx|e4e+Fz1ytZc4Q zA4{6(6w1~mj*Tz?K-$)ZiCKs_=OLOQ^OHnv&yalesGjHeDE2p~y(Y@TH+s=@rM{37 zUFw>cEV0Q;W^Irw)jl(X0m*2WE7d$hz)r;bk=h{iKfbWy-Alz?z7&@f6H9f+N}ZwQ zs!I5jd;v#J85jT{E!$Qe!nL)nR7dwm4>{48o3ys=O;t8o%rWd@oLOX2C|jM1Df7%F zvO|il2!u)@&5+4op{$Yrsv zUVaL|Ypyw2XAj|SS2{}mBQsN}4kuGRN4IwW(=<<{6SY=6=MVtMC;T3u>3(v zo7>1W^#Dl2&r~BISh+rYu&b&2MlS4bt?3ewTjLhE{r4{yn@GR>@8*kO0Ki)Q8>{Rq zfM*cEf>j@T|W zKz9vD+X13dz>&qK(M7BkQZM4$cIk9wwd!hfvsQt7t+tEx0PL^KoA zc=WAJ1H>~#b*K@_&Z$_Mh=sv$ESluP^^?17jS&kkH9JWlv^Gm6=o>wg@Qax6|v<5Qc% zkkhodXKA@!C4dnp+m7Z;be}vXcC4|KRHe4Kh&-eZNO)$skv$68C0sz2fXrNUW9eWl43gQP&wxDCKfdu~XdLT3a`Oh8< z0C9H#=>IyHV?CKC$DG{!SHbzZhv5TgL*wZ{Xk$06bzRfDA1~*8qUo z(@;mt+8$o~OdaQB!x6hcpKe-F3A^1hi2);2kl=Gq0TCuC4h00Vupqw>D#9;ngcjlE zj!)Frid;k&Xc-vHD2NIZZ*X4hba{7k>CqHrXX9{z{xax1^Sa8=a<;n1o&MhJ7pfk8 zjwmID;?^eD1@&#@;;EU!fkcm}sAs=a;M@~}W>~?zdh4Ie@$t`#p_!rU30zU5o^AbJ z?&Hg1>@jAq)^cq77(!-PZd3W-4uoa-mjug|faS5UP7ImQ-F`o2S1~Kc*_c;cykDEZ zQy!G#zQN#`c>6#dWuuR;_qNz)qIzSZcz#%w`iQtLknEBxPkJ{R>i`+7= z*5FhPm&TC8$_$#HL)FTXi?9EneR`IS_2sA~XOl_lzs4$l)~0&Q&2_^Y+p9d)pf+h_3jv_h$POhY~y1b==9U2rnS5m1~mJ~79SXcJT0DCBg^xB5e?41 zX?#{zceAntUYpFLeJy+S5K`c4iQ29Ldq~?Ukmh4-z zvYH9ap#<2hL`Gl!BI|69Sz4p{SXVoo`zjE|8hh@6apT(oqFscI>m<=tqo)L?q@(hF zSv)h`M|L&2aIwW-@^n_GI2`%Gc(NzGW)`^KzsWvmxE@o8qaHZyR?|2ca3qrzBz#(58IiAlGy9(RSCTiBQ$CPWKLdNQqq{# zS-f{DUsQJO@bFiq@EH(Ok9@^@sakuak~jW$!_1}o?ZuXn85c zfulz{yV6yXO{5~kHqK8DUshwiNhy z+%TGRo@>=DcGQp!GFc*plt5HF0NpjqFDXTV>-y+Rm#ib$BPekTlr9*F$LH+0xmFU3 zZp_f7C>!7UE9F`{X9o5;+6Cz{?_1v!1k6KPqqbMNpK1}*Q;6wkbmTs8UjB?l^29h! zh;Ux4$zX>qx+7Z4Hp3`O>H77@X)xl?ppGjGVgqH`RuY*g7slGX0^uQT340k-AT~9b zR&6gRYyd%fmin=M#BTPPVx6i)O7B#-uA-@NdisOE9%h~)x&KkiJJD;>?Wa$bWqhs8 zHyumHvVMFP!C7Nzs7iAi8p$yc=R!=4?d>7?Q>W5n&P-4G%1>=5mnnaZ$KMXH z@cZ1%;|{loeN(ciDl~Hb20Pp;9pVK9GH-=+?CnEjwM2vQB6$Ye=%xKZzpf2_x2-R zE7_@iu1C%eJ1ciO;k{U5ATvm#hUU5&=M+O}Q9YeC<%C$IFiL603gry4mDT=klWjH9 zvNWxmUmskafr9KKgkYb{6<~85{jF&0& zCw=~2DAGDQsHB;@ZVfSAeclDTGZe^OaU^#JCwEiNWuSy9 z#hs6G7HMIY%cI5+?ygtSEU1XkcjFkP5CE|n5M6h=wd;FWd3YWqEc&8O-t#T61=(}$ zB^-CFeM@fc$kw4J{&d#QB>yW?=Qis?xIg5&lS;xBt`2z2=~D}oTLLQ6>QpL(X0g@t zX$jf=AEPyhlEfax(@IpQ7Zr`$;jwAvAp!U@J5i1HotR*~O2J_jsk0j4UiM`{Mf^2; zrR|D+2X?Z*<9zvcZvvDW(i18DX|Q6`g?+jL1H#PjUP|W|%WNkNKeVjL+js=)kReXW z?KE~VhLf(v*0OQCb3bQg!lWi;bjogU9a+7HwT4U zH-mIGi9OBPcsTP2H^EMc2nr#fIj2blm@;wE)ybUu9ehuEs?uk&dMll`YTDkYx2ngM zDSV+R7@|@e%5yQg9ub*ojB{GX|fnMa+7T|+VXGt{2|5?p&G@862^4pI5 lPx)*GWV{RCr$Pn^}k)RTPH*zq+eBiyGr(F+*l)BdBN)al-|S3KCFUaKjA@A}E;d ziE#^}wi_C^bkBgIxN9_M6h%eyqWIu~23$}PCF$v&m_#(jB_>l?(WSLaPwt@Jakj8V5DUXl_YxW$VF9tUCn+GGSC3;3O_O!DtC<`w`SjlZu7!LJSS^@pt9 zPwS0e7l;+wGW!pA*P9TIsW(vD>`9Nr%>^^PvYwcAfymk$*9thdo&fE%6(I@)sU&&o zLuT*0VdIAeu}nkzd5*g+tmC%Zk%B~#qC}D}7OeEeVe<$LqR%ZZ@_oG<&<+CDtil@r zY#<;22MOv8n?PfBED`ud)HDExL)fS4hXSg(k^HJ)r4I}1KQxGCZgH{a>+PD^dnXO! z!a}m=&C&bUY3m%<+4+fp?yyPJX}5{i^rH%#`$N#~I&GcqxWkV?{$;ffr$3cGFs$#U zK+xb#6HQ7t>gO4@`|A=PID}A33MzqKpaPnBD$n#UV>=iWZ$CSOUjth3*L`ki9|)L- z7gAkcgrz>2c3EfeG0DI3e*pn&N>4vK%ahr`u)h23;z}R7AqEkHsA?cq#K>5P6o@{1 z^C2GGCn(Gnjavs&U8{pUuXQ(_T=D&9NpyrA^R;%>0zscoHF5gA?Ac!Xd!#^QhRf>& zomMSq;KctF7LN`{`Te>Ef99;eF?``i#*D*l5-wp=TBL? z^oD>lS^>f!ugF{7Pexi1OWmQ9=xHs8eF5CjpX$CdNH|+5p9vppBu#A+Mv>N(<3_8> zvA!auh#;|?WNZV>0n)Ci{*t?}eR`uHrb5cGcC^`cF^DKGpUpniX4=P! zh!rtjKaos;5J(^@9HLWwx z*;`s!VjJX=yw&}5q(LmTH=Rd#t0h zGskV!?T!(({fOn-Jj+34#sIs6o$WnW@P%wWzMtnK+0YzeLObr^ydUGr@;@e+$SI-~ z6JjGiVi0jb72$%a5lOeIO{9j#3T^86!}f0%HOC{ii zw)|{?*}XJVv)2*1<#VZBegV=&)is~nI;^hwIdVAblvhg%{bl;!U=g^Wkm`9k(gjt< zF0Gevd3pjrsRA5R(es`prMZ!23u|K zyTz>%W=(wPG;GNB*b&BEg;eh?VWWixvAa~Zix&!7v&Z>_r*OlDZn52%TnG-%w5Bi2 zan6pgQR)H_IPI$x&z6T(lYh)OY!}81R-z*DEyLo~dG-c>We9!M4Pw-Dp9bf_)!fjL zCfSfmdNZubcR8kq8wu4gh(>}%xlIgWsTNiH4C P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-1/assets/icon/y.png b/src/page/LinePage3-1/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-1/index.css b/src/page/LinePage3-1/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage3-1/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage3-1/index.tsx b/src/page/LinePage3-1/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage3-1/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage3-2/Center/CenterDown.tsx b/src/page/LinePage3-2/Center/CenterDown.tsx new file mode 100644 index 0000000..3d6276e --- /dev/null +++ b/src/page/LinePage3-2/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine3After); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage3-2/Center/CenterUp.tsx b/src/page/LinePage3-2/Center/CenterUp.tsx new file mode 100644 index 0000000..19a9b5e --- /dev/null +++ b/src/page/LinePage3-2/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "3-2"; + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage3-2/Center/index.tsx b/src/page/LinePage3-2/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage3-2/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage3-2/Component/SwitchButton/index.css b/src/page/LinePage3-2/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage3-2/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage3-2/Component/SwitchButton/index.tsx b/src/page/LinePage3-2/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage3-2/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage3-2/Component/TitleBox/index.css b/src/page/LinePage3-2/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage3-2/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage3-2/Component/TitleBox/index.tsx b/src/page/LinePage3-2/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage3-2/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage3-2/Left/LeftDown.tsx b/src/page/LinePage3-2/Left/LeftDown.tsx new file mode 100644 index 0000000..d5f6169 --- /dev/null +++ b/src/page/LinePage3-2/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3After} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine3After); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage3-2/Left/LeftUp.tsx b/src/page/LinePage3-2/Left/LeftUp.tsx new file mode 100644 index 0000000..9090a2d --- /dev/null +++ b/src/page/LinePage3-2/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3After} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine3After); + console.log('页面数据1-1:',data) + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage3-2/Left/index.tsx b/src/page/LinePage3-2/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage3-2/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage3-2/Right/RightDown.tsx b/src/page/LinePage3-2/Right/RightDown.tsx new file mode 100644 index 0000000..e2991c1 --- /dev/null +++ b/src/page/LinePage3-2/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine3After); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage3-2/Right/RightUp.tsx b/src/page/LinePage3-2/Right/RightUp.tsx new file mode 100644 index 0000000..8bb8eae --- /dev/null +++ b/src/page/LinePage3-2/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine3After} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine3After); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage3-2/Right/index.tsx b/src/page/LinePage3-2/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage3-2/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage3-2/TopP.tsx b/src/page/LinePage3-2/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage3-2/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage3-2/assets/icon/alarm.png b/src/page/LinePage3-2/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-2/assets/icon/defect.png b/src/page/LinePage3-2/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-2/assets/icon/inputAndOutput.png b/src/page/LinePage3-2/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-2/assets/icon/num.png b/src/page/LinePage3-2/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-2/assets/icon/y.png b/src/page/LinePage3-2/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage3-2/index.css b/src/page/LinePage3-2/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage3-2/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage3-2/index.tsx b/src/page/LinePage3-2/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage3-2/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage4-1/Center/CenterDown.tsx b/src/page/LinePage4-1/Center/CenterDown.tsx new file mode 100644 index 0000000..d4b3b02 --- /dev/null +++ b/src/page/LinePage4-1/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine4Before); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage4-1/Center/CenterUp.tsx b/src/page/LinePage4-1/Center/CenterUp.tsx new file mode 100644 index 0000000..9bc4128 --- /dev/null +++ b/src/page/LinePage4-1/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "4-1" + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage4-1/Center/index.tsx b/src/page/LinePage4-1/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage4-1/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage4-1/Component/SwitchButton/index.css b/src/page/LinePage4-1/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage4-1/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage4-1/Component/SwitchButton/index.tsx b/src/page/LinePage4-1/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage4-1/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage4-1/Component/TitleBox/index.css b/src/page/LinePage4-1/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage4-1/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage4-1/Component/TitleBox/index.tsx b/src/page/LinePage4-1/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage4-1/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage4-1/Left/LeftDown.tsx b/src/page/LinePage4-1/Left/LeftDown.tsx new file mode 100644 index 0000000..94e3368 --- /dev/null +++ b/src/page/LinePage4-1/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4Before} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine4Before); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage4-1/Left/LeftUp.tsx b/src/page/LinePage4-1/Left/LeftUp.tsx new file mode 100644 index 0000000..7705eff --- /dev/null +++ b/src/page/LinePage4-1/Left/LeftUp.tsx @@ -0,0 +1,228 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4Before} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine4Before); + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage4-1/Left/index.tsx b/src/page/LinePage4-1/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage4-1/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage4-1/Right/RightDown.tsx b/src/page/LinePage4-1/Right/RightDown.tsx new file mode 100644 index 0000000..733ebff --- /dev/null +++ b/src/page/LinePage4-1/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine4Before); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage4-1/Right/RightUp.tsx b/src/page/LinePage4-1/Right/RightUp.tsx new file mode 100644 index 0000000..7ef32e7 --- /dev/null +++ b/src/page/LinePage4-1/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4Before} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine4Before); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage4-1/Right/index.tsx b/src/page/LinePage4-1/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage4-1/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage4-1/TopP.tsx b/src/page/LinePage4-1/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage4-1/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage4-1/assets/icon/alarm.png b/src/page/LinePage4-1/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-1/assets/icon/defect.png b/src/page/LinePage4-1/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-1/assets/icon/inputAndOutput.png b/src/page/LinePage4-1/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-1/assets/icon/num.png b/src/page/LinePage4-1/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-1/assets/icon/y.png b/src/page/LinePage4-1/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-1/index.css b/src/page/LinePage4-1/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage4-1/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage4-1/index.tsx b/src/page/LinePage4-1/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage4-1/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage4-2/Center/CenterDown.tsx b/src/page/LinePage4-2/Center/CenterDown.tsx new file mode 100644 index 0000000..6c54410 --- /dev/null +++ b/src/page/LinePage4-2/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine4After); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage4-2/Center/CenterUp.tsx b/src/page/LinePage4-2/Center/CenterUp.tsx new file mode 100644 index 0000000..eab4e77 --- /dev/null +++ b/src/page/LinePage4-2/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "4-2"; + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage4-2/Center/index.tsx b/src/page/LinePage4-2/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage4-2/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage4-2/Component/SwitchButton/index.css b/src/page/LinePage4-2/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage4-2/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage4-2/Component/SwitchButton/index.tsx b/src/page/LinePage4-2/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage4-2/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage4-2/Component/TitleBox/index.css b/src/page/LinePage4-2/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage4-2/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage4-2/Component/TitleBox/index.tsx b/src/page/LinePage4-2/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage4-2/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage4-2/Left/LeftDown.tsx b/src/page/LinePage4-2/Left/LeftDown.tsx new file mode 100644 index 0000000..ad3c553 --- /dev/null +++ b/src/page/LinePage4-2/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4After} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine4After); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage4-2/Left/LeftUp.tsx b/src/page/LinePage4-2/Left/LeftUp.tsx new file mode 100644 index 0000000..54473c3 --- /dev/null +++ b/src/page/LinePage4-2/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4After} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine4After); + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + console.log('',chartData) + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage4-2/Left/index.tsx b/src/page/LinePage4-2/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage4-2/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage4-2/Right/RightDown.tsx b/src/page/LinePage4-2/Right/RightDown.tsx new file mode 100644 index 0000000..45afc20 --- /dev/null +++ b/src/page/LinePage4-2/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine4After); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage4-2/Right/RightUp.tsx b/src/page/LinePage4-2/Right/RightUp.tsx new file mode 100644 index 0000000..a13347c --- /dev/null +++ b/src/page/LinePage4-2/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine4After} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine4After); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage4-2/Right/index.tsx b/src/page/LinePage4-2/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage4-2/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage4-2/TopP.tsx b/src/page/LinePage4-2/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage4-2/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage4-2/assets/icon/alarm.png b/src/page/LinePage4-2/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-2/assets/icon/defect.png b/src/page/LinePage4-2/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-2/assets/icon/inputAndOutput.png b/src/page/LinePage4-2/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-2/assets/icon/num.png b/src/page/LinePage4-2/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-2/assets/icon/y.png b/src/page/LinePage4-2/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage4-2/index.css b/src/page/LinePage4-2/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage4-2/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage4-2/index.tsx b/src/page/LinePage4-2/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage4-2/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage5-1/Center/CenterDown.tsx b/src/page/LinePage5-1/Center/CenterDown.tsx new file mode 100644 index 0000000..0ca2227 --- /dev/null +++ b/src/page/LinePage5-1/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine5Before); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage5-1/Center/CenterUp.tsx b/src/page/LinePage5-1/Center/CenterUp.tsx new file mode 100644 index 0000000..08dd7b9 --- /dev/null +++ b/src/page/LinePage5-1/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "5-1" + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage5-1/Center/index.tsx b/src/page/LinePage5-1/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage5-1/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage5-1/Component/SwitchButton/index.css b/src/page/LinePage5-1/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage5-1/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage5-1/Component/SwitchButton/index.tsx b/src/page/LinePage5-1/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage5-1/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage5-1/Component/TitleBox/index.css b/src/page/LinePage5-1/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage5-1/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage5-1/Component/TitleBox/index.tsx b/src/page/LinePage5-1/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage5-1/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage5-1/Left/LeftDown.tsx b/src/page/LinePage5-1/Left/LeftDown.tsx new file mode 100644 index 0000000..a12ee94 --- /dev/null +++ b/src/page/LinePage5-1/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5Before} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine5Before); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage5-1/Left/LeftUp.tsx b/src/page/LinePage5-1/Left/LeftUp.tsx new file mode 100644 index 0000000..0365d02 --- /dev/null +++ b/src/page/LinePage5-1/Left/LeftUp.tsx @@ -0,0 +1,228 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5Before} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine5Before); + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage5-1/Left/index.tsx b/src/page/LinePage5-1/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage5-1/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage5-1/Right/RightDown.tsx b/src/page/LinePage5-1/Right/RightDown.tsx new file mode 100644 index 0000000..8c365f0 --- /dev/null +++ b/src/page/LinePage5-1/Right/RightDown.tsx @@ -0,0 +1,273 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5Before} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine5Before); + // console.log('页面数据:',data) + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage5-1/Right/RightUp.tsx b/src/page/LinePage5-1/Right/RightUp.tsx new file mode 100644 index 0000000..c55103e --- /dev/null +++ b/src/page/LinePage5-1/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5Before} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine5Before); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage5-1/Right/index.tsx b/src/page/LinePage5-1/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage5-1/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage5-1/TopP.tsx b/src/page/LinePage5-1/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage5-1/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage5-1/assets/icon/alarm.png b/src/page/LinePage5-1/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-1/assets/icon/defect.png b/src/page/LinePage5-1/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-1/assets/icon/inputAndOutput.png b/src/page/LinePage5-1/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-1/assets/icon/num.png b/src/page/LinePage5-1/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 zcmV-t2$=VYP)Px-AxT6*RCr$PT1{wNRTMtwPMU<2Qm}|1YX4}^f^<{t-i>WHwzYNZW-JUUxCl~L zc2$tzLKIZ+2kTF*ZnQB?X5~)1bm>5=X%gHNL`BI=X67C}_ug~wd2jMF6Ef4Zc|#$S z&bx2k`|kI1&Ury7UKs?iz$1%50Z5J!1t0|=Ynw#Dkb)rvLwX9*LNbM93dwA~WX{na zyZ`#ventc%hzLLcr4qa`Gq&eOPv3SA9Nd+MoUH#n-dtX;x%&w#446uF*8}h01NYd| zC3X);bGgRMAa{C#QmIs_?%eKxcq|-Cwmn0Zmm4)?B-lczV90p0xm+UxU{B?j0jgAY zJ-E$1gcZY}0D&n%rMh!F0}@h(fE-JV*_wcyXxu(LGHieU7We^orce?0mSZlyRQ1v~U%HPG@#CNKojGh#$<1?5nHgRhRLJ@#u)tg*zkcDFCtnG22Bw$Gn8k@ zIf8dYV1XrL24JeKW|EBa5>A=b8RD5S{}li{$NKi81EG1UXS@$4Z}NWP{(WirH1TSaL9y16)TJ5H*L$V(7$ci4qVEni=e+3cF`c0K}8i-WWq#Mh9ZVUlg zCn}Z(k&T6+7`*?<1Bp0EWm%`X^bJSsx=jr4<5Ks(qCVGlaZkgz7v(9DOXN%<=l%BoRz#;|+a<8%pam z=rBTuOD=kqgyQjepHY>wHf@7!s{IDUQdTltsdfND6VV7`!6dgMx|e4e+Fz1ytZc4Q zA4{6(6w1~mj*Tz?K-$)ZiCKs_=OLOQ^OHnv&yalesGjHeDE2p~y(Y@TH+s=@rM{37 zUFw>cEV0Q;W^Irw)jl(X0m*2WE7d$hz)r;bk=h{iKfbWy-Alz?z7&@f6H9f+N}ZwQ zs!I5jd;v#J85jT{E!$Qe!nL)nR7dwm4>{48o3ys=O;t8o%rWd@oLOX2C|jM1Df7%F zvO|il2!u)@&5+4op{$Yrsv zUVaL|Ypyw2XAj|SS2{}mBQsN}4kuGRN4IwW(=<<{6SY=6=MVtMC;T3u>3(v zo7>1W^#Dl2&r~BISh+rYu&b&2MlS4bt?3ewTjLhE{r4{yn@GR>@8*kO0Ki)Q8>{Rq zfM*cEf>j@T|W zKz9vD+X13dz>&qK(M7BkQZM4$cIk9wwd!hfvsQt7t+tEx0PL^KoA zc=WAJ1H>~#b*K@_&Z$_Mh=sv$ESluP^^?17jS&kkH9JWlv^Gm6=o>wg@Qax6|v<5Qc% zkkhodXKA@!C4dnp+m7Z;be}vXcC4|KRHe4Kh&-eZNO)$skv$68C0sz2fXrNUW9eWl43gQP&wxDCKfdu~XdLT3a`Oh8< z0C9H#=>IyHV?CKC$DG{!SHbzZhv5TgL*wZ{Xk$06bzRfDA1~*8qUo z(@;mt+8$o~OdaQB!x6hcpKe-F3A^1hi2);2kl=Gq0TCuC4h00Vupqw>D#9;ngcjlE zj!)Frid;k&Xc-vHD2NIZZ*X4hba{7k>CqHrXX9{z{xax1^Sa8=a<;n1o&MhJ7pfk8 zjwmID;?^eD1@&#@;;EU!fkcm}sAs=a;M@~}W>~?zdh4Ie@$t`#p_!rU30zU5o^AbJ z?&Hg1>@jAq)^cq77(!-PZd3W-4uoa-mjug|faS5UP7ImQ-F`o2S1~Kc*_c;cykDEZ zQy!G#zQN#`c>6#dWuuR;_qNz)qIzSZcz#%w`iQtLknEBxPkJ{R>i`+7= z*5FhPm&TC8$_$#HL)FTXi?9EneR`IS_2sA~XOl_lzs4$l)~0&Q&2_^Y+p9d)pf+h_3jv_h$POhY~y1b==9U2rnS5m1~mJ~79SXcJT0DCBg^xB5e?41 zX?#{zceAntUYpFLeJy+S5K`c4iQ29Ldq~?Ukmh4-z zvYH9ap#<2hL`Gl!BI|69Sz4p{SXVoo`zjE|8hh@6apT(oqFscI>m<=tqo)L?q@(hF zSv)h`M|L&2aIwW-@^n_GI2`%Gc(NzGW)`^KzsWvmxE@o8qaHZyR?|2ca3qrzBz#(58IiAlGy9(RSCTiBQ$CPWKLdNQqq{# zS-f{DUsQJO@bFiq@EH(Ok9@^@sakuak~jW$!_1}o?ZuXn85c zfulz{yV6yXO{5~kHqK8DUshwiNhy z+%TGRo@>=DcGQp!GFc*plt5HF0NpjqFDXTV>-y+Rm#ib$BPekTlr9*F$LH+0xmFU3 zZp_f7C>!7UE9F`{X9o5;+6Cz{?_1v!1k6KPqqbMNpK1}*Q;6wkbmTs8UjB?l^29h! zh;Ux4$zX>qx+7Z4Hp3`O>H77@X)xl?ppGjGVgqH`RuY*g7slGX0^uQT340k-AT~9b zR&6gRYyd%fmin=M#BTPPVx6i)O7B#-uA-@NdisOE9%h~)x&KkiJJD;>?Wa$bWqhs8 zHyumHvVMFP!C7Nzs7iAi8p$yc=R!=4?d>7?Q>W5n&P-4G%1>=5mnnaZ$KMXH z@cZ1%;|{loeN(ciDl~Hb20Pp;9pVK9GH-=+?CnEjwM2vQB6$Ye=%xKZzpf2_x2-R zE7_@iu1C%eJ1ciO;k{U5ATvm#hUU5&=M+O}Q9YeC<%C$IFiL603gry4mDT=klWjH9 zvNWxmUmskafr9KKgkYb{6<~85{jF&0& zCw=~2DAGDQsHB;@ZVfSAeclDTGZe^OaU^#JCwEiNWuSy9 z#hs6G7HMIY%cI5+?ygtSEU1XkcjFkP5CE|n5M6h=wd;FWd3YWqEc&8O-t#T61=(}$ zB^-CFeM@fc$kw4J{&d#QB>yW?=Qis?xIg5&lS;xBt`2z2=~D}oTLLQ6>QpL(X0g@t zX$jf=AEPyhlEfax(@IpQ7Zr`$;jwAvAp!U@J5i1HotR*~O2J_jsk0j4UiM`{Mf^2; zrR|D+2X?Z*<9zvcZvvDW(i18DX|Q6`g?+jL1H#PjUP|W|%WNkNKeVjL+js=)kReXW z?KE~VhLf(v*0OQCb3bQg!lWi;bjogU9a+7HwT4U zH-mIGi9OBPcsTP2H^EMc2nr#fIj2blm@;wE)ybUu9ehuEs?uk&dMll`YTDkYx2ngM zDSV+R7@|@e%5yQg9ub*ojB{GX|fnMa+7T|+VXGt{2|5?p&G@862^4pI5 lPx)*GWV{RCr$Pn^}k)RTPH*zq+eBiyGr(F+*l)BdBN)al-|S3KCFUaKjA@A}E;d ziE#^}wi_C^bkBgIxN9_M6h%eyqWIu~23$}PCF$v&m_#(jB_>l?(WSLaPwt@Jakj8V5DUXl_YxW$VF9tUCn+GGSC3;3O_O!DtC<`w`SjlZu7!LJSS^@pt9 zPwS0e7l;+wGW!pA*P9TIsW(vD>`9Nr%>^^PvYwcAfymk$*9thdo&fE%6(I@)sU&&o zLuT*0VdIAeu}nkzd5*g+tmC%Zk%B~#qC}D}7OeEeVe<$LqR%ZZ@_oG<&<+CDtil@r zY#<;22MOv8n?PfBED`ud)HDExL)fS4hXSg(k^HJ)r4I}1KQxGCZgH{a>+PD^dnXO! z!a}m=&C&bUY3m%<+4+fp?yyPJX}5{i^rH%#`$N#~I&GcqxWkV?{$;ffr$3cGFs$#U zK+xb#6HQ7t>gO4@`|A=PID}A33MzqKpaPnBD$n#UV>=iWZ$CSOUjth3*L`ki9|)L- z7gAkcgrz>2c3EfeG0DI3e*pn&N>4vK%ahr`u)h23;z}R7AqEkHsA?cq#K>5P6o@{1 z^C2GGCn(Gnjavs&U8{pUuXQ(_T=D&9NpyrA^R;%>0zscoHF5gA?Ac!Xd!#^QhRf>& zomMSq;KctF7LN`{`Te>Ef99;eF?``i#*D*l5-wp=TBL? z^oD>lS^>f!ugF{7Pexi1OWmQ9=xHs8eF5CjpX$CdNH|+5p9vppBu#A+Mv>N(<3_8> zvA!auh#;|?WNZV>0n)Ci{*t?}eR`uHrb5cGcC^`cF^DKGpUpniX4=P! zh!rtjKaos;5J(^@9HLWwx z*;`s!VjJX=yw&}5q(LmTH=Rd#t0h zGskV!?T!(({fOn-Jj+34#sIs6o$WnW@P%wWzMtnK+0YzeLObr^ydUGr@;@e+$SI-~ z6JjGiVi0jb72$%a5lOeIO{9j#3T^86!}f0%HOC{ii zw)|{?*}XJVv)2*1<#VZBegV=&)is~nI;^hwIdVAblvhg%{bl;!U=g^Wkm`9k(gjt< zF0Gevd3pjrsRA5R(es`prMZ!23u|K zyTz>%W=(wPG;GNB*b&BEg;eh?VWWixvAa~Zix&!7v&Z>_r*OlDZn52%TnG-%w5Bi2 zan6pgQR)H_IPI$x&z6T(lYh)OY!}81R-z*DEyLo~dG-c>We9!M4Pw-Dp9bf_)!fjL zCfSfmdNZubcR8kq8wu4gh(>}%xlIgWsTNiH4C P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-1/assets/icon/y.png b/src/page/LinePage5-1/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-1/index.css b/src/page/LinePage5-1/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage5-1/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage5-1/index.tsx b/src/page/LinePage5-1/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage5-1/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/page/LinePage5-2/Center/CenterDown.tsx b/src/page/LinePage5-2/Center/CenterDown.tsx new file mode 100644 index 0000000..919b10f --- /dev/null +++ b/src/page/LinePage5-2/Center/CenterDown.tsx @@ -0,0 +1,214 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import SwitchButton from "../Component/SwitchButton"; +import { useState } from "react"; +import getOptions from "../../Component/LineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function CenterDown() { + const data = useAppSelector(selectLine5After); + // 假数据 + const dataSource = { + day: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + week: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + month: { + xData:[], + series: [] as { name: string; type: string; symbol: string; symbolSize: number; data: never[]; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const config = { + header: ["序号", "报警时间", "报警设备", "报警内容"], + headerHeight: 36, + rowNum: 6, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [80, 137, 137, 137], + data: [] + }; + // 报警数据 + let arr:any = [] + let sumAlarm = 0 + // @ts-ignore + if (data.alarms && data.alarms.length > 0) { + // @ts-ignore + sumAlarm = data.alarms.length + // @ts-ignore + data.alarms.map((item,index) => { + let arrInner = [] + arrInner.push( + index+1, + moment(item.recTime).format("YYYY/MM/DD HH:mm"), + item.name, + item.status === '故障'?"故障":"离线", + ); + arr.push(arrInner) + }); + } + config.data = arr + // 产线成品率 + // @ts-ignore + if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.todayProductionRates) + // @ts-ignore + data.todayProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.todayProductionRates[item][0].lineName + // @ts-ignore + data.todayProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.day.series.push(obj) + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekProductionRates && Object.keys(data.weekProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.weekProductionRates) + // @ts-ignore + data.weekProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.weekProductionRates[item][0].lineName + // @ts-ignore + data.weekProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.week.series.push(obj) + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthProductionRates && Object.keys(data.monthProductionRates).length > 0) { + // @ts-ignore + let keys = Object.keys(data.monthProductionRates) + // @ts-ignore + data.monthProductionRates[keys[0]].map((item,index)=>{ + // @ts-ignore + dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + }) + keys.map((item,index)=>{ + let obj = { + name: "", + type: "line", + symbol: "circle", + symbolSize: 4, + data:[] + } + // @ts-ignore + obj.name = data.monthProductionRates[item][0].lineName + // @ts-ignore + data.monthProductionRates[item].map((subItem,index)=>{ + // @ts-ignore + obj.data.push(subItem.passRate) + }) + dataSource.month.series.push(obj) + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + let chartData = (dataSource as { [key: string]: any })[activeName]; + console.log('???????????',chartData) + const options = getOptions(chartData); + return ( +
+
+ + — 报警总数 — +
{sumAlarm}
+
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ {/* 产线成品率 */} +
+ +
+ +
+ {chartData.xData.length>0 && ( +
+ {} +
+ )} + {chartData.xData.length==0 && ( +

+ 暂无数据 +

+ )} +
+
+ ); +} +export default CenterDown; diff --git a/src/page/LinePage5-2/Center/CenterUp.tsx b/src/page/LinePage5-2/Center/CenterUp.tsx new file mode 100644 index 0000000..d800861 --- /dev/null +++ b/src/page/LinePage5-2/Center/CenterUp.tsx @@ -0,0 +1,10 @@ +import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +function CenterUp() { + const lineID = "5-2"; + return ( +
+ +
+ ); +} +export default CenterUp; diff --git a/src/page/LinePage5-2/Center/index.tsx b/src/page/LinePage5-2/Center/index.tsx new file mode 100644 index 0000000..14d5036 --- /dev/null +++ b/src/page/LinePage5-2/Center/index.tsx @@ -0,0 +1,12 @@ +import CenterDown from "./CenterDown"; +import CenterUp from "./CenterUp"; + +function Center() { + return ( +
+ + +
+ ); +} +export default Center; diff --git a/src/page/LinePage5-2/Component/SwitchButton/index.css b/src/page/LinePage5-2/Component/SwitchButton/index.css new file mode 100644 index 0000000..604d81a --- /dev/null +++ b/src/page/LinePage5-2/Component/SwitchButton/index.css @@ -0,0 +1,19 @@ +.switch-button { + height: 33px; +} +.switch-button button { + color: #fff; + font-size: 18px; + padding: 4px 10px; + background-color: rgba(49, 135, 140, 0.3); + cursor: pointer; +} +.switch-button button:first-child { + border-radius: 5px 0 0 5px; +} +.switch-button button:last-child { + border-radius: 0 5px 5px 0; +} +.switch-button button.active { + background-color: rgba(86, 244, 231, 0.7); +} diff --git a/src/page/LinePage5-2/Component/SwitchButton/index.tsx b/src/page/LinePage5-2/Component/SwitchButton/index.tsx new file mode 100644 index 0000000..9209c06 --- /dev/null +++ b/src/page/LinePage5-2/Component/SwitchButton/index.tsx @@ -0,0 +1,65 @@ +import { useEffect, useState } from "react"; +import "./index.css"; +interface Name { + name: string; + ename: string; +} +interface nameListProps { + nameList: Name[]; + onChange: (value: string) => void; +} +function createActiveNameUpdater(nameList: any, activeName: string) { + let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); + + return function updateActiveName() { + activeIndex = (activeIndex + 1) % nameList.length; + return nameList[activeIndex].ename; + }; +} +function SwitchButton(props: nameListProps) { + const [activeName, setActiveName] = useState(props.nameList[0].ename); + const [timerId, setTimerId] = useState(null); + let updateActiveName = createActiveNameUpdater(props.nameList, activeName); + useEffect(() => { + const timer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(timer); + return () => { + if (timerId !== null) { + clearInterval(timerId); + } + }; + }, [props.nameList.length]); + const btnClick = (ename: string) => { + if (timerId !== null) { + clearInterval(timerId); + } + setActiveName(ename); + props.onChange(ename); // 通知父组件 + const newTimer = setInterval(() => { + let active = updateActiveName(); + setActiveName(active); + props.onChange(active); + }, 60000); + setTimerId(newTimer); + }; + return ( +
+ {props.nameList.map((item, index) => { + return ( + + ); + })} +
+ ); +} +export default SwitchButton; diff --git a/src/page/LinePage5-2/Component/TitleBox/index.css b/src/page/LinePage5-2/Component/TitleBox/index.css new file mode 100644 index 0000000..3ae06db --- /dev/null +++ b/src/page/LinePage5-2/Component/TitleBox/index.css @@ -0,0 +1,13 @@ +.title_box { + font-size: 24px; + color: #52fff1; + padding: 10px 0 0 15px; +} +.title_box img { + width: 33px; + height: 33px; + vertical-align: bottom; + margin-right: 3px; + position: relative; + top: 3px; +} diff --git a/src/page/LinePage5-2/Component/TitleBox/index.tsx b/src/page/LinePage5-2/Component/TitleBox/index.tsx new file mode 100644 index 0000000..dd43a66 --- /dev/null +++ b/src/page/LinePage5-2/Component/TitleBox/index.tsx @@ -0,0 +1,53 @@ +import Defect from "./../../assets/icon/defect.png"; +import Alarm from "./../../assets/icon/alarm.png"; +import Finished from "./../../assets/icon/finished.png"; +import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; +import Num from "./../../assets/icon/num.png"; +import Record from "./../../assets/icon/record.png"; +import "./index.css"; +interface titleProps { + title: string; +} +function TitleBox(props: titleProps) { + const filteredTitles = () => { + switch (props.title) { + case "left_up": + return { + img: Defect, + title: "产线报废汇总", + }; + case "left_down": + return { + img: Record, + title: "当前产线报废情况", + }; + case "center_down_left": + return { + img: Alarm, + title: "异常报警", + }; + case "center_down_right": + return { + img: Finished, + title: "产线成品率", + }; + case "right_up": + return { + img: Num, + title: "各产线总投入和产出", + }; + default: + return { + img: InputAndOutput, + title: "当前产线投入和产出", + }; + } + }; + return ( +
+ title + {filteredTitles().title} +
+ ); +} +export default TitleBox; diff --git a/src/page/LinePage5-2/Left/LeftDown.tsx b/src/page/LinePage5-2/Left/LeftDown.tsx new file mode 100644 index 0000000..7f35755 --- /dev/null +++ b/src/page/LinePage5-2/Left/LeftDown.tsx @@ -0,0 +1,245 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/BarChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5After} from "./../../../store/LinePageSlice" +function LeftDown() { + const data = useAppSelector(selectLine5After); + // console.log('页面数据:',data) + const nameList = [ + { name: "表单", ename: "table" }, + { name: "柱状", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 224], + ["2", "包装1", 322], + ["3", "包装2", 66], + ], + }; + const configWeek = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 1119], + ["2", "包装1", 1798], + ["3", "包装2", 435], + ], + }; + const configMonth = { + header: ["序号", "工序类型", "报废数量"], + headerHeight: 30, + rowNum: 4, + align: ["center", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [73, 117, 190], + data: [ + ["1", "磨边后", 5004], + ["2", "包装1", 9122], + ["3", "包装2", 1924], + ], + }; + const color1 = ["#9DD5FF", "#1295FF"]; + const color2 = ["#85F6E9", "#2EC6B4"]; + // @ts-ignore + let xData: string[] = data.scrapBars + let dataProps1: number[] = []; + let dataProps2: number[] = []; + let dataProps3: number[] = []; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { + // @ts-ignore + data.todayProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr1.push(arrInner); + dataProps1.push(item.scrapNum); + }) + }else{ + dataProps1 = [] + } + // @ts-ignore + if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { + // @ts-ignore + data.weekProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr2.push(arrInner); + dataProps2.push(item.scrapNum); + }) + }else{ + dataProps2 = [] + } + // @ts-ignore + if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { + // @ts-ignore + data.monthProductionScraps.map((item,index)=>{ + let arrInner = []; + arrInner.push(index+1,item.sectionName,item.scrapNum); + arr3.push(arrInner); + dataProps3.push(item.scrapNum); + }) + }else{ + dataProps3 = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + const options1 = getOptions(dataProps1,xData, color1); + const options2 = getOptions(dataProps2,xData, color2); + const options3 = getOptions(dataProps3,xData, color1); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps1.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps2.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length > 0 ? :(

+ 暂无数据 +

) + ) : dataProps3.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default LeftDown; diff --git a/src/page/LinePage5-2/Left/LeftUp.tsx b/src/page/LinePage5-2/Left/LeftUp.tsx new file mode 100644 index 0000000..71df85f --- /dev/null +++ b/src/page/LinePage5-2/Left/LeftUp.tsx @@ -0,0 +1,229 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import getOptions from "../../Component/SummaryBarChart/chart.config"; +import { useState } from "react"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5After} from "./../../../store/LinePageSlice" +function LeftUp() { + const data = useAppSelector(selectLine5After); + console.log('页面数据1-1:',data) + // 假数据 + const dataSource = { + day: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + week: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + month: { + xData: [], + series: [] as { data: number[]; type: string; stack: string; name: any; barWidth?: number; label: { show: boolean; position: string; color: string;formatter?:any }; }[], + }, + }; + const nameList = [ + { name: "天", ename: "day" }, + { name: "周", ename: "week" }, + { name: "月", ename: "month" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + let chartData = (dataSource as { [key: string]: any })[activeName]; + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + // @ts-ignore + if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.day.series.push(obj) + }) + // @ts-ignore + dataSource.day.xData = Object.keys(data.todayAllProductionScraps) + dataSource.day.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.day.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.day.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.day.xData = [] + dataSource.day.series = [] + } + // @ts-ignore + if (data.weekAllProductionScraps && Object.keys(data.weekAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.week.series.push(obj) + }) + // @ts-ignore + dataSource.week.xData = Object.keys(data.weekAllProductionScraps) + dataSource.week.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.week.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.week.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.week.xData = [] + dataSource.week.series = [] + } + // @ts-ignore + if (data.monthAllProductionScraps && Object.keys(data.monthAllProductionScraps).length > 0) { + let sum: number[] = []; + // 生成obj + // @ts-ignore + data.scrapBars.map((item,index) => { + let obj = { + data: [], + type: "bar", + stack: "a", + name: item, + barWidth: 14, + label: { + show: true, + position: "right", + color: "inherit", + }, + } + dataSource.month.series.push(obj) + }) + // @ts-ignore + dataSource.month.xData = Object.keys(data.monthAllProductionScraps) + dataSource.month.xData.map((item,index)=>{ + let sumIner = 0 + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + sumIner += itemInner.scrapNum + dataSource.month.series.map((itemSeries,indexSeries)=>{ + // @ts-ignore + if (itemSeries.name === itemInner.sectionName) { + // @ts-ignore + itemSeries.data.push(itemInner.scrapNum) + } + }) + }) + sum.push(sumIner) + }) + dataSource.month.series.push({ + data: sum, + type: "bar", + stack: "a", + name: "", + label: { + show: true, + position: "top", + color: "#fff", + formatter: function (params: any) { + return sum[params.dataIndex]; + }, + }, + }) + }else{ + dataSource.month.xData = [] + dataSource.month.series = [] + } + const options = getOptions(chartData); + return ( +
+ +
+ +
+ {// @ts-ignore + dataSource[activeName].xData.length>0 ? ( +
+ {} +
+ ):( +

+ 暂无数据 +

+ )} +
+ ); +} +export default LeftUp; diff --git a/src/page/LinePage5-2/Left/index.tsx b/src/page/LinePage5-2/Left/index.tsx new file mode 100644 index 0000000..6524b82 --- /dev/null +++ b/src/page/LinePage5-2/Left/index.tsx @@ -0,0 +1,11 @@ +import LeftUp from "./LeftUp"; +import LeftDown from "./LeftDown"; +function Left() { + return ( +
+ + +
+ ); +} +export default Left; diff --git a/src/page/LinePage5-2/Right/RightDown.tsx b/src/page/LinePage5-2/Right/RightDown.tsx new file mode 100644 index 0000000..6fe188e --- /dev/null +++ b/src/page/LinePage5-2/Right/RightDown.tsx @@ -0,0 +1,272 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import SwitchButton from "../Component/SwitchButton"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import { useState } from "react"; +import getOptions from "../../Component/LineChartRight/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5After} from "./../../../store/LinePageSlice" +import moment from "moment"; +function RightDown() { + const data = useAppSelector(selectLine5After); + // 假数据 + let tempData = [ + { + type: "day", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "week", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + { + type: "month", + data: { + time: [] as string[], + input: [] as number[], + output: [] as number[], + }, + }, + ]; + const nameList = [ + { name: "表单", ename: "table" }, + { name: "折线", ename: "chart" }, + ]; + const [activeName, setActiveName] = useState(nameList[0].ename); + const handleButtonChange = (activeName: string) => { + setActiveName(activeName); + }; + const configDay = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configWeek = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + const configMonth = { + header: ["时间", "投入数量", "产出数量"], + headerHeight: 30, + rowNum: 5, + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [120, 130, 130], + data: [], + }; + let arr1: any = []; + let arr2: any = []; + let arr3: any = []; + // @ts-ignore + if (data.todayProductionDets && data.todayProductionDets.length > 0) { + // @ts-ignore + data.todayProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arr1.push(arrInner); + tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.input.push(item.inputNum); + tempData[0].data.output.push(item.outputNum); + }) + }else{ + tempData[0].data.time = [] + tempData[0].data.input = [] + tempData[0].data.output = [] + } + // @ts-ignore + if (data.weekProductionDets && data.weekProductionDets.length > 0) { + // @ts-ignore + data.weekProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr2.push(arrInner); + tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.input.push(item.inputNum); + tempData[1].data.output.push(item.outputNum); + }) + }else{ + tempData[1].data.time = [] + tempData[1].data.input = [] + tempData[1].data.output = [] + } + // @ts-ignore + if (data.monthProductionDets && data.monthProductionDets.length > 0) { + // @ts-ignore + data.monthProductionDets.map((item,index)=>{ + let arrInner = []; + arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arr3.push(arrInner); + tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.input.push(item.inputNum); + tempData[2].data.output.push(item.outputNum); + }) + }else{ + tempData[2].data.time = [] + tempData[2].data.input = [] + tempData[2].data.output = [] + } + configDay.data = arr1; + configWeek.data = arr2; + configMonth.data = arr3; + + const chartData1 = tempData[0].data; + const chartData2 = tempData[1].data; + const chartData3 = tempData[2].data; + const options1 = getOptions(chartData1); + const options2 = getOptions(chartData2); + const options3 = getOptions(chartData3); + return ( +
+ +
+ +
+
+
+
+ 当天 +
+
+
+ {activeName === "table" ? ( + arr1.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[0].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本周 +
+
+
+ {activeName === "table" ? ( + arr2.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[1].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ 本月 +
+
+
+ {activeName === "table" ? ( + arr3.length>0?:( +

+ 暂无数据 +

+ ) + ) : tempData[2].data.time.length>0 ? ( + + ) : ( +

+ 暂无数据 +

+ )} +
+
+
+ ); +} +export default RightDown; diff --git a/src/page/LinePage5-2/Right/RightUp.tsx b/src/page/LinePage5-2/Right/RightUp.tsx new file mode 100644 index 0000000..4644deb --- /dev/null +++ b/src/page/LinePage5-2/Right/RightUp.tsx @@ -0,0 +1,52 @@ +import TitleBox from "../Component/TitleBox"; +import ScrollBoard from "./../../Component/ScrollBoard"; +import {useAppSelector} from "./../../../store/hooks" +import {selectLine5After} from "./../../../store/LinePageSlice" +function RightUp() { + const data = useAppSelector(selectLine5After); + const config = { + header: ["序号", "产线", "上片数据量", "成品下片数量"], + headerHeight: 32, + rowNum: 5, + align: ["center", "left", "left", "left"], + headerBGC: "rgba(79, 114, 136, 0.3)", + oddRowBGC: "rgba(79, 114, 136, 0.3)", + evenRowBGC: "rgba(76, 97, 123, 0.1)", + columnWidth: [70, 90, 106, 114], + data: [], + }; + let arr:any = [] + // @ts-ignore + if (data.sumProductionDets && data.sumProductionDets.length > 0) { + // @ts-ignore + data.sumProductionDets.map((item, index) => { + let arrInner = [] + arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) + arr.push(arrInner) + }) + } + config.data = arr + return ( +
+ +
+ {arr.length>0?:(

+ 暂无数据 +

)} +
+
+ ); +} +export default RightUp; diff --git a/src/page/LinePage5-2/Right/index.tsx b/src/page/LinePage5-2/Right/index.tsx new file mode 100644 index 0000000..53c802a --- /dev/null +++ b/src/page/LinePage5-2/Right/index.tsx @@ -0,0 +1,12 @@ +import RightDown from "./RightDown"; +import RightUp from "./RightUp"; + +function Right() { + return ( +
+ + +
+ ); +} +export default Right; diff --git a/src/page/LinePage5-2/TopP.tsx b/src/page/LinePage5-2/TopP.tsx new file mode 100644 index 0000000..e7c7a64 --- /dev/null +++ b/src/page/LinePage5-2/TopP.tsx @@ -0,0 +1,14 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LinePage5-2/assets/icon/alarm.png b/src/page/LinePage5-2/assets/icon/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..eb335f3598be2d528d90760cc70ce0d1e341b5d6 GIT binary patch literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-2/assets/icon/defect.png b/src/page/LinePage5-2/assets/icon/defect.png new file mode 100644 index 0000000000000000000000000000000000000000..76ed17c949fe97444a60668bf472bc1818c3a487 GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-2/assets/icon/inputAndOutput.png b/src/page/LinePage5-2/assets/icon/inputAndOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..113ed13c16867d83248332c6f38b976481111b10 GIT binary patch literal 2862 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-2/assets/icon/num.png b/src/page/LinePage5-2/assets/icon/num.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c4098bc93caa846c3cfbd6d2c2d40091e588b GIT binary patch literal 2151 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 P00000NkvXXu0mjf{bcL% literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-2/assets/icon/y.png b/src/page/LinePage5-2/assets/icon/y.png new file mode 100644 index 0000000000000000000000000000000000000000..72c796a1eea8c884c76a8b7dc574e0e1db779d8d GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage5-2/index.css b/src/page/LinePage5-2/index.css new file mode 100644 index 0000000..1a28491 --- /dev/null +++ b/src/page/LinePage5-2/index.css @@ -0,0 +1,264 @@ +/* 顶部 */ +.block_top { + width: 1920px; + height: 94px; + background: url(/public/svg/topback.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} + +.left_up { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.left_down { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.center_up { + width: 1041px; + height: 562px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down { + width: 1041px; + height: 368px; + margin-top: 17px; +} +.center_down_inner { + width: 513px; + height: 366px; + background: url(../../../public/png/rect/lp_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.center_down .left-box { + margin-right: 15px; + position: relative; +} +.center_down .left-box .alarm_num_title { + position: absolute; + left: 220px; + top: 22px; + font-size: 13px; + letter-spacing: 3px; + color: #fff; +} +.center_down .left-box .alarm_num { + color: #52fff1; + font-size: 40px; + text-align: center; + font-family: PingFangSC, PingFang SC; +} +.center_down .right_box .chart_box { + width: 100%; + height: 310px; + margin-top: 10px; +} +.right_up { + width: 401px; + height: 257px; + background: url(../../../public/png/rect/lp_right_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; +} +.right_down { + width: 401px; + height: 673px; + background: url(../../../public/png/rect/lp_right_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.left_up_switch { + position: absolute; + right: 10px; + top: 12px; +} +.left_up_chart { + height: 275px; + margin-top: 10px; +} +/* 左侧 */ +.left_down_title { + height: 18px; + justify-content: center; + margin-bottom: 4px; +} +.left_down_box1 { + width: 56px; + height: 13px; + background: url(/public/png/leftbar.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 2px; +} +.left_down_box2 { + width: 56px; + height: 13px; + background: url(/public/png/rightbar.png) 100% no-repeat; + background-size: 100% 100%; + margin: 2px 0 0 0px; +} +.left_down_text { + /*width: 40px;*/ + height: 18px; + overflow-wrap: break-word; + color: rgba(1, 207, 204, 1); + font-size: 18px; + letter-spacing: 5px; + font-family: PingFangSC-Regular; + white-space: nowrap; + line-height: 18px; + margin-left: 18px; + margin-right: 16px; + text-align: center; +} +.left_down_content { + height: 160px; + /* padding-bottom: 5px; */ +} +.right_down_content { + height: 185px; + /* padding-bottom: 5px; */ +} +/* 滚动表格部分 */ +.dv-scroll-board .header .header-item, +.dv-scroll-board .rows .ceil { + border-right: 1px solid #0d1728; +} +.dv-scroll-board .header .header-item:last-child, +.dv-scroll-board .rows .ceil:last-child { + border-right: none; + border: none; +} +/* chart图部分 */ +.luoyang-chart-tooltip { + background: #0a2b4f77 !important; + border: none !important; + backdrop-filter: blur(12px); +} + +.luoyang-chart-tooltip * { + color: #fff !important; +} +/* 三维页面部分 */ +.center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 110px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} diff --git a/src/page/LinePage5-2/index.tsx b/src/page/LinePage5-2/index.tsx new file mode 100644 index 0000000..daf9389 --- /dev/null +++ b/src/page/LinePage5-2/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +function LinePage() { + return ( + + +
+ +
+ +
+
+ ); +} +export default LinePage; diff --git a/src/store/UpdateData.tsx b/src/store/UpdateData.tsx index ce4d426..0c2260e 100644 --- a/src/store/UpdateData.tsx +++ b/src/store/UpdateData.tsx @@ -14,13 +14,6 @@ import { UpdateLine5Before, UpdateLine5After } from "./LinePageSlice" - -//将消息显示在网页上 -// @ts-ignore -function setMessageInnerHTML(innerHTML) { - console.log(innerHTML) -} - // let initLineGlassStatus: Object = { // LINE_1_1: 1, // LINE_1_2U: 1, @@ -87,61 +80,111 @@ function UpdateData() { let websocket4_2 = null; let websocket5_1 = null; let websocket5_2 = null; + const dispatch = useAppDispatch(); + // 测试接口开始=================== + // console.log(myUrl) + // axios.defaults.headers.common['Authorization'] = 'Bearer test1'; + // axios.defaults.headers.common['tenant-id'] = 1; + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=1-1') + // .then((res) => { + // dispatch(UpdateLine1Before(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=1-2') + // .then((res) => { + // dispatch(UpdateLine1After(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=2-1') + // .then((res) => { + // dispatch(UpdateLine2Before(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=2-2') + // .then((res) => { + // dispatch(UpdateLine2After(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=3-1') + // .then((res) => { + // dispatch(UpdateLine3Before(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=3-2') + // .then((res) => { + // dispatch(UpdateLine3After(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=4-1') + // .then((res) => { + // dispatch(UpdateLine4Before(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=4-2') + // .then((res) => { + // dispatch(UpdateLine4After(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=5-1') + // .then((res) => { + // dispatch(UpdateLine5Before(res.data)); + // }) + // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=5-2') + // .then((res) => { + // dispatch(UpdateLine5After(res.data)); + // }) + // console.log('===========================================') + // return ( + // null + // ) + // 测试接口结束==================== if ('WebSocket' in window) { websocket1_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-1"); - // websocket1_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-2"); - // websocket2_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-1"); - // websocket2_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-2"); - // websocket3_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-1"); - // websocket3_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-2"); - // websocket4_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-1"); - // websocket4_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-2"); - // websocket5_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-1"); - // websocket5_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-2"); + websocket1_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-2"); + websocket2_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-1"); + websocket2_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-2"); + websocket3_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-1"); + websocket3_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=3-2"); + websocket4_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-1"); + websocket4_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=4-2"); + websocket5_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-1"); + websocket5_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=5-2"); //连接成功建立的回调方法 } else { alert('Not support websocket'); } // @ts-ignore websocket1_1.onopen = function (event) { - setMessageInnerHTML("websocket1_1-open"); + console.log("websocket1_1-open"); } // @ts-ignore - // websocket1_2.onopen = function (event) { - // setMessageInnerHTML("websocket1_2-open"); - // } - // // @ts-ignore - // websocket2_1.onopen = function (event) { - // setMessageInnerHTML("websocket1_1-open"); - // } - // // @ts-ignore - // websocket2_2.onopen = function (event) { - // setMessageInnerHTML("websocket1_2-open"); - // } - // // @ts-ignore - // websocket3_1.onopen = function (event) { - // setMessageInnerHTML("websocket1_1-open"); - // } - // // @ts-ignore - // websocket3_2.onopen = function (event) { - // setMessageInnerHTML("websocket1_2-open"); - // } - // // @ts-ignore - // websocket4_1.onopen = function (event) { - // setMessageInnerHTML("websocket1_1-open"); - // } - // // @ts-ignore - // websocket4_2.onopen = function (event) { - // setMessageInnerHTML("websocket1_2-open"); - // } - // // @ts-ignore - // websocket5_1.onopen = function (event) { - // setMessageInnerHTML("websocket1_1-open"); - // } - // // @ts-ignore - // websocket5_2.onopen = function (event) { - // setMessageInnerHTML("websocket1_2-open"); - // } + websocket1_2.onopen = function (event) { + console.log("websocket1_2-open"); + } + // @ts-ignore + websocket2_1.onopen = function (event) { + console.log("websocket2_1-open"); + } + // @ts-ignore + websocket2_2.onopen = function (event) { + console.log("websocket2_2-open"); + } + // @ts-ignore + websocket3_1.onopen = function (event) { + console.log("websocket3_1-open"); + } + // @ts-ignore + websocket3_2.onopen = function (event) { + console.log("websocket3_2-open"); + } + // @ts-ignore + websocket4_1.onopen = function (event) { + console.log("websocket4_1-open"); + } + // @ts-ignore + websocket4_2.onopen = function (event) { + console.log("websocket4_2-open"); + } + // @ts-ignore + websocket5_1.onopen = function (event) { + console.log("websocket5_1-open"); + } + // @ts-ignore + websocket5_2.onopen = function (event) { + console.log("websocket5_2-open"); + } //接收到消息的回调方法 // @ts-ignore websocket1_1.onmessage = function (event) { @@ -152,120 +195,107 @@ function UpdateData() { console.log("websocket: [unable to msgData] : ", event.data); } if (!Object.prototype.toString.call(msgData).includes('Object')) return; - console.log(msgData) dispatch(UpdateLine1Before(msgData)); } // @ts-ignore - // websocket1_2.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine1After(msgData)); - // } - // // @ts-ignore - // websocket2_1.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine2Before(msgData)); - // } - // // @ts-ignore - // websocket2_2.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine2After(msgData)); - // } - // // @ts-ignore - // websocket3_1.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine3Before(msgData)); - // } - // // @ts-ignore - // websocket3_2.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine3After(msgData)); - // } - // // @ts-ignore - // websocket4_1.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine4Before(msgData)); - // } - // // @ts-ignore - // websocket4_2.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine4After(msgData)); - // } - // // @ts-ignore - // websocket5_1.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine5Before(msgData)); - // } - // // @ts-ignore - // websocket5_2.onmessage = function (event) { - // let msgData = event.data - // try { - // msgData = JSON.parse(event.data); - // } catch (error) { - // console.log("websocket: [unable to msgData] : ", event.data); - // } - // if (!Object.prototype.toString.call(msgData).includes('Object')) return; - // console.log(msgData) - // dispatch(UpdateLine5After(msgData)); - // } - - const dispatch = useAppDispatch(); - + websocket1_2.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine1After(msgData)); + } + // @ts-ignore + websocket2_1.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine2Before(msgData)); + } + // @ts-ignore + websocket2_2.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine2After(msgData)); + } + // @ts-ignore + websocket3_1.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine3Before(msgData)); + } + // @ts-ignore + websocket3_2.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine3After(msgData)); + } + // @ts-ignore + websocket4_1.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine4Before(msgData)); + } + // @ts-ignore + websocket4_2.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine4After(msgData)); + } + // @ts-ignore + websocket5_1.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine5Before(msgData)); + } + // @ts-ignore + websocket5_2.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateLine5After(msgData)); + } return ( null ) From 1f7b867dc57f1d851c223eee02a823ba7fc2865e Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Fri, 1 Nov 2024 10:35:32 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=B8=89=E7=BB=B4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/wsconfig.json | 2 +- src/babylonjs/EqInfoData.ts | 445 +++++++++++++++++++++ src/babylonjs/EquMap.ts | 59 --- src/babylonjs/LinePageBabylon.tsx | 33 +- src/babylonjs/LinePageBabylonNew.tsx | 396 ++++++++++++++++++ src/page/LinePage1-1/Center/CenterDown.tsx | 1 - src/page/LinePage1-1/Center/CenterUp.tsx | 2 +- src/page/LinePage1-1/Left/LeftUp.tsx | 1 - src/page/LinePage1-2/Center/CenterDown.tsx | 1 - src/page/LinePage1-2/Center/CenterUp.tsx | 2 +- src/page/LinePage1-2/Left/LeftUp.tsx | 1 - src/page/LinePage2-1/Center/CenterDown.tsx | 1 - src/page/LinePage2-1/Center/CenterUp.tsx | 2 +- src/page/LinePage2-2/Center/CenterDown.tsx | 1 - src/page/LinePage2-2/Center/CenterUp.tsx | 2 +- src/page/LinePage3-1/Center/CenterDown.tsx | 1 - src/page/LinePage3-1/Center/CenterUp.tsx | 2 +- src/page/LinePage3-1/Left/LeftUp.tsx | 1 - src/page/LinePage3-2/Center/CenterDown.tsx | 1 - src/page/LinePage3-2/Center/CenterUp.tsx | 2 +- src/page/LinePage3-2/Left/LeftUp.tsx | 1 - src/page/LinePage4-1/Center/CenterDown.tsx | 1 - src/page/LinePage4-1/Center/CenterUp.tsx | 2 +- src/page/LinePage4-2/Center/CenterDown.tsx | 1 - src/page/LinePage4-2/Center/CenterUp.tsx | 2 +- src/page/LinePage5-1/Center/CenterDown.tsx | 1 - src/page/LinePage5-1/Center/CenterUp.tsx | 2 +- src/page/LinePage5-2/Center/CenterDown.tsx | 1 - src/page/LinePage5-2/Center/CenterUp.tsx | 2 +- src/page/LinePage5-2/Left/LeftUp.tsx | 1 - 30 files changed, 854 insertions(+), 116 deletions(-) create mode 100644 src/babylonjs/EqInfoData.ts delete mode 100644 src/babylonjs/EquMap.ts create mode 100644 src/babylonjs/LinePageBabylonNew.tsx diff --git a/public/wsconfig.json b/public/wsconfig.json index a95d606..b7b5d8b 100644 --- a/public/wsconfig.json +++ b/public/wsconfig.json @@ -1,3 +1,3 @@ { - "url": "192.168.1.35:48080" + "url": "192.168.1.45:48080" } \ No newline at end of file diff --git a/src/babylonjs/EqInfoData.ts b/src/babylonjs/EqInfoData.ts new file mode 100644 index 0000000..81ade82 --- /dev/null +++ b/src/babylonjs/EqInfoData.ts @@ -0,0 +1,445 @@ +interface EqInfoInterface { + name: string; + data: Array<{ name: string; value: number, code:string, label:string}>; + position: Array; +} +interface EqInfoDataInterface { + [key: string]: Array; +} +const EqInfoData:EqInfoDataInterface = { + "Line1-1": [ + { + name: "磨边进口", + data: [ + { name: "1支线", value: 0, code:'1-edge1', label:'inputNum' }, + { name: "2支线", value: 0, code:'1-edge2', label:'inputNum' }, + { name: "3支线", value: 0, code:'1-edge3', label:'inputNum' }, + ], + position: [120, 240], + }, + { + name: "磨边清洗出口", + data: [ + { name: "1支线", value: 0, code:'1-edgeclean1', label:'outputNum' }, + { name: "2支线", value: 0, code:'1-edgeclean2', label:'outputNum' }, + { name: "3支线", value: 0, code:'1-edgeclean3', label:'outputNum' }, + ], + position: [320, 150], + }, + { + name: "打孔出口", + data: [ + { name: "1支线", value: 0, code:'1-punch1', label:'outputNum' }, + { name: "2支线", value: 0, code:'1-punch2', label:'outputNum' }, + { name: "3支线", value: 0, code:'1-punch3', label:'outputNum' }, + ], + position: [550, 320], + }, + { + name: "丝印进口", + data: [ + { name: "1支线", value: 0, code:'1-silk1', label:'inputNum' }, + { name: "2支线", value: 0, code:'1-silk2', label:'inputNum' }, + { name: "3支线", value: 0, code:'1-silk3', label:'inputNum' }, + ], + position: [520, 75], + }, + { + name: "二次固化出口", + data: [ + { name: "1支线", value: 0, code:'1-secsolid1', label:'outputNum' }, + { name: "2支线", value: 0, code:'1-secsolid2', label:'outputNum' }, + { name: "3支线", value: 0, code:'1-secsolid3', label:'outputNum' }, + ], + position: [850, 170], + }, + { + name: "钢化进口", + data: [{ name: "钢化进口", value: 0, code:'1-temper1', label:'inputNum' }], + position: [810, 10], + }, + ], + "Line1-2": [ + { + name: "钢化出口", + data: [{ name: "钢化出口", value: 0, code:'1-temper1', label:'outputNum' }], + position: [140, 250], + }, + { + name: "包装清洗机入口", + data: [ + { name: "包装清洗机1_1", value: 0, code:'1-packclean1', label:'inputNum' }, + { name: "包装清洗机1_2", value: 0, code:'1-packclean2', label:'inputNum' }, + ], + position: [450, 320], + }, + { + name: "包装清洗机出口", + data: [ + { name: "包装清洗机1_1", value: 0, code:'1-packclean1', label:'outputNum' }, + { name: "包装清洗机1_2", value: 0, code:'1-packclean2', label:'outputNum' }, + ], + position: [350, 130], + }, + { + name: "铺纸机", + data: [ + { name: "铺纸机1_1", value: 0, code:'1-paper1', label:'outputNum' }, + { name: "铺纸机1_2", value: 0, code:'1-paper2', label:'outputNum' }, + ], + position: [640, 240], + }, + { + name: "下片机械手", + data: [ + { name: "下片机械手1_1", value: 0, code:'1-down1', label:'outputNum'}, + { name: "下片机械手1_2", value: 0, code:'1-down2', label:'outputNum'}, + { name: "下片机械手1_3", value: 0, code:'1-down3', label:'outputNum'}, + ], + position: [570, 10], + }, + ], + "Line2-1": [ + { + name: "磨边进口", + data: [ + { name: "1支线", value: 0, code:'2-edge1', label:'inputNum' }, + { name: "2支线", value: 0, code:'2-edge2', label:'inputNum' }, + ], + position: [120, 265], + }, + { + name: "磨边清洗出口", + data: [ + { name: "1支线", value: 0, code:'2-edgeclean1', label:'outputNum' }, + { name: "2支线", value: 0, code:'2-edgeclean2', label:'outputNum' }, + ], + position: [310, 180], + }, + { + name: "打孔出口", + data: [ + { name: "1支线", value: 0, code:'2-punch1', label:'outputNum' }, + { name: "2支线", value: 0, code:'2-punch2', label:'outputNum' }, + ], + position: [540, 300], + }, + { + name: "丝印进口", + data: [ + { name: "1支线", value: 0, code:'2-silk1', label:'inputNum' }, + { name: "2支线", value: 0, code:'2-silk2', label:'inputNum' }, + ], + position: [530, 100], + }, + { + name: "二次固化出口", + data: [ + { name: "1支线", value: 0, code:'2-secsolid1', label:'outputNum' }, + { name: "2支线", value: 0, code:'2-secsolid2', label:'outputNum' }, + ], + position: [850, 170], + }, + { + name: "钢化进口", + data: [{ name: "钢化进口", value: 0, code:'2-temper1', label:'inputNum' }], + position: [810, 10], + }, + ], + "Line2-2": [ + { + name: "钢化出口", + data: [{ name: "钢化出口", value: 0, code:'2-temper1', label:'outputNum' }], + position: [305, 260], + }, + { + name: "包装清洗机入口", + data: [ + { name: "包装清洗机", value: 0, code:'2-packclean1', label:'inputNum' }, + ], + position: [640, 270], + }, + { + name: "包装清洗机出口", + data: [ + { name: "包装清洗机", value: 0, code:'2-packclean1', label:'outputNum' }, + ], + position: [550, 140], + }, + { + name: "铺纸机", + data: [ + { name: "铺纸机", value: 0, code:'2-paper1', label:'outputNum' }, + ], + position: [810, 210], + }, + { + name: "下片机械手", + data: [ + { name: "下片机械手2_1", value: 0, code:'2-down1', label:'outputNum'}, + { name: "下片机械手2_2", value: 0, code:'2-down2', label:'outputNum'}, + ], + position: [630, 10], + }, + ], + "Line3-1": [ + { + name: "磨边进口", + data: [ + { name: "1支线", value: 0, code:'3-edge1', label:'inputNum' }, + { name: "2支线", value: 0, code:'3-edge2', label:'inputNum' }, + ], + position: [150, 255], + }, + { + name: "磨边清洗出口", + data: [ + { name: "1支线", value: 0, code:'3-edgeclean1', label:'outputNum' }, + { name: "2支线", value: 0, code:'3-edgeclean2', label:'outputNum' }, + ], + position: [350, 170], + }, + { + name: "打孔出口", + data: [ + { name: "1支线", value: 0, code:'3-punch1', label:'outputNum' }, + { name: "2支线", value: 0, code:'3-punch2', label:'outputNum' }, + ], + position: [590, 290], + }, + { + name: "丝印进口", + data: [ + { name: "1支线", value: 0, code:'3-silk1', label:'inputNum' }, + { name: "2支线", value: 0, code:'3-silk2', label:'inputNum' }, + ], + position: [570, 90], + }, + { + name: "二次固化出口", + data: [ + { name: "1支线", value: 0, code:'3-secsolid1', label:'outputNum' }, + { name: "2支线", value: 0, code:'3-secsolid2', label:'outputNum' }, + ], + position: [850, 170], + }, + { + name: "钢化进口", + data: [{ name: "钢化进口", value: 0, code:'3-temper1', label:'inputNum' }], + position: [820, 28], + }, + ], + "Line3-2": [ + { + name: "钢化出口", + data: [{ name: "钢化出口", value: 0, code:'3-temper1', label:'outputNum' }], + position: [300, 190], + }, + { + name: "包装清洗机入口", + data: [ + { name: "包装清洗机", value: 0, code:'3-packclean1', label:'inputNum' }, + ], + position: [580, 250], + }, + { + name: "包装清洗机出口", + data: [ + { name: "包装清洗机", value: 0, code:'3-packclean1', label:'outputNum' }, + ], + position: [520, 100], + }, + { + name: "铺纸机", + data: [ + { name: "铺纸机", value: 0, code:'3-paper1', label:'outputNum' }, + ], + position: [760, 190], + }, + { + name: "下片机械手", + data: [ + { name: "下片机械手3_1", value: 0, code:'3-down1', label:'outputNum'}, + { name: "下片机械手3_2", value: 0, code:'3-down2', label:'outputNum'}, + ], + position: [670, 10], + }, + ], + "Line4-1": [ + { + name: "磨边进口", + data: [ + { name: "1支线", value: 0, code:'4-edge1', label:'inputNum' }, + { name: "2支线", value: 0, code:'4-edge2', label:'inputNum' }, + ], + position: [200, 240], + }, + { + name: "磨边清洗出口", + data: [ + { name: "1支线", value: 0, code:'4-edgeclean1', label:'outputNum' }, + { name: "2支线", value: 0, code:'4-edgeclean2', label:'outputNum' }, + ], + position: [370, 190], + }, + { + name: "一次镀膜进口", + data: [ + { name: "1支线", value: 0, code:'4-fircoat1', label:'inputNum' }, + { name: "2支线", value: 0, code:'4-fircoat2', label:'inputNum' }, + ], + position: [610, 300], + }, + { + name: "二次镀膜进口", + data: [ + { name: "1支线", value: 0, code:'4-seccoat1', label:'inputNum' }, + { name: "2支线", value: 0, code:'4-seccoat2', label:'inputNum' }, + ], + position: [590, 85], + }, + { + name: "二次固化出口", + data: [ + { name: "1支线", value: 0, code:'4-secsolid1', label:'outputNum' }, + { name: "2支线", value: 0, code:'4-secsolid2', label:'outputNum' }, + ], + position: [860, 190], + }, + { + name: "钢化进口", + data: [{ name: "钢化进口", value: 0, code:'4-temper1', label:'inputNum' }], + position: [800, 30], + }, + ], + "Line4-2": [ + { + name: "钢化出口", + data: [{ name: "钢化出口", value: 0, code:'4-temper1', label:'outputNum' }], + position: [290, 230], + }, + { + name: "包装清洗机入口", + data: [ + { name: "包装清洗机", value: 0, code:'4-packclean1', label:'inputNum' }, + ], + position: [550, 280], + }, + { + name: "包装清洗机出口", + data: [ + { name: "包装清洗机", value: 0, code:'4-packclean1', label:'outputNum' }, + ], + position: [500, 130], + }, + { + name: "铺纸机", + data: [ + { name: "铺纸机4_1", value: 0, code:'4-paper1', label:'outputNum'}, + { name: "铺纸机4_2", value: 0, code:'4-paper2', label:'outputNum'}, + ], + position: [765, 210], + }, + { + name: "下片机械手", + data: [ + { name: "下片机械手4_1", value: 0, code:'4-down1', label:'outputNum' }, + { name: "下片机械手4_2", value: 0, code:'4-down2', label:'outputNum' }, + ], + position: [560, 10], + }, + ], + "Line5-1": [ + { + name: "磨边进口", + data: [ + { name: "1支线", value: 0, code:'5-edge1', label:'inputNum' }, + { name: "2支线", value: 0, code:'5-edge2', label:'inputNum' }, + { name: "3支线", value: 0, code:'5-edge3', label:'inputNum' }, + ], + position: [160, 220], + }, + { + name: "磨边清洗出口", + data: [ + { name: "1支线", value: 0, code:'5-edgeclean1', label:'outputNum' }, + { name: "2支线", value: 0, code:'5-edgeclean2', label:'outputNum' }, + { name: "3支线", value: 0, code:'5-edgeclean3', label:'outputNum' }, + ], + position: [331, 160], + }, + { + name: "一次镀膜进口", + data: [ + { name: "1支线", value: 0, code:'5-fircoat1', label:'inputNum' }, + { name: "2支线", value: 0, code:'5-fircoat2', label:'inputNum' }, + { name: "3支线", value: 0, code:'5-fircoat3', label:'inputNum' }, + ], + position: [555, 329], + }, + { + name: "二次镀膜进口", + data: [ + { name: "1支线", value: 0, code:'5-seccoat1', label:'inputNum' }, + { name: "2支线", value: 0, code:'5-seccoat2', label:'inputNum' }, + { name: "3支线", value: 0, code:'5-seccoat3', label:'inputNum' }, + ], + position: [560, 65], + }, + { + name: "二次固化出口", + data: [ + { name: "1支线", value: 0, code:'5-secsolid1', label:'outputNum' }, + { name: "2支线", value: 0, code:'5-secsolid2', label:'outputNum' }, + { name: "3支线", value: 0, code:'5-secsolid3', label:'outputNum' }, + ], + position: [850, 200], + }, + { + name: "钢化进口", + data: [{ name: "钢化进口", value: 0, code:'5-temper1', label:'inputNum' }], + position: [800, 20], + }, + ], + "Line5-2": [ + { + name: "钢化出口", + data: [{ name: "钢化出口", value: 0, code:'5-temper1', label:'outputNum' }], + position: [260, 255], + }, + { + name: "包装清洗机入口", + data: [ + { name: "包装清洗机5_1", value: 0, code:'5-packclean1', label:'inputNum' }, + { name: "包装清洗机5_2", value: 0, code:'5-packclean2', label:'inputNum' }, + ], + position: [508, 350], + }, + { + name: "包装清洗机出口", + data: [ + { name: "包装清洗机5_1", value: 0, code:'5-packclean1', label:'outputNum' }, + { name: "包装清洗机5_2", value: 0, code:'5-packclean2', label:'outputNum' }, + ], + position: [444, 120], + }, + { + name: "铺纸机", + data: [ + { name: "铺纸机5_1", value: 0, code:'5-paper1', label:'outputNum' }, + { name: "铺纸机5_2", value: 0, code:'5-paper2', label:'outputNum' }, + ], + position: [710, 272], + }, + { + name: "下片机械手", + data: [ + { name: "下片机械手5_1", value: 0, code:'5-down1', label:'outputNum'}, + { name: "下片机械手5_2", value: 0, code:'5-down2', label:'outputNum'}, + { name: "下片机械手5_3", value: 0, code:'5-down3', label:'outputNum'}, + ], + position: [700, 10], + }, + ], +} +export default EqInfoData \ No newline at end of file diff --git a/src/babylonjs/EquMap.ts b/src/babylonjs/EquMap.ts deleted file mode 100644 index 8a5b806..0000000 --- a/src/babylonjs/EquMap.ts +++ /dev/null @@ -1,59 +0,0 @@ -const EquMap = { - CleanAfterEdge1_1: ['object_1_003'], - CleanAfterEdge1_2: ['object_1_004'], - CleanAfterEdge2_1: ['object_2_003'], - CleanAfterEdge2_2: ['object_2_004'], - CleanAfterEdge3_1: ['object_3_003'], - CleanAfterEdge3_2: ['object_3_004'], - CleanAfterEdge4_1: ['object_4_003'], - CleanAfterEdge4_2: ['object_4_004'], - CleanAfterTemper1_1: ['object_1_026', 'object_1_027'], - CleanAfterTemper2_1: ['object_2_022', 'object_2_023'], - CleanAfterTemper3_1: ['object_3_022', 'object_3_023'], - CleanAfterTemper4_1: ['object_4_026', 'object_4_027'], - CleanBeforCoat1_1: ['object_1_009'], - CleanBeforCoat1_2: ['object_1_010'], - CleanBeforCoat4_1: ['object_4_009'], - CleanBeforCoat4_2: ['object_4_010'], - Edge1_1: ['object_1_001'], - Edge1_2: ['object_1_002'], - Edge2_1: ['object_2_001'], - Edge2_2: ['object_2_002'], - Edge3_1: ['object_3_001'], - Edge3_2: ['object_3_002'], - Edge4_1: ['object_4_001'], - Edge4_2: ['object_4_002'], - FirstCoat1_1: ['object_1_011'], - FirstCoat1_2: ['object_1_012'], - FirstCoat2_1: ['object_2_007'], - FirstCoat2_2: ['object_2_008'], - FirstCoat3_1: ['object_3_007'], - FirstCoat3_2: ['object_3_008'], - FirstCoat4_1: ['object_4_011'], - FirstCoat4_2: ['object_4_012'], - Punch1_1: ['object_1_007'], - Punch1_2: ['object_1_008'], - Punch4_1: ['object_4_007'], - Punch4_2: ['object_4_008'], - SecondCoat1_1: ['object_1_013'], - SecondCoat1_2: ['object_1_014'], - SecondCoat2_1: ['object_2_009'], - SecondCoat2_2: ['object_2_010'], - SecondCoat3_1: ['object_3_009'], - SecondCoat3_2: ['object_3_010'], - SecondCoat4_1: ['object_4_013'], - SecondCoat4_2: ['object_4_014'], - Temper1_1: ['object_1_017', 'object_1_018', 'object_1_019', 'object_1_020', 'object_1_021', 'object_1_022', 'object_1_023', 'object_1_024', 'object_1_025'], - Temper2_1: ['object_2_013', 'object_2_014', 'object_2_015', 'object_2_016', 'object_2_017', 'object_2_018', 'object_2_019', 'object_2_020', 'object_2_021'], - Temper3_1: ['object_3_013', 'object_3_014', 'object_3_015', 'object_3_016', 'object_3_017', 'object_3_018', 'object_3_019', 'object_3_020', 'object_3_021'], - Temper4_1: ['object_4_017', 'object_4_018', 'object_4_019', 'object_4_020', 'object_4_021', 'object_4_022', 'object_4_023', 'object_4_024', 'object_4_025'], - Unload1_1: ['object_1_028'], - Unload1_2: ['object_1_029'], - Unload2_1: ['object_2_024'], - Unload2_2: ['object_2_025'], - Unload3_1: ['object_3_024'], - Unload3_2: ['object_3_025'], - Unload4_1: ['object_4_028'], - Unload4_2: ['object_4_029'] -} -export default EquMap; \ No newline at end of file diff --git a/src/babylonjs/LinePageBabylon.tsx b/src/babylonjs/LinePageBabylon.tsx index 8c96a1d..5abed6a 100644 --- a/src/babylonjs/LinePageBabylon.tsx +++ b/src/babylonjs/LinePageBabylon.tsx @@ -14,19 +14,10 @@ import { import { useAppSelector } from "../store/hooks"; import "../page/style/standard.css"; import { EquStatusInterface, selectEquStatus } from "../store/EquStatusEntity"; -import EquMap from "./EquMap"; +import EqInfoData from "./EqInfoData"; import AlarmTipGreen from "./../page/LinePage/assets/icon/g.png"; import AlarmTipYellow from "./../page/LinePage/assets/icon/y.png"; import AlarmTipRed from "./../page/LinePage/assets/icon/r.png"; - -// const onEquObservable = new Observable(); -// const lineNameNo = { -// "1":"一", -// "2":"二", -// "3":"三", -// "4":"四", -// "5":"五", -// } const lineNameNo = ["一","二","三","四","五"] const myStyle = { @@ -445,6 +436,7 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { // ); mesh._scene.onPointerDown = async (event, _pickResult) => { + console.log('_pickResult=====',_pickResult) const pickInfo = mesh._scene.pick( mesh._scene.pointerX, mesh._scene.pointerY @@ -466,27 +458,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { }); }; }); - - // onEquObservable.add((eventData, eventState) => { - // LOD0MESH.meshes.find((mesh) => { - // // @ts-ignore - // hl2.removeMesh(mesh); - // }); - // Object.keys(eventData as EquStatusInterface).map((key) => { - // // @ts-ignore - // if (eventData[key] == 2) { - // // @ts-ignore - // EquMap[key].map((name) => { - // LOD0MESH.meshes.find((mesh) => { - // if (mesh.name == name) { - // // @ts-ignore - // hl2.addMesh(mesh, BABYLON.Color3.Red()); - // } - // }); - // }); - // } - // }); - // }); } catch (error) { console.error("加载模型失败:", error); } diff --git a/src/babylonjs/LinePageBabylonNew.tsx b/src/babylonjs/LinePageBabylonNew.tsx new file mode 100644 index 0000000..24f1c59 --- /dev/null +++ b/src/babylonjs/LinePageBabylonNew.tsx @@ -0,0 +1,396 @@ +import React, { useEffect, useRef, useState } from "react"; +import * as BABYLON from "@babylonjs/core"; +import "@babylonjs/core/Debug/debugLayer"; +import "@babylonjs/inspector"; +import "@babylonjs/loaders/glTF"; +import { GridMaterial } from "@babylonjs/materials/"; +import { HemisphericLight, Vector3 } from "@babylonjs/core"; +import { useAppSelector } from "../store/hooks"; +import "../page/style/standard.css"; +import EqInfoData from "./EqInfoData"; +import AlarmTipGreen from "./../page/LinePage/assets/icon/g.png"; +import AlarmTipYellow from "./../page/LinePage/assets/icon/y.png"; +import AlarmTipRed from "./../page/LinePage/assets/icon/r.png"; +import {selectLine1Before} from "../store/LinePageSlice" + +const lineNameNo = ["一","二","三","四","五"] +const myStyle = { + width: "1041px", + height: "562px", + outline: "none", +}; +interface MybabylonJSProps { + modelPath: string; // 明确 modelPath 属性的类型为 string +} +interface EqListType { + [key: string]: EqMsg +} +interface EqMsg { + equipmentName?:string; + run?:boolean; + error?:boolean; + inputNum?:number; + outputNum?:number; + quantityTime?:number; + status?:string; + statusTime?:number; + localDateTime?:number; + equipmentCode?:string; + equipmentId?:number; +} +function MybabylonJS({ modelPath }: MybabylonJSProps) { + const [eqList, setEqList] = useState({}); + const allData = useAppSelector(selectLine1Before) as any; // 使用`any`来绕过类型检查 + const canvasRef = useRef(null); + const resetRef = useRef<(() => void) | null>(null); + // onEquObservable.notifyObservers(EquStatus); + const [selectedMeshName, setSelectedMeshName] = useState(null); + const [selectedMeshId, setSelectedMeshId] = useState(null); + const [selectedMeshObj, setSelectedMeshObj] = useState({ + equipmentName: "", + run: true, + error: false, + }); + const [showInfo, setShowInfo] = useState(true); + + // 使用 useRef 来存储当前加载的模型引用 + const currentMeshesRef = useRef>([]); + useEffect(() => { + const equStatus = allData?.equStatus; + if (equStatus) { + setEqList(equStatus); + } + },[allData]) + useEffect(() => { + const equStatus = allData?.equStatus; + if (equStatus) { + for (let i = 0; i < EqInfoData[modelPath].length; i++) { + for (let j = 0; j < EqInfoData[modelPath][i].data.length; j++) { + EqInfoData[modelPath][i].data[j].value = equStatus[EqInfoData[modelPath][i].data[j].code][EqInfoData[modelPath][i].data[j].label] ? equStatus[EqInfoData[modelPath][i].data[j].code][EqInfoData[modelPath][i].data[j].label] : 0 + } + } + } + },[allData,modelPath]) + useEffect(() => { + if (selectedMeshId && eqList[selectedMeshId]) { + setSelectedMeshObj({ + equipmentName:eqList[selectedMeshId].equipmentName, + run:eqList[selectedMeshId].run ? eqList[selectedMeshId].run : true, + error:eqList[selectedMeshId].error ? eqList[selectedMeshId].error : false, + }); + } + },[selectedMeshId]) + useEffect(() => { + // 确保 canvas 引用存在 + if (!canvasRef.current) return; + const canvas = canvasRef.current; + const engine = new BABYLON.Engine(canvas, true, { + preserveDrawingBuffer: true, + stencil: true, + }); + + const createScene = async function () { + // This creates a basic Babylon Scene object (non-mesh) + const scene = new BABYLON.Scene(engine); + scene.clearColor = new BABYLON.Color4(0, 0, 0, 0); + const baseLight = new HemisphericLight( + "hemiLight", + new Vector3(-1, 1, 0), + scene + ); + baseLight.intensity = 1; + baseLight.diffuse = new BABYLON.Color3(1, 1, 1); + baseLight.specular = new BABYLON.Color3(0.25, 0.25, 0.25); + baseLight.groundColor = new BABYLON.Color3(0.5, 0.5, 0.5); + + //add an arcRotateCamera to the scene + const camera = new BABYLON.ArcRotateCamera( + "camera", + BABYLON.Tools.ToRadians(245), + BABYLON.Tools.ToRadians(25), + modelPath.slice(-1) === "1" + ? 110 + : modelPath.slice(-3) === "5-2" + ? 100 + : modelPath.slice(-3) === "1-2" + ? 90 + : 65, + new BABYLON.Vector3(-13, 0, 0) + ); + camera.lowerRadiusLimit = 10; + camera.upperRadiusLimit = 600; + + // This attaches the camera to the canvas + camera.attachControl(canvas, true); + + //创建一个材质 + const newMt = new BABYLON.StandardMaterial("newMt"); + newMt.diffuseColor = BABYLON.Color3.Blue(); + + const ground = BABYLON.MeshBuilder.CreateGround( + "ground", + { + width: 1000, + height: 1000, + subdivisions: 1, + }, + scene + ); + + ground.scaling.x = 100; + ground.scaling.z = ground.scaling.x; + ground.isPickable = false; + + let grid = new GridMaterial("grid", scene); + + grid.majorUnitFrequency = 10; + grid.minorUnitVisibility = 0.3; + grid.gridRatio = 0.04; + grid.backFaceCulling = !1; + grid.mainColor = new BABYLON.Color3(1, 1, 1); + grid.lineColor = new BABYLON.Color3(1, 1, 1); + grid.opacity = 0; + grid.zOffset = 1; + grid.opacityTexture = new BABYLON.Texture( + "/public/png/backgroundGround.png", + scene + ); + ground.material = grid; + + let hl = new BABYLON.HighlightLayer("hl1", scene); + let hl2 = new BABYLON.HighlightLayer("hl2", scene); + + // 定义一个函数来加载或重新加载模型 + const loadOrReloadModel = async () => { + // 在加载新模型之前卸载已加载的模型 + currentMeshesRef.current.forEach((mesh) => { + if (mesh && mesh.parent) { + scene.removeMesh(mesh, true); + } + }); + currentMeshesRef.current = []; // 重置模型数组 + try { + // 使用 ImportMeshAsync 加载新模型 + var LOD0MESH = await BABYLON.SceneLoader.ImportMeshAsync( + "", + "/Line/", + `${modelPath}.babylon`, + scene + ); + // 将新加载的模型添加到 currentMeshesRef 中 + currentMeshesRef.current.push(...LOD0MESH.meshes); + + // ...为新加载的模型设置交互逻辑 + + LOD0MESH.meshes.map((mesh) => { + mesh.isPickable = true; + mesh.actionManager = new BABYLON.ActionManager(scene); + if (modelPath.slice(-1) === "1") { + if ( + mesh.name.includes("磨边") || + mesh.name.includes("清洗") || + mesh.name.includes("镀膜") || + mesh.name.includes("固化") || + mesh.name.includes("丝印") || + mesh.name.includes("打孔") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } else { + if ( + mesh.name.includes("钢化") || + mesh.name.includes("包装") || + mesh.name.includes("铺纸") || + mesh.name.includes("下片机械手") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } + mesh._scene.onPointerDown = async (event, _pickResult) => { + console.log('_pickResult',_pickResult) + const pickInfo = mesh._scene.pick( + mesh._scene.pointerX, + mesh._scene.pointerY + ); + //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 + // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 + + //判断是否是右键 + if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; + const MeshName = pickInfo.pickedMesh.name; + const MeshNameId = pickInfo.pickedMesh.metadata.tags; + + setSelectedMeshName(MeshName); + setSelectedMeshId(MeshNameId); + }; + }); + } catch (error) { + console.error("加载模型失败:", error); + } + }; + + // 调用函数以加载或重新加载模型 + loadOrReloadModel(); + + function reset() { + camera.target = new BABYLON.Vector3(-13, 0, 0); + camera.alpha = BABYLON.Tools.ToRadians(245); + camera.beta = BABYLON.Tools.ToRadians(25); + camera.radius = + modelPath.slice(-1) === "1" + ? 110 + : modelPath.slice(-3) === "5-2" + ? 100 + : modelPath.slice(-3) === "1-2" + ? 90 + : 65; + setShowInfo(true); + setSelectedMeshName(null); + } + // 外部初始位置按钮 + resetRef.current = reset; + + let resetCamera = setTimeout(reset, 15000); + scene.onPointerObservable.add((pointerInfo) => { + switch (pointerInfo.type) { + case BABYLON.PointerEventTypes.POINTERMOVE: + clearTimeout(resetCamera); + resetCamera = setTimeout(reset, 15000); + setShowInfo(false); + } + }); + return scene; + }; + + // call the createScene function + const scene = createScene(); + + // run the render loop + scene.then( + (scene) => { + console.log("createScene被调用了=====", scene); + engine.runRenderLoop(function () { + scene.render(); + }); + }, + (reason) => { + console.log("reason=============", reason); + } + ); + + // Resize + window.addEventListener("resize", function () { + engine.resize(); + }); + // 组件卸载时的清理逻辑 + return () => { + // 清理场景和引擎资源 + engine.dispose(); + }; + }, [modelPath]); + const resetModel = () => { + //模型初始位置 + if (resetRef.current) { + resetRef.current(); + } + }; + return ( +
+ {/*

当前选择: {selectedMeshName}

*/} +
+ + + 第{lineNameNo[Number(modelPath.slice(-3,-2))-1]}产线钢化{modelPath.slice(-1) === "1" ? "前段" : "后段"} + +
+ {selectedMeshName && ( +
+
+ 设备名称: + {selectedMeshObj.equipmentName} +
+
+ 报警状态: + + {selectedMeshObj.error ? ( + <> + + 报警 + + ) : ( + <> + + 正常 + + )} + +
+
+ 在线状态: + + {selectedMeshObj.run ? ( + <> + + 在线 + + ) : ( + <> + + 离线 + + )} + +
+
+ )} + {showInfo && + EqInfoData[modelPath] && + EqInfoData[modelPath].map((item) => { + return ( +
+
+ {item.name} +
+ {item.data.map((info) => { + return ( +
+ {info.name}:{info.value} +
+ ); + })} +
+ ); + })} + + +
+ ); +} + +export default MybabylonJS; diff --git a/src/page/LinePage1-1/Center/CenterDown.tsx b/src/page/LinePage1-1/Center/CenterDown.tsx index 46c5c72..455b221 100644 --- a/src/page/LinePage1-1/Center/CenterDown.tsx +++ b/src/page/LinePage1-1/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage1-1/Center/CenterUp.tsx b/src/page/LinePage1-1/Center/CenterUp.tsx index 4ae6d57..cb28d84 100644 --- a/src/page/LinePage1-1/Center/CenterUp.tsx +++ b/src/page/LinePage1-1/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "1-1" return ( diff --git a/src/page/LinePage1-1/Left/LeftUp.tsx b/src/page/LinePage1-1/Left/LeftUp.tsx index 1abff2a..31d2704 100644 --- a/src/page/LinePage1-1/Left/LeftUp.tsx +++ b/src/page/LinePage1-1/Left/LeftUp.tsx @@ -7,7 +7,6 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine1Before} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine1Before); - console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { diff --git a/src/page/LinePage1-2/Center/CenterDown.tsx b/src/page/LinePage1-2/Center/CenterDown.tsx index 2d0eae2..515bcc2 100644 --- a/src/page/LinePage1-2/Center/CenterDown.tsx +++ b/src/page/LinePage1-2/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage1-2/Center/CenterUp.tsx b/src/page/LinePage1-2/Center/CenterUp.tsx index 5ddf6e2..a2b8fbf 100644 --- a/src/page/LinePage1-2/Center/CenterUp.tsx +++ b/src/page/LinePage1-2/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "1-2"; return ( diff --git a/src/page/LinePage1-2/Left/LeftUp.tsx b/src/page/LinePage1-2/Left/LeftUp.tsx index ac007f7..166326d 100644 --- a/src/page/LinePage1-2/Left/LeftUp.tsx +++ b/src/page/LinePage1-2/Left/LeftUp.tsx @@ -7,7 +7,6 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine1After} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine1After); - console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { diff --git a/src/page/LinePage2-1/Center/CenterDown.tsx b/src/page/LinePage2-1/Center/CenterDown.tsx index d47c712..dd3d373 100644 --- a/src/page/LinePage2-1/Center/CenterDown.tsx +++ b/src/page/LinePage2-1/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage2-1/Center/CenterUp.tsx b/src/page/LinePage2-1/Center/CenterUp.tsx index 4fe5cdd..584849f 100644 --- a/src/page/LinePage2-1/Center/CenterUp.tsx +++ b/src/page/LinePage2-1/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "2-1" return ( diff --git a/src/page/LinePage2-2/Center/CenterDown.tsx b/src/page/LinePage2-2/Center/CenterDown.tsx index cf9c180..8aa37e2 100644 --- a/src/page/LinePage2-2/Center/CenterDown.tsx +++ b/src/page/LinePage2-2/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage2-2/Center/CenterUp.tsx b/src/page/LinePage2-2/Center/CenterUp.tsx index 2dd19f2..c9d0539 100644 --- a/src/page/LinePage2-2/Center/CenterUp.tsx +++ b/src/page/LinePage2-2/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "2-2"; return ( diff --git a/src/page/LinePage3-1/Center/CenterDown.tsx b/src/page/LinePage3-1/Center/CenterDown.tsx index d9d03f7..98d3c93 100644 --- a/src/page/LinePage3-1/Center/CenterDown.tsx +++ b/src/page/LinePage3-1/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage3-1/Center/CenterUp.tsx b/src/page/LinePage3-1/Center/CenterUp.tsx index 933f33d..224ece9 100644 --- a/src/page/LinePage3-1/Center/CenterUp.tsx +++ b/src/page/LinePage3-1/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "3-1" return ( diff --git a/src/page/LinePage3-1/Left/LeftUp.tsx b/src/page/LinePage3-1/Left/LeftUp.tsx index c7841fb..7e470a2 100644 --- a/src/page/LinePage3-1/Left/LeftUp.tsx +++ b/src/page/LinePage3-1/Left/LeftUp.tsx @@ -7,7 +7,6 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine3Before} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine3Before); - console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { diff --git a/src/page/LinePage3-2/Center/CenterDown.tsx b/src/page/LinePage3-2/Center/CenterDown.tsx index 3d6276e..053f3f0 100644 --- a/src/page/LinePage3-2/Center/CenterDown.tsx +++ b/src/page/LinePage3-2/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage3-2/Center/CenterUp.tsx b/src/page/LinePage3-2/Center/CenterUp.tsx index 19a9b5e..92db0de 100644 --- a/src/page/LinePage3-2/Center/CenterUp.tsx +++ b/src/page/LinePage3-2/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "3-2"; return ( diff --git a/src/page/LinePage3-2/Left/LeftUp.tsx b/src/page/LinePage3-2/Left/LeftUp.tsx index 9090a2d..5737a42 100644 --- a/src/page/LinePage3-2/Left/LeftUp.tsx +++ b/src/page/LinePage3-2/Left/LeftUp.tsx @@ -7,7 +7,6 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine3After} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine3After); - console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { diff --git a/src/page/LinePage4-1/Center/CenterDown.tsx b/src/page/LinePage4-1/Center/CenterDown.tsx index d4b3b02..90fd044 100644 --- a/src/page/LinePage4-1/Center/CenterDown.tsx +++ b/src/page/LinePage4-1/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage4-1/Center/CenterUp.tsx b/src/page/LinePage4-1/Center/CenterUp.tsx index 9bc4128..5757ae2 100644 --- a/src/page/LinePage4-1/Center/CenterUp.tsx +++ b/src/page/LinePage4-1/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "4-1" return ( diff --git a/src/page/LinePage4-2/Center/CenterDown.tsx b/src/page/LinePage4-2/Center/CenterDown.tsx index 6c54410..441db23 100644 --- a/src/page/LinePage4-2/Center/CenterDown.tsx +++ b/src/page/LinePage4-2/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage4-2/Center/CenterUp.tsx b/src/page/LinePage4-2/Center/CenterUp.tsx index eab4e77..c5e5485 100644 --- a/src/page/LinePage4-2/Center/CenterUp.tsx +++ b/src/page/LinePage4-2/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "4-2"; return ( diff --git a/src/page/LinePage5-1/Center/CenterDown.tsx b/src/page/LinePage5-1/Center/CenterDown.tsx index 0ca2227..aa6ef5e 100644 --- a/src/page/LinePage5-1/Center/CenterDown.tsx +++ b/src/page/LinePage5-1/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage5-1/Center/CenterUp.tsx b/src/page/LinePage5-1/Center/CenterUp.tsx index 08dd7b9..2b5b327 100644 --- a/src/page/LinePage5-1/Center/CenterUp.tsx +++ b/src/page/LinePage5-1/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "5-1" return ( diff --git a/src/page/LinePage5-2/Center/CenterDown.tsx b/src/page/LinePage5-2/Center/CenterDown.tsx index 919b10f..e333e4f 100644 --- a/src/page/LinePage5-2/Center/CenterDown.tsx +++ b/src/page/LinePage5-2/Center/CenterDown.tsx @@ -156,7 +156,6 @@ function CenterDown() { dataSource.month.series = [] } let chartData = (dataSource as { [key: string]: any })[activeName]; - console.log('???????????',chartData) const options = getOptions(chartData); return (
diff --git a/src/page/LinePage5-2/Center/CenterUp.tsx b/src/page/LinePage5-2/Center/CenterUp.tsx index d800861..bbea1e7 100644 --- a/src/page/LinePage5-2/Center/CenterUp.tsx +++ b/src/page/LinePage5-2/Center/CenterUp.tsx @@ -1,4 +1,4 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; +import LinePageBabylon from "../../../babylonjs/LinePageBabylonNew"; function CenterUp() { const lineID = "5-2"; return ( diff --git a/src/page/LinePage5-2/Left/LeftUp.tsx b/src/page/LinePage5-2/Left/LeftUp.tsx index 71df85f..a0a946e 100644 --- a/src/page/LinePage5-2/Left/LeftUp.tsx +++ b/src/page/LinePage5-2/Left/LeftUp.tsx @@ -7,7 +7,6 @@ import {useAppSelector} from "./../../../store/hooks" import {selectLine5After} from "./../../../store/LinePageSlice" function LeftUp() { const data = useAppSelector(selectLine5After); - console.log('页面数据1-1:',data) // 假数据 const dataSource = { day: { From e8ca7d16eea69c9a08d36137ff667498bcee0f80 Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Fri, 29 Nov 2024 10:34:06 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/png/numberBox.png | Bin 0 -> 16428 bytes public/png/rect/ld_center_down.png | Bin 0 -> 33729 bytes public/png/rect/ld_left_up_innerbox.png | Bin 0 -> 115718 bytes public/svg/topbackLD.svg | 75 +++++ src/App.tsx | 53 ++-- src/babylonjs/LinePageBabylonNew.tsx | 8 +- src/page/Component/BarChart/chart.config.ts | 2 +- .../Component/BarLineChart/chart.config.ts | 125 ++++++++ src/page/LDPage/Center/CenterDown.tsx | 44 +++ src/page/LDPage/Center/CenterUp.tsx | 8 + .../{LinePage => LDPage}/Center/index.tsx | 0 src/page/LDPage/Component/NumberBox/index.css | 27 ++ src/page/LDPage/Component/NumberBox/index.tsx | 34 ++ .../Component/TitleBox/index.css | 0 .../Component/TitleBox/index.tsx | 39 +-- .../LDPage/Component/pieChart/chart.config.ts | 164 ++++++++++ src/page/LDPage/Left/LeftDown.tsx | 20 ++ src/page/LDPage/Left/LeftUp.tsx | 67 ++++ src/page/{LinePage => LDPage}/Left/index.tsx | 2 +- src/page/LDPage/Right/RightDown.tsx | 20 ++ src/page/LDPage/Right/RightUp.tsx | 82 +++++ src/page/{LinePage => LDPage}/Right/index.tsx | 2 +- src/page/LDPage/TopP.tsx | 18 ++ src/page/LDPage/index.css | 225 +++++++++++++- src/page/LDPage/index.tsx | 64 ++-- src/page/LinePage/Center/CenterDown.tsx | 248 --------------- src/page/LinePage/Center/CenterUp.tsx | 12 - .../LinePage/Center/LineChart/chart.config.ts | 119 ------- .../LinePage/Component/SwitchButton/index.css | 19 -- .../LinePage/Component/SwitchButton/index.tsx | 65 ---- .../LinePage/Left/BarChart/chart.config.ts | 79 ----- src/page/LinePage/Left/LeftDown.tsx | 183 ----------- src/page/LinePage/Left/LeftUp.tsx | 73 ----- .../Left/SummaryBarChart/chart.config.ts | 149 --------- src/page/LinePage/Left/Table/index.tsx | 4 - .../LinePage/Right/LineChart/chart.config.ts | 99 ------ src/page/LinePage/Right/RightDown.tsx | 294 ------------------ src/page/LinePage/Right/RightUp.tsx | 33 -- src/page/LinePage/TopP.tsx | 14 - src/page/LinePage/index.tsx | 18 -- .../LinePage1-1/Component/TitleBox/index.tsx | 12 +- src/page/LinePage1-1/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage1-1/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage1-1/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage1-1/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage1-1/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage1-1/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage1-1/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage1-1/assets/icon/y.png | Bin 2299 -> 0 bytes .../LinePage1-2/Component/TitleBox/index.tsx | 12 +- src/page/LinePage1-2/TopP.tsx | 2 +- src/page/LinePage1-2/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage1-2/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage1-2/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage1-2/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage1-2/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage1-2/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage1-2/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage1-2/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage1-2/index.css | 264 ---------------- .../LinePage2-1/Component/TitleBox/index.tsx | 12 +- src/page/LinePage2-1/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage2-1/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage2-1/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage2-1/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage2-1/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage2-1/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage2-1/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage2-1/assets/icon/y.png | Bin 2299 -> 0 bytes .../LinePage2-2/Component/TitleBox/index.tsx | 12 +- src/page/LinePage2-2/TopP.tsx | 3 +- src/page/LinePage2-2/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage2-2/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage2-2/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage2-2/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage2-2/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage2-2/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage2-2/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage2-2/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage2-2/index.css | 264 ---------------- .../LinePage3-1/Component/TitleBox/index.tsx | 12 +- src/page/LinePage3-1/TopP.tsx | 2 +- src/page/LinePage3-1/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage3-1/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage3-1/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage3-1/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage3-1/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage3-1/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage3-1/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage3-1/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage3-1/index.css | 264 ---------------- .../LinePage3-2/Component/TitleBox/index.tsx | 12 +- src/page/LinePage3-2/TopP.tsx | 2 +- src/page/LinePage3-2/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage3-2/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage3-2/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage3-2/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage3-2/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage3-2/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage3-2/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage3-2/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage3-2/index.css | 264 ---------------- .../LinePage4-1/Component/TitleBox/index.tsx | 12 +- src/page/LinePage4-1/TopP.tsx | 2 +- src/page/LinePage4-1/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage4-1/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage4-1/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage4-1/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage4-1/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage4-1/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage4-1/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage4-1/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage4-1/index.css | 264 ---------------- .../LinePage4-2/Component/TitleBox/index.tsx | 12 +- src/page/LinePage4-2/TopP.tsx | 2 +- src/page/LinePage4-2/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage4-2/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage4-2/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage4-2/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage4-2/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage4-2/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage4-2/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage4-2/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage4-2/index.css | 264 ---------------- .../LinePage5-1/Component/TitleBox/index.tsx | 12 +- src/page/LinePage5-1/TopP.tsx | 2 +- src/page/LinePage5-1/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage5-1/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage5-1/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage5-1/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage5-1/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage5-1/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage5-1/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage5-1/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage5-1/index.css | 264 ---------------- .../LinePage5-2/Component/TitleBox/index.tsx | 12 +- src/page/LinePage5-2/TopP.tsx | 2 +- src/page/LinePage5-2/assets/icon/alarm.png | Bin 2365 -> 0 bytes src/page/LinePage5-2/assets/icon/defect.png | Bin 2622 -> 0 bytes src/page/LinePage5-2/assets/icon/finished.png | Bin 1700 -> 0 bytes src/page/LinePage5-2/assets/icon/g.png | Bin 2359 -> 0 bytes .../assets/icon/inputAndOutput.png | Bin 2862 -> 0 bytes src/page/LinePage5-2/assets/icon/num.png | Bin 2151 -> 0 bytes src/page/LinePage5-2/assets/icon/r.png | Bin 2110 -> 0 bytes src/page/LinePage5-2/assets/icon/record.png | Bin 1565 -> 0 bytes src/page/LinePage5-2/assets/icon/y.png | Bin 2299 -> 0 bytes src/page/LinePage5-2/index.css | 264 ---------------- src/page/TestPage/index.tsx | 4 +- src/page/assets/icon/a_g.png | Bin 0 -> 595 bytes src/page/assets/icon/a_r.png | Bin 0 -> 550 bytes src/page/{LinePage => }/assets/icon/alarm.png | Bin src/page/assets/icon/defe.png | Bin 0 -> 2763 bytes .../{LinePage => }/assets/icon/defect.png | Bin .../{LinePage => }/assets/icon/finished.png | Bin src/page/{LinePage => }/assets/icon/g.png | Bin src/page/assets/icon/input.png | Bin 0 -> 14222 bytes .../assets/icon/inputAndOutput.png | Bin src/page/{LinePage => }/assets/icon/num.png | Bin src/page/assets/icon/numBar.png | Bin 0 -> 4838 bytes src/page/assets/icon/prod.png | Bin 0 -> 5999 bytes src/page/{LinePage => }/assets/icon/r.png | Bin .../{LinePage => }/assets/icon/record.png | Bin src/page/{LinePage => }/assets/icon/y.png | Bin .../index.css => style/linePage.css} | 0 173 files changed, 1067 insertions(+), 3674 deletions(-) create mode 100644 public/png/numberBox.png create mode 100644 public/png/rect/ld_center_down.png create mode 100644 public/png/rect/ld_left_up_innerbox.png create mode 100644 public/svg/topbackLD.svg create mode 100644 src/page/Component/BarLineChart/chart.config.ts create mode 100644 src/page/LDPage/Center/CenterDown.tsx create mode 100644 src/page/LDPage/Center/CenterUp.tsx rename src/page/{LinePage => LDPage}/Center/index.tsx (100%) create mode 100644 src/page/LDPage/Component/NumberBox/index.css create mode 100644 src/page/LDPage/Component/NumberBox/index.tsx rename src/page/{LinePage => LDPage}/Component/TitleBox/index.css (100%) rename src/page/{LinePage => LDPage}/Component/TitleBox/index.tsx (51%) create mode 100644 src/page/LDPage/Component/pieChart/chart.config.ts create mode 100644 src/page/LDPage/Left/LeftDown.tsx create mode 100644 src/page/LDPage/Left/LeftUp.tsx rename src/page/{LinePage => LDPage}/Left/index.tsx (90%) create mode 100644 src/page/LDPage/Right/RightDown.tsx create mode 100644 src/page/LDPage/Right/RightUp.tsx rename src/page/{LinePage => LDPage}/Right/index.tsx (90%) create mode 100644 src/page/LDPage/TopP.tsx delete mode 100644 src/page/LinePage/Center/CenterDown.tsx delete mode 100644 src/page/LinePage/Center/CenterUp.tsx delete mode 100644 src/page/LinePage/Center/LineChart/chart.config.ts delete mode 100644 src/page/LinePage/Component/SwitchButton/index.css delete mode 100644 src/page/LinePage/Component/SwitchButton/index.tsx delete mode 100644 src/page/LinePage/Left/BarChart/chart.config.ts delete mode 100644 src/page/LinePage/Left/LeftDown.tsx delete mode 100644 src/page/LinePage/Left/LeftUp.tsx delete mode 100644 src/page/LinePage/Left/SummaryBarChart/chart.config.ts delete mode 100644 src/page/LinePage/Left/Table/index.tsx delete mode 100644 src/page/LinePage/Right/LineChart/chart.config.ts delete mode 100644 src/page/LinePage/Right/RightDown.tsx delete mode 100644 src/page/LinePage/Right/RightUp.tsx delete mode 100644 src/page/LinePage/TopP.tsx delete mode 100644 src/page/LinePage/index.tsx delete mode 100644 src/page/LinePage1-1/assets/icon/alarm.png delete mode 100644 src/page/LinePage1-1/assets/icon/defect.png delete mode 100644 src/page/LinePage1-1/assets/icon/finished.png delete mode 100644 src/page/LinePage1-1/assets/icon/g.png delete mode 100644 src/page/LinePage1-1/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage1-1/assets/icon/num.png delete mode 100644 src/page/LinePage1-1/assets/icon/r.png delete mode 100644 src/page/LinePage1-1/assets/icon/record.png delete mode 100644 src/page/LinePage1-1/assets/icon/y.png delete mode 100644 src/page/LinePage1-2/assets/icon/alarm.png delete mode 100644 src/page/LinePage1-2/assets/icon/defect.png delete mode 100644 src/page/LinePage1-2/assets/icon/finished.png delete mode 100644 src/page/LinePage1-2/assets/icon/g.png delete mode 100644 src/page/LinePage1-2/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage1-2/assets/icon/num.png delete mode 100644 src/page/LinePage1-2/assets/icon/r.png delete mode 100644 src/page/LinePage1-2/assets/icon/record.png delete mode 100644 src/page/LinePage1-2/assets/icon/y.png delete mode 100644 src/page/LinePage1-2/index.css delete mode 100644 src/page/LinePage2-1/assets/icon/alarm.png delete mode 100644 src/page/LinePage2-1/assets/icon/defect.png delete mode 100644 src/page/LinePage2-1/assets/icon/finished.png delete mode 100644 src/page/LinePage2-1/assets/icon/g.png delete mode 100644 src/page/LinePage2-1/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage2-1/assets/icon/num.png delete mode 100644 src/page/LinePage2-1/assets/icon/r.png delete mode 100644 src/page/LinePage2-1/assets/icon/record.png delete mode 100644 src/page/LinePage2-1/assets/icon/y.png delete mode 100644 src/page/LinePage2-2/assets/icon/alarm.png delete mode 100644 src/page/LinePage2-2/assets/icon/defect.png delete mode 100644 src/page/LinePage2-2/assets/icon/finished.png delete mode 100644 src/page/LinePage2-2/assets/icon/g.png delete mode 100644 src/page/LinePage2-2/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage2-2/assets/icon/num.png delete mode 100644 src/page/LinePage2-2/assets/icon/r.png delete mode 100644 src/page/LinePage2-2/assets/icon/record.png delete mode 100644 src/page/LinePage2-2/assets/icon/y.png delete mode 100644 src/page/LinePage2-2/index.css delete mode 100644 src/page/LinePage3-1/assets/icon/alarm.png delete mode 100644 src/page/LinePage3-1/assets/icon/defect.png delete mode 100644 src/page/LinePage3-1/assets/icon/finished.png delete mode 100644 src/page/LinePage3-1/assets/icon/g.png delete mode 100644 src/page/LinePage3-1/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage3-1/assets/icon/num.png delete mode 100644 src/page/LinePage3-1/assets/icon/r.png delete mode 100644 src/page/LinePage3-1/assets/icon/record.png delete mode 100644 src/page/LinePage3-1/assets/icon/y.png delete mode 100644 src/page/LinePage3-1/index.css delete mode 100644 src/page/LinePage3-2/assets/icon/alarm.png delete mode 100644 src/page/LinePage3-2/assets/icon/defect.png delete mode 100644 src/page/LinePage3-2/assets/icon/finished.png delete mode 100644 src/page/LinePage3-2/assets/icon/g.png delete mode 100644 src/page/LinePage3-2/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage3-2/assets/icon/num.png delete mode 100644 src/page/LinePage3-2/assets/icon/r.png delete mode 100644 src/page/LinePage3-2/assets/icon/record.png delete mode 100644 src/page/LinePage3-2/assets/icon/y.png delete mode 100644 src/page/LinePage3-2/index.css delete mode 100644 src/page/LinePage4-1/assets/icon/alarm.png delete mode 100644 src/page/LinePage4-1/assets/icon/defect.png delete mode 100644 src/page/LinePage4-1/assets/icon/finished.png delete mode 100644 src/page/LinePage4-1/assets/icon/g.png delete mode 100644 src/page/LinePage4-1/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage4-1/assets/icon/num.png delete mode 100644 src/page/LinePage4-1/assets/icon/r.png delete mode 100644 src/page/LinePage4-1/assets/icon/record.png delete mode 100644 src/page/LinePage4-1/assets/icon/y.png delete mode 100644 src/page/LinePage4-1/index.css delete mode 100644 src/page/LinePage4-2/assets/icon/alarm.png delete mode 100644 src/page/LinePage4-2/assets/icon/defect.png delete mode 100644 src/page/LinePage4-2/assets/icon/finished.png delete mode 100644 src/page/LinePage4-2/assets/icon/g.png delete mode 100644 src/page/LinePage4-2/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage4-2/assets/icon/num.png delete mode 100644 src/page/LinePage4-2/assets/icon/r.png delete mode 100644 src/page/LinePage4-2/assets/icon/record.png delete mode 100644 src/page/LinePage4-2/assets/icon/y.png delete mode 100644 src/page/LinePage4-2/index.css delete mode 100644 src/page/LinePage5-1/assets/icon/alarm.png delete mode 100644 src/page/LinePage5-1/assets/icon/defect.png delete mode 100644 src/page/LinePage5-1/assets/icon/finished.png delete mode 100644 src/page/LinePage5-1/assets/icon/g.png delete mode 100644 src/page/LinePage5-1/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage5-1/assets/icon/num.png delete mode 100644 src/page/LinePage5-1/assets/icon/r.png delete mode 100644 src/page/LinePage5-1/assets/icon/record.png delete mode 100644 src/page/LinePage5-1/assets/icon/y.png delete mode 100644 src/page/LinePage5-1/index.css delete mode 100644 src/page/LinePage5-2/assets/icon/alarm.png delete mode 100644 src/page/LinePage5-2/assets/icon/defect.png delete mode 100644 src/page/LinePage5-2/assets/icon/finished.png delete mode 100644 src/page/LinePage5-2/assets/icon/g.png delete mode 100644 src/page/LinePage5-2/assets/icon/inputAndOutput.png delete mode 100644 src/page/LinePage5-2/assets/icon/num.png delete mode 100644 src/page/LinePage5-2/assets/icon/r.png delete mode 100644 src/page/LinePage5-2/assets/icon/record.png delete mode 100644 src/page/LinePage5-2/assets/icon/y.png delete mode 100644 src/page/LinePage5-2/index.css create mode 100644 src/page/assets/icon/a_g.png create mode 100644 src/page/assets/icon/a_r.png rename src/page/{LinePage => }/assets/icon/alarm.png (100%) create mode 100644 src/page/assets/icon/defe.png rename src/page/{LinePage => }/assets/icon/defect.png (100%) rename src/page/{LinePage => }/assets/icon/finished.png (100%) rename src/page/{LinePage => }/assets/icon/g.png (100%) create mode 100644 src/page/assets/icon/input.png rename src/page/{LinePage => }/assets/icon/inputAndOutput.png (100%) rename src/page/{LinePage => }/assets/icon/num.png (100%) create mode 100644 src/page/assets/icon/numBar.png create mode 100644 src/page/assets/icon/prod.png rename src/page/{LinePage => }/assets/icon/r.png (100%) rename src/page/{LinePage => }/assets/icon/record.png (100%) rename src/page/{LinePage => }/assets/icon/y.png (100%) rename src/page/{LinePage/index.css => style/linePage.css} (100%) diff --git a/public/png/numberBox.png b/public/png/numberBox.png new file mode 100644 index 0000000000000000000000000000000000000000..a22dec017d7b66274389a6c2abf9f1db15e642f8 GIT binary patch literal 16428 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 literal 0 HcmV?d00001 diff --git a/public/png/rect/ld_left_up_innerbox.png b/public/png/rect/ld_left_up_innerbox.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f7dc871318b265095b2528a3bee491638de218 GIT binary patch literal 115718 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/public/svg/topbackLD.svg b/public/svg/topbackLD.svg new file mode 100644 index 0000000..5d23baf --- /dev/null +++ b/public/svg/topbackLD.svg @@ -0,0 +1,75 @@ + + + 编组 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index d1b44ae..9c397a1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState, useContext } from "react"; +import React, { useEffect } from "react"; import intl from "react-intl-universal"; import locales from "./locales/locales"; import "./App.css"; @@ -13,17 +13,16 @@ import { Observable } from "@babylonjs/core"; import { selectGlassStatus } from "./store/ProductionMonitoringEntity"; import TestPage from "./page/TestPage"; import LDPage from "./page/LDPage"; -import LinePage from "./page/LinePage"; -import LinePage1_1 from "./page/LinePage1-1"; -import LinePage1_2 from "./page/LinePage1-2"; -import LinePage2_1 from "./page/LinePage2-1"; -import LinePage2_2 from "./page/LinePage2-2"; -import LinePage3_1 from "./page/LinePage3-1"; -import LinePage3_2 from "./page/LinePage3-2"; -import LinePage4_1 from "./page/LinePage4-1"; -import LinePage4_2 from "./page/LinePage4-2"; -import LinePage5_1 from "./page/LinePage5-1"; -import LinePage5_2 from "./page/LinePage5-2"; +import LinePageOneOne from "./page/LinePage1-1"; +import LinePageOneTwo from "./page/LinePage1-2"; +import LinePageTwoOne from "./page/LinePage2-1"; +import LinePageTwoTwo from "./page/LinePage2-2"; +import LinePageThreeOne from "./page/LinePage3-1"; +import LinePageThreeTwo from "./page/LinePage3-2"; +import LinePageFourOne from "./page/LinePage4-1"; +import LinePageFourTwo from "./page/LinePage4-2"; +import LinePageFiveOne from "./page/LinePage5-1"; +import LinePageFiveTwo from "./page/LinePage5-2"; // const LOCALES_LIST = [ // { @@ -69,11 +68,6 @@ function App() { element: , errorElement: , }, - { - path: "/LD", - element: , - errorElement: , - }, /////////////////////////////////////////////////////////////// // { // path: "/LP/:LineID?", @@ -81,54 +75,59 @@ function App() { // errorElement: , // }, ////////////////////////////从这开始/////////////////////////////////// + { + path: "/LD", + element: , + errorElement: , + }, { path: "/LP/1-1", - element: , + element: , errorElement: , }, { path: "/LP/1-2", - element: , + element: , errorElement: , }, { path: "/LP/2-1", - element: , + element: , errorElement: , }, { path: "/LP/2-2", - element: , + element: , errorElement: , }, { path: "/LP/3-1", - element: , + element: , errorElement: , }, { path: "/LP/3-2", - element: , + element: , errorElement: , }, { path: "/LP/4-1", - element: , + element: , errorElement: , }, { path: "/LP/4-2", - element: , + element: , errorElement: , }, { path: "/LP/5-1", - element: , + element: , errorElement: , }, { path: "/LP/5-2", - element: , + element: , errorElement: , }, ]); diff --git a/src/babylonjs/LinePageBabylonNew.tsx b/src/babylonjs/LinePageBabylonNew.tsx index 24f1c59..6f51d62 100644 --- a/src/babylonjs/LinePageBabylonNew.tsx +++ b/src/babylonjs/LinePageBabylonNew.tsx @@ -8,10 +8,10 @@ import { HemisphericLight, Vector3 } from "@babylonjs/core"; import { useAppSelector } from "../store/hooks"; import "../page/style/standard.css"; import EqInfoData from "./EqInfoData"; -import AlarmTipGreen from "./../page/LinePage/assets/icon/g.png"; -import AlarmTipYellow from "./../page/LinePage/assets/icon/y.png"; -import AlarmTipRed from "./../page/LinePage/assets/icon/r.png"; -import {selectLine1Before} from "../store/LinePageSlice" +import AlarmTipGreen from "./../page/assets/icon/g.png"; +import AlarmTipYellow from "./../page/assets/icon/y.png"; +import AlarmTipRed from "./../page/assets/icon/r.png"; +import {selectLine1Before} from "../store/LinePageSlice"; const lineNameNo = ["一","二","三","四","五"] const myStyle = { diff --git a/src/page/Component/BarChart/chart.config.ts b/src/page/Component/BarChart/chart.config.ts index 2ca3daa..3fc7d17 100644 --- a/src/page/Component/BarChart/chart.config.ts +++ b/src/page/Component/BarChart/chart.config.ts @@ -2,7 +2,7 @@ import * as echarts from "echarts"; export default function getOptions(dataProps: number[],xData:string[], color: string[]) { if (dataProps.length === 0) return null; return { - grid: { top: 30, right: 12, bottom: 26, left: 48 }, + grid: { top: 40, right: 10, bottom: 10, left: 10, containLabel: true }, legend: { show: false, }, diff --git a/src/page/Component/BarLineChart/chart.config.ts b/src/page/Component/BarLineChart/chart.config.ts new file mode 100644 index 0000000..4c61568 --- /dev/null +++ b/src/page/Component/BarLineChart/chart.config.ts @@ -0,0 +1,125 @@ +import * as echarts from "echarts"; +export default function getOptions() { + // if (dataProps.length === 0) return null; + return { + grid: { top: 40, right: 10, bottom: 10, left: 10, containLabel: true }, + legend: { + show: false, + }, + xAxis: { + type: "category", + data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月'], + axisLabel: { + color: "#fff", + fontSize: 12, + interval: 0, + }, + axisTick: { show: false }, + axisLine: { + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + }, + yAxis: [{ + name: "单位/片", + nameTextStyle: { + color: "#fff", + fontSize: 12, + }, + type: "value", + axisLabel: { + color: "#fff", + fontSize: 12, + formatter: "{value}", + }, + axisLine: { + show: true, + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + splitLine: { + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + },{ + name: "良品率/%", + nameTextStyle: { + color: "#fff", + fontSize: 12, + }, + type: "value", + axisLabel: { + color: "#fff", + fontSize: 12, + formatter: "{value}", + }, + axisLine: { + show: true, + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + splitLine: { + lineStyle: { + width: 2, + color: "#5982B2", + }, + }, + }], + tooltip: { + trigger: "axis", + axisPointer: { + type: "shadow", + }, + className: "luoyang-chart-tooltip", + show: false, + }, + series: [ + { + data: [100,200,110,22,11,458,15,2,45], + type: "bar", + barWidth: 10, + barGap:0, + itemStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: 'rgba(157, 234, 245, 1)' }, + { offset: 1, color: 'rgba(110, 249, 222, 1)' }, + ]), + }, + }, + { + data: [10,20,11,221,111,48,115,211,145], + type: "bar", + barWidth: 10, + itemStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: 'rgba(92, 183, 255, 1)' }, + { offset: 1, color: 'rgba(54, 75, 254, 1)' }, + ]), + }, + }, + { + data: [100,99,89,89,88,98,100,98,95], + type: "line", + yAxisIndex: 1, + symbol:'circle', + symbolSize: 7, + color:'rgba(18, 255, 245, 1)', + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: 'rgba(18, 255, 245, 0.8)' }, + { offset: 0.2, color: 'rgba(18, 255, 245, 0.2)' }, + { offset: 0.4, color: 'rgba(18, 255, 245, 0)' }, + ]), + } + } + ], + }; +} diff --git a/src/page/LDPage/Center/CenterDown.tsx b/src/page/LDPage/Center/CenterDown.tsx new file mode 100644 index 0000000..2f53050 --- /dev/null +++ b/src/page/LDPage/Center/CenterDown.tsx @@ -0,0 +1,44 @@ +import TitleBox from "../Component/TitleBox"; +import NumberBox from "../Component/NumberBox"; +const num1 = -18 +const num2 = +18 +function CenterDown() { + return( +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ ) +} +export default CenterDown; \ No newline at end of file diff --git a/src/page/LDPage/Center/CenterUp.tsx b/src/page/LDPage/Center/CenterUp.tsx new file mode 100644 index 0000000..f95a56e --- /dev/null +++ b/src/page/LDPage/Center/CenterUp.tsx @@ -0,0 +1,8 @@ +function CenterUp() { + return( +
+ center-up +
+ ) +} +export default CenterUp; \ No newline at end of file diff --git a/src/page/LinePage/Center/index.tsx b/src/page/LDPage/Center/index.tsx similarity index 100% rename from src/page/LinePage/Center/index.tsx rename to src/page/LDPage/Center/index.tsx diff --git a/src/page/LDPage/Component/NumberBox/index.css b/src/page/LDPage/Component/NumberBox/index.css new file mode 100644 index 0000000..e35e5b4 --- /dev/null +++ b/src/page/LDPage/Component/NumberBox/index.css @@ -0,0 +1,27 @@ +.number_box_container { + width: 100%; + height: 100%; + background: url(../../../../../public/png/numberBox.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin:0 auto; + padding: 25px 20px 20px; +} +.number_box_container .big_number { + font-size:38px; + color: #fff; +} +.number_box_container .big_number_title { + margin-bottom: 10px; +} +.number_box_container .big_number_title_left { + font-size: 20px; + color: #fff; + letter-spacing: 2px; +} +.number_box_container .big_number_title_right { + font-size: 18px; + position: relative; + top: 6px; + left:10px; +} \ No newline at end of file diff --git a/src/page/LDPage/Component/NumberBox/index.tsx b/src/page/LDPage/Component/NumberBox/index.tsx new file mode 100644 index 0000000..504f44e --- /dev/null +++ b/src/page/LDPage/Component/NumberBox/index.tsx @@ -0,0 +1,34 @@ +import './index.css'; +import a_r from './../../../assets/icon/a_r.png'; +import a_g from './../../../assets/icon/a_g.png'; +interface boxProps { + num:number, + show?:boolean, + title:string, + lastYear?:boolean +} +function NumberBox(props: boxProps) { + return ( +
+
+
{props.title}
+ { + props.show?( +
0?'#FF0000':'#00FF00'}}> + {props.num>0?'+':''}{props.num}% + { + props.num>0?( + + ):( + + ) + } +
+ ):'' + } +
+
261,938,984
+
+ ) +} +export default NumberBox; \ No newline at end of file diff --git a/src/page/LinePage/Component/TitleBox/index.css b/src/page/LDPage/Component/TitleBox/index.css similarity index 100% rename from src/page/LinePage/Component/TitleBox/index.css rename to src/page/LDPage/Component/TitleBox/index.css diff --git a/src/page/LinePage/Component/TitleBox/index.tsx b/src/page/LDPage/Component/TitleBox/index.tsx similarity index 51% rename from src/page/LinePage/Component/TitleBox/index.tsx rename to src/page/LDPage/Component/TitleBox/index.tsx index dd43a66..110af1d 100644 --- a/src/page/LinePage/Component/TitleBox/index.tsx +++ b/src/page/LDPage/Component/TitleBox/index.tsx @@ -1,9 +1,7 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import NumBar from "./../../../assets/icon/numBar.png"; +import Defe from "./../../../assets/icon/defe.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; @@ -13,33 +11,38 @@ function TitleBox(props: titleProps) { switch (props.title) { case "left_up": return { - img: Defect, - title: "产线报废汇总", + img: Record, + title: "近期数据对比", }; case "left_down": return { - img: Record, - title: "当前产线报废情况", + img: NumBar, + title: "投入产出及良品率", }; case "center_down_left": return { - img: Alarm, - title: "异常报警", + img: Defect, + title: "本月数据", }; + case "center_down_center": + return { + img: Defect, + title: "上月数据", + }; case "center_down_right": return { - img: Finished, - title: "产线成品率", + img: Defect, + title: "本年数据", }; case "right_up": return { - img: Num, - title: "各产线总投入和产出", + img: Defe, + title: "缺陷情况", }; default: return { - img: InputAndOutput, - title: "当前产线投入和产出", + img: Defect, + title: "上年数据", }; } }; diff --git a/src/page/LDPage/Component/pieChart/chart.config.ts b/src/page/LDPage/Component/pieChart/chart.config.ts new file mode 100644 index 0000000..0f669b7 --- /dev/null +++ b/src/page/LDPage/Component/pieChart/chart.config.ts @@ -0,0 +1,164 @@ +function getCoordinates(startArc: number, endArc: number) { + const posi = [ + Math.sin(startArc), + -Math.cos(startArc), + Math.sin(endArc), + -Math.cos(endArc), + ]; + const dx = posi[2] - posi[0]; + const dy = posi[3] - posi[1]; + + return getLocation(dx, dy); +} +function getLocation(dx: number, dy: number) { + const tanV = dx / dy; + const directSign = Math.abs(tanV) < 1; + const t = directSign ? tanV : 1 / tanV; + + const sign1 = t > 0 ? 1 : -1; + const sign2 = dx > 0 ? 1 : -1; + const sign = directSign ? sign1 * sign2 : sign2; + + const group1 = [0.5 - (sign * t) / 2, 0.5 + (sign * t) / 2]; + const group2 = sign > 0 ? [0, 1] : [1, 0]; + const group = [...group1, ...group2]; + const keys = directSign ? ["x", "x2", "y", "y2"] : ["y", "y2", "x", "x2"]; + + let res: { [key: string]: any } = {}; + keys.forEach((k, idx) => { + res[k] = group[idx]; + }); + return res; +} +// 数据格式 +// const dataProps = [ +// {value: 14,name:'缺陷1'}, +// {value: 20,name:'缺陷2'}, +// {value: 22,name:'缺陷3'}, +// {value: 14,name:'缺陷4'}, +// {value: 30,name:'缺陷5'} +// ] +let rangArrValue: any[] = []; +let dataList: any = []; +let totalValue = 0; +const colors = [ + "rgb(39, 96, 255)", + "rgb(91, 155, 255)", + "rgb(153, 214, 108)", + "rgb(18, 255, 245)", + "rgb(221, 177, 18)", +]; +const getPersonnelList = async (dataProps: any) => { + totalValue = dataProps.reduce( + (total: any, value: any) => total + value.value, + 0 + ); + let cacheNum = 0; + for (let i = 0; i < dataProps.length; i++) { + const endNum = cacheNum + dataProps[i].value; + rangArrValue.push([cacheNum, endNum]); + cacheNum = endNum; + } + const angleArr = rangArrValue.map((arr) => + arr.map((num: any) => (num / totalValue) * Math.PI * 2) + ); + dataList = dataProps.map((item: any, index: any) => { + const range = getCoordinates(angleArr[index][0], angleArr[index][1]); + const startColor = colors[index%5]; + const color = { + type: "linear", + x: range.x, + x2: range.x2, + y: range.y, + y2: range.y2, + colorStops: [ + { + offset: 0, + color: startColor, // 起始颜色 + }, + { + offset: 1, + color: `${startColor.substring(0, startColor.length - 1)}, 0)`, // 终点颜色 + }, + ], + global: false, + }; + + return { + name: item.name, + value: item.value, + itemStyle: { + color: color, + }, + }; + }); +}; +export default function getOptions(dataProps: any) { + if (dataProps.length === 0) return null; + getPersonnelList(dataProps); + return { + color: colors, + graphic: [ + { + type: "text", + left: "center", + top: "44%", + style: { + text: totalValue, + fill: "#fff", + width: 150, + height: 44, + fontSize: 31, + fontWeight: 400, + }, + }, + { + type: "text", + left: "center", + top: "55%", + style: { + text: "总数/件", + fill: "rgba(255, 255, 255, 0.70)", + width: 32, + height: 16, + fontSize: 16, + fontWeight: 400, + }, + }, + ], + series: [ + { + name: "产线缺陷分类", + type: "pie", + radius: ["45%", "60%"], + center: ["50%", "50%"], + // label: { + // formatter: "{d}%", + // color: "#fff", + // }, + label:{ + formatter:function(params:any){ + return `{color${params.dataIndex}|${params.percent}%}\n{style2|${params.name}}` + }, + rich:{ + color0:{color:'rgb(39, 96, 255)',fontSize:22}, + color1:{color:'rgb(91, 155, 255)',fontSize:22}, + color2:{color:'rgb(153, 214, 108)',fontSize:22}, + color3:{color:'rgb(18, 255, 245)',fontSize:22}, + color4:{color:'rgb(221, 177, 18)',fontSize:22}, + color5:{color:'rgb(39, 96, 255)',fontSize:22}, + color6:{color:'rgb(91, 155, 255)',fontSize:22}, + color7:{color:'rgb(153, 214, 108)',fontSize:22}, + color8:{color:'rgb(18, 255, 245)',fontSize:22}, + color9:{color:'rgb(221, 177, 18)',fontSize:22}, + style2:{ + color:'#fff', + fontSize:14 + } + } + }, + data: dataList, + }, + ], + }; +} diff --git a/src/page/LDPage/Left/LeftDown.tsx b/src/page/LDPage/Left/LeftDown.tsx new file mode 100644 index 0000000..d2ce98c --- /dev/null +++ b/src/page/LDPage/Left/LeftDown.tsx @@ -0,0 +1,20 @@ +import ReactECharts from "echarts-for-react"; +import TitleBox from "../Component/TitleBox"; +import getOptions from "../../Component/BarLineChart/chart.config"; +function LeftDown() { + const options1 = getOptions(); + return( +
+ +
+ 投入 + 产出 + 良品率 +
+
+ +
+
+ ) +} +export default LeftDown; \ No newline at end of file diff --git a/src/page/LDPage/Left/LeftUp.tsx b/src/page/LDPage/Left/LeftUp.tsx new file mode 100644 index 0000000..0f2c318 --- /dev/null +++ b/src/page/LDPage/Left/LeftUp.tsx @@ -0,0 +1,67 @@ +import TitleBox from "../Component/TitleBox"; +import inputImg from "../../assets/icon/input.png" +import prod from '../../assets/icon/prod.png' +function LeftUp() { + return( +
+ +
+
+
+ 本日 +
+
+
+
+
+ +

总投入

+
+
+

932,261片数

+

894面积/㎡

+
+
+
+
+ +

总生产

+
+
+

932,261片数

+

894面积/㎡

+
+
+
+
+
+ 昨日 +
+
+
+
+
+ +

总投入

+
+
+

932,261片数

+

894面积/㎡

+
+
+
+
+ +

总生产

+
+
+

932,261片数

+

894面积/㎡

+
+
+
+
+
+ ) +} +export default LeftUp; \ No newline at end of file diff --git a/src/page/LinePage/Left/index.tsx b/src/page/LDPage/Left/index.tsx similarity index 90% rename from src/page/LinePage/Left/index.tsx rename to src/page/LDPage/Left/index.tsx index 6524b82..8d06cdb 100644 --- a/src/page/LinePage/Left/index.tsx +++ b/src/page/LDPage/Left/index.tsx @@ -8,4 +8,4 @@ function Left() {
); } -export default Left; +export default Left; \ No newline at end of file diff --git a/src/page/LDPage/Right/RightDown.tsx b/src/page/LDPage/Right/RightDown.tsx new file mode 100644 index 0000000..bc1a8bc --- /dev/null +++ b/src/page/LDPage/Right/RightDown.tsx @@ -0,0 +1,20 @@ +import TitleBox from "../Component/TitleBox"; +import NumberBox from "../Component/NumberBox"; +const num1 = -18 +const num2 = +18 +function RightDown() { + return( +
+ +
+
+ +
+
+ +
+
+
+ ) +} +export default RightDown; \ No newline at end of file diff --git a/src/page/LDPage/Right/RightUp.tsx b/src/page/LDPage/Right/RightUp.tsx new file mode 100644 index 0000000..9428604 --- /dev/null +++ b/src/page/LDPage/Right/RightUp.tsx @@ -0,0 +1,82 @@ +import TitleBox from "../Component/TitleBox"; +import a_r from './../../assets/icon/a_r.png'; +import a_g from './../../assets/icon/a_g.png'; +import ReactECharts from "echarts-for-react"; +import getOptions from "../Component/pieChart/chart.config"; +function RightUp() { + const dataProps = [ + {value: 14,name:'缺陷1'}, + {value: 20,name:'缺陷2'}, + {value: 22,name:'缺陷3'}, + {value: 14,name:'缺陷4'}, + {value: 30,name:'缺陷5'} + ] + const options1 = getOptions(dataProps); + return( +
+ +
+
+
+ 总数 +
+
+
+
+
+

+ 当日 + +

+

283

+
+
+

+ 本月 + +

+

2,830

+
+
+

+ 本年 + +

+

32,830

+
+
+
+
+

+ 昨日 +

+

283

+
+
+

+ 上月 +

+

2,830

+
+
+

+ 上年 +

+

32,830

+
+
+
+ +
+
+ 全厂缺陷汇总 +
+
+
+ +
+
+
+ ) +} +export default RightUp; \ No newline at end of file diff --git a/src/page/LinePage/Right/index.tsx b/src/page/LDPage/Right/index.tsx similarity index 90% rename from src/page/LinePage/Right/index.tsx rename to src/page/LDPage/Right/index.tsx index 53c802a..6ecfdb3 100644 --- a/src/page/LinePage/Right/index.tsx +++ b/src/page/LDPage/Right/index.tsx @@ -9,4 +9,4 @@ function Right() {
); } -export default Right; +export default Right; \ No newline at end of file diff --git a/src/page/LDPage/TopP.tsx b/src/page/LDPage/TopP.tsx new file mode 100644 index 0000000..ae25b66 --- /dev/null +++ b/src/page/LDPage/TopP.tsx @@ -0,0 +1,18 @@ +import '../../lanhuapp/common.css'; +import "./index.css"; + +function TopP() { + return ( +
+
+
+
+
时间选择
+
2024-11-22
+
+
+
+ ); +} + +export default TopP; \ No newline at end of file diff --git a/src/page/LDPage/index.css b/src/page/LDPage/index.css index dcf01e1..59c7ce1 100644 --- a/src/page/LDPage/index.css +++ b/src/page/LDPage/index.css @@ -1,4 +1,225 @@ -.main-box { - font-size: 50px; +/* 顶部 */ +.block_top_ld { + width: 1920px; + height: 94px; + background: url(/public/svg/topbackLD.svg) 100% no-repeat; + background-size: 100% 100%; + opacity: 1; + display: flex; + justify-content: center; + position: relative; +} + +.block_top_title { + width: 651px; + height: 77px; + background: url(/public/png/topTiltle.png) 100% no-repeat; + background-size: 100% 100%; + margin-top: 18px; +} +.block_top_time { + position:absolute; + right:22px; + top:56px; + color:#fff; + font-size: 24px; + letter-spacing: 1px; +} +.block_top_time .time-title { + display:inline-block; + width:122px; + height: 39px; + line-height: 39px; + text-align: center; + border:1px solid #52FFF1; + border-right:none; + border-radius: 4px 0 0 4px; + +} +.block_top_time .time-content { + display:inline-block; + width:191px; + height: 39px; + line-height: 39px; + text-align: center; + border:1px solid #52FFF1; + border-radius: 0 4px 4px 0; + cursor: pointer; +} +/* 中部 */ +.block_bottom { + width: 1920px; + height: 966px; + padding-top: 20px; +} + +.group_left { + width: 402px; + height: 966px; + margin: 0 0 0 24px; +} + +.group_center { + width: 1041px; + height: 966px; + margin: 0 0 0 15px; +} + +.group_right { + width: 401px; + height: 966px; + margin-left: 15px; +} +.ld_left_up { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.ld_left_up_inner { + width: 360px; + height: 236px; + background: url(../../../public/png/rect/ld_left_up_innerbox.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin:0 auto; +} +.ld_left_up_inner .num_contrast { + height:113px; + padding:20px 18px 0px 29px; + color:#fff; +} +.ld_left_up_inner .num_contrast p{ + margin: 0px; + text-shadow: 0px 4px 2px rgba(0,0,0,0.62); +} +.ld_left_up_inner .num_contrast .num_contrast_right { + padding-left: 18px; +} + +.ld_left_down { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.ld_left_down .top_legend { color: #fff; + font-size: 14px; + position: absolute; + left:120px; +} +.ld_left_down .top_legend .chart_legend_icon1{ + margin-right: 10px; +} +.ld_left_down .top_legend .chart_legend_icon2{ + margin-right: 14px; +} +.ld_left_down .top_legend .chart_legend_icon1:before { + display: inline-block; + content: ""; + width: 10px; + height: 10px; + margin-right: 5px; + border-radius: 2px; + background: #73F8E0; +} +.ld_left_down .top_legend .chart_legend_icon2:before { + display: inline-block; + content: ""; + width: 10px; + height: 10px; + margin-right: 5px; + border-radius: 2px; + background: #497EFF; +} +.ld_left_down .top_legend .chart_legend_icon3 { + display: inline-block; + width: 8px; + height: 8px; + margin-right: 8px; + border-radius: 4px; + background: #73F8E0; + position:relative; +} +.ld_left_down .top_legend .chart_legend_icon3:before { + display: inline-block; + content: ""; + width: 16px; + height:2px; + background: #73F8E0; + position:absolute; + top:3px; + left:-4px; +} +.ld_center_up { + width: 1041px; + height: 599px; + background: url(../../../public/png/rect/lp_center_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.ld_center_down { + width: 1041px; + height: 332px; + margin-top: 17px; +} +.ld_center_down_inner { + width: 337px; + height: 329px; + background: url(../../../public/png/rect/ld_center_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.ld_center_down .ld_left-box, .ld_center_down .ld_center-box { + margin-right: 15px; + position: relative; +} +.ld_right_up { + width: 402px; + height: 599px; + background: url(../../../public/png/rect/lp_left_down.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; +} +.ld_right_down { + width: 402px; + height: 332px; + background: url(../../../public/png/rect/lp_left_up.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin-top: 14px; + position: relative; +} +.ld_right_up .ld_right_up_box { + width: 358px; + height:160px; + background: url(../../../public/png/rect/ld_left_up_innerbox.png) no-repeat; + background-size: 100% 100%; + background-position: 0 0; + margin:0 auto 20px; +} +.ld_right_up .ld_right_up_box .ld_right_up_box1 { + width:100%; + height: 80px; + color: #fff; + padding:12px 20px; +} +.ld_right_up .ld_right_up_box .ld_right_up_box1 p { + margin:0; + letter-spacing:2px; + font-size:20px; +} +.ld_right_up_img { + position:relative; + left:2px; + top:2px; } \ No newline at end of file diff --git a/src/page/LDPage/index.tsx b/src/page/LDPage/index.tsx index 7532158..8faf5d4 100644 --- a/src/page/LDPage/index.tsx +++ b/src/page/LDPage/index.tsx @@ -1,35 +1,43 @@ -import "./index.css" -import {useEffect} from 'react'; -import {useLocation,useNavigate} from "react-router-dom"; +import React from "react"; +import TopP from "./TopP"; +import Left from "./Left"; +import Right from "./Right"; +import Center from "./Center"; +// import {useEffect} from 'react'; +// import {useLocation,useNavigate} from "react-router-dom"; function LDPage() { - const navigate = useNavigate(); - const {state} = useLocation(); - console.log("LDPage被加载了") -useEffect(() => { - const handleKeyDown = (event:any) => { - if (event.key === 'ArrowUp') { - console.log('LDPage向上键被按下'); - navigate(`/TP/${state.LineID}`); - // 执行向上键的逻辑 - } else if (event.key === 'ArrowDown') { - console.log('LDPage向下键被按下'); - // 执行向下键的逻辑 - } - }; + // const navigate = useNavigate(); + // const {state} = useLocation(); + // console.log("LDPage被加载了") +// useEffect(() => { +// const handleKeyDown = (event:any) => { +// if (event.key === 'ArrowUp') { +// console.log('LDPage向上键被按下'); +// navigate(`/TP/${state.LineID}`); +// // 执行向上键的逻辑 +// } else if (event.key === 'ArrowDown') { +// console.log('LDPage向下键被按下'); +// // 执行向下键的逻辑 +// } +// }; - window.addEventListener('keydown', handleKeyDown); +// window.addEventListener('keydown', handleKeyDown); - return () => { - window.removeEventListener('keydown', handleKeyDown); - }; -}, []); +// return () => { +// window.removeEventListener('keydown', handleKeyDown); +// }; +// }, []); - return ( - <> -
LDPage{state.LineID}
-
3434
- - ); +return ( + + +
+ +
+ +
+
+); } export default LDPage; \ No newline at end of file diff --git a/src/page/LinePage/Center/CenterDown.tsx b/src/page/LinePage/Center/CenterDown.tsx deleted file mode 100644 index 18dfe48..0000000 --- a/src/page/LinePage/Center/CenterDown.tsx +++ /dev/null @@ -1,248 +0,0 @@ -import ReactECharts from "echarts-for-react"; -import TitleBox from "../Component/TitleBox"; -import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; -import { useState } from "react"; -import getOptions from "./LineChart/chart.config"; -import { useParams } from "react-router-dom"; -function CenterDown() { - const { LineID } = useParams(); - const lineID = LineID?.toString() || "1-1"; - console.log(lineID.slice(-1)); - // 假数据 - const dataSource = { - day: { - yData1: [76.1, 77.4, 75.2, 74.1, 78.5, 81.3, 79.2], - yData2: [77.2, 78.1, 78.2, 77.1, 79.2, 78.3, 79.5], - yData3: [75.1, 74.3, 71.3, 79.8, 82.3, 81.4, 80.3], - yData4: [82.4, 83.1, 88.4, 85.3, 87.1, 82.5, 84.9], - yData5: [82.3, 81.9, 85.8, 81.9, 84.1, 83.5, 82.3], - }, - week: { - yData1: [120, 200, 150, 80, 100, 89, 69], - yData2: [100, 150, 120, 70, 90, 97, 89], - yData3: [80, 120, 90, 60, 80, 79, 98], - yData4: [60, 90, 70, 40, 60, 69, 98], - yData5: [40, 60, 50, 20, 40, 89, 99], - }, - month: { - yData1: [1200, 2000, 1500, 800, 1000, 999, 889], - yData2: [1000, 1500, 1200, 700, 900, 987, 897], - yData3: [800, 1200, 900, 600, 800, 962, 759], - yData4: [600, 900, 700, 400, 600, 896, 987], - yData5: [400, 600, 500, 200, 400, 986, 951], - }, - }; - const nameList = [ - { name: "天", ename: "day" }, - { name: "周", ename: "week" }, - { name: "月", ename: "month" }, - ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - let chartData = (dataSource as { [key: string]: any })[activeName]; - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; - const options = getOptions(chartData); - const config = { - header: ["序号", "报警时间", "报警编码", "设备状态"], - headerHeight: 36, - rowNum: 6, - align: ["center", "left", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], - data: [ - ["1", "行1列1", "行1列2", "行1列3"], - ["2", "行2列1", "行2列2", "行2列3"], - ["3", "行3列1", "行3列2", "行3列3"], - ["4", "行4列1", "行4列2", "行4列3"], - ["5", "行5列1", "行5列2", "行5列3"], - ["6", "行6列1", "行6列2", "行6列3"], - ["7", "行7列1", "行7列2", "行7列3"], - ["8", "行8列1", "行8列2", "行8列3"], - ["9", "行9列1", "行9列2", "行9列3"], - [ - "10", - "行10列1", - "行10列2", - "行10列3", - ], - ], - }; - const config1 = { - header: ["序号", "报警时间", "报警设备", "报警内容"], - headerHeight: 36, - rowNum: 6, - align: ["center", "left", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], - data: [ - [ - "1", - "2024/8/28 08:32", - "清洗机5_1", - "故障", - ], - [ - "2", - "2024/8/28 06:12", - "清洗机5_1", - "离线", - ], - [ - "3", - "2024/8/28 06:05", - "磨边机5_2", - "离线", - ], - [ - "4", - "2024/8/28 04:43", - "二次镀膜机5_1", - "离线", - ], - [ - "5", - "2024/8/28 02:14", - "磨边机5_1", - "故障", - ], - [ - "6", - "2024/8/27 22:54", - "磨边机5_2", - "离线", - ], - [ - "7", - "2024/8/27 21:55", - "磨边机5_1", - "离线", - ], - [ - "8", - "2024/8/27 21:42", - "一次镀膜机5_2", - "离线", - ], - [ - "9", - "2024/8/27 21:37", - "磨边机5_1", - "离线", - ], - ], - }; - const config2 = { - header: ["序号", "报警时间", "报警设备", "报警内容"], - headerHeight: 36, - rowNum: 6, - align: ["center", "left", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], - data: [ - [ - "1", - "2024/8/28 07:44", - "下片机械手5_1", - "故障", - ], - [ - "2", - "2024/8/28 07:35", - "下片机械手5_1", - "故障", - ], - [ - "3", - "2024/8/28 03:23", - "在线铺纸机5_1", - "离线", - ], - [ - "4", - "2024/8/28 01:36", - "下片机械手5_2", - "故障", - ], - [ - "5", - "2024/8/28 00:38", - "钢化炉5", - "离线", - ], - [ - "6", - "2024/8/27 23:58", - "下片机械手5_3", - "离线", - ], - [ - "7", - "2024/8/27 23:45", - "下片机械手5_2", - "离线", - ], - [ - "8", - "2024/8/27 22:34", - "钢化炉5", - "离线", - ], - [ - "9", - "2024/8/27 20:31", - "在线铺纸机5_1", - "故障", - ], - ], - }; - return ( -
-
- - — 报警总数 — -
321,343
-
- -
-
- {/* 产线成品率 */} -
- - {/*
- -
*/} - - {options && ( -
- {} -
- )} - {!options && ( -

- 暂无数据 -

- )} -
-
- ); -} -export default CenterDown; diff --git a/src/page/LinePage/Center/CenterUp.tsx b/src/page/LinePage/Center/CenterUp.tsx deleted file mode 100644 index ad8d3c0..0000000 --- a/src/page/LinePage/Center/CenterUp.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import LinePageBabylon from "../../../babylonjs/LinePageBabylon"; -import { useParams } from "react-router-dom"; -function CenterUp() { - const { LineID } = useParams(); - const lineID = LineID?.toString() || "1-1"; - return ( -
- -
- ); -} -export default CenterUp; diff --git a/src/page/LinePage/Center/LineChart/chart.config.ts b/src/page/LinePage/Center/LineChart/chart.config.ts deleted file mode 100644 index f18994a..0000000 --- a/src/page/LinePage/Center/LineChart/chart.config.ts +++ /dev/null @@ -1,119 +0,0 @@ -export default function getOptions(chartData: any) { - if (Object.keys(chartData).length === 0) { - return null; - } - const colors = ["#1A99FF", "#FFB70C", "#C69DFF", "#50F4E3", "#E02094"]; - return { - color: colors, - grid: { top: 38, right: 12, bottom: 26, left: 48 }, - legend: { - show: true, - top: 10, - right: 10, - padding: 0, - itemWidth: 14, - itemHeight: 10, - itemGap: 8, - height: 10, - textStyle: { - color: "#DFF1FE", - fontSize: 14, - }, - }, - xAxis: { - type: "category", - data: ["8/22", "8/23", "8/24", "8/25", "8/26", "8/27", "8/28"], - // data: Array(7) - // .fill(1) - // .map((_, index) => { - // const today = new Date(); - // const dtimestamp = - // today.getTime() - (index + 1) * 24 * 60 * 60 * 1000; - // return `${new Date(dtimestamp).getMonth() + 1}.${new Date( - // dtimestamp - // ).getDate()}`; - // }) - // .reverse(), - axisLabel: { - color: "#fff", - fontSize: 14, - }, - axisTick: { show: false }, - axisLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - yAxis: { - name: "单位/%", - min: 50, - nameTextStyle: { - color: "#fff", - fontSize: 14, - }, - type: "value", - axisLabel: { - color: "#fff", - fontSize: 14, - formatter: "{value}", - }, - axisLine: { - show: true, - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - splitLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - tooltip: { - trigger: "axis", - className: "luoyang-chart-tooltip", - show: false, - }, - series: [ - { - name: "产线1", - type: "line", - symbol: "circle", - symbolSize: 4, - data: chartData.yData1, - }, - { - name: "产线2", - type: "line", - symbol: "circle", - symbolSize: 4, - data: chartData.yData2, - }, - { - name: "产线3", - type: "line", - symbol: "circle", - symbolSize: 4, - data: chartData.yData3, - }, - { - name: "产线4", - type: "line", - symbol: "circle", - symbolSize: 4, - data: chartData.yData4, - }, - { - name: "产线5", - type: "line", - symbol: "circle", - symbolSize: 4, - data: chartData.yData5, - }, - ], - }; -} diff --git a/src/page/LinePage/Component/SwitchButton/index.css b/src/page/LinePage/Component/SwitchButton/index.css deleted file mode 100644 index 604d81a..0000000 --- a/src/page/LinePage/Component/SwitchButton/index.css +++ /dev/null @@ -1,19 +0,0 @@ -.switch-button { - height: 33px; -} -.switch-button button { - color: #fff; - font-size: 18px; - padding: 4px 10px; - background-color: rgba(49, 135, 140, 0.3); - cursor: pointer; -} -.switch-button button:first-child { - border-radius: 5px 0 0 5px; -} -.switch-button button:last-child { - border-radius: 0 5px 5px 0; -} -.switch-button button.active { - background-color: rgba(86, 244, 231, 0.7); -} diff --git a/src/page/LinePage/Component/SwitchButton/index.tsx b/src/page/LinePage/Component/SwitchButton/index.tsx deleted file mode 100644 index 9209c06..0000000 --- a/src/page/LinePage/Component/SwitchButton/index.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useEffect, useState } from "react"; -import "./index.css"; -interface Name { - name: string; - ename: string; -} -interface nameListProps { - nameList: Name[]; - onChange: (value: string) => void; -} -function createActiveNameUpdater(nameList: any, activeName: string) { - let activeIndex = nameList.findIndex((obj: any) => obj.name === activeName); - - return function updateActiveName() { - activeIndex = (activeIndex + 1) % nameList.length; - return nameList[activeIndex].ename; - }; -} -function SwitchButton(props: nameListProps) { - const [activeName, setActiveName] = useState(props.nameList[0].ename); - const [timerId, setTimerId] = useState(null); - let updateActiveName = createActiveNameUpdater(props.nameList, activeName); - useEffect(() => { - const timer = setInterval(() => { - let active = updateActiveName(); - setActiveName(active); - props.onChange(active); - }, 60000); - setTimerId(timer); - return () => { - if (timerId !== null) { - clearInterval(timerId); - } - }; - }, [props.nameList.length]); - const btnClick = (ename: string) => { - if (timerId !== null) { - clearInterval(timerId); - } - setActiveName(ename); - props.onChange(ename); // 通知父组件 - const newTimer = setInterval(() => { - let active = updateActiveName(); - setActiveName(active); - props.onChange(active); - }, 60000); - setTimerId(newTimer); - }; - return ( -
- {props.nameList.map((item, index) => { - return ( - - ); - })} -
- ); -} -export default SwitchButton; diff --git a/src/page/LinePage/Left/BarChart/chart.config.ts b/src/page/LinePage/Left/BarChart/chart.config.ts deleted file mode 100644 index 87857fc..0000000 --- a/src/page/LinePage/Left/BarChart/chart.config.ts +++ /dev/null @@ -1,79 +0,0 @@ -import * as echarts from "echarts"; -export default function getOptions(dataProps: number[], color: string[]) { - if (dataProps.length === 0) return null; - return { - grid: { top: 30, right: 12, bottom: 26, left: 48 }, - legend: { - show: false, - }, - xAxis: { - type: "category", - data: ["磨边后", "包装1", "包装2"], - axisLabel: { - color: "#fff", - fontSize: 14, - interval: 0, - }, - axisTick: { show: false }, - axisLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - yAxis: { - name: "单位/片", - nameTextStyle: { - color: "#fff", - fontSize: 14, - }, - type: "value", - axisLabel: { - color: "#fff", - fontSize: 14, - formatter: "{value}", - }, - axisLine: { - show: true, - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - splitLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - tooltip: { - trigger: "axis", - axisPointer: { - type: "shadow", - }, - className: "luoyang-chart-tooltip", - show: false, - }, - series: [ - { - data: dataProps, - type: "bar", - barWidth: 10, - label: { - show: true, - fontSize: 12, - color: "#9CD4FF", - position: "top", - }, - itemStyle: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: color[0] }, - { offset: 1, color: color[1] }, - ]), - }, - }, - ], - }; -} diff --git a/src/page/LinePage/Left/LeftDown.tsx b/src/page/LinePage/Left/LeftDown.tsx deleted file mode 100644 index 9ecd183..0000000 --- a/src/page/LinePage/Left/LeftDown.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import ReactECharts from "echarts-for-react"; -import TitleBox from "../Component/TitleBox"; -import SwitchButton from "../Component/SwitchButton"; -import ScrollBoard from "./../../Component/ScrollBoard"; -import { useState } from "react"; -import getOptions from "./BarChart/chart.config"; -function LeftDown() { - const nameList = [ - { name: "表单", ename: "table" }, - { name: "柱状", ename: "chart" }, - ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; - const config = { - header: ["序号", "工序类型", "报废数量"], - headerHeight: 30, - rowNum: 4, - align: ["center", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], - data: [ - ["行1列1", "行1列2", "行1列3"], - ["行2列1", "行2列2", "行2列3"], - ["行3列1", "行3列2", "行3列3"], - ["行4列1", "行4列2", "行4列3"], - ["行5列1", "行5列2", "行5列3"], - ["行6列1", "行6列2", "行6列3"], - ["行7列1", "行7列2", "行7列3"], - ["行8列1", "行8列2", "行8列3"], - ["行9列1", "行9列2", "行9列3"], - ["行10列1", "行10列2", "行10列3"], - ], - }; - const config1 = { - header: ["序号", "工序类型", "报废数量"], - headerHeight: 30, - rowNum: 4, - align: ["center", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], - data: [ - ["1", "磨边后", 224], - ["2", "包装1", 322], - ["3", "包装2", 66], - ], - }; - const config2 = { - header: ["序号", "工序类型", "报废数量"], - headerHeight: 30, - rowNum: 4, - align: ["center", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], - data: [ - ["1", "磨边后", 1119], - ["2", "包装1", 1798], - ["3", "包装2", 435], - ], - }; - const config3 = { - header: ["序号", "工序类型", "报废数量"], - headerHeight: 30, - rowNum: 4, - align: ["center", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], - data: [ - ["1", "磨边后", 5004], - ["2", "包装1", 9122], - ["3", "包装2", 1924], - ], - }; - const color1 = ["#9DD5FF", "#1295FF"]; - const color2 = ["#85F6E9", "#2EC6B4"]; - const dataProps1 = [224, 322, 66]; - const dataProps2 = [1119, 1798, 435]; - const dataProps3 = [5004, 9122, 1924]; - const options1 = getOptions(dataProps1, color1); - const options2 = getOptions(dataProps2, color2); - const options3 = getOptions(dataProps3, color1); - return ( -
- -
- -
-
-
-
- 当天 -
-
-
- {activeName === "table" ? ( - - ) : options1 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- 本周 -
-
-
- {activeName === "table" ? ( - - ) : options2 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- 本月 -
-
-
- {activeName === "table" ? ( - - ) : options3 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- ); -} -export default LeftDown; diff --git a/src/page/LinePage/Left/LeftUp.tsx b/src/page/LinePage/Left/LeftUp.tsx deleted file mode 100644 index 5daa597..0000000 --- a/src/page/LinePage/Left/LeftUp.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import ReactECharts from "echarts-for-react"; -import TitleBox from "../Component/TitleBox"; -import SwitchButton from "../Component/SwitchButton"; -import getOptions from "./SummaryBarChart/chart.config"; -import { useState } from "react"; -import {useAppSelector} from "./../../../store/hooks" -import {selectLine1Before} from "./../../../store/LinePageSlice" -function LeftUp() { - const data = useAppSelector(selectLine1Before); - console.log('页面数据:',data) - // 假数据 - const dataSource = { - day: { - xData: ["钢1线", "钢2线", "钢3线", "钢4线", "钢5线"], - yData1: [236, 214, 196, 239, 224], - yData2: [346, 296, 327, 311, 322], - yData3: [78, 85, 56, 106, 66], - sumData: [660, 595, 579, 656, 612], - }, - week: { - xData: ["钢1线", "钢2线", "钢3线", "钢4线", "钢5线"], - yData1: [1336, 1223, 1313, 1134, 1119], - yData2: [2146, 1996, 2053, 1857, 1798], - yData3: [892, 658, 467, 758, 435], - sumData: [4374, 3877, 3833, 3749, 3352], - }, - month: { - xData: ["钢1线", "钢2线", "钢3线", "钢4线", "钢5线"], - yData1: [5789, 6432, 4679, 5456, 5004], - yData2: [8762, 9732, 8137, 8820, 9122], - yData3: [2468, 3120, 2782, 2395, 1924], - sumData: [17019, 19284, 15598, 16671, 16050], - }, - }; - const nameList = [ - { name: "天", ename: "day" }, - { name: "周", ename: "week" }, - { name: "月", ename: "month" }, - ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - let chartData = (dataSource as { [key: string]: any })[activeName]; - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; - const options = getOptions(chartData); - return ( -
- -
- -
- {options && ( -
- {} -
- )} - {!options && ( -

- 暂无数据 -

- )} -
- ); -} -export default LeftUp; diff --git a/src/page/LinePage/Left/SummaryBarChart/chart.config.ts b/src/page/LinePage/Left/SummaryBarChart/chart.config.ts deleted file mode 100644 index 4707a61..0000000 --- a/src/page/LinePage/Left/SummaryBarChart/chart.config.ts +++ /dev/null @@ -1,149 +0,0 @@ -export default function getOptions(chartData: any) { - if (Object.keys(chartData).length === 0) { - return null; - } - const colors = ["#2760FF", "#8167F6", "#5B9BFF", "#99D66C", "#FFD160"]; - let sum = chartData.sumData; - return { - color: colors, - grid: { top: 48, right: 20, bottom: 5, left: 15, containLabel: true }, - legend: { - show: true, - icon: "roundRect", - top: 10, - right: 20, - padding: 0, - itemWidth: 10, - itemHeight: 10, - itemGap: 15, - height: 10, - textStyle: { - color: "#DFF1FE", - fontSize: 14, - }, - }, - xAxis: { - type: "category", - data: chartData.xData, - axisLabel: { - color: "#fff", - fontSize: 16, - }, - axisTick: { show: false }, - axisLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - yAxis: { - name: "单位/片", - nameTextStyle: { - color: "#fff", - fontSize: 14, - }, - type: "value", - axisLabel: { - color: "#fff", - fontSize: 16, - formatter: "{value}", - }, - axisLine: { - show: true, - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - splitLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - tooltip: { - show: false, - trigger: "axis", - axisPointer: { - type: "shadow", - }, - className: "luoyang-chart-tooltip", - }, - // Declare several bar series, each will be mapped - // to a column of dataset.source by default. - series: [ - { - data: chartData.yData1, - type: "bar", - stack: "a", - name: "磨边后", - barWidth: 14, - label: { - show: true, - position: "right", - color: "inherit", - }, - }, - { - data: chartData.yData2, - type: "bar", - stack: "a", - name: "包装1", - label: { - show: true, - position: "right", - color: "inherit", - }, - }, - { - data: chartData.yData3, - type: "bar", - stack: "a", - name: "包装2", - label: { - show: true, - position: "right", - color: "inherit", - }, - }, - // { - // data: chartData.yData4, - // type: "bar", - // stack: "a", - // name: "镀膜", - // label: { - // show: true, - // position: "right", - // color: "inherit", - // }, - // }, - // { - // data: chartData.yData5, - // type: "bar", - // stack: "a", - // name: "包装", - // label: { - // show: true, - // position: "right", - // color: "inherit", - // }, - // }, - { - data: [0, 0, 0, 0, 0], - type: "bar", - stack: "a", - name: "", - label: { - show: true, - position: "top", - color: "#fff", - formatter: function (params: any) { - return sum[params.dataIndex]; - }, - }, - }, - ], - }; -} diff --git a/src/page/LinePage/Left/Table/index.tsx b/src/page/LinePage/Left/Table/index.tsx deleted file mode 100644 index 6abcea0..0000000 --- a/src/page/LinePage/Left/Table/index.tsx +++ /dev/null @@ -1,4 +0,0 @@ -function Table() { - return
111
; -} -export default Table; diff --git a/src/page/LinePage/Right/LineChart/chart.config.ts b/src/page/LinePage/Right/LineChart/chart.config.ts deleted file mode 100644 index 18bd639..0000000 --- a/src/page/LinePage/Right/LineChart/chart.config.ts +++ /dev/null @@ -1,99 +0,0 @@ -import * as echarts from "echarts"; -export default function getOptions(tempData: any) { - if (Object.keys(tempData).length === 0) { - return null; - } - const colors = ["#1A99FF", "#50F4E3"]; - return { - color: colors, - grid: { top: 30, right: 12, bottom: 10, left: 10, containLabel: true }, - legend: { - show: true, - icon: "roundRect", - top: 10, - right: 10, - padding: 0, - itemWidth: 10, - itemHeight: 10, - itemGap: 3, - height: 10, - textStyle: { - color: "#DFF1FE", - fontSize: 14, - }, - }, - xAxis: { - type: "category", - data: tempData.time, - // data: Array(7) - // .fill(1) - // .map((_, index) => { - // const today = new Date(); - // const dtimestamp = - // today.getTime() - (index + 1) * 24 * 60 * 60 * 1000; - // return `${new Date(dtimestamp).getMonth() + 1}.${new Date( - // dtimestamp - // ).getDate()}`; - // }) - // .reverse(), - axisLabel: { - color: "#fff", - fontSize: 14, - }, - axisTick: { show: false }, - axisLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - yAxis: { - name: "单位/千片", - nameTextStyle: { - color: "#fff", - fontSize: 14, - }, - type: "value", - axisLabel: { - color: "#fff", - fontSize: 14, - formatter: "{value}", - }, - axisLine: { - show: true, - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - splitLine: { - lineStyle: { - width: 2, - color: "#5982B2", - }, - }, - }, - series: [ - { - name: "投入", - type: "line", - symbol: "circle", - symbolSize: 4, - data: tempData.input, - }, - { - name: "产出", - type: "line", - symbol: "circle", - symbolSize: 4, - data: tempData.output, - }, - ], - tooltip: { - trigger: "axis", - className: "luoyang-chart-tooltip", - show: false, - }, - }; -} diff --git a/src/page/LinePage/Right/RightDown.tsx b/src/page/LinePage/Right/RightDown.tsx deleted file mode 100644 index b4b3954..0000000 --- a/src/page/LinePage/Right/RightDown.tsx +++ /dev/null @@ -1,294 +0,0 @@ -import ReactECharts from "echarts-for-react"; -import TitleBox from "../Component/TitleBox"; -import SwitchButton from "../Component/SwitchButton"; -import ScrollBoard from "./../../Component/ScrollBoard"; -import { useState } from "react"; -import getOptions from "./LineChart/chart.config"; -function RightDown() { - // 假数据 - let tempData = [ - { - type: "day", - data: { - time: [ - "0:00", - "1:00", - "2:00", - "3:00", - "4:00", - "5:00", - "6:00", - "7:00", - "8:00", - "9:00", - "10:00", - "11:00", - "12:00", - "13:00", - "14:00", - "15:00", - "16:00", - "17:00", - "18:00", - "19:00", - "20:00", - "21:00", - "22:00", - "23:00", - ], - input: [ - 456, 425, 246, 424, 453, 466, 412, 434, 425, 418, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - ], - output: [ - 432, 401, 232, 398, 421, 439, 378, 411, 400, 394, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - ], - }, - }, - { - type: "week", - data: { - time: [ - "2024/8/22", - "2024/8/23", - "2024/8/24", - "2024/8/25", - "2024/8/26", - "2024/8/27", - "2024/8/28", - ], - input: [9753, 10357, 11246, 10123, 9872, 9985, 10352], - output: [7925, 8216, 9091, 7847, 7589, 8126, 8112], - }, - }, - { - type: "month", - data: { - time: [ - "2024/8/1", - "2024/8/2", - "2024/8/3", - "2024/8/4", - "2024/8/5", - "2024/8/6", - "2024/8/7", - "2024/8/8", - "2024/8/9", - "2024/8/10", - "2024/8/11", - "2024/8/12", - "2024/8/13", - "2024/8/14", - "2024/8/15", - "2024/8/16", - "2024/8/17", - "2024/8/18", - "2024/8/19", - "2024/8/20", - "2024/8/21", - "2024/8/22", - "2024/8/23", - "2024/8/24", - "2024/8/25", - "2024/8/26", - "2024/8/27", - "2024/8/28", - "2024/8/29", - "2024/8/30", - "2024/8/31", - ], - input: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9813, 9753, - 10357, 11246, 10123, 9872, 9985, 10352, 4235, 0, 0, 0, - ], - output: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7883, 7925, - 8216, 9091, 7847, 7589, 8126, 8112, 3962, 0, 0, 0, - ], - }, - }, - ]; - const nameList = [ - { name: "表单", ename: "table" }, - { name: "折线", ename: "chart" }, - ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; - const config = { - header: ["时间", "投入数量", "产出数量"], - headerHeight: 30, - rowNum: 5, - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [120, 130, 130], - data: [ - ["行1列1", "行1列2", "行1列3"], - ["行2列1", "行2列2", "行2列3"], - ["行3列1", "行3列2", "行3列3"], - ["行4列1", "行4列2", "行4列3"], - ["行5列1", "行5列2", "行5列3"], - ["行6列1", "行6列2", "行6列3"], - ["行7列1", "行7列2", "行7列3"], - ["行8列1", "行8列2", "行8列3"], - ["行9列1", "行9列2", "行9列3"], - ["行10列1", "行10列2", "行10列3"], - ], - }; - const config1 = { - header: ["时间", "投入数量", "产出数量"], - headerHeight: 30, - rowNum: 5, - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [120, 130, 130], - data: [], - }; - const config2 = { - header: ["时间", "投入数量", "产出数量"], - headerHeight: 30, - rowNum: 5, - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [120, 130, 130], - data: [], - }; - const config3 = { - header: ["时间", "投入数量", "产出数量"], - headerHeight: 30, - rowNum: 5, - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [120, 130, 130], - data: [], - }; - let data1Lenght = tempData[0].data.input.length; - for (let i = 0; i < data1Lenght; i++) { - (config1.data as any).push([ - tempData[0].data.time ? tempData[0].data.time[i] : "-", - tempData[0].data.input ? tempData[0].data.input[i] : "-", - tempData[0].data.output ? tempData[0].data.output[i] : "-", - ]); - } - let data2Lenght = tempData[1].data.input.length; - for (let i = 0; i < data2Lenght; i++) { - (config2.data as any).push([ - tempData[1].data.time ? tempData[1].data.time[i] : "-", - tempData[1].data.input ? tempData[1].data.input[i] : "-", - tempData[1].data.output ? tempData[1].data.output[i] : "-", - ]); - } - let data3Lenght = tempData[0].data.input.length; - for (let i = 0; i < data3Lenght; i++) { - (config3.data as any).push([ - tempData[2].data.time ? tempData[2].data.time[i] : "-", - tempData[2].data.input ? tempData[2].data.input[i] : "-", - tempData[2].data.output ? tempData[2].data.output[i] : "-", - ]); - } - - const chartData1 = tempData[0].data; - const chartData2 = tempData[1].data; - const chartData3 = tempData[2].data; - const options1 = getOptions(chartData1); - const options2 = getOptions(chartData2); - const options3 = getOptions(chartData3); - return ( -
- -
- -
-
-
-
- 当天 -
-
-
- {activeName === "table" ? ( - - ) : options1 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- 本周 -
-
-
- {activeName === "table" ? ( - - ) : options2 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- 本月 -
-
-
- {activeName === "table" ? ( - - ) : options3 ? ( - - ) : ( -

- 暂无数据 -

- )} -
-
-
- ); -} -export default RightDown; diff --git a/src/page/LinePage/Right/RightUp.tsx b/src/page/LinePage/Right/RightUp.tsx deleted file mode 100644 index 9107cbc..0000000 --- a/src/page/LinePage/Right/RightUp.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import TitleBox from "../Component/TitleBox"; -import ScrollBoard from "./../../Component/ScrollBoard"; -function RightUp() { - const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], - headerHeight: 32, - rowNum: 5, - align: ["center", "left", "left", "left"], - headerBGC: "rgba(79, 114, 136, 0.3)", - oddRowBGC: "rgba(79, 114, 136, 0.3)", - evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], - data: [ - ["1", "钢1线", "82315", "64268"], - ["2", "钢2线", "78246", "61235"], - ["3", "钢3线", "79092", "63562"], - ["4", "钢4线", "84125", "66789"], - ["5", "钢5线", "85223", "68246"], - ], - }; - return ( -
- -
- -
-
- ); -} -export default RightUp; diff --git a/src/page/LinePage/TopP.tsx b/src/page/LinePage/TopP.tsx deleted file mode 100644 index e7c7a64..0000000 --- a/src/page/LinePage/TopP.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import '../../lanhuapp/common.css'; -import "./index.css"; - -function TopP() { - return ( -
-
-
-
-
- ); -} - -export default TopP; \ No newline at end of file diff --git a/src/page/LinePage/index.tsx b/src/page/LinePage/index.tsx deleted file mode 100644 index daf9389..0000000 --- a/src/page/LinePage/index.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react"; -import TopP from "./TopP"; -import Left from "./Left"; -import Right from "./Right"; -import Center from "./Center"; -function LinePage() { - return ( - - -
- -
- -
-
- ); -} -export default LinePage; diff --git a/src/page/LinePage1-1/Component/TitleBox/index.tsx b/src/page/LinePage1-1/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage1-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage1-1/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage1-1/assets/icon/alarm.png b/src/page/LinePage1-1/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage1-1/assets/icon/defect.png b/src/page/LinePage1-1/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage1-1/assets/icon/inputAndOutput.png b/src/page/LinePage1-1/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage1-1/assets/icon/num.png b/src/page/LinePage1-1/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage1-1/assets/icon/y.png b/src/page/LinePage1-1/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage1-2/Component/TitleBox/index.tsx b/src/page/LinePage1-2/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage1-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage1-2/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage1-2/TopP.tsx b/src/page/LinePage1-2/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage1-2/TopP.tsx +++ b/src/page/LinePage1-2/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage1-2/assets/icon/alarm.png b/src/page/LinePage1-2/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage1-2/assets/icon/defect.png b/src/page/LinePage1-2/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage1-2/assets/icon/inputAndOutput.png b/src/page/LinePage1-2/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 zcmV+}3(@q6P)Px<=t)FDRA@u(nQd?t)fvbC&)IwPhG@YEmJwqRDyWEs;?$YWXon7lKxnN*#~Ga> zYHbTt4JOlZoR0m_4^1RkgxVLWQu}JgB7}rEIy$y99knvPP_0NoEF(ffuwdTr-ShA4 zo;|yJZ*r3jjbEJJFOc1{d!GOE@;lEtEBK84|Leg!no`*O+jmmUp*JGM*{4TQc%1Q3zK1e>RqI=_BW&hJfXF#w z)R#v|O=FiQj64Y?TU3eKvPVAOH6DY<8arWvRh#o|5SY$1*m_{r_1|bx-H{TIsu8jqeEfIWGbveVffM5a9(Uc8}h5@0I{c zpf&llN=Z{k(S?6cVtAo3XDp~{pz9L4ybsW~YO*+PtkK~`!U(bfv61rs_O1tleO*?p z!ix@^#`cn#9cLnJ+=8n5y00d)4I22mkm4H_k47lOMkn~!s~umS5n_Vl{pCGxuSCy? zU>_Bmu1;6}VLW6^B*-IHb>E2#%8U$w}zp0T1fs-Rl3=u}_VE!4OV!g+BI8(&AFa%mPLnxB2z&@HSf zQ#cxX_eX4EaWwr*eGPWPR-pW3~Lz|?46F&@j0O0JhDx78;U_Eq+a-3lm$@+`LJ>|`IJhR)U`|Hu^cGeN>1wRJ$?rS_iC~tr*?7x5UUgG z$~gTzB6_u87tp*lCQdrj+XdNX7v6$Mk3=bjJ_@!KJ7|7J<{i#~LO%K)BvXGI=)6g^ zTTfs?6p>ge=0w9pDQahI0p>22Ijv9pc^?Wv7ZKD=Xkg$-KT|yIO1c!Vr6{Gh?vQ!i zqhdS%ruX-d5BqCXVLl-MkvH{TufA#IRu3qRD$NR zblKxAGP8dqTf<~2bTfYax}gsjA`4I0Dy_8>uHw)p-NUuQ8W$&(?F!=JZ9?a^K|!d( zG*k+&iLkNEx#Z6+BJNnW=G4$wgT4DT{l_XZ%xs|GHjrhxokA3i__o0iEm%0i=*Cby zVnd4#M>&mc>DezPv1`;CO7eml9xcxdWY&SQmSFj?t~*Y%Vd%}PxoGQwVt+TX}3!x9++f$kqXZxWUXghCz zWB7wM`O;4cLSbod*CJ}=;rRxG=KzFuO;vbKQfPd(r2P4@jIsBx=f9@8P*Zlvto=!! z`34VMJm?N>5V)%Wltv=#=8t=oIE^J(@N^vK1+l$+;6JmnZnnxikE@4)IfAZF) zT{3@EoR2BUPFzEl4fS-dq0)8KtPH&tQL9^^w-%K-kF?5+6G?=5#CkRJ-pv5(3C_1p zG9A8u5ZR-^$3!`scFSe|PV&ygg6zvYJb%)EqE=ITN4*Qf$^A}7Ln-uw^0=eijcp|r zhek4@mYrvPk~wuJ$a^7rrrE6qQSrmhP9@w7#hMTA6ufeZUDG6 zIvWV{-4)>GnUy>=Ju{@g5AeH$o?<9!PlSBx91w>ar>U~-NpYTUZ%%}k z4<4PD(V6>|QcWGjGZVKS)kB?Ey4k^cirgsFDFclNuS((GmiQg{V| zrmLK}JCfqOhWpE1J+Kzwv3BRmUyK-`>cJ!PUF{knf{ql?*j9Q`;^wfr|7b;)nL1H& zJGDD0+E&|xNqbmgk4@cnrJTn0^cVh;G&5@WW~J7wBe(`Yndub1IC7_uBPd$D_CnBj zc2Q*x??*GBmPe+Z9&*2qc++l~ z`C$SL{*V>ix0EiuHfl-yu*R$z%tElHT^2rB5DK+CQhIvOT_a!}$ys*46MZq@2@&;3 zNm23E9dbdU#x<$&cASrMci)W=G=N+XZcTzSJ*89+$j4GD)x1;Y=XB=cqr zJabXLcSNL*T5n4i7j0^li{2lv(Ibry8&GP~fQGx^;J{P7?wp$e=g~qqPqYqIWezTZ z>wha<>hmIYD&rj^0c=U9rE!pF5N&Xzsa>u}jPrs}Na9&LW;s8Y!tCH$O}$>gY0fsT}nAkJLR%>#$!i(>={KUe=-lxotc4eX?WjUF*`cSHf;?A zCxtjpa9(r*6tp}drwRVjQ6&%WmP-=jypZ4t5fsC%dewdRdQdkIxGGFVo09f8%cSQ= z3ixT6n)LG)x%kwXMkN2a2^AE7c}?b@*JQk;{fAO2~xN zP!eO7^PS7-y6XU(Cyv^_8<)09^o2OdE5k diff --git a/src/page/LinePage1-2/assets/icon/num.png b/src/page/LinePage1-2/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 zcmV-t2$=VYP)Px-AxT6*RCr$PT1{wNRTMtwPMU<2Qm}|1YX4}^f^<{t-i>WHwzYNZW-JUUxCl~L zc2$tzLKIZ+2kTF*ZnQB?X5~)1bm>5=X%gHNL`BI=X67C}_ug~wd2jMF6Ef4Zc|#$S z&bx2k`|kI1&Ury7UKs?iz$1%50Z5J!1t0|=Ynw#Dkb)rvLwX9*LNbM93dwA~WX{na zyZ`#ventc%hzLLcr4qa`Gq&eOPv3SA9Nd+MoUH#n-dtX;x%&w#446uF*8}h01NYd| zC3X);bGgRMAa{C#QmIs_?%eKxcq|-Cwmn0Zmm4)?B-lczV90p0xm+UxU{B?j0jgAY zJ-E$1gcZY}0D&n%rMh!F0}@h(fE-JV*_wcyXxu(LGHieU7We^orce?0mSZlyRQ1v~U%HPG@#CNKojGh#$<1?5nHgRhRLJ@#u)tg*zkcDFCtnG22Bw$Gn8k@ zIf8dYV1XrL24JeKW|EBa5>A=b8RD5S{}li{$NKi81EG1UXS@$4Z}NWP{(WirH1TSaL9y16)TJ5H*L$V(7$ci4qVEni=e+3cF`c0K}8i-WWq#Mh9ZVUlg zCn}Z(k&T6+7`*?<1Bp0EWm%`X^bJSsx=jr4<5Ks(qCVGlaZkgz7v(9DOXN%<=l%BoRz#;|+a<8%pam z=rBTuOD=kqgyQjepHY>wHf@7!s{IDUQdTltsdfND6VV7`!6dgMx|e4e+Fz1ytZc4Q zA4{6(6w1~mj*Tz?K-$)ZiCKs_=OLOQ^OHnv&yalesGjHeDE2p~y(Y@TH+s=@rM{37 zUFw>cEV0Q;W^Irw)jl(X0m*2WE7d$hz)r;bk=h{iKfbWy-Alz?z7&@f6H9f+N}ZwQ zs!I5jd;v#J85jT{E!$Qe!nL)nR7dwm4>{48o3ys=O;t8o%rWd@oLOX2C|jM1Df7%F zvO|il2!u)@&5+4op{$Yrsv zUVaL|Ypyw2XAj|SS2{}mBQsN}4kuGRN4IwW(=<<{6SY=6=MVtMC;T3u>3(v zo7>1W^#Dl2&r~BISh+rYu&b&2MlS4bt?3ewTjLhE{r4{yn@GR>@8*kO0Ki)Q8>{Rq zfM*cEf>j@T|W zKz9vD+X13dz>&qK(M7BkQZM4$cIk9wwd!hfvsQt7t+tEx0PL^KoA zc=WAJ1H>~#b*K@_&Z$_Mh=sv$ESluP^^?17jS&kkH9JWlv^Gm6=o>wg@Qax6|v<5Qc% zkkhodXKA@!C4dnp+m7Z;be}vXcC4|KRHe4Kh&-eZNO)$skv$68C0sz2fXrNUW9eWl43gQP&wxDCKfdu~XdLT3a`Oh8< z0C9H#=>IyHV?CKC$DG{!SHbzZhv5TgL*wZ{Xk$06bzRfDA1~*8qUo z(@;mt+8$o~OdaQB!x6hcpKe-F3A^1hi2);2kl=Gq0TCuC4h00Vupqw>D#9;ngcjlE zj!)Frid;k&Xc-vHD2NIZZ*X4hba{7k>CqHrXX9{z{xax1^Sa8=a<;n1o&MhJ7pfk8 zjwmID;?^eD1@&#@;;EU!fkcm}sAs=a;M@~}W>~?zdh4Ie@$t`#p_!rU30zU5o^AbJ z?&Hg1>@jAq)^cq77(!-PZd3W-4uoa-mjug|faS5UP7ImQ-F`o2S1~Kc*_c;cykDEZ zQy!G#zQN#`c>6#dWuuR;_qNz)qIzSZcz#%w`iQtLknEBxPkJ{R>i`+7= z*5FhPm&TC8$_$#HL)FTXi?9EneR`IS_2sA~XOl_lzs4$l)~0&Q&2_^Y+p9d)pf+h_3jv_h$POhY~y1b==9U2rnS5m1~mJ~79SXcJT0DCBg^xB5e?41 zX?#{zceAntUYpFLeJy+S5K`c4iQ29Ldq~?Ukmh4-z zvYH9ap#<2hL`Gl!BI|69Sz4p{SXVoo`zjE|8hh@6apT(oqFscI>m<=tqo)L?q@(hF zSv)h`M|L&2aIwW-@^n_GI2`%Gc(NzGW)`^KzsWvmxE@o8qaHZyR?|2ca3qrzBz#(58IiAlGy9(RSCTiBQ$CPWKLdNQqq{# zS-f{DUsQJO@bFiq@EH(Ok9@^@sakuak~jW$!_1}o?ZuXn85c zfulz{yV6yXO{5~kHqK8DUshwiNhy z+%TGRo@>=DcGQp!GFc*plt5HF0NpjqFDXTV>-y+Rm#ib$BPekTlr9*F$LH+0xmFU3 zZp_f7C>!7UE9F`{X9o5;+6Cz{?_1v!1k6KPqqbMNpK1}*Q;6wkbmTs8UjB?l^29h! zh;Ux4$zX>qx+7Z4Hp3`O>H77@X)xl?ppGjGVgqH`RuY*g7slGX0^uQT340k-AT~9b zR&6gRYyd%fmin=M#BTPPVx6i)O7B#-uA-@NdisOE9%h~)x&KkiJJD;>?Wa$bWqhs8 zHyumHvVMFP!C7Nzs7iAi8p$yc=R!=4?d>7?Q>W5n&P-4G%1>=5mnnaZ$KMXH z@cZ1%;|{loeN(ciDl~Hb20Pp;9pVK9GH-=+?CnEjwM2vQB6$Ye=%xKZzpf2_x2-R zE7_@iu1C%eJ1ciO;k{U5ATvm#hUU5&=M+O}Q9YeC<%C$IFiL603gry4mDT=klWjH9 zvNWxmUmskafr9KKgkYb{6<~85{jF&0& zCw=~2DAGDQsHB;@ZVfSAeclDTGZe^OaU^#JCwEiNWuSy9 z#hs6G7HMIY%cI5+?ygtSEU1XkcjFkP5CE|n5M6h=wd;FWd3YWqEc&8O-t#T61=(}$ zB^-CFeM@fc$kw4J{&d#QB>yW?=Qis?xIg5&lS;xBt`2z2=~D}oTLLQ6>QpL(X0g@t zX$jf=AEPyhlEfax(@IpQ7Zr`$;jwAvAp!U@J5i1HotR*~O2J_jsk0j4UiM`{Mf^2; zrR|D+2X?Z*<9zvcZvvDW(i18DX|Q6`g?+jL1H#PjUP|W|%WNkNKeVjL+js=)kReXW z?KE~VhLf(v*0OQCb3bQg!lWi;bjogU9a+7HwT4U zH-mIGi9OBPcsTP2H^EMc2nr#fIj2blm@;wE)ybUu9ehuEs?uk&dMll`YTDkYx2ngM zDSV+R7@|@e%5yQg9ub*ojB{GX|fnMa+7T|+VXGt{2|5?p&G@862^4pI5 lPx)*GWV{RCr$Pn^}k)RTPH*zq+eBiyGr(F+*l)BdBN)al-|S3KCFUaKjA@A}E;d ziE#^}wi_C^bkBgIxN9_M6h%eyqWIu~23$}PCF$v&m_#(jB_>l?(WSLaPwt@Jakj8V5DUXl_YxW$VF9tUCn+GGSC3;3O_O!DtC<`w`SjlZu7!LJSS^@pt9 zPwS0e7l;+wGW!pA*P9TIsW(vD>`9Nr%>^^PvYwcAfymk$*9thdo&fE%6(I@)sU&&o zLuT*0VdIAeu}nkzd5*g+tmC%Zk%B~#qC}D}7OeEeVe<$LqR%ZZ@_oG<&<+CDtil@r zY#<;22MOv8n?PfBED`ud)HDExL)fS4hXSg(k^HJ)r4I}1KQxGCZgH{a>+PD^dnXO! z!a}m=&C&bUY3m%<+4+fp?yyPJX}5{i^rH%#`$N#~I&GcqxWkV?{$;ffr$3cGFs$#U zK+xb#6HQ7t>gO4@`|A=PID}A33MzqKpaPnBD$n#UV>=iWZ$CSOUjth3*L`ki9|)L- z7gAkcgrz>2c3EfeG0DI3e*pn&N>4vK%ahr`u)h23;z}R7AqEkHsA?cq#K>5P6o@{1 z^C2GGCn(Gnjavs&U8{pUuXQ(_T=D&9NpyrA^R;%>0zscoHF5gA?Ac!Xd!#^QhRf>& zomMSq;KctF7LN`{`Te>Ef99;eF?``i#*D*l5-wp=TBL? z^oD>lS^>f!ugF{7Pexi1OWmQ9=xHs8eF5CjpX$CdNH|+5p9vppBu#A+Mv>N(<3_8> zvA!auh#;|?WNZV>0n)Ci{*t?}eR`uHrb5cGcC^`cF^DKGpUpniX4=P! zh!rtjKaos;5J(^@9HLWwx z*;`s!VjJX=yw&}5q(LmTH=Rd#t0h zGskV!?T!(({fOn-Jj+34#sIs6o$WnW@P%wWzMtnK+0YzeLObr^ydUGr@;@e+$SI-~ z6JjGiVi0jb72$%a5lOeIO{9j#3T^86!}f0%HOC{ii zw)|{?*}XJVv)2*1<#VZBegV=&)is~nI;^hwIdVAblvhg%{bl;!U=g^Wkm`9k(gjt< zF0Gevd3pjrsRA5R(es`prMZ!23u|K zyTz>%W=(wPG;GNB*b&BEg;eh?VWWixvAa~Zix&!7v&Z>_r*OlDZn52%TnG-%w5Bi2 zan6pgQR)H_IPI$x&z6T(lYh)OY!}81R-z*DEyLo~dG-c>We9!M4Pw-Dp9bf_)!fjL zCfSfmdNZubcR8kq8wu4gh(>}%xlIgWsTNiH4C P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage1-2/assets/icon/y.png b/src/page/LinePage1-2/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage1-2/index.css b/src/page/LinePage1-2/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage1-2/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage2-1/Component/TitleBox/index.tsx b/src/page/LinePage2-1/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage2-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage2-1/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage2-1/assets/icon/alarm.png b/src/page/LinePage2-1/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage2-1/assets/icon/defect.png b/src/page/LinePage2-1/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage2-1/assets/icon/inputAndOutput.png b/src/page/LinePage2-1/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage2-1/assets/icon/num.png b/src/page/LinePage2-1/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage2-1/assets/icon/y.png b/src/page/LinePage2-1/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage2-2/Component/TitleBox/index.tsx b/src/page/LinePage2-2/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage2-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage2-2/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage2-2/TopP.tsx b/src/page/LinePage2-2/TopP.tsx index e7c7a64..3c9a765 100644 --- a/src/page/LinePage2-2/TopP.tsx +++ b/src/page/LinePage2-2/TopP.tsx @@ -1,6 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; - +import "./../style/linePage.css"; function TopP() { return (
diff --git a/src/page/LinePage2-2/assets/icon/alarm.png b/src/page/LinePage2-2/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage2-2/assets/icon/defect.png b/src/page/LinePage2-2/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage2-2/assets/icon/inputAndOutput.png b/src/page/LinePage2-2/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage2-2/assets/icon/num.png b/src/page/LinePage2-2/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage2-2/assets/icon/y.png b/src/page/LinePage2-2/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage2-2/index.css b/src/page/LinePage2-2/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage2-2/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage3-1/Component/TitleBox/index.tsx b/src/page/LinePage3-1/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage3-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage3-1/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage3-1/TopP.tsx b/src/page/LinePage3-1/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage3-1/TopP.tsx +++ b/src/page/LinePage3-1/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage3-1/assets/icon/alarm.png b/src/page/LinePage3-1/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage3-1/assets/icon/defect.png b/src/page/LinePage3-1/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage3-1/assets/icon/inputAndOutput.png b/src/page/LinePage3-1/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage3-1/assets/icon/num.png b/src/page/LinePage3-1/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage3-1/assets/icon/y.png b/src/page/LinePage3-1/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage3-1/index.css b/src/page/LinePage3-1/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage3-1/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage3-2/Component/TitleBox/index.tsx b/src/page/LinePage3-2/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage3-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage3-2/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage3-2/TopP.tsx b/src/page/LinePage3-2/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage3-2/TopP.tsx +++ b/src/page/LinePage3-2/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage3-2/assets/icon/alarm.png b/src/page/LinePage3-2/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage3-2/assets/icon/defect.png b/src/page/LinePage3-2/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage3-2/assets/icon/inputAndOutput.png b/src/page/LinePage3-2/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage3-2/assets/icon/num.png b/src/page/LinePage3-2/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage3-2/assets/icon/y.png b/src/page/LinePage3-2/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage3-2/index.css b/src/page/LinePage3-2/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage3-2/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage4-1/Component/TitleBox/index.tsx b/src/page/LinePage4-1/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage4-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage4-1/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage4-1/TopP.tsx b/src/page/LinePage4-1/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage4-1/TopP.tsx +++ b/src/page/LinePage4-1/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage4-1/assets/icon/alarm.png b/src/page/LinePage4-1/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage4-1/assets/icon/defect.png b/src/page/LinePage4-1/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage4-1/assets/icon/inputAndOutput.png b/src/page/LinePage4-1/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage4-1/assets/icon/num.png b/src/page/LinePage4-1/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage4-1/assets/icon/y.png b/src/page/LinePage4-1/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 zcmYLLc{tOLAKzzl%h};drfo(jN2^@PIoHxqC`L)HxzCb&j>ymo&4e&)jvUFA4wcfr zlRLT1SxAm=X!!E`{hsgd{XDPdbv&>4^ZxgJ@6tuI0G}iu2m}%^H8Hf>W9UA3xIiF) zBf{*)p5buQ!{~uP)oJ|f>zsQY?`mgy3xffj*wZ{94nPvLp8|V04@mv1jRAQOOJAM$^_U;R*?vc5;WekS&TAkY!SJ^)iI`10O; zgsGvPjU8`pmic`L^x=eETKFH-h|Z~I7yL~Lv|h&1B+fw)KXfSl5#qjGI;Yj4BTBJ$ z(DX}k{KASH`u5N(B2tHh`43%!L%C$(!XanGVXp~aV>eVux7V9}$FAKi@v&@1*2564 zW8riDH{u&r{i^2u)A+_^UURSebxXS^+z;cQ;7>@_3c$ z>PG%oxNF#q2%|>6vaOdkJ@bi!VJDM2YsZSdhny-KVbe0`gW(l6USu53-l)5+I|yUi zRKeJ`wp?0dE_gn`}9c{*lmM>zpEPER8V)uT`*cd zSa_Y36^DWiUpPwRoT%>|mTD5tZne@y*s4m6iYZWhPITh>+>8gTXOqT0%rzaWVC%2@mBW|M zu4iR5YB08)rBt_OQUu%kJ*5>;>kvEt#!SWRXIkCVn&$1BJ6i=-x$af+pDZU!tdlg7 zmk?mect0gh@JqF6Ql-bjF8xZVSo?GrSlIq@ZKQ+gx&dKcb}9lK$V3NyC@k#^ zP$qDs-d(9@2N&mUP)=d1MUq31+ff2rQJ{GG%F++Ui?I(;T9vaCcZ$rngV*c-tjZf& z=un%!rxtdcKt7uSj`ka0OHM8meU%pf0`Q5*x=Ok-1!1 z33Z2k7>#UKeKGF*rd7nTvn?#4{lj67mQ>ZsRZTcl4fl4+r-V9MT4^SjFK+*!?6OSR zOO1XPvZN+Uv#K$=QOMJr{u(0Oh`P|5M2MG~BuQi5X0n}skF)E=I1Ojg0>9y>v%4wp zc#wXbe2Ha7K!6MLIk)6)B5GjjZy#wMg_t0&+CDp5H64t&jNu>6e6%s!*O;o_HiT!Gy&ddxMInXWZ18}Ibe^%;1`Y|*U_QRlx8ty{r{oS*Z;@8H5cKjq z=k>rE!Y9f#ijxyzVv!*SQEZ#V*3f8LPp5x9_;u&=sZBHK`Kh>)7J?A-^yrUO_cimS z9P(>Ol`TK|V%)6bPP5q1BpI?TxK*qM!U@@VTFAHg#Ige1XH{`iIe(ShROUt7+;`*7 zS=R(RXeM2M@B{Yy&u?d?EQgJg=*7YtmZYFkspIg6{?jj8MMG0khj^NZ2{I#yck`U` zrf|`Yxn61Ume1zCrPU|uGtPe0OiSn0Z%q)^mf@B?5b^B7bLAb#khdt~WM)mNq*ai} z%=^LvUyMc%oTMBx>JsOxMB}?DdAOnX{vbLToWWX@j$j>q^MYHa5?Q$ zzHA=q5w-W$0M+=#1>C{+;xT}O%9<>3JvvMs3Q>Ti-^el)f;H2+hz)gBEn3|om^HN^ z{se|VcDoPBOT*hbgk3`$l*C>|tGpM1EKpNX%poHz)t4wHYP&r2jY9=Zwcl23xJP=H zRxl;S6ZD?w5Ud*_^)|gzA2{|D2%J7BS%$5Re;rH+KIg=J-Ajc9IL#Ibv0?&y!NPa) zMCwwib=xQd6D-XYs2EHMaPe|}^m3q(3vx`6_R>#G>zAIZRY^XjO6;`*SD6RNu#4I0>}Up{)*!Nm zCEYqc)&?rtM7tOD$aiuJKDOyArIsU)HxvUpOmv=sf6ZH0#0YsC;=I_({hnXxnD7Gx zGrEIyyL1~XV>2bJdt;*1LT{UA{0rJD%pm`;{6~*a-sD%OOzw*HEK9z#^@BRb05#)H zpSZD>*jzHsE3eLN8dn&9&0jaDPK?IDdD~h^`6{RP#;?7rVe{SKsy19s*Hd5tl zt=J0U)UvJif1F-tSEvb=YgP>W7G;nji!3-a(ESgyNrAl1#pZyo@mKlZ#(i>&GB$dWJcR^PAJezA4~9 z&c34^Wx*PW^5qL;xt*MM2CP=Dqff7HsGeQeeEcf}BW38V-TwQ0@)5(M; diff --git a/src/page/LinePage4-1/index.css b/src/page/LinePage4-1/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage4-1/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage4-2/Component/TitleBox/index.tsx b/src/page/LinePage4-2/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage4-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage4-2/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage4-2/TopP.tsx b/src/page/LinePage4-2/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage4-2/TopP.tsx +++ b/src/page/LinePage4-2/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage4-2/assets/icon/alarm.png b/src/page/LinePage4-2/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage4-2/assets/icon/defect.png b/src/page/LinePage4-2/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 zcmV-E3c>Y>P)Px;_(?=TRCr$PT77I)XBmH<_uPBiQUMtQx+F4I0TIMCSv&aSF!fm zji{Gy$%t?#-<0iJ&%xOYfSUmLd;kLZ<9_5fW5_x1V+`vzU)t>fN@iSNR18Dac(~k0AB^7 zaNwikGJf#!UetneBU!9BKokMgS5~FF??v zF(xMgP?Ka}6Q?1@a2^pc37m=qagThG`@#=k2nWi_5}mI?bua!Gm7PSfzmE4T=gfHoINwS@cbgQFkt1*!ipQYg z5UxB^42&5EB1uDcKz8JtK(L*N-zB)O7Ee=wfGbJ_sBjq>ZaZ97^ZP=R*hUoZ9XtCB zXZ(i<5O+mX{sSeh0LMDxtJb*y-V{UCk{w(=&Yc|yw1tSz(zAC%SqxT1ggIy_lA?k5 z&jewzy`tt^v6a;4n{#LG=L8)9G{@H(2?j%WG##res24XpBAPOT57^vpLxhK29_xup zvG>(p)51%M9te2Nf>=Xm`N!XxDhM7J_B+i){17M3{O1E8gR>1*-HM%ve6nZW5FlL6 z9?e{A>jk2T&Q*bv z>EWCbLNrwrGQi#G_$Obup+GcduGVlT_Z$K}MaXA+$cIvxUS;hH5Sjga6^Ddjb8q&?bvOM!6qWIyh(+^(2R_L7KHtR zM;!@JJcjE#;Vzk|E|oj^Z2~ftm?(7Go&+CVK1}K#G zeOe$8@jThVr;d&gME6<(Rvuf{g-hO@HW2pPUjgDT`#=a&=6uGgPfRA5Ma6RC$ly}| zw1+rV`25#A*KW|P3e|DQFbS@D1yrz#lzM_dWvu#jtQnXt5KZ=}79yuTyeNxeb1DvC zZ8qQY3j(omc<>1VIv_PrxF8z=P7?6r2vh|G>j>#iy|UsuPb`&f))~V1dnjZjKyE}> zv3t7`HOHn4M9My~6^Ql+Gy?I1POE-y$<%1cTv;;aKxw`qScnqFQmoNI4e%MYT zb~H1vg9G0Mc>g~qLs+HHZph-0p=6HPzAEOLzN5q3k@(idSMR% zY?oXM`hAl+^4RqdN-+$#$q=1b!n&s&YfoP<7|r&H&7Am4fuc?>#p9i^)xRqVh{o)t z6;94MEgpvWN_XX=O~nS*G=8DM&XHRwDp54Ng03x;!7**O$77QIf+2P{B$lNL+2P5? z(n{~n9d<^J13-=THX`DXa*VM>X&i8>}f!WFvsvv*0by{nG zQf&N_`iSK4`)?4^gMg5;Vpc;}VqwAj-k9y_;GCMxXz&Im=4EuC1C1E7UlOE`=VFnr zAVD`Gog;?VfYSm*S_ueWltxcwpHP_(h`;W%);v)R1P`=)7jDd6d5ihmonM}S3 zg&n9*9Sw#VWxgk2NI&}+Tl?Hp^hJYI&|27(RVpcvW==nN;SLZJC_NTHfT zRihFN!!sD=x33H44wh`?n|5^01|#T9b5COsYHQ!P0^yuO-p|s z>;C}|-vI<=I>ZI9yt|E6*BdXwQu`Cr$1=o?4V(aIK|sU3$FP`sdW6&m0DCRA@Wpnl z9xWAwf*KKiSWBjVi4FX50=^yrmJ&eRb%=7Xat%G}EE}faHVB#Uk!r6}9lPiJK850a zc=t+m9sO}=u(=I@1Ax#A0H=^qM+emZtyq`37&t{EqSyoeU(QEBsFf@Uh}3xBr#QDC zm>30qm)!DBa&SAamdg!sl<$+LyKb3(^Y4=s(^TV%a_*}E^0}OI?-&5jci`GrN{QBz zfJkO~&Vwp%U7_+)q^=jF68fs|sZc00m|bq;o_tlS7GzygYm+vi*I}e&WOyWv_dYaZ zKs081t`N~YwFWW~7%g)NgIrN>UqMaOv(^fF(^i}5*MILp39tv6EZZdj6L-sf7b^dukL|%sc2N<11jPx*UP(kjRCr$Pnr&=TWfaH%=l11xL*WBz7{XpU{b0nGhzXbw6QgluLzF}`A|%X2 z69!0F2#TmIASOb>tGvZ%HV~tr0b#I?#Hc|LNiZQqKN#0;fCvH+9I)PYy??#k3b)YF z-rIJA#Oy_w*Ea6qIs1t%k%jBqj{?MCU8#z2=w zO|)ZlT#wg+d`KYQdc?DNmv7`B12xz5Yer1ssk^$gOH&Edf*6%1=mR3sq2zRCcMWBK5HAHC|tCsC+5b4e&lk4{d0};?d4;sM>@iKus z?K>)`MX=SaU~{wAf5g6?8%yRD#3Y^=8quOt2u>&QNZy?mIU?X@uPR%2iT`vy_2&#? zGU@8nI;sG@7T`n@-h4XP$6nVhz&?sJm3U=Wqf|t4wP_nfjn;mj&iHgvrV%X3)e+nB zBIgCz=5i@bdpzX_?CP-vA`l5JCppiq(L%|I$ag`X{|P(#ZGvcPCQ)O@U?F7$@>h$m z;%*V4RXesoOlI4VPED2(con2A9abI9v|a>zJ#@|5T~r>=@6J%yCg%bAoF5j$HKR1i~=fK)Qd5w$}@}h-7gt&RCKa#1vrV9qORPTV&WJOR{Me zTLv+nCq|$RQyY-;yznCsm2GPocuj7S;cy zRWO!71iCt&gmmvUW(9%lr{bE?s+Rp~HacDlJ+JFn4RE+sXELvs)1qKrQ1ySBVlxtY zS_jvGxF_-4EswW){QEQOySl<6h|p$&)2@gMVgOcn)uP3_W%%W*zs|YA)GoXSU?xe$ zibH7|nTQTx!|f^;ZkNgn$u(7MFF{0K3GhX;oCxZJzRHzW>{IgzN!<;k^0OAMBe;~r;A;aGk@-QNe|f)y zFlES2kBT|XQh6--%oxEhYVEUi=u1G{maTIl@(&;j#;WBXHS}ae;$y&#>#>a>M)##_ z;6WtPLoWSa3k_q`idE*BJw|IVwl$^N=G%>p@1u!F1x!oKf zdOa7xQE|Cvw0O#XGzT7tgeH<)3!wD+l*UoGP#5%6{*WT0g(gndq0Tzu_{cFrwG$C^Q-fqO!lYA;00Le84 z2NCEBeL?UAD^B$^Q=C)p~UBmYe5HD&@vLJJ^xlZ0y7 z-hemD3?BD2dzi(>Upo_6rI1L(0`D4jGa@AxWA+f`?N+s7nfbY~B_51~8&l>K8xVRb z@>T%R+dC9-jWUnO0WCC@I=9%2J(cw>1H$;#T*~yIx1uQ-K_C)ZLvr>l0iv(T(vI^2 zr8Zbp(U_F2iiFmJoMlJX_1kcPOTz)ti`)U>fJm)ACnKDUa55t8F6NYmQyNZbIHhr; z5!dMv$sVDFKZdTql9%^^g1&2DX3$r;-in`=j`I^I$nn@$>CPLi7)`v17Yc;naIre5 zdWQ`A+lo(?Kp2XR^TxB+%fZGu0>cx!kL=4Z;YDq*O;jwK`-Oz@b)v3jvUm&a|tX0IVgY4Qcgm_+*Z}UEuR3Ay7HP4W(Oy* zt+ZPc<3RS=^fj5?nWc!t0jv{s$U7}E^xr~2$a`s|bJF;)6T}*VWhuKxR;So<2rgwt ztGE1@LIEgvMwlIch9`@=wXQ`vFc*Z!_)c-V$C>{i4n)GQlltm}oXB|vd~1yA-(+Vd zumi1NrIF5=Dy`#wK(7bb-m3bSnAc3^@uE&Gwu(Tfs$zLAGr>&{!j6OeCDX4N(O*H? uvEzW~rRIQeK%^FslMzlvI2n<4Q~3|GFiUV;pT$Z50000^j*$BGZ4AnuFe zlPJb{MX8 zr|9ihbY*j7*Xd6>`L6_ppBkqPC-+0Nzfx#MVUL$|xHbHTbKvE=Llvw&8=j~H#g9UG z2>van^v)mL_1--Kv*VJ6zPw~E;IPRm2g#HZ1}}hB{v(cF>v!l;O{zp z)+;)XkMsUe#N-ATCz?7xd)evZ5J# zMdH#QwXlhg`H;X?ZH!{EqQ^>;noL?sD_(;rS1GG2?rmzbJFUgRfjAlCoaW+VYE7hy zPh?6@lFTU-j1e=ymS;q3hj}GZd^6JEc1y=LFYB^}Ou7_i%WdV4X3{4hdV;0T^D|)X zAHRX&p9sC4%3nQ_J5?pCFRRf#m_}1MN~JVQ^qWyv zGcM6x5Im91Y9XC3D4-gRJqvbMY(~gDDi=n_VU`u%S>0naG8+#HfW+`nSGQ8vAn7YA z8Btl;prul`rKHzTBfVeHJpuE?prK<)SM^D32Sn~LXRB%gh;)a@Z-A54M6Jy^z1N*5 z4YoHF0P~mhR5e$3CXzczZV95FV4u@g49 z$UQ<9o`(25+6kEZGh}}w4C`3(PNeMZnkvgLX<-l}->s-UHm1r9mE<_oM`8X6>mD~o zQ41G%e-?9p!vNhK!@3jLwhkAc81_GfpR>XN%9|DSI~UZ* zyp^X|6YWg-U4(Gr{4HYm>;0_6<^|U7;DMdWWodh79*srQOG2a9*DM=`yv!2|-0|Np z_6tb?vm>kvOO(5J%Sx6Lz1OoW8xCYv%qeM2s(mX~WU<&}=?FPb46o32_^0W4EQpqt zRNihtV7z-#CpYAk6t5%|<#ozdo&5sJ1Nt1m*zU;#p6RX?(_M`12{3Us?g?7tR30q= zm8zLhwX*vehs5_=u)DH+VnWytM%aS{5-Se`-2RMMEESm zzfL49@4_K&AnNzP!noYvUwYi$(V!;xm1>0d=Aj*akbVzjpXR-Y6!Qlf_!jZ|6j7j= zs6-UYv}C|Nh&}pFsp|>@=x-FkQl4o54Vc1W7y(vpz_Ofv=z$CaVIUpIbF>b}CCr7M z+UT;VkXS1mn;KZJ;0Wc0-ZqL2Kz*1go8hewXMuYI6>q|8b;0h_$jxaz9(>eN(_7?q zaeh&sA=MrAKv`*YIvfSY@*ZfD{!NU#OJqJ?82vuhz-Qg$MdrWqL#c0iWvkSL73vB{ zvb#O0sQ0Q~&x&q>ykPgX1 ze+#pzg>K(K%RK8=j!)@sJkV5y)Ksy2%qiyjlvg>=2?|RX0?K8n0<88O5~DoD^JoWe zcTz>2o;sar)^2Df-Cu@H^Faf4?ZFUxqzn2RnjzO9&W%c#r}C@*!;-&1?E{Iz`Knitp7{V daQoo@e*qMdq~cR23YP!?002ovPDHLkV1ng5Rh0k$ diff --git a/src/page/LinePage4-2/assets/icon/inputAndOutput.png b/src/page/LinePage4-2/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage4-2/assets/icon/num.png b/src/page/LinePage4-2/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage4-2/assets/icon/y.png b/src/page/LinePage4-2/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage4-2/index.css b/src/page/LinePage4-2/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage4-2/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage5-1/Component/TitleBox/index.tsx b/src/page/LinePage5-1/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage5-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage5-1/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage5-1/TopP.tsx b/src/page/LinePage5-1/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage5-1/TopP.tsx +++ b/src/page/LinePage5-1/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage5-1/assets/icon/alarm.png b/src/page/LinePage5-1/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage5-1/assets/icon/defect.png b/src/page/LinePage5-1/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 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 diff --git a/src/page/LinePage5-1/assets/icon/inputAndOutput.png b/src/page/LinePage5-1/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage5-1/assets/icon/num.png b/src/page/LinePage5-1/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage5-1/assets/icon/y.png b/src/page/LinePage5-1/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage5-1/index.css b/src/page/LinePage5-1/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage5-1/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/LinePage5-2/Component/TitleBox/index.tsx b/src/page/LinePage5-2/Component/TitleBox/index.tsx index dd43a66..6579889 100644 --- a/src/page/LinePage5-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage5-2/Component/TitleBox/index.tsx @@ -1,9 +1,9 @@ -import Defect from "./../../assets/icon/defect.png"; -import Alarm from "./../../assets/icon/alarm.png"; -import Finished from "./../../assets/icon/finished.png"; -import InputAndOutput from "./../../assets/icon/inputAndOutput.png"; -import Num from "./../../assets/icon/num.png"; -import Record from "./../../assets/icon/record.png"; +import Defect from "./../../../assets/icon/defect.png"; +import Alarm from "./../../../assets/icon/alarm.png"; +import Finished from "./../../../assets/icon/finished.png"; +import InputAndOutput from "./../../../assets/icon/inputAndOutput.png"; +import Num from "./../../../assets/icon/num.png"; +import Record from "./../../../assets/icon/record.png"; import "./index.css"; interface titleProps { title: string; diff --git a/src/page/LinePage5-2/TopP.tsx b/src/page/LinePage5-2/TopP.tsx index e7c7a64..0961467 100644 --- a/src/page/LinePage5-2/TopP.tsx +++ b/src/page/LinePage5-2/TopP.tsx @@ -1,5 +1,5 @@ import '../../lanhuapp/common.css'; -import "./index.css"; +import "./../style/linePage.css"; function TopP() { return ( diff --git a/src/page/LinePage5-2/assets/icon/alarm.png b/src/page/LinePage5-2/assets/icon/alarm.png deleted file mode 100644 index eb335f3598be2d528d90760cc70ce0d1e341b5d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmV-D3BvY?P)Px-_en%SRA@u(S#5}%R~0_z&d%3rqm58%^R*bI&=?dCs{A@ADVF&+Ui*19-1J_^x>1K;u7KTdn2+ zMA||?8vt=Vf_#erXF=e^hYHz~qqzQJ8sJj{@D-x$^umQBAmCw=a+eBD_izFN00Kk+ zA_5^`835}-z%#YNEid*0BozSVg?IKzh@O@tZ&Su-L$%TBr3}}W2Sn~W1M-Co;-l5# zEi=~xq$dDGgu{y$en=$0;Z9tcjmkjvWc>%3clVk3(0-|Yhw85@Lg1lVVZ({Fg1Bw~ zBSg82ix-{+phNn!?Fk#x$b^p#8RdZRGM;f>a!>%EEf6267dQT5Eg-HNzV*xbRs&+q07?t@42`fV2!{NI+!Z;aYC%FH-?9LR7qT<*k1cKt7z9 z<@he4!>aBpdkdTHeXTM3A`pBwNv$2HZxdY?KcH&8uUGh1|4 zV7P>k-B~Ywbh@-ObBq8EYlCf#@SgPH<}$$L7A&sIZCyW#*jx$3szYdaVeTmj@>_-` zStVt$Zus3w2mLO-R4;CPR{f;ZnErv3@XdH_2vylLl|2Zb;2HW%Jv;Pr?*JCxe2D-) zXCCYdkv(-wovs?#IDdY;e~Zl*4d5{%c#^LT0#7~1sVA4@CLc0FJX+0dd%9-;`xf8$ z8vxyDV#U&)eJT$f^%Vlm6^ofWkK@L7+{WeR%ok-OwKwAHtxDB$#D$>=Q*|H$@n|hS z_;?Bc-ke9In{=2YD=IHu0ttc2^}^K6e0g!BObC<2&+aUw4v0xR|W_6Je` za9#s&yv-9Mw z@$uro(X|?{nxb-R>Q$2R6CLu~I5sT+=QIG<9`dFI0baeKu;tUEh|yXB>~BsTkuv&8 z81RJNS$!rDE7fcoA+&TZ0wNLD{Ccy?S%RG>iUViYY&@O4nOg0C63GwywU&j9gGnK% z)U&sxkONDz8i4O@HB+Ga_msd46I`L{XJlsKYQW0P)6bElLt1Lv_R|0fR4s(4RMP-Z zYRpC|$%v$79lMcE3SNY))-eU`ceTRcz1=)>pfx!hNm=KG&4J)u9U)cf*^l+^fzr}U zM2bc|M<*H=*CsMqfe3%9=LbKY1TaG9iVMx9zZ1x<_UJ>K>DQa*3jvjCUm5@!GZ9%9 za&9&f!pI8VHkz`aL+l^*{NNp(MQ!pZK=d8m{M(6!83afJ#Lbb6u&Y#4@jzo*hfut~ z^|IHf&_qQgqO;?LTeormpQp*&TdnA?0FaH(i>yrd!vOD?wt|goAg!n39bTo{cSr9@TwYcHtQNB2;y2@SPoCrm?Rsu|RslFj zXKq?nM0B|8 zP|Jp1SRW`_RpPO9JfHvsvBfJgZ_GnMGR3Hn&EME+w{}a4UNUBxWM65$FJyKIj7XJg z-;UlxsI)v4q=Z*=ol}WmfQe<172Bd#G!8(6-f+F%O7L!DcQ&3ufXY}J0Lsf#rjW5o zG-o8&&^y}^%p{&B;hg+Yj*3 zN_>*$>i{2M`7X{k|E%ls>zz+olACdRWlW?5AlCAAQK0;y!jBMn!rLmY-+ddOYgg^N56BH8@7irk^6{Ea3bZW*c-+5_nTcvKnvo)?BeSP5TVw1KYC%m-q zR=ALJLsHe?*gVsTuXC*pKtDeTyN@8MF=pbmzjgXCDdm%nDY_ZV`+*p^WMiJV4|WE7 zC80lXH~1X`t#Ae9npDL|f8> zCfnVOrYmrXVisHP7=mAp;P=OH&l6odF!2Nte9ujh^=*vja=S@PfU%7&ZN&Ox$LszX zR~LZJyS_i>5u$33^_oC9d;;(JRi_7Navim!8WMfd@wlt1d>Xf6=-AT@lG)zcyL@p# zxL0}TS&LlH=SM9}iX-CjBJ3GalfV^O=zf~ojL=>s3tjU*`WiH|;uToOx-7uO-{S5$ j_r;0;R!?m2?Jxfe_|i&(ckEB600000NkvXXu0mjfd7*Sb diff --git a/src/page/LinePage5-2/assets/icon/defect.png b/src/page/LinePage5-2/assets/icon/defect.png deleted file mode 100644 index 76ed17c949fe97444a60668bf472bc1818c3a487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 zcmV-E3c>Y>P)Px;_(?=TRCr$PT77I)XBmH<_uPBiQUMtQx+F4I0TIMCSv&aSF!fm zji{Gy$%t?#-<0iJ&%xOYfSUmLd;kLZ<9_5fW5_x1V+`vzU)t>fN@iSNR18Dac(~k0AB^7 zaNwikGJf#!UetneBU!9BKokMgS5~FF??v zF(xMgP?Ka}6Q?1@a2^pc37m=qagThG`@#=k2nWi_5}mI?bua!Gm7PSfzmE4T=gfHoINwS@cbgQFkt1*!ipQYg z5UxB^42&5EB1uDcKz8JtK(L*N-zB)O7Ee=wfGbJ_sBjq>ZaZ97^ZP=R*hUoZ9XtCB zXZ(i<5O+mX{sSeh0LMDxtJb*y-V{UCk{w(=&Yc|yw1tSz(zAC%SqxT1ggIy_lA?k5 z&jewzy`tt^v6a;4n{#LG=L8)9G{@H(2?j%WG##res24XpBAPOT57^vpLxhK29_xup zvG>(p)51%M9te2Nf>=Xm`N!XxDhM7J_B+i){17M3{O1E8gR>1*-HM%ve6nZW5FlL6 z9?e{A>jk2T&Q*bv z>EWCbLNrwrGQi#G_$Obup+GcduGVlT_Z$K}MaXA+$cIvxUS;hH5Sjga6^Ddjb8q&?bvOM!6qWIyh(+^(2R_L7KHtR zM;!@JJcjE#;Vzk|E|oj^Z2~ftm?(7Go&+CVK1}K#G zeOe$8@jThVr;d&gME6<(Rvuf{g-hO@HW2pPUjgDT`#=a&=6uGgPfRA5Ma6RC$ly}| zw1+rV`25#A*KW|P3e|DQFbS@D1yrz#lzM_dWvu#jtQnXt5KZ=}79yuTyeNxeb1DvC zZ8qQY3j(omc<>1VIv_PrxF8z=P7?6r2vh|G>j>#iy|UsuPb`&f))~V1dnjZjKyE}> zv3t7`HOHn4M9My~6^Ql+Gy?I1POE-y$<%1cTv;;aKxw`qScnqFQmoNI4e%MYT zb~H1vg9G0Mc>g~qLs+HHZph-0p=6HPzAEOLzN5q3k@(idSMR% zY?oXM`hAl+^4RqdN-+$#$q=1b!n&s&YfoP<7|r&H&7Am4fuc?>#p9i^)xRqVh{o)t z6;94MEgpvWN_XX=O~nS*G=8DM&XHRwDp54Ng03x;!7**O$77QIf+2P{B$lNL+2P5? z(n{~n9d<^J13-=THX`DXa*VM>X&i8>}f!WFvsvv*0by{nG zQf&N_`iSK4`)?4^gMg5;Vpc;}VqwAj-k9y_;GCMxXz&Im=4EuC1C1E7UlOE`=VFnr zAVD`Gog;?VfYSm*S_ueWltxcwpHP_(h`;W%);v)R1P`=)7jDd6d5ihmonM}S3 zg&n9*9Sw#VWxgk2NI&}+Tl?Hp^hJYI&|27(RVpcvW==nN;SLZJC_NTHfT zRihFN!!sD=x33H44wh`?n|5^01|#T9b5COsYHQ!P0^yuO-p|s z>;C}|-vI<=I>ZI9yt|E6*BdXwQu`Cr$1=o?4V(aIK|sU3$FP`sdW6&m0DCRA@Wpnl z9xWAwf*KKiSWBjVi4FX50=^yrmJ&eRb%=7Xat%G}EE}faHVB#Uk!r6}9lPiJK850a zc=t+m9sO}=u(=I@1Ax#A0H=^qM+emZtyq`37&t{EqSyoeU(QEBsFf@Uh}3xBr#QDC zm>30qm)!DBa&SAamdg!sl<$+LyKb3(^Y4=s(^TV%a_*}E^0}OI?-&5jci`GrN{QBz zfJkO~&Vwp%U7_+)q^=jF68fs|sZc00m|bq;o_tlS7GzygYm+vi*I}e&WOyWv_dYaZ zKs081t`N~YwFWW~7%g)NgIrN>UqMaOv(^fF(^i}5*MILp39tv6EZZdj6L-sf7b^dukL|%sc2N<11jPx*UP(kjRCr$Pnr&=TWfaH%=l11xL*WBz7{XpU{b0nGhzXbw6QgluLzF}`A|%X2 z69!0F2#TmIASOb>tGvZ%HV~tr0b#I?#Hc|LNiZQqKN#0;fCvH+9I)PYy??#k3b)YF z-rIJA#Oy_w*Ea6qIs1t%k%jBqj{?MCU8#z2=w zO|)ZlT#wg+d`KYQdc?DNmv7`B12xz5Yer1ssk^$gOH&Edf*6%1=mR3sq2zRCcMWBK5HAHC|tCsC+5b4e&lk4{d0};?d4;sM>@iKus z?K>)`MX=SaU~{wAf5g6?8%yRD#3Y^=8quOt2u>&QNZy?mIU?X@uPR%2iT`vy_2&#? zGU@8nI;sG@7T`n@-h4XP$6nVhz&?sJm3U=Wqf|t4wP_nfjn;mj&iHgvrV%X3)e+nB zBIgCz=5i@bdpzX_?CP-vA`l5JCppiq(L%|I$ag`X{|P(#ZGvcPCQ)O@U?F7$@>h$m z;%*V4RXesoOlI4VPED2(con2A9abI9v|a>zJ#@|5T~r>=@6J%yCg%bAoF5j$HKR1i~=fK)Qd5w$}@}h-7gt&RCKa#1vrV9qORPTV&WJOR{Me zTLv+nCq|$RQyY-;yznCsm2GPocuj7S;cy zRWO!71iCt&gmmvUW(9%lr{bE?s+Rp~HacDlJ+JFn4RE+sXELvs)1qKrQ1ySBVlxtY zS_jvGxF_-4EswW){QEQOySl<6h|p$&)2@gMVgOcn)uP3_W%%W*zs|YA)GoXSU?xe$ zibH7|nTQTx!|f^;ZkNgn$u(7MFF{0K3GhX;oCxZJzRHzW>{IgzN!<;k^0OAMBe;~r;A;aGk@-QNe|f)y zFlES2kBT|XQh6--%oxEhYVEUi=u1G{maTIl@(&;j#;WBXHS}ae;$y&#>#>a>M)##_ z;6WtPLoWSa3k_q`idE*BJw|IVwl$^N=G%>p@1u!F1x!oKf zdOa7xQE|Cvw0O#XGzT7tgeH<)3!wD+l*UoGP#5%6{*WT0g(gndq0Tzu_{cFrwG$C^Q-fqO!lYA;00Le84 z2NCEBeL?UAD^B$^Q=C)p~UBmYe5HD&@vLJJ^xlZ0y7 z-hemD3?BD2dzi(>Upo_6rI1L(0`D4jGa@AxWA+f`?N+s7nfbY~B_51~8&l>K8xVRb z@>T%R+dC9-jWUnO0WCC@I=9%2J(cw>1H$;#T*~yIx1uQ-K_C)ZLvr>l0iv(T(vI^2 zr8Zbp(U_F2iiFmJoMlJX_1kcPOTz)ti`)U>fJm)ACnKDUa55t8F6NYmQyNZbIHhr; z5!dMv$sVDFKZdTql9%^^g1&2DX3$r;-in`=j`I^I$nn@$>CPLi7)`v17Yc;naIre5 zdWQ`A+lo(?Kp2XR^TxB+%fZGu0>cx!kL=4Z;YDq*O;jwK`-Oz@b)v3jvUm&a|tX0IVgY4Qcgm_+*Z}UEuR3Ay7HP4W(Oy* zt+ZPc<3RS=^fj5?nWc!t0jv{s$U7}E^xr~2$a`s|bJF;)6T}*VWhuKxR;So<2rgwt ztGE1@LIEgvMwlIch9`@=wXQ`vFc*Z!_)c-V$C>{i4n)GQlltm}oXB|vd~1yA-(+Vd zumi1NrIF5=Dy`#wK(7bb-m3bSnAc3^@uE&Gwu(Tfs$zLAGr>&{!j6OeCDX4N(O*H? uvEzW~rRIQeK%^FslMzlvI2n<4Q~3|GFiUV;pT$Z50000^j*$BGZ4AnuFe zlPJb{MX8 zr|9ihbY*j7*Xd6>`L6_ppBkqPC-+0Nzfx#MVUL$|xHbHTbKvE=Llvw&8=j~H#g9UG z2>van^v)mL_1--Kv*VJ6zPw~E;IPRm2g#HZ1}}hB{v(cF>v!l;O{zp z)+;)XkMsUe#N-ATCz?7xd)evZ5J# zMdH#QwXlhg`H;X?ZH!{EqQ^>;noL?sD_(;rS1GG2?rmzbJFUgRfjAlCoaW+VYE7hy zPh?6@lFTU-j1e=ymS;q3hj}GZd^6JEc1y=LFYB^}Ou7_i%WdV4X3{4hdV;0T^D|)X zAHRX&p9sC4%3nQ_J5?pCFRRf#m_}1MN~JVQ^qWyv zGcM6x5Im91Y9XC3D4-gRJqvbMY(~gDDi=n_VU`u%S>0naG8+#HfW+`nSGQ8vAn7YA z8Btl;prul`rKHzTBfVeHJpuE?prK<)SM^D32Sn~LXRB%gh;)a@Z-A54M6Jy^z1N*5 z4YoHF0P~mhR5e$3CXzczZV95FV4u@g49 z$UQ<9o`(25+6kEZGh}}w4C`3(PNeMZnkvgLX<-l}->s-UHm1r9mE<_oM`8X6>mD~o zQ41G%e-?9p!vNhK!@3jLwhkAc81_GfpR>XN%9|DSI~UZ* zyp^X|6YWg-U4(Gr{4HYm>;0_6<^|U7;DMdWWodh79*srQOG2a9*DM=`yv!2|-0|Np z_6tb?vm>kvOO(5J%Sx6Lz1OoW8xCYv%qeM2s(mX~WU<&}=?FPb46o32_^0W4EQpqt zRNihtV7z-#CpYAk6t5%|<#ozdo&5sJ1Nt1m*zU;#p6RX?(_M`12{3Us?g?7tR30q= zm8zLhwX*vehs5_=u)DH+VnWytM%aS{5-Se`-2RMMEESm zzfL49@4_K&AnNzP!noYvUwYi$(V!;xm1>0d=Aj*akbVzjpXR-Y6!Qlf_!jZ|6j7j= zs6-UYv}C|Nh&}pFsp|>@=x-FkQl4o54Vc1W7y(vpz_Ofv=z$CaVIUpIbF>b}CCr7M z+UT;VkXS1mn;KZJ;0Wc0-ZqL2Kz*1go8hewXMuYI6>q|8b;0h_$jxaz9(>eN(_7?q zaeh&sA=MrAKv`*YIvfSY@*ZfD{!NU#OJqJ?82vuhz-Qg$MdrWqL#c0iWvkSL73vB{ zvb#O0sQ0Q~&x&q>ykPgX1 ze+#pzg>K(K%RK8=j!)@sJkV5y)Ksy2%qiyjlvg>=2?|RX0?K8n0<88O5~DoD^JoWe zcTz>2o;sar)^2Df-Cu@H^Faf4?ZFUxqzn2RnjzO9&W%c#r}C@*!;-&1?E{Iz`Knitp7{V daQoo@e*qMdq~cR23YP!?002ovPDHLkV1ng5Rh0k$ diff --git a/src/page/LinePage5-2/assets/icon/inputAndOutput.png b/src/page/LinePage5-2/assets/icon/inputAndOutput.png deleted file mode 100644 index 113ed13c16867d83248332c6f38b976481111b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 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 diff --git a/src/page/LinePage5-2/assets/icon/num.png b/src/page/LinePage5-2/assets/icon/num.png deleted file mode 100644 index e77c4098bc93caa846c3cfbd6d2c2d40091e588b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2151 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 P00000NkvXXu0mjf{bcL% diff --git a/src/page/LinePage5-2/assets/icon/y.png b/src/page/LinePage5-2/assets/icon/y.png deleted file mode 100644 index 72c796a1eea8c884c76a8b7dc574e0e1db779d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2299 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 diff --git a/src/page/LinePage5-2/index.css b/src/page/LinePage5-2/index.css deleted file mode 100644 index 1a28491..0000000 --- a/src/page/LinePage5-2/index.css +++ /dev/null @@ -1,264 +0,0 @@ -/* 顶部 */ -.block_top { - width: 1920px; - height: 94px; - background: url(/public/svg/topback.svg) 100% no-repeat; - background-size: 100% 100%; - opacity: 1; - display: flex; - justify-content: center; -} - -.block_top_title { - width: 651px; - height: 77px; - background: url(/public/png/topTiltle.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 18px; -} -/* 中部 */ -.block_bottom { - width: 1920px; - height: 966px; - padding-top: 20px; -} - -.group_left { - width: 402px; - height: 966px; - margin: 0 0 0 24px; -} - -.group_center { - width: 1041px; - height: 966px; - margin: 0 0 0 15px; -} - -.group_right { - width: 401px; - height: 966px; - margin-left: 15px; -} - -.left_up { - width: 402px; - height: 332px; - background: url(../../../public/png/rect/lp_left_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.left_down { - width: 402px; - height: 599px; - background: url(../../../public/png/rect/lp_left_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.center_up { - width: 1041px; - height: 562px; - background: url(../../../public/png/rect/lp_center_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down { - width: 1041px; - height: 368px; - margin-top: 17px; -} -.center_down_inner { - width: 513px; - height: 366px; - background: url(../../../public/png/rect/lp_center_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - position: relative; -} -.center_down .left-box { - margin-right: 15px; - position: relative; -} -.center_down .left-box .alarm_num_title { - position: absolute; - left: 220px; - top: 22px; - font-size: 13px; - letter-spacing: 3px; - color: #fff; -} -.center_down .left-box .alarm_num { - color: #52fff1; - font-size: 40px; - text-align: center; - font-family: PingFangSC, PingFang SC; -} -.center_down .right_box .chart_box { - width: 100%; - height: 310px; - margin-top: 10px; -} -.right_up { - width: 401px; - height: 257px; - background: url(../../../public/png/rect/lp_right_up.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; -} -.right_down { - width: 401px; - height: 673px; - background: url(../../../public/png/rect/lp_right_down.png) no-repeat; - background-size: 100% 100%; - background-position: 0 0; - margin-top: 14px; - position: relative; -} -.left_up_switch { - position: absolute; - right: 10px; - top: 12px; -} -.left_up_chart { - height: 275px; - margin-top: 10px; -} -/* 左侧 */ -.left_down_title { - height: 18px; - justify-content: center; - margin-bottom: 4px; -} -.left_down_box1 { - width: 56px; - height: 13px; - background: url(/public/png/leftbar.png) 100% no-repeat; - background-size: 100% 100%; - margin-top: 2px; -} -.left_down_box2 { - width: 56px; - height: 13px; - background: url(/public/png/rightbar.png) 100% no-repeat; - background-size: 100% 100%; - margin: 2px 0 0 0px; -} -.left_down_text { - /*width: 40px;*/ - height: 18px; - overflow-wrap: break-word; - color: rgba(1, 207, 204, 1); - font-size: 18px; - letter-spacing: 5px; - font-family: PingFangSC-Regular; - white-space: nowrap; - line-height: 18px; - margin-left: 18px; - margin-right: 16px; - text-align: center; -} -.left_down_content { - height: 160px; - /* padding-bottom: 5px; */ -} -.right_down_content { - height: 185px; - /* padding-bottom: 5px; */ -} -/* 滚动表格部分 */ -.dv-scroll-board .header .header-item, -.dv-scroll-board .rows .ceil { - border-right: 1px solid #0d1728; -} -.dv-scroll-board .header .header-item:last-child, -.dv-scroll-board .rows .ceil:last-child { - border-right: none; - border: none; -} -/* chart图部分 */ -.luoyang-chart-tooltip { - background: #0a2b4f77 !important; - border: none !important; - backdrop-filter: blur(12px); -} - -.luoyang-chart-tooltip * { - color: #fff !important; -} -/* 三维页面部分 */ -.center_up .model_name { - position: absolute; - left: 0px; - top: 0px; - z-index: 1000; -} -.center_up .model_info { - position: absolute; - left: 100px; - bottom: 0px; - z-index: 1000; - width: 841px; - height: 62px; - background: url(/public/png/lp/line_part.png) 100% no-repeat; - background-size: 100% 100%; -} -.center_up .model_info .reset_btn { - position: absolute; - top: 20px; - left: 40px; - width: 140px; - height: 40px; - cursor: pointer; -} -.center_up .model_info .title { - display: inline-block; - width: 361px; - text-align: center; - font-size: 32px; - color: #fff; - letter-spacing: 5px; - position: absolute; - left: 241px; - bottom: 10px; -} -.center_up .eq_detail_info { - position: absolute; - right: 0px; - bottom: 0px; - z-index: 1002; - width: 240px; - height: 110px; - background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 15px 0 0 15px; -} -.center_up .eq_detail_info .left_name { - display: inline-block; - width: 95px; - height: 28px; - text-align: right; - font-size: 18px; -} -.center_up .eq_detail_info .right_value { - display: inline-block; - height: 28px; - font-size: 18px; -} -.center_up .eq_info { - position: absolute; - z-index: 1002; - background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; - background-size: 100% 100%; - color: #fff; - padding: 10px 15px; -} -.center_up .eq_info .eq_info_inner { - height: 24px; - font-size: 17px; - white-space: nowrap; -} diff --git a/src/page/TestPage/index.tsx b/src/page/TestPage/index.tsx index c615bd4..0f65d18 100644 --- a/src/page/TestPage/index.tsx +++ b/src/page/TestPage/index.tsx @@ -1,5 +1,5 @@ import "./index.css" -import LinePage from "../LinePage"; + import {useParams,useNavigate} from "react-router-dom"; import {useEffect} from 'react'; function TestPage() { @@ -30,7 +30,7 @@ useEffect(() => { <>
TestPage Line{LineID}
3434
- + {/* */} ); } diff --git a/src/page/assets/icon/a_g.png b/src/page/assets/icon/a_g.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c5cc1b8c9128131630d18b6b67d94905edad22 GIT binary patch literal 595 zcmV-Z0<8UsP)Px%4M{{nR5(w~l+SC_KorNnFDo^(dfZIZL%~A}u7}diW@*76;6YJnK~b#N_H6$L z{{`>u#e)^aLkkrJ3;qD1o88ib3iTlLpiOpVrSCE%??dwDz0VA} zO1@^`3UY#gEvj_v8H4yk9vCsrQVdi();fshQeox|uh^Q`VC}b@in`bVpr40=jRK~( z$AaBKqN=RN04_gg;;6B;(jbLwws$1$!N^AI7U!^p}V09o;3|AJ(ZDsGn>dLNs7T=``G5c|YgRCDKu&1gCnl|bCP=(YWiF2u z!*+b2#xubEj#--M+hZ*Pw2}_;k|$cL8oa|Od<|uM_$No;y|ZReeoE*L>~TBxT_#>j zG?{6kUi6PxjQg4uj2 hl&!Dnrtr6h!N2+IvDt?R8V&#e002ovPDHLkV1l?!9h?9F literal 0 HcmV?d00001 diff --git a/src/page/assets/icon/a_r.png b/src/page/assets/icon/a_r.png new file mode 100644 index 0000000000000000000000000000000000000000..9e34aa5d70d58fd0f30b68517e0d519acf68c2bb GIT binary patch literal 550 zcmV+>0@?kEP)Px$;7LS5R5(w)l)q2aP!z|%-`m8^-S}RMgS4d%1cQkr{zzQJ0TPIbxXLX5ga3lN zEDma79App&N&JyGNHh#QUdzJk4TjyhJ$f&FU|VnF#M#>Oxi|OT^EroTghUf}%rB;+ zt-n)jfuaA^f|;Ikf)WP{5P53>a*@M)V+^0{C;$=pKLAWu$sMG6hJe_0;}sJ6D}T@z zwWA0gGSe?lKmj~N{s2JOICF+nCj<(+qeT8A0MD8itG-v6>UBzzoI~+zA3)#$b9m<` zDRKWXgijsN@o&l+B@UjTEH89|N*%Qx+_m5gK)D2O@;PtUR`F*z(QxjKF zmfIFkYLU(W_!r%rdpX*ZaCbRrY-JaP02*IryNPOZ@-#)b` z_U}Tl`On8D<~h{w$M$>!FzcwwHdB3#684uszUi#B$TB4go`dC;Zcy!>L9PE=Gf6I4 zi8(kp>Xsr5Y+EqP*W6Mh7XuWYX*9qqCOP<-yQDBJYg*UDI#a#cmLl$j5M_pdS0xLu zOgKEu>QY3$866KAw|>P`ubfH|_NGB)22`^E0x4&h9qx>!Fr#k4@rD~r^&(}ecO9j& o!_yh6oTEhj4*=~rc86^J2EV4E=R+`aSpWb407*qoM6N<$f(^a&y#N3J literal 0 HcmV?d00001 diff --git a/src/page/LinePage/assets/icon/alarm.png b/src/page/assets/icon/alarm.png similarity index 100% rename from src/page/LinePage/assets/icon/alarm.png rename to src/page/assets/icon/alarm.png diff --git a/src/page/assets/icon/defe.png b/src/page/assets/icon/defe.png new file mode 100644 index 0000000000000000000000000000000000000000..b384dd8b32bbe241f78fab9952f20d00d6ac5131 GIT binary patch literal 2763 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 R6uJNa002ovPDHLkV1jm!Cp-WE literal 0 HcmV?d00001 diff --git a/src/page/LinePage/assets/icon/defect.png b/src/page/assets/icon/defect.png similarity index 100% rename from src/page/LinePage/assets/icon/defect.png rename to src/page/assets/icon/defect.png diff --git a/src/page/LinePage/assets/icon/finished.png b/src/page/assets/icon/finished.png similarity index 100% rename from src/page/LinePage/assets/icon/finished.png rename to src/page/assets/icon/finished.png diff --git a/src/page/LinePage/assets/icon/g.png b/src/page/assets/icon/g.png similarity index 100% rename from src/page/LinePage/assets/icon/g.png rename to src/page/assets/icon/g.png diff --git a/src/page/assets/icon/input.png b/src/page/assets/icon/input.png new file mode 100644 index 0000000000000000000000000000000000000000..473ecca13a3b97043d7f53323d767384a9646f61 GIT binary patch literal 14222 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 literal 0 HcmV?d00001 diff --git a/src/page/LinePage/assets/icon/inputAndOutput.png b/src/page/assets/icon/inputAndOutput.png similarity index 100% rename from src/page/LinePage/assets/icon/inputAndOutput.png rename to src/page/assets/icon/inputAndOutput.png diff --git a/src/page/LinePage/assets/icon/num.png b/src/page/assets/icon/num.png similarity index 100% rename from src/page/LinePage/assets/icon/num.png rename to src/page/assets/icon/num.png diff --git a/src/page/assets/icon/numBar.png b/src/page/assets/icon/numBar.png new file mode 100644 index 0000000000000000000000000000000000000000..88af564dee8a02f8b83e1e261d6773fd35ed380b GIT binary patch literal 4838 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 ydV2np;o@Kurm*_)*?6;=ce+Hn~#( literal 0 HcmV?d00001 diff --git a/src/page/assets/icon/prod.png b/src/page/assets/icon/prod.png new file mode 100644 index 0000000000000000000000000000000000000000..ab888da7edcf8f10dcc5de4bb2b1b6ed94252847 GIT binary patch literal 5999 zcmV-#7m(Py1DM>^@RCr$PT?v>J)wMpSx`*lR>K-OAprXhoN(c&wAE3DK&=_&SB|2`nMjyDv z4WhvG*h~+b@`y&oC9Wtu1rwC0yhsF>h^Pt5dj>&NASePOI5S<{)iYgn&*Rq8^bEaJ zRd>(w@~$5aL*3=v^Vhxi+_M!zCn--5mDI)Ky--jBs_F`$zyio9z{w{8BgBM=%cVw$ zxg$M1o}H5r6P;md*b#{g$Lj|Wm7Io1gMq;@fN%@|^aB95MS2wg*a`%jL4eIfxDhe& zZqQTywZ-;rR;@z-Fgp_Ip}2880*nLwPwygeU+l5j5pOl*g@-6~HN1bC5<%?*0WHd}3! zPraf8P#cRKPRJerfJ*^D$cNZMwk09}A|T!=<3IWD{GSLAh%tg?s!CI5b??s4jiQyJ z0T3c`yX5HYfEWTGe*tE&7XUXCvfW4+0m29&MR>nR7yzUIAq9|xLjZ_NP2DvHYfNQ2 zb6Yamc&0Pn1cTQHV%jqxiY5|?S@pYi&42QQ6N)0%76pKsSmPK(;c);M;*jxs3Gp2S zwgwq}Dk!jddRf_CJAH+A?yMk>XArsAaAYu!5uAzy-84Y-S6%Clzwz2?(0|eYuKlWm z$N#62x``Ba)BJw@-myc2mAVB5AVeg%;<0G}G!p<^RtPvy2f2*?f}qlC(?xLuA{tz= z*Gs0_M1pRp)geT^VF60P00>1Q zJ>716kpO;fgDx3>UQ`l^MKjB~{nbXhysJ*xv12SM>^cCdBx0WA3NX)vbI4j#L&QfXABUrUkPPIb?UPHpP5? z$F^;UxfSJJMWtT>W1`M~eh};1lX);F4{U8^U>yiT`3r`&J zay~@n1wgGVT}1%TSd{Bmy99R2^wP3T`4C*}wzqx$`A|~W<4Qsq-Quk$G!AP5(zYZ0 zTmZtmo;qdZ@0`-*7=Um*avKmnWMLa?M1Y&Cy#B>biENK{H>_QE3o>CI0Ewwvk}0O@ z2mo+_)h%GnQ>TpyIib@L0LGjDd`{*g{9OfiWys_C#tCul-R7zfJ{eM?G%q8S2AQjY zF{Ygl8Yt#Pjvvj4Q(rjqwEwV6vuyy3J%2^cZHMqt)$6+}gxGACsE$MSL4ZHY!J5~A1;LX79rm)*8kzP{>uS&BW0KrYVz(=YA z3tv2U92ZzJmaG71D&=_e)2v#}{nAd*C*GRx1P!3)0Kh2-kRX7P41F>nPz@zY2@>2{ zoX2Kg%cyW(A-&CQTs(ZcIsE zxSU@qo|KQMSrd&8M}g)7z?p!cq`v6~fFKn?)0XZcfL%aX2MBe*U_($8Urk3`sG*^o zyTm<{fcn~IE<&9Ou9{rt$!pha_5AS7x=jhWsgHgpx3oL(fAf`>Eqv{oOK!=`!VFJz zOBQX)VoYgN(LFq$OID2>y&i#{G=yu@<%GMGxCw9@61)Kdyw#;Nw&ot}p&4JSmar^6 z4~UloQKprYZCl_gaDCA0ADwHw3l=XQ5v|+zR|4>)t_1VWfPl?qJu8MSzxtvt()E>b z1%zd32>@K41-Xe%4_z)*2~E*?NH9fPw#d&@{q0A9cNhuNt9`x?b4@=80 z=tBv5{g%Kx_v!z|W>p$Je z6N`L}i2a?=sPPbhReSxGjY?-dw&;u4 zzQ#ein!>Qxn1`}})T7Ulr~Gl^`5&~VC+!Ld%hGfEJvdNjU+~ z{B}Uyl1bOIf3KTc?e$Ny%81l@HSy?VBznwPrwsWu2Jx1lM|{Fbf7#l!H2|EJGah{E zwdmgZ38pPM)z-`xMn(UABj32O^6#m1AG89(vFIa!l+t)8J09CYNJkiACci$`2EBo5yM0-$-yQ&P+J5oKv#Ji5k(z~EFP3;B1_~(`n*!AguZzf{;8K*nAXcsds?N#(SEd2J=o02bH z3jk_j(h5X4FFk|l_d##q-|aGA6FK9tEvR3JxMy6GszTq8-@nUlUv}!Z7XX~bF`?hC zi|pAuip$oTrycU2Iuv3>`Iqa$Q@G=pR+0d47je~%+|?qj4?Yn)x!PBDkQkMVDYdc4 zrG)sBJ{l^-XkoR_e|xTW`95z?0LCqN{JK3`c06OQfTZofFedaKF>K(kzM}eDayr`+0M6H8x6f=y#N+_q zb_{>hr1{{Gf&CV&xo7g-Edam~=TI zaFvEu7{XcidHjF2)rrH(?G3=GwGUsq`>Sm)ndg8u4a1ZvxJ%?s&)mN)zS5PwRUWa26JO1+EIosO6A3hhnBwt>%(4tZ*;S$hL;)cD&tc-W^Ysu%aL6GcnB8;knqDQuQ-e1G%}Bvgdc)le-9^Pn{9^Q9@^4ax9=#8$;S3$nvoAbcHm?0&-nGt+Ou$6 zn$JBM(hi1nYtR#T)Gi^05nuQFL{xy-te`jG$a%@`*u1{sKEwT0OKrC&;==RI)gF<% z*gGzxgAcq=w`Kc8)8n1{dz&WA9{rE_>&Nq^apMy}I41oG5YA0E5)vCzMrZU;MtMW3OIGtoX@}e>^e!NF9JIx^q{8Ragm*m?=xA3!oji4Mf5d2L>HMC4Q^fpK!JcX9lKM>$_gzVrq0;0 z?jyP$EhCU|xi$3fS`-wciUGa5A$R>CP&0&P;@Y6agEK5kivgk1uxgp0Yvx6RA^P97 z^MKxSYS8I0%(X~Jze{iZu{jzmPgO^lAy7w;8F@0!YKjbD4F4xxe}uHW+7r0Q%2;#i z>wlt@mb?zYM)NnFw=u3C+~Al32!5wFE60brcI{B{0aoVdq|V?Q@7Z4e-R>h(6?6Jw z4A6VT&#u6lSnNbZmg$gP6tr=3)zsPX=yL>cSsGIt1Hd>5Y-Dw5;2%yV(;3?wcWd>= zy05nVl*hel#e5x!;K*S^?!a(dIui)e-%cI){P1A7a9pb0?+q|LX>iwvCPX~H$|L@% zGcwXC%|mXg`fSgZ?L*Owy41D<9gO~?hE-#2Eb>c2vmj(72?u80>GgPmdtbNe)F@*(?8nt<@S-9LM|CkpwDLDnBnt_1^^$R zHWnLA$R-og$JL&|!nS6j)A2&F*by#N-vq$H#`*Olk}$%F7I(P#L$k&P&+i$$dQ={$ZfUyZ3$7~kzeM;(ddisA`jcK=nb5B$9H?a z+}2A|OPj9jyjKF~KYIAD3U(2*Gue(-HyoGF0)o`ABJSG8?=t33<0g|7uCEVz{m)vN zN3ZeMN|7J-iTXw8fKi5@0Ru*lIIm!;2rI;N)H55%FjPfOipr>$>jIen)t)+T*`77XW=O zxM_Ud)_=a4jI2zFvg8J?*aoqrXzFNATuoehKmg=XB$m94TTO`HoMqMH>y}UaK`tg` zdR`+-dl8@;0;mM=Qqb$47>-M4@K`+Zh-<9)H1+-EO^@x`ymfL?1(&=B5O})=ToL88sNm|CD^S8|-ogyr1EEZMFBN@zeY7%C`E1-S=ko&6)OmS|M@2mjG($fTZ73j_c0I~#SICISEi~!Wgk<$=RkJ8bd3FbKQ;vPNYfj2j;UN=5g zf3Rs81*9fwE`yElNJVu`?2G`^%F?@paFQ9VDKH!{LloEBT>)V^`c<KAUI~xEsa^ooo!h447&rPUrS9|?u*=4>F^PJ3qr!*&E z!-}`zgXfk*!_GZWDte!e{B6YzEdVgZ#zMNMcQydRvcxk2@Hj3_3yLI+s`B|hwhKU5 zjywr~H@0raR29}OUh(OghZaqZZ(Q~EK>&nfk&6LwS%v{^2WWIA0BYsvbOtmlC5YrN zL9d@D6}MH4I|O%f@TP4@bV<+`NE*Oe+>i<#qSRRcFudrv4Z!3FLx!WOMDcI7xUYK| z&NWpQ2en10?^-GznwqJ-s6l$20RSzjI0&B*0rytcb6XQk3HtoD(~s$%A#R>0Nc*zK zK_!ii{U87e8K&CN0hk$=el8HbLV#Q+!}on2r@Soa^=HfwkZncO$kH4H$P~n=sNfpd zTCI{+NmHmm?T!q9k%(lTVSeFnz5)oF#8PqOU5K*Xt!H*q;~pf|wtpXOC^uFhLKi{ z`}=VZ1pcj=-2n6r0j?21SXJfqT1ujtYdrJ0ap=B~J$E)%1-&Adwz3vW0Ccp(t*J8# z5qV0Y(XI(m+?#Ew=VFA_=dvy@Bfu)fBc5f&aBm3!PTc>eE(S2(eD08y z?OyY}s?ad2S!FB(z(M#|PTpAza~dQH@nV+*om z5i@zM2#6DActp#Y({-uXLHSqtfP;3)0%d7dIbY`=&-rjomDkS?W?RJ(0GecE{Szh) z2ylzj9HX{oQ^3l`e$RtSGTd;JgK^K#+k>9K!%l{G3;-YO|Kdk{46P==++|X%rSh34 z55L~Yn{RfK7XT?|g7wc>0W2tKQto$>dC|!mX0;7BrX)(;zd?YzGO3hX^%WBkFSfhq zx27j=08*qQOCNGG2#5f}LN!4Ptcq(^8ELnkCSI4|T|jViMoZSgoqkUwTxdty$wXH{ z0N|bH^C?3jdfrJsI=jqHt*@(C@EQQ*-#1QgKupK77PTJ(Kg_=|z{cyv{Vn8-0 zodG?Mels?0GXRn+f~UtPHU$K_GGmhPV$3vKp9uB9aIuQQ{I(8`_rYxIRiO~UN&)DFGOvF{s=HuY;@@rnq)w7&*j3y(9`)-#|I@ojOyDV#R};W$ zw?ZpBLe9Dl0YGbJ^F*=&xlcu;!NA}cK;V&v{G)DGR|((Cw*tXt5MVPAZe*yu7xHw? z6bDx%ymNQkApuB7HV>w*i^qGRpafLa6+nRnkdfvDO9DoS2@#h|jSzE3dU!lLCm|+s dPrvAuVlMyy002ovPDHLkV1l^0T Date: Fri, 6 Dec 2024 17:22:49 +0800 Subject: [PATCH 5/8] 1 --- package-lock.json | 25369 +++++----------- package.json | 2 +- public/wsconfig.json | 2 +- src/App.tsx | 30 - src/babylonjs/AllLinePageBabylon.tsx | 419 + .../Component/BarLineChart/chart.config.ts | 15 +- src/page/LDPage/Center/CenterDown.tsx | 45 +- src/page/LDPage/Center/CenterUp.tsx | 4 +- src/page/LDPage/Component/NumberBox/index.tsx | 13 +- .../LDPage/Component/pieChart/chart.config.ts | 2 +- src/page/LDPage/Left/LeftDown.tsx | 71 +- src/page/LDPage/Left/LeftUp.tsx | 34 +- src/page/LDPage/Right/RightDown.tsx | 21 +- src/page/LDPage/Right/RightUp.tsx | 32 +- src/page/LDPage/TopP.tsx | 19 +- src/page/LDPage/index.css | 153 +- src/page/LinePage1-1/Center/CenterDown.tsx | 10 +- src/page/LinePage1-1/Right/RightDown.tsx | 14 +- src/page/LinePage1-2/Center/CenterDown.tsx | 10 +- src/page/LinePage1-2/Right/RightDown.tsx | 14 +- src/page/LinePage2-1/Center/CenterDown.tsx | 10 +- src/page/LinePage2-1/Right/RightDown.tsx | 14 +- src/page/LinePage2-2/Center/CenterDown.tsx | 10 +- src/page/LinePage2-2/Right/RightDown.tsx | 14 +- src/page/LinePage3-1/Center/CenterDown.tsx | 10 +- src/page/LinePage3-1/Right/RightDown.tsx | 14 +- src/page/LinePage3-2/Center/CenterDown.tsx | 10 +- src/page/LinePage3-2/Right/RightDown.tsx | 14 +- src/page/LinePage4-1/Center/CenterDown.tsx | 10 +- src/page/LinePage4-1/Right/RightDown.tsx | 14 +- src/page/LinePage4-2/Center/CenterDown.tsx | 10 +- src/page/LinePage4-2/Right/RightDown.tsx | 14 +- src/page/LinePage5-1/Center/CenterDown.tsx | 10 +- src/page/LinePage5-1/Right/RightDown.tsx | 14 +- src/page/LinePage5-2/Center/CenterDown.tsx | 10 +- src/page/LinePage5-2/Right/RightDown.tsx | 14 +- src/page/assets/blue-box.png | Bin 0 -> 16029 bytes src/page/assets/yellow-box.png | Bin 0 -> 45737 bytes src/store/LeaderPageSlice.ts | 30 + src/store/UpdateData.tsx | 22 +- src/store/store.ts | 2 + src/utils/index.ts | 56 + 42 files changed, 8534 insertions(+), 18047 deletions(-) create mode 100644 src/babylonjs/AllLinePageBabylon.tsx create mode 100644 src/page/assets/blue-box.png create mode 100644 src/page/assets/yellow-box.png create mode 100644 src/store/LeaderPageSlice.ts create mode 100644 src/utils/index.ts diff --git a/package-lock.json b/package-lock.json index b063eae..77c43c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "babylonjs-project", "version": "0.1.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -27,6 +27,7 @@ "@types/node": "^16.11.56", "@types/react": "^18.0.17", "@types/react-dom": "^18.0.6", + "antd": "^5.22.2", "axios": "^1.3.3", "babel-jest": "^27.4.2", "babel-loader": "^8.2.3", @@ -54,7 +55,6 @@ "jest-resolve": "^27.4.2", "jest-watch-typeahead": "^1.0.0", "mini-css-extract-plugin": "^2.4.5", - "moment": "^2.30.1", "postcss": "^8.4.4", "postcss-flexbugs-fixes": "^5.0.2", "postcss-loader": "^6.2.1", @@ -90,191 +90,328 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.2.0.tgz", - "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==" + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==", + "license": "MIT" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "node_modules/@ant-design/colors": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.1.0.tgz", + "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.22.0", + "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.22.0.tgz", + "integrity": "sha512-W9XSFeRPR0mAN3OuxfuS/xhENCYKf+8s+QyNNER0FSWoK9OpISTag6CCweg6lq0hASQ/2Vcza0Z8/kGivCP0Ng==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.3.4" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/cssinjs-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@ant-design/cssinjs-utils/-/cssinjs-utils-1.1.1.tgz", + "integrity": "sha512-2HAiyGGGnM0es40SxdszeQAU5iWp41wBIInq+ONTCKjlSKOrzQfnw4JDtB8IBmqE6tQaEKwmzTP2LGdt5DSwYQ==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.0", + "@babel/runtime": "^7.23.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/cssinjs/node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" + }, + "node_modules/@ant-design/cssinjs/node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@ant-design/cssinjs/node_modules/stylis": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", + "license": "MIT" + }, + "node_modules/@ant-design/fast-color": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@ant-design/fast-color/-/fast-color-2.0.6.tgz", + "integrity": "sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.5.2", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.5.2.tgz", + "integrity": "sha512-xc53rjVBl9v2BqFxUjZGti/RfdDeA8/6KYglmInM2PNqSXc/WfuGDTifJI/ZsokJK0aeKvOIbXc9y2g8ILAhEA==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.24.8", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", + "license": "MIT" + }, + "node_modules/@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/eslint-parser": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz", - "integrity": "sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", + "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || >=14.0.0" }, "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "license": "MIT", "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -283,155 +420,130 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz", - "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "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" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.0" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -441,122 +553,110 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.2" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dependencies": { - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -564,12 +664,44 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -579,13 +711,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -594,27 +727,28 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", "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/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -626,92 +760,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", - "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -724,6 +781,8 @@ "version": "7.18.6", "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -739,6 +798,8 @@ "version": "7.18.6", "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -750,43 +811,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -803,6 +833,8 @@ "version": "7.18.6", "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -815,15 +847,10 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "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" - }, + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -831,25 +858,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -861,6 +874,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -872,6 +886,7 @@ "version": "7.12.13", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -883,6 +898,7 @@ "version": "7.14.5", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -894,11 +910,12 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", - "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -907,34 +924,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz", - "integrity": "sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -944,11 +940,27 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -961,6 +973,7 @@ "version": "7.10.4", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -972,6 +985,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -980,11 +994,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -997,6 +1012,7 @@ "version": "7.10.4", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1008,6 +1024,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1019,6 +1036,7 @@ "version": "7.10.4", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1030,6 +1048,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1041,6 +1060,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1052,6 +1072,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1063,6 +1084,7 @@ "version": "7.14.5", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1077,6 +1099,7 @@ "version": "7.14.5", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1088,11 +1111,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1101,12 +1125,46 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1116,13 +1174,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1132,11 +1191,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1146,11 +1206,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1159,19 +1220,49 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -1182,12 +1273,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1197,11 +1289,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1211,12 +1304,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1226,11 +1320,43 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1240,12 +1366,28 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1255,12 +1397,13 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", - "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-flow": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1270,11 +1413,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1284,13 +1429,29 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1300,11 +1461,27 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1314,11 +1491,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1328,12 +1506,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1343,13 +1522,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1359,14 +1539,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1376,12 +1557,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1391,12 +1573,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1406,11 +1589,59 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1420,12 +1651,44 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1435,11 +1698,45 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1449,11 +1746,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1463,11 +1761,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz", - "integrity": "sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1477,11 +1776,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1491,15 +1791,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", - "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.21.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1509,11 +1810,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1523,12 +1825,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1538,12 +1841,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1552,12 +1856,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1567,16 +1888,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1586,19 +1908,21 @@ } }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1608,12 +1932,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1623,11 +1948,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1637,11 +1963,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1651,11 +1978,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1665,14 +1993,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", - "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "license": "MIT", "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-typescript": "^7.20.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1682,11 +2012,28 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1696,12 +2043,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1710,86 +2058,97 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@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.20.7", - "@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.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@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.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@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.21.0", - "@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.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@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.21.4", - "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/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1799,39 +2158,40 @@ } }, "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1841,15 +2201,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", - "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-typescript": "^7.21.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1858,49 +2219,44 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "debug": "^4.1.0", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1908,107 +2264,117 @@ } }, "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babylonjs/core": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/core/-/core-6.0.0.tgz", - "integrity": "sha512-lQ0cDwhVrWn9MSf91UsvLbWMpIFW0P1YxNSghUG3yTOaf2ZpKEl9AmTrbN+lMfxkrGdgQQB+Bgd3khc2kkMkrA==" + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/core/-/core-6.49.0.tgz", + "integrity": "sha512-jU/JyqebRqqziNwHLcBYzANrVRd9S55yNZEjejwg2p4I8NRnoBBNgf4wuUVw17UKNHc1v3KD/Vnr5C2+dIWAqQ==", + "license": "Apache-2.0" }, "node_modules/@babylonjs/gui": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/gui/-/gui-6.0.0.tgz", - "integrity": "sha512-oCvDo8u4Z/n5w6ZVlEpTYuaNpFQ1lu6eEz/xSDCcyRND7EqRj+EJjprvaFDz8c+prVEsC1WRMI5swjy/044sww==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/gui/-/gui-6.49.0.tgz", + "integrity": "sha512-ZrfhWpvsva35P4NW/Ox8RiSJJ2RfTwU+azRZQDatWXHg86p8Lxu7oDEOg4ALiMLHn3cYkfDMXv29euLCLKEfxw==", + "license": "Apache-2.0", "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0" + "@babylonjs/core": "^6.0.0" } }, "node_modules/@babylonjs/gui-editor": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/gui-editor/-/gui-editor-6.0.0.tgz", - "integrity": "sha512-nv4V+WVwkb+YwDahTXs1qKwbLcLLo0p8zDRSYiqxTuQ5Dazt9eloqIligV3xuNqqmQVY8jUbF4DxafAbnohy0A==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/gui-editor/-/gui-editor-6.49.0.tgz", + "integrity": "sha512-+GigFovMeIW93CUOppsEOdqYG3rJggIM+UZjkKWLR80FPvgJQyfgguEdoUF6WEzgfakpjSIhrfXg2mOR6KSUqA==", "dev": true, + "license": "Apache-2.0", "peer": true, "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0", - "@babylonjs/gui": "5.71.1 || ^6.0.0", + "@babylonjs/core": "^6.0.0", + "@babylonjs/gui": "^6.0.0", "@types/react": ">=16.7.3", "@types/react-dom": ">=16.0.9" } }, "node_modules/@babylonjs/inspector": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/inspector/-/inspector-6.0.0.tgz", - "integrity": "sha512-XfBxZz9uA9+hr4cVKO//nMb7Vq9j1AiQnHXFVsQMHJmZF6JDqMaIAsmvRn2Pssa9qzdI/ohVlLCRZKPebSL72g==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/inspector/-/inspector-6.49.0.tgz", + "integrity": "sha512-VaQhNLRyzqmBmrcqNHcY0+EIsdNua5yPjw1Ml5dVg8ICedOaQyDGky0oxMHcagHv93Dz80yPOUM/04J6nkIrgA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.1.0", "@fortawesome/free-regular-svg-icons": "^6.0.0", "@fortawesome/free-solid-svg-icons": "^6.0.0" }, "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0", - "@babylonjs/gui": "5.71.1 || ^6.0.0", - "@babylonjs/gui-editor": "5.71.1 || ^6.0.0", - "@babylonjs/loaders": "5.71.1 || ^6.0.0", - "@babylonjs/materials": "5.71.1 || ^6.0.0", - "@babylonjs/serializers": "5.71.1 || ^6.0.0", + "@babylonjs/core": "^6.0.0", + "@babylonjs/gui": "^6.0.0", + "@babylonjs/gui-editor": "^6.0.0", + "@babylonjs/loaders": "^6.0.0", + "@babylonjs/materials": "^6.0.0", + "@babylonjs/serializers": "^6.0.0", "@types/react": ">=16.7.3", "@types/react-dom": ">=16.0.9" } }, "node_modules/@babylonjs/loaders": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/loaders/-/loaders-6.0.0.tgz", - "integrity": "sha512-QXHW+/NnZ+asGGyZzlQyCRWCoM+iou/Btqh7WjTPnqPSz0aw3yE9lMqMm67B3iTmtD9XGuEkZ0fPoDDgsW1Z7Q==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/loaders/-/loaders-6.49.0.tgz", + "integrity": "sha512-Cy5t20wnYDFmKgVvgMWQpxo/eq+gND60hWxtDT/HwXB0FMeVMlNRpqOWpFuGcVdM4tYCP9eYrhQxvwAJZC/dlA==", + "license": "Apache-2.0", "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0", - "babylonjs-gltf2interface": "5.71.1 || ^6.0.0" + "@babylonjs/core": "^6.0.0", + "babylonjs-gltf2interface": "^6.0.0" } }, "node_modules/@babylonjs/materials": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/materials/-/materials-6.0.0.tgz", - "integrity": "sha512-9een1RTJ/aOGsmqaqbtl/MhvXhSdXOflbuE+gW0rOVt/QvXoReSxpOMEis42OkwoL4KohgfAfp09K6TF0T4JLw==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/materials/-/materials-6.49.0.tgz", + "integrity": "sha512-FSdseo+rruhDxOw2IICmW8zcJjPOWifovLB0YeKxSF9NjuRBwl9xtpS0M2YE/jJCSFRZYhTWNRKbIMy+GKzWyQ==", + "license": "Apache-2.0", "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0" + "@babylonjs/core": "^6.0.0" } }, "node_modules/@babylonjs/serializers": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/serializers/-/serializers-6.0.0.tgz", - "integrity": "sha512-rf7hUSdaKvtkcOgyEwi6ay3lNgs0u3NKsojdPjzFRoYnJLlk8ZSXB8p1eXnoOLnbvbYanQqQ/+x0tfK986pE/g==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/@babylonjs/serializers/-/serializers-6.49.0.tgz", + "integrity": "sha512-N6Yuhy2qo2oEWv7bltrcPlWQZUnOiysY1Yft9CVktskJItt78d0EybyQ11YsKS/rldCdC0O71nh142yFNXBRIQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "peerDependencies": { - "@babylonjs/core": "5.71.1 || ^6.0.0", - "babylonjs-gltf2interface": "5.71.1 || ^6.0.0" + "@babylonjs/core": "^6.0.0", + "babylonjs-gltf2interface": "^6.0.0" } }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" }, "node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + "version": "12.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -2016,6 +2382,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2024,6 +2394,7 @@ "version": "1.1.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2031,6 +2402,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2039,12 +2414,17 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2053,12 +2433,17 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2067,6 +2452,7 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2074,6 +2460,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2082,6 +2472,7 @@ "version": "2.0.7", "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -2089,6 +2480,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2097,12 +2492,17 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2111,12 +2511,17 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2125,6 +2530,7 @@ "version": "1.1.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2132,6 +2538,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2140,6 +2550,7 @@ "version": "1.3.0", "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2154,12 +2565,17 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2168,12 +2584,17 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2182,12 +2603,17 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2196,9 +2622,14 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -2207,73 +2638,99 @@ "version": "2.2.0", "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", "engines": { "node": "^14 || ^16 || >=18" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@emotion/babel-plugin": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", - "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", "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.1.3" + "stylis": "4.2.0" } }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, "node_modules/@emotion/cache": { - "version": "11.10.7", - "resolved": "https://registry.npmmirror.com/@emotion/cache/-/cache-11.10.7.tgz", - "integrity": "sha512-VLl1/2D6LOjH57Y8Vem1RoZ9haWF4jesHDGiHtKozDQuBIkJm2gimVo0I02sWCuzZtVACeixTVB4jeE8qvCBoQ==", + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/cache/-/cache-11.13.5.tgz", + "integrity": "sha512-Z3xbtJ+UcK76eWkagZ1onvn/wAVb1GOMuR15s30Fm2wrMgC7jzpnO2JZXr4eujTTqoQFUrZIw/rT0c6Zzjca1g==", + "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" } }, "node_modules/@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.8.0" + "@emotion/memoize": "^0.9.0" } }, "node_modules/@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" }, "node_modules/@emotion/react": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.10.6.tgz", - "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.13.5.tgz", + "integrity": "sha512-6zeCUxUH+EPF1s+YF/2hPVODeV/7V07YU5x+2tfuRL8MdW6rv5vb2+CBEGTGwBdux0OIERcOS+RzxeK80k2DsQ==", + "license": "MIT", "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", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -2286,33 +2743,36 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", "dependencies": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" }, "node_modules/@emotion/styled": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.10.6.tgz", - "integrity": "sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==", + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.13.5.tgz", + "integrity": "sha512-gnOQ+nGLPvDXgIx119JqGalys64lhMdnNQA9TMxhDA4K0Hq5+++OE20Zs5GxiCV9r814xQ2K5WmtofSpHVW6BQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.6", - "@emotion/is-prop-valid": "^1.2.0", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0" + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.2" }, "peerDependencies": { "@emotion/react": "^11.0.0-rc.0", @@ -2325,58 +2785,68 @@ } }, "node_modules/@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + "version": "0.10.0", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", + "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" }, "node_modules/@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "version": "4.12.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2386,28 +2856,37 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2419,14 +2898,19 @@ "version": "0.20.2", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/js": { - "version": "8.39.0", - "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.39.0.tgz", - "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -2436,6 +2920,7 @@ "resolved": "https://registry.npmmirror.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", "deprecated": "We have renamed the package to @formatjs/intl-numberformat", + "license": "MIT", "dependencies": { "@formatjs/intl-utils": "^2.3.0" } @@ -2444,64 +2929,67 @@ "version": "2.3.0", "resolved": "https://registry.npmmirror.com/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", - "deprecated": "the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package" + "deprecated": "the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package", + "license": "MIT" }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", - "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==", + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.1.tgz", + "integrity": "sha512-gbDz3TwRrIPT3i0cDfujhshnXO9z03IT1UKRIVi/VEjpNHtSBIP2o5XSm+e816FzzCFEzAxPw09Z13n20PaQJQ==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", - "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.1.tgz", + "integrity": "sha512-8dBIHbfsKlCk2jHQ9PoRBg2Z+4TwyE3vZICSnoDlnsHA6SiMlTwfmW6yX0lHsRmWJugkeb92sA0hZdkXJhuz+g==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz", - "integrity": "sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==", + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.1.tgz", + "integrity": "sha512-e13cp+bAx716RZOTQ59DhqikAgETA9u1qTBHO3e3jMQQ+4H/N1NC1ZVeFYt1V0m+Th68BrEL1/X6XplISutbXg==", "dev": true, - "hasInstallScript": true, + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", - "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.1.tgz", + "integrity": "sha512-BTKc0b0mgjWZ2UDKVgmwaE0qt0cZs6ITcDgjrti5f/ki7aF5zs+N91V6hitGo3TItCFtnKg6cUVGdTmBFICFRg==", "dev": true, - "hasInstallScript": true, + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.4.0" + "@fortawesome/fontawesome-common-types": "6.7.1" }, "engines": { "node": ">=6" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.13.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -2512,19 +3000,117 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2540,59 +3126,16 @@ "version": "5.3.1", "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2601,6 +3144,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2613,68 +3157,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -2717,68 +3204,11 @@ } } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/environment": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -2793,6 +3223,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -2809,6 +3240,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -2822,6 +3254,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -2861,76 +3294,20 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/schemas": { "version": "28.1.3", "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -2942,6 +3319,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -2955,6 +3333,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -2963,6 +3342,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -2977,6 +3357,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -2991,6 +3372,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -3012,76 +3394,26 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/@jest/transform/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/types": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3093,173 +3425,99 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "node_modules/@mui/base": { - "version": "5.0.0-alpha.127", - "resolved": "https://registry.npmmirror.com/@mui/base/-/base-5.0.0-alpha.127.tgz", - "integrity": "sha512-FoRQd0IOH9MnfyL5yXssyQRnC4vXI+1bwkU1idr+wNkP1ZfxE+JsThHcfl1dy5azLssVUGTtQFD9edQLdbyJog==", - "dependencies": { - "@babel/runtime": "^7.21.0", - "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "@popperjs/core": "^2.11.7", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.12.2", - "resolved": "https://registry.npmmirror.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.12.2.tgz", - "integrity": "sha512-Qn7dy8tql6T0hY6gTFPkpWlnqVVFGu5Z6QzEzUSzzmLZpfAx4kf8sFz0PHiB7gU5yrqcZF9picMx1shpRY/rXw==" + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.8.tgz", + "integrity": "sha512-DARxShbBsWz6azwkTmv05rR7rJfcd9cXFsQtbcr24A+5esQBSnK2N3cbg/izlvuMGxonfWaysz/ae+6Ij9RAHQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } }, "node_modules/@mui/icons-material": { - "version": "5.11.16", - "resolved": "https://registry.npmmirror.com/@mui/icons-material/-/icons-material-5.11.16.tgz", - "integrity": "sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/icons-material/-/icons-material-5.16.8.tgz", + "integrity": "sha512-2HKzTsCPbNgJq2z4tI6sLDwxKXqiiPh6L3IhuB8w+ypShE/qAI4FZQfI2o93vysQnkPB4Rw3FKSwAJWTThhHQA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0" + "@babel/runtime": "^7.23.9" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -3268,32 +3526,37 @@ } }, "node_modules/@mui/material": { - "version": "5.12.2", - "resolved": "https://registry.npmmirror.com/@mui/material/-/material-5.12.2.tgz", - "integrity": "sha512-XOVy6fVC0rI2dEwDq/1s4Te2hewTUe6lznzeVnruyATGkdmM06WnHqkZOoLVIWo9hWwAxpcgTDcAIVpFtt1nrw==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/material/-/material-5.16.8.tgz", + "integrity": "sha512-amnDx385shdQasC7wAk/oQjfti8N4wm0fLEcD7n5KXDZxn9Y+0VKEC+ieVseOUGuY5B2FqzdNfeVwUPTmUBszQ==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", - "@mui/base": "5.0.0-alpha.127", - "@mui/core-downloads-tracker": "^5.12.2", - "@mui/system": "^5.12.1", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.2", + "@babel/runtime": "^7.23.9", + "@mui/core-downloads-tracker": "^5.16.8", + "@mui/system": "^5.16.8", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.8", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.10", + "clsx": "^2.1.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1", - "react-is": "^18.2.0", + "react-is": "^18.3.1", "react-transition-group": "^4.4.5" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -3308,20 +3571,25 @@ } }, "node_modules/@mui/private-theming": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/private-theming/-/private-theming-5.12.0.tgz", - "integrity": "sha512-w5dwMen1CUm1puAtubqxY9BIzrBxbOThsg2iWMvRJmWyJAPdf3Z583fPXpqeA2lhTW79uH2jajk5Ka4FuGlTPg==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/private-theming/-/private-theming-5.16.8.tgz", + "integrity": "sha512-3Vl9yFVLU6T3CFtxRMQTcJ60Ijv7wxQi4yjH92+9YXcsqvVspeIYoocqNoIV/1bXGYfyWu5zrCmwQVHaGY7bug==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", - "@mui/utils": "^5.12.0", + "@babel/runtime": "^7.23.9", + "@mui/utils": "^5.16.8", "prop-types": "^15.8.1" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -3330,22 +3598,27 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/styled-engine/-/styled-engine-5.12.0.tgz", - "integrity": "sha512-frh8L7CRnvD0RDmIqEv6jFeKQUIXqW90BaZ6OrxJ2j4kIsiVLu29Gss4SbBvvrWwwatR72sBmC3w1aG4fjp9mQ==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/styled-engine/-/styled-engine-5.16.8.tgz", + "integrity": "sha512-OFdgFf8JczSRs0kvWGdSn0ZeXxWrY0LITDPJ/nAtLEvUUTyrlFaO4il3SECX8ruzvf1VnAxHx4M/4mX9oOn9yA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", - "@emotion/cache": "^11.10.7", - "csstype": "^3.1.2", + "@babel/runtime": "^7.23.9", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -3357,27 +3630,32 @@ } }, "node_modules/@mui/system": { - "version": "5.12.1", - "resolved": "https://registry.npmmirror.com/@mui/system/-/system-5.12.1.tgz", - "integrity": "sha512-Po+sicdV3bbRYXdU29XZaHPZrW7HUYUqU1qCu77GCCEMbahC756YpeyefdIYuPMUg0OdO3gKIUfDISBrkjJL+w==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/system/-/system-5.16.8.tgz", + "integrity": "sha512-L32TaFDFpGIi1g6ysRtmhc9zDgrlxDXu3NlrGE8gAsQw/ziHrPdr0PNr20O0POUshA1q14W4dNZ/z0Nx2F9lhA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", - "@mui/private-theming": "^5.12.0", - "@mui/styled-engine": "^5.12.0", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "clsx": "^1.2.1", - "csstype": "^3.1.2", + "@babel/runtime": "^7.23.9", + "@mui/private-theming": "^5.16.8", + "@mui/styled-engine": "^5.16.8", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.8", + "clsx": "^2.1.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -3392,11 +3670,12 @@ } }, "node_modules/@mui/types": { - "version": "7.2.4", - "resolved": "https://registry.npmmirror.com/@mui/types/-/types-7.2.4.tgz", - "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", + "version": "7.2.19", + "resolved": "https://registry.npmmirror.com/@mui/types/-/types-7.2.19.tgz", + "integrity": "sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==", + "license": "MIT", "peerDependencies": { - "@types/react": "*" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -3405,27 +3684,40 @@ } }, "node_modules/@mui/utils": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/utils/-/utils-5.12.0.tgz", - "integrity": "sha512-RmQwgzF72p7Yr4+AAUO6j1v2uzt6wr7SWXn68KBsnfVpdOHyclCzH2lr/Xu6YOw9su4JRtdAIYfJFXsS6Cjkmw==", + "version": "5.16.8", + "resolved": "https://registry.npmmirror.com/@mui/utils/-/utils-5.16.8.tgz", + "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", + "@babel/runtime": "^7.23.9", + "@mui/types": "^7.2.15", + "@types/prop-types": "^15.7.12", + "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "react-is": "^18.3.1" }, "engines": { "node": ">=12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } @@ -3434,6 +3726,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -3446,6 +3739,7 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3454,6 +3748,7 @@ "version": "2.1.5", "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3466,6 +3761,7 @@ "version": "2.0.5", "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -3474,6 +3770,7 @@ "version": "1.2.8", "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3482,19 +3779,28 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "version": "0.5.15", + "resolved": "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", + "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "license": "MIT", "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", + "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", "html-entities": "^2.1.0", "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", + "schema-utils": "^4.2.0", "source-map": "^0.7.3" }, "engines": { @@ -3504,9 +3810,9 @@ "@types/webpack": "4.x || 5.x", "react-refresh": ">=0.10.0 <1.0.0", "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", + "type-fest": ">=0.17.0 <5.0.0", "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", + "webpack-dev-server": "3.x || 4.x || 5.x", "webpack-hot-middleware": "2.x", "webpack-plugin-serve": "0.x || 1.x" }, @@ -3535,19 +3841,175 @@ "version": "0.7.4", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@popperjs/core": { - "version": "2.11.7", - "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.7.tgz", - "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==" + "version": "2.11.8", + "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/@rc-component/async-validator/-/async-validator-5.0.4.tgz", + "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@rc-component/color-picker/-/color-picker-2.0.1.tgz", + "integrity": "sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==", + "license": "MIT", + "dependencies": { + "@ant-design/fast-color": "^2.0.6", + "@babel/runtime": "^7.23.6", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/qrcode": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@rc-component/qrcode/-/qrcode-1.0.0.tgz", + "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.15.1", + "resolved": "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.15.1.tgz", + "integrity": "sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.2.5", + "resolved": "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-2.2.5.tgz", + "integrity": "sha512-F1EJ4KjFpGAHAjuKvOyZB/6IZDkVx0bHl0M4fQM5wXcmm7lgTgVSSnR3bXwdmS6jOJGHOqfDxIJW3WUvwMIXhQ==", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } }, "node_modules/@reduxjs/toolkit": { - "version": "1.9.5", - "resolved": "https://registry.npmmirror.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", + "version": "1.9.7", + "resolved": "https://registry.npmmirror.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "license": "MIT", "dependencies": { "immer": "^9.0.21", "redux": "^4.2.1", @@ -3568,17 +4030,19 @@ } }, "node_modules/@remix-run/router": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.5.0.tgz", - "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==", + "version": "1.21.0", + "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", + "license": "MIT", "engines": { - "node": ">=14" + "node": ">=14.0.0" } }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -3601,6 +4065,7 @@ "version": "11.2.1", "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -3620,6 +4085,7 @@ "version": "2.4.2", "resolved": "https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -3632,6 +4098,7 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -3647,22 +4114,32 @@ "node_modules/@rollup/pluginutils/node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + "version": "1.10.4", + "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "license": "MIT" }, "node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -3671,6 +4148,7 @@ "version": "8.1.0", "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -3679,6 +4157,7 @@ "version": "2.2.3", "resolved": "https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -3690,70 +4169,111 @@ "version": "5.4.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { "version": "5.4.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { "version": "5.4.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { "version": "5.4.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-preset": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -3766,12 +4286,17 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/core": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -3779,23 +4304,33 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/hast-util-to-babel-ast": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.6" }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/plugin-jsx": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -3804,12 +4339,17 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/plugin-svgo": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -3817,12 +4357,17 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/webpack": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -3835,95 +4380,37 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@testing-library/dom": { - "version": "9.2.0", - "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-9.2.0.tgz", - "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==", + "version": "10.4.0", + "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", + "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": ">=18" } }, "node_modules/@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "version": "5.17.0", + "resolved": "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", @@ -3941,21 +4428,11 @@ "yarn": ">=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3964,45 +4441,11 @@ "node": ">=8" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/react": { "version": "13.4.0", "resolved": "https://registry.npmmirror.com/@testing-library/react/-/react-13.4.0.tgz", "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.5.0", @@ -4017,85 +4460,38 @@ } }, "node_modules/@testing-library/react/node_modules/@testing-library/dom": { - "version": "8.20.0", - "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-8.20.0.tgz", - "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==", + "version": "8.20.1", + "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", + "aria-query": "5.1.3", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", + "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { "node": ">=12" } }, - "node_modules/@testing-library/react/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/react/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/react/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@testing-library/react/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "deep-equal": "^2.0.5" } }, "node_modules/@testing-library/user-event": { "version": "13.5.0", "resolved": "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-13.5.0.tgz", "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -4111,6 +4507,7 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -4119,19 +4516,22 @@ "version": "0.2.0", "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } }, "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "license": "MIT" }, "node_modules/@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4141,91 +4541,102 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.18.5", - "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", - "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", + "version": "7.20.6", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.5", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "version": "8.56.12", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4234,9 +4645,22 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.34", - "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", - "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4245,17 +4669,19 @@ } }, "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "version": "4.1.9", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "license": "MIT", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -4264,33 +4690,44 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "version": "1.17.15", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4299,101 +4736,105 @@ "version": "27.5.2", "resolved": "https://registry.npmmirror.com/@types/jest/-/jest-27.5.2.tgz", "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "license": "MIT", "dependencies": { "jest-matcher-utils": "^27.0.0", "pretty-format": "^27.0.0" } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/node": { - "version": "16.18.25", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.25.tgz", - "integrity": "sha512-rUDO6s9Q/El1R1I21HG4qw/LstTHCPO/oQNAwI/4b2f9EWvMnqt4d3HJwPMawfZ3UvodB8516Yg+VAq54YM+eA==" + "version": "16.18.121", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.121.tgz", + "integrity": "sha512-Gk/pOy8H0cvX8qNrwzElYIECpcUn87w4EAEFXFvPJ8qsP9QR/YqukUORSy0zmyDyvdo149idPpy4W6iC5aSbQA==", + "license": "MIT" + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.13", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "license": "MIT" }, "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "version": "1.5.8", + "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "version": "6.9.17", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", + "license": "MIT" }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.0.tgz", - "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", + "version": "18.3.12", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.1", - "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.1.tgz", - "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==", + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "license": "MIT", "dependencies": { "@types/react": "*" } }, - "node_modules/@types/react-is": { - "version": "17.0.4", - "resolved": "https://registry.npmmirror.com/@types/react-is/-/react-is-17.0.4.tgz", - "integrity": "sha512-FLzd0K9pnaEvKz4D1vYxK9JmgQPiGk1lu23o1kqGsLeT0iPbRSF7b76+S5T9fD8aRa0B8bY7I/3DebEj+1ysBA==", - "dependencies": { - "@types/react": "^17" - } - }, - "node_modules/@types/react-is/node_modules/@types/react": { - "version": "17.0.58", - "resolved": "https://registry.npmmirror.com/@types/react/-/react-17.0.58.tgz", - "integrity": "sha512-c1GzVY97P0fGxwGxhYq989j4XwlcHQoto6wQISOC2v6wm3h0PORRWJFHlkRjfGsiG3y1609WdQ+J+tKxvrEd6A==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmmirror.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "version": "4.4.11", + "resolved": "https://registry.npmmirror.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", + "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", + "license": "MIT", "dependencies": { "@types/react": "*" } @@ -4402,6 +4843,7 @@ "version": "1.17.1", "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4409,107 +4851,117 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" + "version": "7.5.8", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "version": "0.17.4", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "version": "1.9.4", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.7", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" } }, "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "version": "0.3.36", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" }, "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmmirror.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "version": "5.14.9", + "resolved": "https://registry.npmmirror.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "license": "MIT", "dependencies": { "@types/jest": "*" } }, "node_modules/@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" }, "node_modules/@types/use-sync-external-store": { "version": "0.0.3", "resolved": "https://registry.npmmirror.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.13", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + "version": "21.0.3", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz", - "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/type-utils": "5.59.1", - "@typescript-eslint/utils": "5.59.1", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -4518,6 +4970,10 @@ "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { "@typescript-eslint/parser": "^5.0.0", "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -4529,127 +4985,42 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.0.tgz", - "integrity": "sha512-evvdzcPrUv9+Hj+KX6fa3WMrtTZ7onnGHL3NfT/zN9q2FQhb2yvNJDa+w/ND0TpdRCbulwag0dxwMUt2MJB2Vg==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "5.59.0" + "@typescript-eslint/utils": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", - "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", - "dependencies": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.59.0.tgz", - "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", - "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", - "dependencies": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.59.0.tgz", - "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", - "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.0", - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/typescript-estree": "5.59.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", - "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", - "dependencies": { - "@typescript-eslint/types": "5.59.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, @@ -4660,30 +5031,40 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz", - "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.1", - "@typescript-eslint/utils": "5.59.1", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { "eslint": "*" }, @@ -4694,20 +5075,26 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4717,6 +5104,10 @@ "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -4724,22 +5115,27 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.59.1.tgz", - "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "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.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4748,6 +5144,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -4760,172 +5157,204 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.1", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.5.tgz", - "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", - "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", - "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", - "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==" + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", - "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", - "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", - "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", - "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", - "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", - "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", - "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/helper-wasm-section": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-opt": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5", - "@webassemblyjs/wast-printer": "1.11.5" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", - "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", - "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", - "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", - "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -4934,10 +5363,20 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4949,6 +5388,7 @@ "version": "6.0.0", "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -4958,6 +5398,7 @@ "version": "7.4.1", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4965,18 +5406,11 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4985,6 +5419,7 @@ "version": "7.2.0", "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -4993,6 +5428,7 @@ "version": "1.2.2", "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -5001,6 +5437,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -5013,6 +5450,7 @@ "version": "6.0.2", "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -5024,17 +5462,23 @@ "version": "6.12.6", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -5048,25 +5492,32 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -5075,11 +5526,27 @@ "version": "4.3.2", "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" } }, "node_modules/ansi-html-community": { @@ -5089,6 +5556,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5097,30 +5565,102 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "5.22.2", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.22.2.tgz", + "integrity": "sha512-vihhiJbm9VG3d6boUeD1q2MXMax+qBrXhgqCEC+45v8iGUF6m4Ct+lFiCW4oWaN3EABOsbVA6Svy3Rj/QkQFKw==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.1.0", + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/cssinjs-utils": "^1.1.1", + "@ant-design/icons": "^5.5.1", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.25.7", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~2.0.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", + "@rc-component/tour": "~1.15.1", + "@rc-component/trigger": "^2.2.5", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.11", + "rc-cascader": "~3.30.0", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.9.0", + "rc-dialog": "~9.6.0", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.5.1", + "rc-image": "~7.11.0", + "rc-input": "~1.6.3", + "rc-input-number": "~9.3.0", + "rc-mentions": "~2.17.0", + "rc-menu": "~9.16.0", + "rc-motion": "^2.9.3", + "rc-notification": "~5.6.2", + "rc-pagination": "~4.3.0", + "rc-picker": "~4.8.1", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.5.0", + "rc-select": "~14.16.3", + "rc-slider": "~11.1.7", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.48.1", + "rc-tabs": "~15.4.0", + "rc-textarea": "~1.8.2", + "rc-tooltip": "~6.2.1", + "rc-tree": "~5.10.1", + "rc-tree-select": "~5.24.4", + "rc-upload": "~4.8.1", + "rc-util": "^5.43.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5132,154 +5672,271 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", + "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" }, "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } }, "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.20", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -5293,43 +5950,54 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.10.2", + "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "1.3.6", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.3.6.tgz", - "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", + "version": "1.7.8", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.8.tgz", + "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", + "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "dependencies": { - "deep-equal": "^2.0.5" + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -5347,71 +6015,14 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -5427,6 +6038,7 @@ "version": "2.7.1", "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -5434,12 +6046,17 @@ }, "engines": { "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -5455,6 +6072,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -5469,6 +6087,7 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -5483,76 +6102,86 @@ "version": "0.3.8", "resolved": "https://registry.npmmirror.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", "peerDependencies": { "@babel/core": "^7.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.12", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.10.6", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "license": "MIT", "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-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^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.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-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -5562,6 +6191,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -5577,6 +6207,7 @@ "version": "10.0.1", "resolved": "https://registry.npmmirror.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -5597,29 +6228,34 @@ } }, "node_modules/babylonjs-gltf2interface": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/babylonjs-gltf2interface/-/babylonjs-gltf2interface-6.0.0.tgz", - "integrity": "sha512-Yv4HGPt/1ycOUrB9ufDjYKhF7OvkVHnDDa74CO8yUGfmJfJNJ8uxP/mvnyS7YO5eX/rCqaQPdGZkdPX10r4ZEA==", + "version": "6.49.0", + "resolved": "https://registry.npmmirror.com/babylonjs-gltf2interface/-/babylonjs-gltf2interface-6.49.0.tgz", + "integrity": "sha512-4qzKCgEayti/YUaeMgAAZxZJlx/kLqXxoC+G8gODYz9wOV9UjnHF09wREZ5cuELzzY/rjSJMqkgDfYbUQIQ6/A==", + "license": "Apache-2.0", "peer": true }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmmirror.com/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", + "bluebird": "^3.7.2", + "check-types": "^11.2.3", "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", "tryer": "^1.0.1" }, "engines": { @@ -5630,38 +6266,45 @@ "version": "5.2.2", "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.3", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -5670,18 +6313,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5690,6 +6326,7 @@ "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5700,15 +6337,15 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } @@ -5716,23 +6353,26 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -5741,17 +6381,33 @@ "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.24.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5764,6 +6420,7 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -5771,37 +6428,54 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5810,6 +6484,7 @@ "version": "4.1.2", "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -5819,14 +6494,19 @@ "version": "6.3.0", "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -5835,6 +6515,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -5843,9 +6524,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001653", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", - "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "version": "1.0.30001684", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "funding": [ { "type": "opencollective", @@ -5859,54 +6540,54 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", "resolved": "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmmirror.com/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + "version": "11.2.3", + "resolved": "https://registry.npmmirror.com/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -5919,6 +6600,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -5927,6 +6611,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -5935,35 +6620,46 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "license": "MIT" }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" }, "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -5975,6 +6671,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -5983,6 +6680,7 @@ "version": "7.0.4", "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -5990,9 +6688,10 @@ } }, "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6001,6 +6700,7 @@ "version": "4.6.0", "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -6010,6 +6710,7 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -6019,38 +6720,118 @@ "node": ">= 4.0" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/color-convert": { + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, - "node_modules/color-name": { + "node_modules/coa/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/coa/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -6062,19 +6843,16 @@ "version": "8.3.0", "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -6082,12 +6860,14 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6096,16 +6876,17 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -6116,6 +6897,7 @@ "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6123,27 +6905,32 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmmirror.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -6152,6 +6939,7 @@ "version": "0.5.4", "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6163,19 +6951,22 @@ "version": "1.0.5", "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" }, "node_modules/cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6183,37 +6974,64 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } }, "node_modules/core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", - "hasInstallScript": true + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, "node_modules/core-js-compat": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.30.1.tgz", - "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==", + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.21.5" + "browserslist": "^4.24.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-pure": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.30.1.tgz", - "integrity": "sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==", - "hasInstallScript": true + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -6226,9 +7044,10 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6242,6 +7061,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6250,6 +7070,7 @@ "version": "3.0.3", "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6264,9 +7085,10 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", - "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >=14" }, @@ -6278,6 +7100,7 @@ "version": "3.0.4", "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6292,30 +7115,45 @@ } }, "node_modules/css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -6327,6 +7165,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^5.0.0" }, @@ -6345,51 +7187,11 @@ } } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "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" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6398,6 +7200,7 @@ "version": "6.0.3", "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -6412,23 +7215,29 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -6441,6 +7250,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6449,24 +7259,41 @@ "version": "6.1.0", "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" }, "node_modules/cssdb": { - "version": "7.5.4", - "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-7.5.4.tgz", - "integrity": "sha512-fGD+J6Jlq+aurfE1VDXlLS4Pt0VtNlu2+YgfGOdMxRyl/HQ9bDiHTwSck1Yz8A97Dt/82izSK6Bp/4nVqacOsg==" + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -6478,6 +7305,7 @@ "version": "5.1.15", "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -6486,6 +7314,10 @@ "engines": { "node": "^10 || ^12 || >=14.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, "peerDependencies": { "postcss": "^8.2.15" } @@ -6494,6 +7326,7 @@ "version": "5.2.14", "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -6536,6 +7369,7 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -6547,6 +7381,7 @@ "version": "4.2.0", "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -6558,6 +7393,7 @@ "version": "1.1.3", "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -6569,12 +7405,14 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/csso/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6582,12 +7420,14 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -6598,22 +7438,26 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -6623,12 +7467,70 @@ "node": ">=10" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -6642,23 +7544,27 @@ "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "license": "MIT" }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" }, "node_modules/deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", + "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.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", @@ -6666,22 +7572,30 @@ "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "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.9" + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6690,6 +7604,7 @@ "version": "6.0.3", "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -6697,30 +7612,54 @@ "node": ">= 10" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -6729,14 +7668,25 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -6746,6 +7696,7 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6753,12 +7704,14 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmmirror.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -6775,6 +7728,7 @@ "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6782,17 +7736,20 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" }, "node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -6801,6 +7758,7 @@ "version": "3.0.1", "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -6811,17 +7769,14 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" }, "node_modules/dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -6833,6 +7788,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -6843,12 +7799,14 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "license": "MIT" }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -6857,6 +7815,7 @@ "version": "5.2.1", "resolved": "https://registry.npmmirror.com/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" @@ -6866,21 +7825,34 @@ "version": "1.4.1", "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -6892,6 +7864,7 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", "engines": { "node": ">=8" } @@ -6900,27 +7873,36 @@ "version": "4.3.1", "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, "engines": { "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/dot-case": { "version": "3.0.4", "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -6930,6 +7912,7 @@ "version": "10.0.0", "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -6937,26 +7920,36 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" }, "node_modules/echarts": { - "version": "5.4.2", - "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.2.tgz", - "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "version": "5.5.1", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", + "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "license": "Apache-2.0", "dependencies": { "tslib": "2.3.0", - "zrender": "5.4.3" + "zrender": "5.6.0" } }, "node_modules/echarts-for-react": { "version": "3.0.2", "resolved": "https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz", "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "size-sensor": "^1.0.1" @@ -6969,12 +7962,14 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -6986,43 +7981,52 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.374", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.374.tgz", - "integrity": "sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ==" + "version": "1.5.67", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.67.tgz", + "integrity": "sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==", + "license": "ISC" }, "node_modules/emittery": { "version": "0.8.1", "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7034,12 +8038,17 @@ "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -7048,63 +8057,103 @@ "version": "2.1.4", "resolved": "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "version": "1.23.5", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, "node_modules/es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -7115,51 +8164,100 @@ "is-string": "^1.0.7", "isarray": "^2.0.5", "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7167,25 +8265,30 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "esutils": "^2.0.2" }, "bin": { "escodegen": "bin/escodegen.js", @@ -7198,83 +8301,40 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/eslint": { - "version": "8.39.0", - "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.39.0.tgz", - "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.39.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "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.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -7282,22 +8342,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "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-sdsl": "^4.1.4", "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", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -7305,12 +8362,16 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-config-react-app": { "version": "7.0.1", "resolved": "https://registry.npmmirror.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -7335,27 +8396,30 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -7372,6 +8436,7 @@ "version": "3.2.7", "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7380,6 +8445,7 @@ "version": "8.0.3", "resolved": "https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -7394,37 +8460,43 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "version": "2.31.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "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.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7433,6 +8505,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -7441,9 +8514,10 @@ } }, "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -7452,6 +8526,7 @@ "version": "25.7.0", "resolved": "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -7472,74 +8547,80 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "version": "6.10.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "node_modules/eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "version": "7.37.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "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", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7551,6 +8632,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -7559,30 +8641,36 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-testing-library": { - "version": "5.10.3", - "resolved": "https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz", - "integrity": "sha512-0yhsKFsjHLud5PM+f2dWr9K3rqYzMy4cSHs3lcmFYMa1CdSzRvHGgXvsFarBjZ41gU8jhTdMIkg8jHLxGJqLqw==", + "version": "5.11.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -7595,29 +8683,38 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", "jest-worker": "^28.0.2", @@ -7628,45 +8725,20 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0", "webpack": "^5.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "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" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { "version": "28.1.3", "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz", "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -7676,103 +8748,63 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/eslint-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, "engines": { "node": ">=8" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7780,42 +8812,85 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmmirror.com/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -7825,9 +8900,10 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -7839,6 +8915,7 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -7850,6 +8927,7 @@ "version": "5.3.0", "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -7857,12 +8935,14 @@ "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -7871,6 +8951,7 @@ "version": "1.8.1", "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7878,12 +8959,14 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -7892,6 +8975,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -7905,6 +8989,9 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/exit": { @@ -7919,6 +9006,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -7930,36 +9018,37 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmmirror.com/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -7970,23 +9059,11 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7994,17 +9071,20 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -8020,6 +9100,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -8030,17 +9111,26 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "license": "BSD-3-Clause" }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -8049,6 +9139,7 @@ "version": "0.11.4", "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -8060,6 +9151,7 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -8068,6 +9160,7 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -8079,6 +9172,7 @@ "version": "6.2.0", "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -8086,14 +9180,37 @@ "engines": { "node": ">= 10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -8102,6 +9219,7 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8110,6 +9228,7 @@ "version": "5.1.6", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8121,14 +9240,16 @@ "version": "8.0.7", "resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8137,12 +9258,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -8157,6 +9279,7 @@ "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8164,12 +9287,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -8177,31 +9302,38 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -8209,14 +9341,22 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8230,14 +9370,44 @@ "version": "0.3.3", "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -8272,49 +9442,11 @@ } } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -8330,6 +9462,7 @@ "version": "9.1.0", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -8340,18 +9473,11 @@ "node": ">=10" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -8359,31 +9485,26 @@ }, "engines": { "node": ">= 8.9.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -8397,22 +9518,29 @@ "version": "0.2.0", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8421,6 +9549,7 @@ "version": "10.1.0", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -8431,20 +9560,23 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -8454,33 +9586,46 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -8489,29 +9634,41 @@ "version": "2.0.5", "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -8520,26 +9677,37 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8550,12 +9718,16 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -8566,12 +9738,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -8583,6 +9757,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -8596,6 +9771,7 @@ "version": "1.3.1", "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -8607,25 +9783,32 @@ "version": "11.12.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -8636,101 +9819,138 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmmirror.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -8740,6 +9960,7 @@ "version": "1.2.0", "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } @@ -8748,6 +9969,7 @@ "version": "3.3.2", "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -8755,12 +9977,14 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/hoopy": { "version": "0.1.4", "resolved": "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", "engines": { "node": ">= 6.0.0" } @@ -8769,6 +9993,7 @@ "version": "2.1.6", "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -8779,12 +10004,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8798,12 +10025,14 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -8812,6 +10041,7 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -8820,19 +10050,32 @@ } }, "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -8850,9 +10093,10 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.5.1", - "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz", - "integrity": "sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==", + "version": "5.6.3", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -8863,14 +10107,35 @@ "engines": { "node": ">=10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -8881,12 +10146,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -8901,12 +10168,14 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -8920,6 +10189,7 @@ "version": "4.0.1", "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -8930,9 +10200,10 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -8956,6 +10227,7 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -8968,6 +10240,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -8976,6 +10249,7 @@ "version": "0.6.3", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8987,6 +10261,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -8997,12 +10272,14 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -9011,9 +10288,10 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -9021,32 +10299,43 @@ "node_modules/immer": { "version": "9.0.21", "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -9056,12 +10345,16 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -9070,6 +10363,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9078,6 +10372,8 @@ "version": "1.0.6", "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9086,40 +10382,40 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" } }, - "node_modules/intl": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/intl/-/intl-1.2.5.tgz", - "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==" - }, "node_modules/intl-format-cache": { "version": "4.3.1", "resolved": "https://registry.npmmirror.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz", - "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==" + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==", + "license": "BSD-3-Clause" }, "node_modules/intl-messageformat": { "version": "7.8.4", "resolved": "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz", "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "license": "BSD-3-Clause", "dependencies": { "intl-format-cache": "^4.2.21", "intl-messageformat-parser": "^3.6.4" @@ -9130,6 +10426,7 @@ "resolved": "https://registry.npmmirror.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", "deprecated": "We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser", + "license": "BSD-3-Clause", "dependencies": { "@formatjs/intl-unified-numberformat": "^3.2.0" } @@ -9138,14 +10435,16 @@ "version": "2.2.4", "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -9154,41 +10453,72 @@ "version": "1.1.1", "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -9200,64 +10530,119 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9266,14 +10651,31 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -9282,27 +10684,40 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -9311,17 +10726,22 @@ "version": "1.0.7", "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-obj": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9330,6 +10750,7 @@ "version": "3.0.3", "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9338,31 +10759,41 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9371,99 +10802,146 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.13", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -9474,17 +10952,20 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -9493,6 +10974,7 @@ "version": "5.2.1", "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -9505,49 +10987,48 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { + "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9561,14 +11042,16 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9577,15 +11060,47 @@ "node": ">=8" } }, + "node_modules/iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmmirror.com/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "version": "10.9.2", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" @@ -9594,68 +11109,11 @@ "node": ">=10" } }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -9680,6 +11138,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -9693,6 +11152,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -9718,68 +11178,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-cli": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -9809,68 +11212,11 @@ } } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -9909,68 +11255,11 @@ } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -9981,68 +11270,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-docblock": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -10054,6 +11286,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -10065,68 +11298,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-environment-jsdom": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10144,6 +11320,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10160,6 +11337,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10168,6 +11346,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -10193,6 +11372,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -10216,68 +11396,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-leak-detector": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -10290,6 +11413,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -10300,68 +11424,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -10377,68 +11444,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-mock": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -10451,6 +11461,7 @@ "version": "1.2.3", "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -10467,6 +11478,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10475,6 +11487,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -10495,6 +11508,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -10504,68 +11518,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -10593,68 +11550,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runtime": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10683,68 +11583,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-serializer": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -10757,6 +11600,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -10785,68 +11629,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10859,68 +11646,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-validate": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -10933,68 +11663,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-watch-typeahead": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.1", "chalk": "^4.0.0", @@ -11015,6 +11688,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -11031,6 +11705,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11039,6 +11714,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -11053,6 +11729,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -11066,72 +11743,43 @@ } }, "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.33", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" - } - }, - "node_modules/jest-watch-typeahead/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-watch-typeahead/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/jest-watch-typeahead/node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", "engines": { "node": ">=12" - } - }, - "node_modules/jest-watch-typeahead/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { "version": "28.1.3", "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -11151,6 +11799,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11159,6 +11808,7 @@ "version": "28.0.2", "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -11167,6 +11817,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -11183,6 +11834,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -11201,6 +11853,7 @@ "version": "4.0.2", "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -11213,6 +11866,7 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11224,6 +11878,7 @@ "version": "28.1.3", "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -11234,76 +11889,75 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - } - }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/jest-watch-typeahead/node_modules/string-length": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "license": "MIT", "engines": { "node": ">=12.20" } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { "node": ">=12" - } - }, - "node_modules/jest-watch-typeahead/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/jest-watcher": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -11317,68 +11971,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11388,47 +11985,41 @@ "node": ">= 10.13.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "version": "1.21.6", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -11441,6 +12032,7 @@ "version": "16.7.0", "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -11483,9 +12075,10 @@ } }, "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -11496,40 +12089,61 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "license": "MIT", + "dependencies": { + "string-convert": "^0.2.0" + } }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -11541,6 +12155,7 @@ "version": "6.1.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -11548,30 +12163,67 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/jsonpointer": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11580,6 +12232,7 @@ "version": "3.0.3", "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11588,36 +12241,44 @@ "version": "2.0.6", "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "version": "0.3.23", + "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" }, "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", "dependencies": { - "language-subtag-registry": "~0.3.2" + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "shell-quote": "^1.8.1" } }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11626,6 +12287,7 @@ "version": "0.4.1", "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -11638,6 +12300,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -11645,12 +12308,14 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -11659,6 +12324,7 @@ "version": "2.0.4", "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -11669,50 +12335,58 @@ } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -11724,6 +12398,7 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -11732,6 +12407,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -11740,6 +12416,7 @@ "version": "1.5.0", "resolved": "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } @@ -11748,6 +12425,7 @@ "version": "0.25.9", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -11756,17 +12434,22 @@ "version": "3.1.0", "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -11775,6 +12458,7 @@ "version": "1.0.12", "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -11782,41 +12466,50 @@ "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", "dependencies": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -11825,16 +12518,18 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -11845,6 +12540,7 @@ "version": "1.6.0", "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -11856,6 +12552,7 @@ "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11864,6 +12561,7 @@ "version": "2.1.35", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -11875,6 +12573,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11883,74 +12582,42 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.5", - "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", - "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "license": "MIT", "dependencies": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "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" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11961,12 +12628,26 @@ "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -11974,23 +12655,17 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -12003,6 +12678,7 @@ "version": "2.7.0", "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -12010,9 +12686,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.8", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -12023,17 +12706,20 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12041,12 +12727,14 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -12056,6 +12744,7 @@ "version": "1.3.1", "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -12063,17 +12752,20 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12082,6 +12774,7 @@ "version": "0.1.2", "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12090,14 +12783,19 @@ "version": "6.1.0", "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12109,19 +12807,25 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, "node_modules/nwsapi": { - "version": "2.2.4", - "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.4.tgz", - "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==" + "version": "2.2.13", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12130,121 +12834,161 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + "version": "1.13.3", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "license": "MIT", "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" }, "engines": { "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" }, "engines": { "node": ">= 0.4" } }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12256,6 +13000,7 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12264,6 +13009,7 @@ "version": "1.4.0", "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -12272,17 +13018,22 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -12290,50 +13041,60 @@ }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, "node_modules/p-retry": { "version": "4.6.2", "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -12346,14 +13107,22 @@ "version": "2.2.0", "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -12363,6 +13132,7 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -12374,6 +13144,7 @@ "version": "5.2.0", "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -12382,17 +13153,22 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12401,6 +13177,7 @@ "version": "3.1.2", "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -12410,6 +13187,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12418,6 +13196,7 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12426,6 +13205,7 @@ "version": "3.1.1", "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12433,17 +13213,42 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12451,33 +13256,41 @@ "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -12486,6 +13299,7 @@ "version": "4.2.0", "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -12493,55 +13307,11 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -12553,6 +13323,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -12564,6 +13335,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -12572,21 +13344,11 @@ "node": ">=6" } }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -12598,18 +13360,43 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.4.49", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -12619,12 +13406,17 @@ "version": "5.0.2", "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12633,6 +13425,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", "engines": { "node": ">=8" }, @@ -12645,6 +13438,7 @@ "version": "8.2.4", "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -12657,6 +13451,7 @@ "version": "4.1.0", "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12671,12 +13466,17 @@ "version": "4.2.4", "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12685,12 +13485,17 @@ "version": "8.0.4", "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.4" } @@ -12699,12 +13504,17 @@ "version": "7.1.1", "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12713,6 +13523,7 @@ "version": "5.3.1", "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -12730,6 +13541,7 @@ "version": "5.1.3", "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -12745,12 +13557,17 @@ "version": "8.0.2", "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.3" } @@ -12759,12 +13576,17 @@ "version": "12.1.11", "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12773,12 +13595,17 @@ "version": "6.0.3", "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.4" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.3" } @@ -12787,12 +13614,17 @@ "version": "6.0.5", "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12801,6 +13633,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -12812,6 +13645,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -12823,6 +13657,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -12834,6 +13669,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -12845,6 +13681,7 @@ "version": "3.1.2", "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -12852,6 +13689,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12860,6 +13701,7 @@ "version": "4.0.6", "resolved": "https://registry.npmmirror.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12874,6 +13716,7 @@ "version": "5.0.2", "resolved": "https://registry.npmmirror.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.4" } @@ -12882,6 +13725,7 @@ "version": "6.0.4", "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -12896,6 +13740,7 @@ "version": "5.0.4", "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -12910,6 +13755,7 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.0" } @@ -12918,9 +13764,14 @@ "version": "3.0.5", "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12929,12 +13780,17 @@ "version": "4.0.7", "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -12943,6 +13799,7 @@ "version": "15.1.0", "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -12959,6 +13816,7 @@ "version": "4.0.1", "resolved": "https://registry.npmmirror.com/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.0" } @@ -12967,12 +13825,17 @@ "version": "4.0.1", "resolved": "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, "engines": { "node": "^12 || ^14 || >= 16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, "peerDependencies": { "postcss": "^8.4.21" } @@ -12981,6 +13844,7 @@ "version": "4.2.1", "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -12988,17 +13852,32 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } }, "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { "node": ">= 14" @@ -13016,10 +13895,26 @@ } } }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -13028,6 +13923,7 @@ "version": "6.2.1", "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", @@ -13036,6 +13932,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "postcss": "^7.0.0 || ^8.0.1", "webpack": "^5.0.0" @@ -13045,6 +13945,7 @@ "version": "5.0.4", "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -13056,6 +13957,7 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -13067,6 +13969,7 @@ "version": "5.1.7", "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -13082,6 +13985,7 @@ "version": "5.1.4", "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -13099,6 +14003,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13113,6 +14018,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -13129,6 +14035,7 @@ "version": "5.1.4", "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -13145,6 +14052,7 @@ "version": "5.2.1", "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -13156,9 +14064,10 @@ } }, "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -13167,12 +14076,13 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -13182,12 +14092,26 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -13196,10 +14120,24 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -13211,11 +14149,22 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" @@ -13228,6 +14177,7 @@ "version": "10.2.0", "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -13235,6 +14185,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -13243,6 +14197,7 @@ "version": "10.0.1", "resolved": "https://registry.npmmirror.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", "dependencies": { "@csstools/normalize.css": "*", "postcss-browser-comments": "^4", @@ -13260,6 +14215,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13271,6 +14227,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13285,6 +14242,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13299,6 +14257,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13313,6 +14272,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13327,6 +14287,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13341,6 +14302,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -13356,6 +14318,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -13371,6 +14334,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13385,6 +14349,17 @@ "version": "1.1.3", "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", "engines": { "node": "^12 || ^14 || >=16" }, @@ -13396,6 +14371,7 @@ "version": "5.1.3", "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -13411,12 +14387,17 @@ "version": "3.0.4", "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -13425,6 +14406,7 @@ "version": "3.0.4", "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8" } @@ -13433,12 +14415,17 @@ "version": "7.0.5", "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -13447,6 +14434,7 @@ "version": "7.8.3", "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", @@ -13501,6 +14489,10 @@ "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -13509,12 +14501,17 @@ "version": "7.1.6", "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } @@ -13523,6 +14520,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -13538,6 +14536,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13552,6 +14551,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.3" } @@ -13560,20 +14560,26 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, "engines": { "node": "^12 || ^14 || >=16" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, "peerDependencies": { "postcss": "^8.2" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -13586,6 +14592,7 @@ "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -13601,6 +14608,7 @@ "version": "7.2.0", "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -13609,6 +14617,7 @@ "version": "1.1.3", "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -13620,12 +14629,14 @@ "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/postcss-svgo/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -13634,6 +14645,7 @@ "version": "2.8.0", "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -13654,6 +14666,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -13667,12 +14680,14 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -13681,14 +14696,19 @@ "version": "5.6.0", "resolved": "https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pretty-error": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -13698,6 +14718,7 @@ "version": "27.5.1", "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -13711,24 +14732,31 @@ "version": "5.2.0", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/pretty-format/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmmirror.com/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", "dependencies": { "asap": "~2.0.6" } @@ -13737,6 +14765,7 @@ "version": "2.4.2", "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -13749,6 +14778,7 @@ "version": "15.8.1", "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -13758,12 +14788,14 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -13776,6 +14808,7 @@ "version": "1.9.1", "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -13783,17 +14816,23 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "version": "1.14.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.14.0.tgz", + "integrity": "sha512-Syk1bnf6fRZ9wQs03AtKJHcM12cKbOLo9L8JtCCdYj5/DTsHmTyXM4BK5ouWeG2P6kZ4nmFvuNTdtaqfobCOCg==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13802,45 +14841,59 @@ "version": "1.5.1", "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", "dependencies": { "performance-now": "^2.1.0" } @@ -13849,6 +14902,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -13857,14 +14911,16 @@ "version": "1.2.1", "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -13875,18 +14931,11 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -13894,10 +14943,616 @@ "node": ">=0.10.0" } }, + "node_modules/rc-cascader": { + "version": "3.30.0", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.30.0.tgz", + "integrity": "sha512-rrzSbk1Bdqbu+pDwiLCLHu72+lwX9BZ28+JKzoi0DWZ4N29QYFeip8Gctl33QVd2Xg3Rf14D3yAOG76ElJw16w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.7", + "classnames": "^2.3.1", + "rc-select": "~14.16.2", + "rc-tree": "~5.10.1", + "rc-util": "^5.43.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.3.0.tgz", + "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.9.0.tgz", + "integrity": "sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.6.0", + "resolved": "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.6.0.tgz", + "integrity": "sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-7.2.0.tgz", + "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-2.5.1.tgz", + "integrity": "sha512-33hunXwynQJyeae7LS3hMGTXNeRBjiPyPYgB0824EbmLHiXC1EBGyUwRh6xjLRy9c+en5WARYN0gJz5+JAqwig==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/async-validator": "^5.0.3", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.11.0", + "resolved": "https://registry.npmmirror.com/rc-image/-/rc-image-7.11.0.tgz", + "integrity": "sha512-aZkTEZXqeqfPZtnSdNUnKQA0N/3MbgR7nUnZ+/4MfSFWPFHZau4p5r5ShaI0KPEMnNjv4kijSCFq/9wtJpwykw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.6.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-1.6.3.tgz", + "integrity": "sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "9.3.0", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-9.3.0.tgz", + "integrity": "sha512-JQ363ywqRyxwgVxpg2z2kja3CehTpYdqR7emJ/6yJjRdbvo+RvfE83fcpBCIJRq3zLp8SakmEXq60qzWyZ7Usw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.6.0", + "rc-util": "^5.40.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.17.0", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.17.0.tgz", + "integrity": "sha512-sfHy+qLvc+p8jx8GUsujZWXDOIlIimp6YQz7N5ONQ6bHsa2kyG+BLa5k2wuxgebBbH97is33wxiyq5UkiXRpHA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.6.0", + "rc-menu": "~9.16.0", + "rc-textarea": "~1.8.0", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.16.0", + "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.16.0.tgz", + "integrity": "sha512-vAL0yqPkmXWk3+YKRkmIR8TYj3RVdEt3ptG2jCJXWNAvQbT0VJJdRyHZ7kG/l1JsZlB+VJq/VcYOo69VR4oD+w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.3.tgz", + "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.6.2", + "resolved": "https://registry.npmmirror.com/rc-notification/-/rc-notification-5.6.2.tgz", + "integrity": "sha512-Id4IYMoii3zzrG0lB0gD6dPgJx4Iu95Xu0BQrhHIbp7ZnAZbLqdqQ73aIWH0d0UFcElxwaKjnzNovTjo7kXz7g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.3.0.tgz", + "integrity": "sha512-UubEWA0ShnroQ1tDa291Fzw6kj0iOeF26IsUObxYTpimgj4/qPCWVFl18RLZE+0Up1IZg0IK4pMn6nB3mjvB7g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "4.8.2", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.8.2.tgz", + "integrity": "sha512-I6Nn4ngkRskSD//rsXDvjlEQ8CzX9kPQrUIb7+qTY49erJaa3/oKJWmi6JIxo/A7gy59phNmPTdhKosAa/NrQQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.13.0", + "resolved": "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.13.0.tgz", + "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.5.0.tgz", + "integrity": "sha512-B28Fe3J9iUFOhFJET3RoXAPFJ2u47QvLSYcZWC4tFYNGPEjug5LAxEasZlA/PpAxhdOPqGWsGbSj7ftneukJnw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.16.3", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.16.3.tgz", + "integrity": "sha512-51+j6s3fJJJXB7E+B6W1hM4Tjzv1B/Decooz9ilgegDBt3ZAth1b/xMwYCTrT5BbG2e53XACQsyDib2+3Ro1fg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "11.1.7", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-11.1.7.tgz", + "integrity": "sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.48.1", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.48.1.tgz", + "integrity": "sha512-Z4mDKjWg+xz/Ezdw6ivWcbqRpaJ0QfCORRoRrlrw65KSGZLK8OcTdacH22/fyGb8L4It/0/9qcMm8VrVAk/WBw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.41.0", + "rc-virtual-list": "^3.14.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "15.4.0", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-15.4.0.tgz", + "integrity": "sha512-llKuyiAVqmXm2z7OrmhX5cNb2ueZaL8ZyA2P4R+6/72NYYcbEgOXibwHiQCFY2RiN3swXl53SIABi2CumUS02g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.16.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.8.2.tgz", + "integrity": "sha512-UFAezAqltyR00a8Lf0IPAyTd29Jj9ee8wt8DqXyDMal7r/Cg/nDt3e1OOv3Th4W6mKaZijjgwuPXhAfVNTN8sw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.2.1.tgz", + "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.10.1.tgz", + "integrity": "sha512-FPXb3tT/u39mgjr6JNlHaUTYfHkVGW56XaGDahDpEFLGsnPxGcVLNTjcqoQb/GNbSCycl7tD7EvIymwOTP0+Yw==", + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.24.5", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.24.5.tgz", + "integrity": "sha512-PnyR8LZJWaiEFw0SHRqo4MNQWyyZsyMs8eNmo68uXZWjxc7QqeWcjPPoONN0rc90c3HZqGF9z+Roz+GLzY5GXA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.7", + "classnames": "2.x", + "rc-select": "~14.16.2", + "rc-tree": "~5.10.1", + "rc-util": "^5.43.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.8.1", + "resolved": "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.8.1.tgz", + "integrity": "sha512-toEAhwl4hjLAI1u8/CgKWt30BR06ulPa4iGQSMvSXoHzO88gPCslxqV/mnn4gJU7PDoltGIC9Eh+wkeudqgHyw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-virtual-list": { + "version": "3.15.0", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.15.0.tgz", + "integrity": "sha512-dF2YQztqrU3ijAeWOqscTshCEr7vpimzSqAVjO1AyAmaqcHulaXpnGR0ptK5PXfxTUy48VkJOiglMIxlkYGs0w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -13909,6 +15564,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", "dependencies": { "core-js": "^3.19.2", "object-assign": "^4.1.1", @@ -13921,10 +15577,17 @@ "node": ">=14" } }, + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmmirror.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -13955,117 +15618,122 @@ "node": ">=14" } }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/react-dev-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } }, - "node_modules/react-dev-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" }, "node_modules/react-intl-universal": { - "version": "2.6.15", - "resolved": "https://registry.npmmirror.com/react-intl-universal/-/react-intl-universal-2.6.15.tgz", - "integrity": "sha512-xUXEh2xynkrv1JShdsraVAN1jbIIlXqF6jzk9fU71GJ5zw5DFuQkh21hpTrkbc1sNySqXST+uqZAKQ8SOMC9Yw==", + "version": "2.11.5", + "resolved": "https://registry.npmmirror.com/react-intl-universal/-/react-intl-universal-2.11.5.tgz", + "integrity": "sha512-1Gly8WJUH1x2ce1kYTH+F9GOuGF47QW5YZ7hZzApRjrlhyFNYAbte9AbQnD9bHP35pkP4bj67tHXGoaKC5ZQ+A==", "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { - "cookie": "^0.3.1", "escape-html": "^1.0.3", - "intl": "^1.2.5", "intl-messageformat": "^7.8.4", - "invariant": "^2.2.2", - "lodash.merge": "^4.6.2", - "object-keys": "^1.0.11", - "querystring": "^0.2.0" + "invariant": "^2.2.4", + "lodash.merge": "^4.6.2" }, "peerDependencies": { "react": "*" } }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/react-redux": { - "version": "8.0.5", - "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.0.5.tgz", - "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "version": "8.1.3", + "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -14080,7 +15748,7 @@ "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0", "react-native": ">=0.59", - "redux": "^4" + "redux": "^4 || ^5.0.0-beta.0" }, "peerDependenciesMeta": { "@types/react": { @@ -14104,34 +15772,37 @@ "version": "0.11.0", "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-router": { - "version": "6.10.0", - "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.10.0.tgz", - "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.28.0.tgz", + "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.5.0" + "@remix-run/router": "1.21.0" }, "engines": { - "node": ">=14" + "node": ">=14.0.0" }, "peerDependencies": { "react": ">=16.8" } }, "node_modules/react-router-dom": { - "version": "6.10.0", - "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.10.0.tgz", - "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.28.0.tgz", + "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.5.0", - "react-router": "6.10.0" + "@remix-run/router": "1.21.0", + "react-router": "6.28.0" }, "engines": { - "node": ">=14" + "node": ">=14.0.0" }, "peerDependencies": { "react": ">=16.8", @@ -14142,6 +15813,7 @@ "version": "4.4.5", "resolved": "https://registry.npmmirror.com/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -14157,6 +15829,7 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -14165,6 +15838,7 @@ "version": "3.6.2", "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14178,6 +15852,7 @@ "version": "3.6.0", "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -14189,6 +15864,7 @@ "version": "2.2.3", "resolved": "https://registry.npmmirror.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -14200,6 +15876,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -14212,6 +15889,7 @@ "version": "4.2.1", "resolved": "https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz", "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.9.2" } @@ -14220,19 +15898,43 @@ "version": "2.4.2", "resolved": "https://registry.npmmirror.com/redux-thunk/-/redux-thunk-2.4.2.tgz", "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", "peerDependencies": { "redux": "^4" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -14241,45 +15943,54 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -14287,29 +15998,29 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -14318,6 +16029,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -14330,6 +16042,7 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14338,6 +16051,7 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14345,30 +16059,43 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/reselect": { "version": "4.1.8", "resolved": "https://registry.npmmirror.com/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -14380,6 +16107,7 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14388,6 +16116,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -14411,27 +16140,40 @@ } } }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/resolve-url-loader/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -14440,6 +16182,7 @@ "version": "1.1.1", "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -14448,6 +16191,7 @@ "version": "0.13.1", "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -14456,6 +16200,7 @@ "version": "1.0.4", "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -14465,17 +16210,23 @@ "version": "3.0.2", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -14491,6 +16242,7 @@ "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -14501,18 +16253,11 @@ "rollup": "^2.0.0" } }, - "node_modules/rollup-plugin-terser/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/rollup-plugin-terser/node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -14526,72 +16271,106 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, "engines": { "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sanitize.css": { "version": "13.0.0", "resolved": "https://registry.npmmirror.com/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" }, "node_modules/sass-loader": { "version": "12.6.0", "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" @@ -14599,6 +16378,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "fibers": ">= 3.1.0", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", @@ -14624,12 +16407,14 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" }, "node_modules/saxes": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -14638,36 +16423,89 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" } }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { + "@types/node-forge": "^1.3.0", "node-forge": "^1" }, "engines": { @@ -14675,12 +16513,10 @@ } }, "node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -14688,26 +16524,11 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -14731,6 +16552,7 @@ "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14738,17 +16560,23 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -14757,6 +16585,7 @@ "version": "1.9.1", "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -14774,6 +16603,7 @@ "version": "2.6.9", "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14782,6 +16612,7 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14790,6 +16621,7 @@ "version": "1.6.3", "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -14803,49 +16635,88 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -14857,44 +16728,64 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/size-sensor": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/size-sensor/-/size-sensor-1.0.2.tgz", - "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==" + "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==", + "license": "ISC" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14903,6 +16794,7 @@ "version": "0.3.24", "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -14912,20 +16804,23 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -14934,6 +16829,7 @@ "version": "3.0.2", "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.3", @@ -14942,6 +16838,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^5.0.0" } @@ -14950,6 +16850,7 @@ "version": "0.5.21", "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14959,6 +16860,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -14967,12 +16869,14 @@ "version": "1.4.8", "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -14988,6 +16892,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -15000,18 +16905,21 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -15023,6 +16931,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15030,12 +16939,114 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15044,6 +17055,7 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -15055,14 +17067,22 @@ "version": "1.3.0", "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", + "license": "MIT" + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -15074,12 +17094,14 @@ "node_modules/string-natural-compare": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15089,63 +17111,137 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" }, "engines": { "node": ">= 0.4" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -15159,6 +17255,20 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -15170,6 +17280,7 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15178,6 +17289,7 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -15186,6 +17298,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15194,6 +17307,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -15205,17 +17319,26 @@ "version": "3.1.1", "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/style-loader": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.2.tgz", - "integrity": "sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==", + "version": "3.3.4", + "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^5.0.0" } @@ -15224,6 +17347,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -15236,18 +17360,20 @@ } }, "node_modules/stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" }, "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "version": "3.35.0", + "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -15258,48 +17384,79 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "10.4.5", + "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "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" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-hyperlinks": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -15308,43 +17465,30 @@ "node": ">=8" } }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "1.3.2", "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -15367,10 +17511,52 @@ "node": ">=4.0.0" } }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -15382,14 +17568,19 @@ "version": "3.4.2", "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/svgo/node_modules/dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -15399,6 +17590,7 @@ "version": "1.7.0", "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -15407,49 +17599,82 @@ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } }, "node_modules/svgo/node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "~1.0.0" } }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" }, "node_modules/tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.15.tgz", + "integrity": "sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==", + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.2.12", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.18.2", + "jiti": "^1.21.6", "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -15463,6 +17688,7 @@ "version": "2.2.1", "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15471,6 +17697,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15479,6 +17706,7 @@ "version": "0.6.0", "resolved": "https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", @@ -15487,35 +17715,47 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tempy/node_modules/type-fest": { "version": "0.16.0", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/terser": { - "version": "5.17.1", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "version": "5.36.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "license": "BSD-2-Clause", "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -15527,19 +17767,24 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^5.1.0" }, @@ -15555,15 +17800,35 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -15576,12 +17841,14 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -15590,6 +17857,7 @@ "version": "1.6.0", "resolved": "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -15600,30 +17868,35 @@ "node_modules/throat": { "version": "6.0.2", "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" + }, + "node_modules/throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -15631,18 +17904,26 @@ "node": ">=8.0" } }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -15657,6 +17938,7 @@ "version": "0.2.0", "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -15665,6 +17947,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -15675,17 +17958,20 @@ "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -15697,6 +17983,7 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -15708,6 +17995,7 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15715,12 +18003,14 @@ "node_modules/tslib": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -15734,12 +18024,14 @@ "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -15751,6 +18043,7 @@ "version": "4.0.8", "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15759,14 +18052,19 @@ "version": "0.21.3", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -15775,20 +18073,85 @@ "node": ">= 0.6" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -15797,6 +18160,7 @@ "version": "4.9.5", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15809,17 +18173,28 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15828,6 +18203,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -15837,9 +18213,10 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15848,6 +18225,7 @@ "version": "2.1.0", "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15856,6 +18234,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -15864,9 +18243,10 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -15875,6 +18255,7 @@ "version": "1.0.0", "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15882,24 +18263,41 @@ "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", "engines": { "node": ">=4", "yarn": "*" } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -15912,6 +18310,7 @@ "version": "4.4.1", "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -15920,6 +18319,7 @@ "version": "1.5.10", "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -15929,14 +18329,20 @@ "version": "1.0.11", "resolved": "https://registry.npmmirror.com/use-force-update/-/use-force-update-1.0.11.tgz", "integrity": "sha512-h4SICYgTJHon8w9dFIqdqR1Vrzdgl4YaRfRwhmAh01kBGljzTICanyfaFU8C4etuEfRdYpE+04XX2ZrEhOWKXQ==", + "license": "MIT", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/CharlesStover" + }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -15944,28 +18350,35 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/util.promisify": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -15974,6 +18387,7 @@ "version": "8.3.2", "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -15982,6 +18396,7 @@ "version": "8.1.1", "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -15991,10 +18406,17 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, "node_modules/v8-to-istanbul/node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -16003,6 +18425,7 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -16011,6 +18434,8 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -16019,6 +18444,7 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -16030,14 +18456,16 @@ "version": "1.0.8", "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -16050,6 +18478,7 @@ "version": "1.7.3", "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -16057,44 +18486,46 @@ "node_modules/web-vitals": { "version": "2.1.4", "resolved": "https://registry.npmmirror.com/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", + "license": "Apache-2.0" }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", "engines": { "node": ">=10.4" } }, "node_modules/webpack": { - "version": "5.81.0", - "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.81.0.tgz", - "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", + "version": "5.96.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "license": "MIT", "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.7.6", - "browserslist": "^4.14.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.13.0", + "enhanced-resolve": "^5.17.1", "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", + "graceful-fs": "^4.2.11", "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.1.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -16103,6 +18534,10 @@ "engines": { "node": ">=10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependenciesMeta": { "webpack-cli": { "optional": true @@ -16110,9 +18545,10 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -16123,55 +18559,19 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "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" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/webpack-dev-server": { - "version": "4.13.3", - "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz", - "integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==", + "version": "4.15.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -16179,7 +18579,7 @@ "@types/serve-index": "^1.9.1", "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.0.11", "chokidar": "^3.5.3", @@ -16201,7 +18601,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -16210,6 +18610,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^4.37.0 || ^5.0.0" }, @@ -16222,51 +18626,11 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "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" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -16287,6 +18651,7 @@ "version": "4.1.1", "resolved": "https://registry.npmmirror.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" @@ -16302,6 +18667,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -16310,6 +18676,7 @@ "version": "2.3.1", "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -16322,6 +18689,7 @@ "version": "3.2.3", "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -16330,6 +18698,7 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -16342,14 +18711,34 @@ "version": "4.3.0", "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -16363,6 +18752,7 @@ "version": "0.1.4", "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -16371,6 +18761,7 @@ "version": "1.0.5", "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", "dependencies": { "iconv-lite": "0.4.24" } @@ -16379,6 +18770,7 @@ "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -16387,19 +18779,22 @@ } }, "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + "version": "3.6.20", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" }, "node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -16413,6 +18808,7 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -16427,70 +18823,115 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "node_modules/which-builtin-type": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.16", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -16514,21 +18955,21 @@ "strip-comments": "^2.0.1", "tempy": "^0.6.0", "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" }, "engines": { "node": ">=10.0.0" @@ -16538,6 +18979,7 @@ "version": "0.3.6", "resolved": "https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", @@ -16551,20 +18993,26 @@ } }, "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/workbox-build/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -16578,12 +19026,14 @@ "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "license": "BSD-3-Clause", "dependencies": { "whatwg-url": "^7.0.0" }, @@ -16595,6 +19045,7 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", "dependencies": { "punycode": "^2.1.0" } @@ -16602,12 +19053,14 @@ "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -16615,117 +19068,132 @@ } }, "node_modules/workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" }, "node_modules/workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", "dependencies": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, "node_modules/workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, "node_modules/workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", "dependencies": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" } }, "node_modules/workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" } }, "node_modules/workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" }, "node_modules/workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", "upath": "^1.2.0", "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" + "workbox-build": "6.6.0" }, "engines": { "node": ">=10.0.0" @@ -16738,6 +19206,7 @@ "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -16746,24 +19215,27 @@ "version": "1.4.3", "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" } }, "node_modules/workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", "dependencies": { "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" + "workbox-core": "6.6.0" } }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16771,44 +19243,40 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "node": ">=10" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -16817,9 +19285,10 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.10", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -16839,17 +19308,20 @@ "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -16857,12 +19329,14 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } @@ -16871,6 +19345,7 @@ "version": "16.2.0", "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -16888,6 +19363,7 @@ "version": "20.2.9", "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -16896,12753 +19372,20 @@ "version": "0.1.0", "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zrender": { - "version": "5.4.3", - "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.3.tgz", - "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", - "dependencies": { - "tslib": "2.3.0" - } - } - }, - "dependencies": { - "@adobe/css-tools": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.2.0.tgz", - "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==" - }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==" - }, - "@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz", - "integrity": "sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", - "requires": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz", - "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", - "requires": { - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", - "requires": { - "@babel/types": "^7.21.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "requires": { - "@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": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "requires": { - "@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-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", - "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.21.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "requires": { - "@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": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@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": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "requires": { - "@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": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", - "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz", - "integrity": "sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", - "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", - "requires": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz", - "integrity": "sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", - "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.21.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", - "requires": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.21.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", - "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", - "requires": { - "@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-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@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.20.7", - "@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.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@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.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@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.21.0", - "@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.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@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.21.4", - "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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - } - }, - "@babel/preset-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", - "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-typescript": "^7.21.3" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@babylonjs/core": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/core/-/core-6.0.0.tgz", - "integrity": "sha512-lQ0cDwhVrWn9MSf91UsvLbWMpIFW0P1YxNSghUG3yTOaf2ZpKEl9AmTrbN+lMfxkrGdgQQB+Bgd3khc2kkMkrA==" - }, - "@babylonjs/gui": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/gui/-/gui-6.0.0.tgz", - "integrity": "sha512-oCvDo8u4Z/n5w6ZVlEpTYuaNpFQ1lu6eEz/xSDCcyRND7EqRj+EJjprvaFDz8c+prVEsC1WRMI5swjy/044sww==", - "requires": {} - }, - "@babylonjs/gui-editor": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/gui-editor/-/gui-editor-6.0.0.tgz", - "integrity": "sha512-nv4V+WVwkb+YwDahTXs1qKwbLcLLo0p8zDRSYiqxTuQ5Dazt9eloqIligV3xuNqqmQVY8jUbF4DxafAbnohy0A==", - "dev": true, - "peer": true, - "requires": {} - }, - "@babylonjs/inspector": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/inspector/-/inspector-6.0.0.tgz", - "integrity": "sha512-XfBxZz9uA9+hr4cVKO//nMb7Vq9j1AiQnHXFVsQMHJmZF6JDqMaIAsmvRn2Pssa9qzdI/ohVlLCRZKPebSL72g==", - "dev": true, - "requires": { - "@fortawesome/fontawesome-svg-core": "^6.1.0", - "@fortawesome/free-regular-svg-icons": "^6.0.0", - "@fortawesome/free-solid-svg-icons": "^6.0.0" - } - }, - "@babylonjs/loaders": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/loaders/-/loaders-6.0.0.tgz", - "integrity": "sha512-QXHW+/NnZ+asGGyZzlQyCRWCoM+iou/Btqh7WjTPnqPSz0aw3yE9lMqMm67B3iTmtD9XGuEkZ0fPoDDgsW1Z7Q==", - "requires": {} - }, - "@babylonjs/materials": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/materials/-/materials-6.0.0.tgz", - "integrity": "sha512-9een1RTJ/aOGsmqaqbtl/MhvXhSdXOflbuE+gW0rOVt/QvXoReSxpOMEis42OkwoL4KohgfAfp09K6TF0T4JLw==", - "requires": {} - }, - "@babylonjs/serializers": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@babylonjs/serializers/-/serializers-6.0.0.tgz", - "integrity": "sha512-rf7hUSdaKvtkcOgyEwi6ay3lNgs0u3NKsojdPjzFRoYnJLlk8ZSXB8p1eXnoOLnbvbYanQqQ/+x0tfK986pE/g==", - "dev": true, - "peer": true, - "requires": {} - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "requires": {} - }, - "@emotion/babel-plugin": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", - "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "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.1.3" - } - }, - "@emotion/cache": { - "version": "11.10.7", - "resolved": "https://registry.npmmirror.com/@emotion/cache/-/cache-11.10.7.tgz", - "integrity": "sha512-VLl1/2D6LOjH57Y8Vem1RoZ9haWF4jesHDGiHtKozDQuBIkJm2gimVo0I02sWCuzZtVACeixTVB4jeE8qvCBoQ==", - "requires": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" - } - }, - "@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", - "requires": { - "@emotion/memoize": "^0.8.0" - } - }, - "@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "@emotion/react": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.10.6.tgz", - "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", - "requires": { - "@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/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "requires": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "@emotion/styled": { - "version": "11.10.6", - "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.10.6.tgz", - "integrity": "sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.6", - "@emotion/is-prop-valid": "^1.2.0", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0" - } - }, - "@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==" - }, - "@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.1", - "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" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "@eslint/js": { - "version": "8.39.0", - "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.39.0.tgz", - "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==" - }, - "@formatjs/intl-unified-numberformat": { - "version": "3.3.7", - "resolved": "https://registry.npmmirror.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", - "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", - "requires": { - "@formatjs/intl-utils": "^2.3.0" - } - }, - "@formatjs/intl-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", - "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==" - }, - "@fortawesome/fontawesome-common-types": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", - "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==", - "dev": true - }, - "@fortawesome/fontawesome-svg-core": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", - "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", - "dev": true, - "requires": { - "@fortawesome/fontawesome-common-types": "6.4.0" - } - }, - "@fortawesome/free-regular-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz", - "integrity": "sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==", - "dev": true, - "requires": { - "@fortawesome/fontawesome-common-types": "6.4.0" - } - }, - "@fortawesome/free-solid-svg-icons": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", - "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", - "dev": true, - "requires": { - "@fortawesome/fontawesome-common-types": "6.4.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - } - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@mui/base": { - "version": "5.0.0-alpha.127", - "resolved": "https://registry.npmmirror.com/@mui/base/-/base-5.0.0-alpha.127.tgz", - "integrity": "sha512-FoRQd0IOH9MnfyL5yXssyQRnC4vXI+1bwkU1idr+wNkP1ZfxE+JsThHcfl1dy5azLssVUGTtQFD9edQLdbyJog==", - "requires": { - "@babel/runtime": "^7.21.0", - "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "@popperjs/core": "^2.11.7", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - } - }, - "@mui/core-downloads-tracker": { - "version": "5.12.2", - "resolved": "https://registry.npmmirror.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.12.2.tgz", - "integrity": "sha512-Qn7dy8tql6T0hY6gTFPkpWlnqVVFGu5Z6QzEzUSzzmLZpfAx4kf8sFz0PHiB7gU5yrqcZF9picMx1shpRY/rXw==" - }, - "@mui/icons-material": { - "version": "5.11.16", - "resolved": "https://registry.npmmirror.com/@mui/icons-material/-/icons-material-5.11.16.tgz", - "integrity": "sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "@mui/material": { - "version": "5.12.2", - "resolved": "https://registry.npmmirror.com/@mui/material/-/material-5.12.2.tgz", - "integrity": "sha512-XOVy6fVC0rI2dEwDq/1s4Te2hewTUe6lznzeVnruyATGkdmM06WnHqkZOoLVIWo9hWwAxpcgTDcAIVpFtt1nrw==", - "requires": { - "@babel/runtime": "^7.21.0", - "@mui/base": "5.0.0-alpha.127", - "@mui/core-downloads-tracker": "^5.12.2", - "@mui/system": "^5.12.1", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.2", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - } - }, - "@mui/private-theming": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/private-theming/-/private-theming-5.12.0.tgz", - "integrity": "sha512-w5dwMen1CUm1puAtubqxY9BIzrBxbOThsg2iWMvRJmWyJAPdf3Z583fPXpqeA2lhTW79uH2jajk5Ka4FuGlTPg==", - "requires": { - "@babel/runtime": "^7.21.0", - "@mui/utils": "^5.12.0", - "prop-types": "^15.8.1" - } - }, - "@mui/styled-engine": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/styled-engine/-/styled-engine-5.12.0.tgz", - "integrity": "sha512-frh8L7CRnvD0RDmIqEv6jFeKQUIXqW90BaZ6OrxJ2j4kIsiVLu29Gss4SbBvvrWwwatR72sBmC3w1aG4fjp9mQ==", - "requires": { - "@babel/runtime": "^7.21.0", - "@emotion/cache": "^11.10.7", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - } - }, - "@mui/system": { - "version": "5.12.1", - "resolved": "https://registry.npmmirror.com/@mui/system/-/system-5.12.1.tgz", - "integrity": "sha512-Po+sicdV3bbRYXdU29XZaHPZrW7HUYUqU1qCu77GCCEMbahC756YpeyefdIYuPMUg0OdO3gKIUfDISBrkjJL+w==", - "requires": { - "@babel/runtime": "^7.21.0", - "@mui/private-theming": "^5.12.0", - "@mui/styled-engine": "^5.12.0", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.12.0", - "clsx": "^1.2.1", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - } - }, - "@mui/types": { - "version": "7.2.4", - "resolved": "https://registry.npmmirror.com/@mui/types/-/types-7.2.4.tgz", - "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", - "requires": {} - }, - "@mui/utils": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/@mui/utils/-/utils-5.12.0.tgz", - "integrity": "sha512-RmQwgzF72p7Yr4+AAUO6j1v2uzt6wr7SWXn68KBsnfVpdOHyclCzH2lr/Xu6YOw9su4JRtdAIYfJFXsS6Cjkmw==", - "requires": { - "@babel/runtime": "^7.21.0", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - } - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "@popperjs/core": { - "version": "2.11.7", - "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.7.tgz", - "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==" - }, - "@reduxjs/toolkit": { - "version": "1.9.5", - "resolved": "https://registry.npmmirror.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz", - "integrity": "sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==", - "requires": { - "immer": "^9.0.21", - "redux": "^4.2.1", - "redux-thunk": "^2.4.2", - "reselect": "^4.1.8" - } - }, - "@remix-run/router": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.5.0.tgz", - "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==" - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "9.2.0", - "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-9.2.0.tgz", - "integrity": "sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "requires": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmmirror.com/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - }, - "dependencies": { - "@testing-library/dom": { - "version": "8.20.0", - "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-8.20.0.tgz", - "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" - }, - "@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", - "requires": { - "@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.4", - "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.5", - "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", - "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.34", - "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", - "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-proxy": { - "version": "1.17.11", - "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz", - "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmmirror.com/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "requires": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - }, - "@types/node": { - "version": "16.18.25", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.25.tgz", - "integrity": "sha512-rUDO6s9Q/El1R1I21HG4qw/LstTHCPO/oQNAwI/4b2f9EWvMnqt4d3HJwPMawfZ3UvodB8516Yg+VAq54YM+eA==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.0.tgz", - "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.1", - "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.1.tgz", - "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-is": { - "version": "17.0.4", - "resolved": "https://registry.npmmirror.com/@types/react-is/-/react-is-17.0.4.tgz", - "integrity": "sha512-FLzd0K9pnaEvKz4D1vYxK9JmgQPiGk1lu23o1kqGsLeT0iPbRSF7b76+S5T9fD8aRa0B8bY7I/3DebEj+1ysBA==", - "requires": { - "@types/react": "^17" - }, - "dependencies": { - "@types/react": { - "version": "17.0.58", - "resolved": "https://registry.npmmirror.com/@types/react/-/react-17.0.58.tgz", - "integrity": "sha512-c1GzVY97P0fGxwGxhYq989j4XwlcHQoto6wQISOC2v6wm3h0PORRWJFHlkRjfGsiG3y1609WdQ+J+tKxvrEd6A==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - } - } - }, - "@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmmirror.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmmirror.com/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - }, - "@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmmirror.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "requires": { - "@types/jest": "*" - } - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmmirror.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" - }, - "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz", - "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==", - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/type-utils": "5.59.1", - "@typescript-eslint/utils": "5.59.1", - "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/experimental-utils": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.0.tgz", - "integrity": "sha512-evvdzcPrUv9+Hj+KX6fa3WMrtTZ7onnGHL3NfT/zN9q2FQhb2yvNJDa+w/ND0TpdRCbulwag0dxwMUt2MJB2Vg==", - "requires": { - "@typescript-eslint/utils": "5.59.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", - "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", - "requires": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.59.0.tgz", - "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", - "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", - "requires": { - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/visitor-keys": "5.59.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.59.0.tgz", - "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.0", - "@typescript-eslint/types": "5.59.0", - "@typescript-eslint/typescript-estree": "5.59.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", - "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", - "requires": { - "@typescript-eslint/types": "5.59.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", - "requires": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz", - "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==", - "requires": { - "@typescript-eslint/typescript-estree": "5.59.1", - "@typescript-eslint/utils": "5.59.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.59.1.tgz", - "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", - "requires": { - "@typescript-eslint/types": "5.59.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.5.tgz", - "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", - "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", - "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", - "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", - "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", - "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", - "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", - "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", - "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", - "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", - "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/helper-wasm-section": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-opt": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5", - "@webassemblyjs/wast-printer": "1.11.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", - "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", - "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-buffer": "1.11.5", - "@webassemblyjs/wasm-gen": "1.11.5", - "@webassemblyjs/wasm-parser": "1.11.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", - "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@webassemblyjs/helper-api-error": "1.11.5", - "@webassemblyjs/helper-wasm-bytecode": "1.11.5", - "@webassemblyjs/ieee754": "1.11.5", - "@webassemblyjs/leb128": "1.11.5", - "@webassemblyjs/utf8": "1.11.5" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.5", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", - "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", - "requires": { - "@webassemblyjs/ast": "1.11.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==" - }, - "axios": { - "version": "1.3.6", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.3.6.tgz", - "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@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": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmmirror.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@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": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - } - }, - "babylonjs-gltf2interface": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/babylonjs-gltf2interface/-/babylonjs-gltf2interface-6.0.0.tgz", - "integrity": "sha512-Yv4HGPt/1ycOUrB9ufDjYKhF7OvkVHnDDa74CO8yUGfmJfJNJ8uxP/mvnyS7YO5eX/rCqaQPdGZkdPX10r4ZEA==", - "peer": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmmirror.com/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001653", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", - "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmmirror.com/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - }, - "classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==" - }, - "core-js-compat": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.30.1.tgz", - "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==", - "requires": { - "browserslist": "^4.21.5" - } - }, - "core-js-pure": { - "version": "3.30.1", - "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.30.1.tgz", - "integrity": "sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", - "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "cssdb": { - "version": "7.5.4", - "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-7.5.4.tgz", - "integrity": "sha512-fGD+J6Jlq+aurfE1VDXlLS4Pt0VtNlu2+YgfGOdMxRyl/HQ9bDiHTwSck1Yz8A97Dt/82izSK6Bp/4nVqacOsg==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", - "requires": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "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.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmmirror.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { "version": "5.6.0", - "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", + "license": "BSD-3-Clause", "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "echarts": { - "version": "5.4.2", - "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.2.tgz", - "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", - "requires": { - "tslib": "2.3.0", - "zrender": "5.4.3" - } - }, - "echarts-for-react": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz", - "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", - "requires": { - "fast-deep-equal": "^3.1.3", - "size-sensor": "^1.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.374", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.374.tgz", - "integrity": "sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ==" - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "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.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "requires": { - "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": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.39.0", - "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.39.0.tgz", - "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.39.0", - "@humanwhocodes/config-array": "^0.11.8", - "@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.0", - "espree": "^9.5.1", - "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", - "grapheme-splitter": "^1.0.4", - "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-sdsl": "^4.1.4", - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "requires": { - "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" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.10.3", - "resolved": "https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz", - "integrity": "sha512-0yhsKFsjHLud5PM+f2dWr9K3rqYzMy4cSHs3lcmFYMa1CdSzRvHGgXvsFarBjZ41gU8jhTdMIkg8jHLxGJqLqw==", - "requires": { - "@typescript-eslint/utils": "^5.58.0" - } - }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.5.1", - "resolved": "https://registry.npmmirror.com/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmmirror.com/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmmirror.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.5.1", - "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz", - "integrity": "sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==", - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "intl": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/intl/-/intl-1.2.5.tgz", - "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==" - }, - "intl-format-cache": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz", - "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==" - }, - "intl-messageformat": { - "version": "7.8.4", - "resolved": "https://registry.npmmirror.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz", - "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", - "requires": { - "intl-format-cache": "^4.2.21", - "intl-messageformat-parser": "^3.6.4" - } - }, - "intl-messageformat-parser": { - "version": "3.6.4", - "resolved": "https://registry.npmmirror.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", - "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", - "requires": { - "@formatjs/intl-unified-numberformat": "^3.2.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmmirror.com/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - } - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==" - }, - "js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "launch-editor": { - "version": "2.6.0", - "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz", - "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", - "requires": { - "fs-monkey": "^1.0.3" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-css-extract-plugin": { - "version": "2.7.5", - "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", - "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "moment": { - "version": "2.30.1", - "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.4", - "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.4.tgz", - "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "dependencies": { - "yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==" - } - } - }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "requires": { - "postcss-selector-parser": "^6.0.11" - } - }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "requires": {} - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmmirror.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-intl-universal": { - "version": "2.6.15", - "resolved": "https://registry.npmmirror.com/react-intl-universal/-/react-intl-universal-2.6.15.tgz", - "integrity": "sha512-xUXEh2xynkrv1JShdsraVAN1jbIIlXqF6jzk9fU71GJ5zw5DFuQkh21hpTrkbc1sNySqXST+uqZAKQ8SOMC9Yw==", - "requires": { - "cookie": "^0.3.1", - "escape-html": "^1.0.3", - "intl": "^1.2.5", - "intl-messageformat": "^7.8.4", - "invariant": "^2.2.2", - "lodash.merge": "^4.6.2", - "object-keys": "^1.0.11", - "querystring": "^0.2.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "react-redux": { - "version": "8.0.5", - "resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-8.0.5.tgz", - "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", - "requires": { - "@babel/runtime": "^7.12.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/use-sync-external-store": "^0.0.3", - "hoist-non-react-statics": "^3.3.2", - "react-is": "^18.0.0", - "use-sync-external-store": "^1.0.0" - } - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-router": { - "version": "6.10.0", - "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.10.0.tgz", - "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", - "requires": { - "@remix-run/router": "1.5.0" - } - }, - "react-router-dom": { - "version": "6.10.0", - "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.10.0.tgz", - "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", - "requires": { - "@remix-run/router": "1.5.0", - "react-router": "6.10.0" - } - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmmirror.com/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmmirror.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "redux": { - "version": "4.2.1", - "resolved": "https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz", - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "redux-thunk": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", - "requires": {} - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "requires": { - "@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": { - "version": "0.9.1", - "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmmirror.com/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmmirror.com/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "size-sensor": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/size-sensor/-/size-sensor-1.0.2.tgz", - "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "requires": { - "internal-slot": "^1.0.4" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.2.tgz", - "integrity": "sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==", - "requires": {} - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" - }, - "sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - } - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "5.17.1", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - } - }, - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use-force-update": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/use-force-update/-/use-force-update-1.0.11.tgz", - "integrity": "sha512-h4SICYgTJHon8w9dFIqdqR1Vrzdgl4YaRfRwhmAh01kBGljzTICanyfaFU8C4etuEfRdYpE+04XX2ZrEhOWKXQ==", - "requires": {} - }, - "use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": {} - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - } - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmmirror.com/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "5.81.0", - "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.81.0.tgz", - "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", - "requires": { - "@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.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.13.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.1.2", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.13.3", - "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz", - "integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.0.1.tgz", - "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "requires": {} - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" - }, - "workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", - "requires": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", - "requires": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" - } - }, - "workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" - }, - "workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "zrender": { - "version": "5.4.3", - "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.3.tgz", - "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", - "requires": { "tslib": "2.3.0" } } diff --git a/package.json b/package.json index dc3b790..fa97fa6 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@types/node": "^16.11.56", "@types/react": "^18.0.17", "@types/react-dom": "^18.0.6", + "antd": "^5.22.2", "axios": "^1.3.3", "babel-jest": "^27.4.2", "babel-loader": "^8.2.3", @@ -49,7 +50,6 @@ "jest-resolve": "^27.4.2", "jest-watch-typeahead": "^1.0.0", "mini-css-extract-plugin": "^2.4.5", - "moment": "^2.30.1", "postcss": "^8.4.4", "postcss-flexbugs-fixes": "^5.0.2", "postcss-loader": "^6.2.1", diff --git a/public/wsconfig.json b/public/wsconfig.json index b7b5d8b..72edba5 100644 --- a/public/wsconfig.json +++ b/public/wsconfig.json @@ -1,3 +1,3 @@ { - "url": "192.168.1.45:48080" + "url": "172.16.32.40:480080" } \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 9c397a1..a057ed1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,6 @@ import React, { useEffect } from "react"; -import intl from "react-intl-universal"; -import locales from "./locales/locales"; import "./App.css"; import { useAppSelector } from "./store/hooks"; -import { selectChangeLangAndCss } from "./store/ChangeLangAndCss"; -// import { createBrowserRouter, RouterProvider } from "react-router-dom"; import { createHashRouter, RouterProvider } from "react-router-dom"; import ErrorPage from "./page/ErrorPage"; @@ -24,38 +20,12 @@ import LinePageFourTwo from "./page/LinePage4-2"; import LinePageFiveOne from "./page/LinePage5-1"; import LinePageFiveTwo from "./page/LinePage5-2"; -// const LOCALES_LIST = [ -// { -// label: "English", -// value: "en-US", -// }, -// { -// label: "简体中文", -// value: "zh-CN", -// }, -// ]; - const onGlassObservable = new Observable(); function App() { const thisLineGlassStatus = useAppSelector(selectGlassStatus); onGlassObservable.notifyObservers(thisLineGlassStatus); - const Locale = useAppSelector(selectChangeLangAndCss).Locale; - - const setCurrentLocale = (currentLocale: string) => { - intl - .init({ - currentLocale, - locales: locales, - }) - .then(() => { - console.log("Language Changed to " + currentLocale); - }); - }; - - setCurrentLocale(Locale); - const router = createHashRouter([ // { // path: "/:LineID?", diff --git a/src/babylonjs/AllLinePageBabylon.tsx b/src/babylonjs/AllLinePageBabylon.tsx new file mode 100644 index 0000000..39c9588 --- /dev/null +++ b/src/babylonjs/AllLinePageBabylon.tsx @@ -0,0 +1,419 @@ +import React, { useEffect, useRef, useState } from "react"; +import * as BABYLON from "@babylonjs/core"; +import "@babylonjs/core/Debug/debugLayer"; +import "@babylonjs/inspector"; +import "@babylonjs/loaders/glTF"; +import { GridMaterial } from "@babylonjs/materials/"; +import { HemisphericLight, Vector3 } from "@babylonjs/core"; +import { useAppSelector } from "../store/hooks"; +import "../page/style/standard.css"; +import AlarmTipGreen from "./../page/assets/icon/g.png"; +import AlarmTipYellow from "./../page/assets/icon/y.png"; +import AlarmTipRed from "./../page/assets/icon/r.png"; +import {selectLine1Before} from "../store/LinePageSlice"; + +const myStyle = { + width: "1041px", + height: "599px", + outline: "none", +}; +interface MybabylonJSProps { + modelPath: string; // 明确 modelPath 属性的类型为 string +} +interface EqListType { + [key: string]: EqMsg +} +interface EqMsg { + equipmentName?:string; + run?:boolean; + error?:boolean; + inputNum?:number; + outputNum?:number; + quantityTime?:number; + status?:string; + statusTime?:number; + localDateTime?:number; + equipmentCode?:string; + equipmentId?:number; +} +function MybabylonJS({ modelPath }: MybabylonJSProps) { + const [eqList, setEqList] = useState({}); + const allData = useAppSelector(selectLine1Before) as any; // 使用`any`来绕过类型检查 + const canvasRef = useRef(null); + const resetRef = useRef<(() => void) | null>(null); + // onEquObservable.notifyObservers(EquStatus); + const [selectedMeshName, setSelectedMeshName] = useState(null); + const [selectedMeshId, setSelectedMeshId] = useState(null); + const [selectedMeshObj, setSelectedMeshObj] = useState({ + equipmentName: "", + run: true, + error: false, + }); + const [showInfo, setShowInfo] = useState(true); + + // 使用 useRef 来存储当前加载的模型引用 + const currentMeshesRef = useRef>([]); + useEffect(() => { + const equStatus = allData?.equStatus; + if (equStatus) { + setEqList(equStatus); + } + },[allData]) + // useEffect(() => { + // if (selectedMeshId && eqList[selectedMeshId]) { + // setSelectedMeshObj({ + // equipmentName:eqList[selectedMeshId].equipmentName, + // run:eqList[selectedMeshId].run ? eqList[selectedMeshId].run : true, + // error:eqList[selectedMeshId].error ? eqList[selectedMeshId].error : false, + // }); + // } + // },[selectedMeshId]) + useEffect(() => { + // 确保 canvas 引用存在 + if (!canvasRef.current) return; + const canvas = canvasRef.current; + const engine = new BABYLON.Engine(canvas, true, { + preserveDrawingBuffer: true, + stencil: true, + }); + + const createScene = async function () { + // This creates a basic Babylon Scene object (non-mesh) + const scene = new BABYLON.Scene(engine); + scene.clearColor = new BABYLON.Color4(0, 0, 0, 0); + const baseLight = new HemisphericLight( + "hemiLight", + new Vector3(-1, 1, 0), + scene + ); + baseLight.intensity = 1; + baseLight.diffuse = new BABYLON.Color3(1, 1, 1); + baseLight.specular = new BABYLON.Color3(0.25, 0.25, 0.25); + baseLight.groundColor = new BABYLON.Color3(0.5, 0.5, 0.5); + + //add an arcRotateCamera to the scene + const camera = new BABYLON.ArcRotateCamera( + "camera", + BABYLON.Tools.ToRadians(270), + BABYLON.Tools.ToRadians(25), + 220, + new BABYLON.Vector3(0, 0, 10) + ); + camera.lowerRadiusLimit = 10; + camera.upperRadiusLimit = 600; + + // This attaches the camera to the canvas + camera.attachControl(canvas, true); + + //创建一个材质 + const newMt = new BABYLON.StandardMaterial("newMt"); + newMt.diffuseColor = BABYLON.Color3.Blue(); + + const ground = BABYLON.MeshBuilder.CreateGround( + "ground", + { + width: 1000, + height: 1000, + subdivisions: 1, + }, + scene + ); + + ground.scaling.x = 100; + ground.scaling.z = ground.scaling.x; + ground.isPickable = false; + + let grid = new GridMaterial("grid", scene); + + grid.majorUnitFrequency = 10; + grid.minorUnitVisibility = 0.3; + grid.gridRatio = 0.04; + grid.backFaceCulling = !1; + grid.mainColor = new BABYLON.Color3(1, 1, 1); + grid.lineColor = new BABYLON.Color3(1, 1, 1); + grid.opacity = 0; + grid.zOffset = 1; + grid.opacityTexture = new BABYLON.Texture( + "/public/png/backgroundGround.png", + scene + ); + ground.material = grid; + + let hl = new BABYLON.HighlightLayer("hl1", scene); + let hl2 = new BABYLON.HighlightLayer("hl2", scene); + + // 定义一个函数来加载或重新加载模型 + const loadOrReloadModel = async () => { + // 在加载新模型之前卸载已加载的模型 + currentMeshesRef.current.forEach((mesh) => { + if (mesh && mesh.parent) { + scene.removeMesh(mesh, true); + } + }); + currentMeshesRef.current = []; // 重置模型数组 + try { + // 使用 ImportMeshAsync 加载新模型 + var LOD0MESH1 = await BABYLON.SceneLoader.ImportMeshAsync( + "", + "/Line/", + "part1.babylon", + scene + ); + // 将新加载的模型添加到 currentMeshesRef 中 + currentMeshesRef.current.push(...LOD0MESH1.meshes); + var LOD0MESH2 = await BABYLON.SceneLoader.ImportMeshAsync( + "", + "/Line/", + "part2.babylon", + scene + ); + currentMeshesRef.current.push(...LOD0MESH2.meshes); + // ...为新加载的模型设置交互逻辑 + + LOD0MESH1.meshes.map((mesh) => { + mesh.isPickable = true; + mesh.actionManager = new BABYLON.ActionManager(scene); + if (modelPath.slice(-1) === "1") { + if ( + mesh.name.includes("磨边") || + mesh.name.includes("清洗") || + mesh.name.includes("镀膜") || + mesh.name.includes("固化") || + mesh.name.includes("丝印") || + mesh.name.includes("打孔") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } else { + if ( + mesh.name.includes("钢化") || + mesh.name.includes("包装") || + mesh.name.includes("铺纸") || + mesh.name.includes("下片机械手") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } + // 模型点击事件 + // mesh._scene.onPointerDown = async (event, _pickResult) => { + // console.log('_pickResult',_pickResult) + // const pickInfo = mesh._scene.pick( + // mesh._scene.pointerX, + // mesh._scene.pointerY + // ); + // //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 + // // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 + + // //判断是否是右键 + // if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; + // const MeshName = pickInfo.pickedMesh.name; + // // const MeshNameId = pickInfo.pickedMesh.metadata.tags; + + // setSelectedMeshName(MeshName); + // // setSelectedMeshId(MeshNameId); + // }; + }); + LOD0MESH2.meshes.map((mesh) => { + mesh.isPickable = true; + mesh.actionManager = new BABYLON.ActionManager(scene); + if (modelPath.slice(-1) === "1") { + if ( + mesh.name.includes("磨边") || + mesh.name.includes("清洗") || + mesh.name.includes("镀膜") || + mesh.name.includes("固化") || + mesh.name.includes("丝印") || + mesh.name.includes("打孔") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } else { + if ( + mesh.name.includes("钢化") || + mesh.name.includes("包装") || + mesh.name.includes("铺纸") || + mesh.name.includes("下片机械手") + ) { + // @ts-ignore + hl.addMesh(mesh, BABYLON.Color3.Green()); + } + } + // 模型点击事件 + // mesh._scene.onPointerDown = async (event, _pickResult) => { + // console.log('_pickResult',_pickResult) + // const pickInfo = mesh._scene.pick( + // mesh._scene.pointerX, + // mesh._scene.pointerY + // ); + // //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 + // // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 + + // //判断是否是右键 + // if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; + // const MeshName = pickInfo.pickedMesh.name; + // // const MeshNameId = pickInfo.pickedMesh.metadata.tags; + + // setSelectedMeshName(MeshName); + // // setSelectedMeshId(MeshNameId); + // }; + }); + } catch (error) { + console.error("加载模型失败:", error); + } + }; + + // 调用函数以加载或重新加载模型 + loadOrReloadModel(); + + function reset() { + camera.target = new BABYLON.Vector3(0, 0, 10); + camera.alpha = BABYLON.Tools.ToRadians(270); + camera.beta = BABYLON.Tools.ToRadians(25); + camera.radius = 220; + setShowInfo(true); + setSelectedMeshName(null); + } + // 外部初始位置按钮 + resetRef.current = reset; + + let resetCamera = setTimeout(reset, 15000); + scene.onPointerObservable.add((pointerInfo) => { + switch (pointerInfo.type) { + case BABYLON.PointerEventTypes.POINTERMOVE: + clearTimeout(resetCamera); + resetCamera = setTimeout(reset, 15000); + setShowInfo(false); + } + }); + return scene; + }; + + // call the createScene function + const scene = createScene(); + + // run the render loop + scene.then( + (scene) => { + console.log("createScene被调用了=====", scene); + engine.runRenderLoop(function () { + scene.render(); + }); + }, + (reason) => { + console.log("reason=============", reason); + } + ); + + // Resize + window.addEventListener("resize", function () { + engine.resize(); + }); + // 组件卸载时的清理逻辑 + return () => { + // 清理场景和引擎资源 + engine.dispose(); + }; + }, [modelPath]); + const resetModel = () => { + //模型初始位置 + if (resetRef.current) { + resetRef.current(); + } + }; + return ( +
+
+
+
88%
+
成品率
+
+
+
8,984
+
今日产量
+
+
+
12,948,984
+
本月产量
+
+
+
59
+
设备报警数
+
+
+ {selectedMeshName && ( +
+
+ 设备名称: + {selectedMeshObj.equipmentName} +
+
+ 进口数量: + 13,302 +
+
+ 出口数量: + 1,312 +
+
+ 报警状态: + + {selectedMeshObj.error ? ( + <> + + 报警 + + ) : ( + <> + + 正常 + + )} + +
+
+ 在线状态: + + {selectedMeshObj.run ? ( + <> + + 在线 + + ) : ( + <> + + 离线 + + )} + +
+
+ )} + +
+ ); +} + +export default MybabylonJS; diff --git a/src/page/Component/BarLineChart/chart.config.ts b/src/page/Component/BarLineChart/chart.config.ts index 4c61568..e555dce 100644 --- a/src/page/Component/BarLineChart/chart.config.ts +++ b/src/page/Component/BarLineChart/chart.config.ts @@ -1,18 +1,19 @@ import * as echarts from "echarts"; -export default function getOptions() { - // if (dataProps.length === 0) return null; +export default function getOptions(dataProps:any) { + if (dataProps.length === 0) return null; return { - grid: { top: 40, right: 10, bottom: 10, left: 10, containLabel: true }, + grid: { top: 40, right: 10, bottom: 5, left: 10, containLabel: true }, legend: { show: false, }, xAxis: { type: "category", - data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月'], + data: dataProps.time, axisLabel: { color: "#fff", fontSize: 12, interval: 0, + rotate:20 }, axisTick: { show: false }, axisLine: { @@ -83,7 +84,7 @@ export default function getOptions() { }, series: [ { - data: [100,200,110,22,11,458,15,2,45], + data: dataProps.input, type: "bar", barWidth: 10, barGap:0, @@ -95,7 +96,7 @@ export default function getOptions() { }, }, { - data: [10,20,11,221,111,48,115,211,145], + data:dataProps.output, type: "bar", barWidth: 10, itemStyle: { @@ -106,7 +107,7 @@ export default function getOptions() { }, }, { - data: [100,99,89,89,88,98,100,98,95], + data: dataProps.yield, type: "line", yAxisIndex: 1, symbol:'circle', diff --git a/src/page/LDPage/Center/CenterDown.tsx b/src/page/LDPage/Center/CenterDown.tsx index 2f53050..757d360 100644 --- a/src/page/LDPage/Center/CenterDown.tsx +++ b/src/page/LDPage/Center/CenterDown.tsx @@ -1,18 +1,47 @@ import TitleBox from "../Component/TitleBox"; import NumberBox from "../Component/NumberBox"; -const num1 = -18 -const num2 = +18 +import {useAppSelector} from "./../../../store/hooks" +import { selectAllLine } from "./../../../store/LeaderPageSlice"; +import { formatNumberWithCommas } from './../../../utils/index'; function CenterDown() { + interface mapInterface { + inputRate:string, + outputRate:string, + input:string, + output:string + } + let monthMap = { + inputRate:'', + outputRate:'', + input:'', + output:'' + } + let lastMonthMap = { + input:'', + output:'' + } + let yearMap = { + inputRate:'', + outputRate:'', + input:'', + output:'' + } + const data = useAppSelector(selectAllLine); + if (data.monthMap) { + monthMap = data.monthMap as mapInterface + lastMonthMap = data.lastMonthMap as mapInterface + yearMap = data.yearMap as mapInterface + } return(
- +
- +
@@ -20,10 +49,10 @@ function CenterDown() {
- +
- +
@@ -31,10 +60,10 @@ function CenterDown() {
- +
- +
diff --git a/src/page/LDPage/Center/CenterUp.tsx b/src/page/LDPage/Center/CenterUp.tsx index f95a56e..664e5fb 100644 --- a/src/page/LDPage/Center/CenterUp.tsx +++ b/src/page/LDPage/Center/CenterUp.tsx @@ -1,7 +1,9 @@ +import LinePageBabylon from "../../../babylonjs/AllLinePageBabylon"; function CenterUp() { + const lineID = "1-1" return(
- center-up +
) } diff --git a/src/page/LDPage/Component/NumberBox/index.tsx b/src/page/LDPage/Component/NumberBox/index.tsx index 504f44e..31f84b1 100644 --- a/src/page/LDPage/Component/NumberBox/index.tsx +++ b/src/page/LDPage/Component/NumberBox/index.tsx @@ -2,10 +2,11 @@ import './index.css'; import a_r from './../../../assets/icon/a_r.png'; import a_g from './../../../assets/icon/a_g.png'; interface boxProps { - num:number, + num:string | number, show?:boolean, title:string, - lastYear?:boolean + lastYear?:boolean, + bigNum:string | number } function NumberBox(props: boxProps) { return ( @@ -14,10 +15,10 @@ function NumberBox(props: boxProps) {
{props.title}
{ props.show?( -
0?'#FF0000':'#00FF00'}}> - {props.num>0?'+':''}{props.num}% +
0?'#FF0000':'#00FF00'}}> + {Number(props.num)>0?'+':''}{props.num}% { - props.num>0?( + Number(props.num)>0?( ):( @@ -27,7 +28,7 @@ function NumberBox(props: boxProps) { ):'' }
-
261,938,984
+
{props.bigNum}
) } diff --git a/src/page/LDPage/Component/pieChart/chart.config.ts b/src/page/LDPage/Component/pieChart/chart.config.ts index 0f669b7..0273c35 100644 --- a/src/page/LDPage/Component/pieChart/chart.config.ts +++ b/src/page/LDPage/Component/pieChart/chart.config.ts @@ -78,7 +78,7 @@ const getPersonnelList = async (dataProps: any) => { }, { offset: 1, - color: `${startColor.substring(0, startColor.length - 1)}, 0)`, // 终点颜色 + color: `${startColor.substring(0, startColor.length - 1)}, 0.2)`, // 终点颜色 }, ], global: false, diff --git a/src/page/LDPage/Left/LeftDown.tsx b/src/page/LDPage/Left/LeftDown.tsx index d2ce98c..bc8dbf4 100644 --- a/src/page/LDPage/Left/LeftDown.tsx +++ b/src/page/LDPage/Left/LeftDown.tsx @@ -1,19 +1,72 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import getOptions from "../../Component/BarLineChart/chart.config"; +import {useAppSelector} from "./../../../store/hooks" +import { selectAllLine } from "./../../../store/LeaderPageSlice"; +import { Fragment } from "react/jsx-runtime"; function LeftDown() { - const options1 = getOptions(); + const data = useAppSelector(selectAllLine); + interface Detail { + time: string; + input: string; + output: string; + Yield: string; + } + interface DataSource { + time: string[]; + input: number[]; + output: number[]; + yield: number[]; +} + let dataSource:DataSource = { + time:[], + input:[], + output:[], + yield:[] + }; + if (data.numDet && Array.isArray(data.numDet)) { + (data.numDet as Detail[]).forEach((item: Detail) => { + dataSource.time.push(item.time); + dataSource.input.push(Number(item.input)); + dataSource.output.push(Number(item.output)); + dataSource.yield.push(Number(item.Yield)); + }) + }else{ + dataSource.time = [] + dataSource.input = [] + dataSource.output = [] + dataSource.yield = [] + } + const options1 = getOptions(dataSource); return(
-
- 投入 - 产出 - 良品率 -
-
- -
+ { + dataSource.time.length>0?( +
+
+ 投入 + 产出 + 良品率 +
+
+ +
+
+ ):(

+ 暂无数据 +

) + } +
) } diff --git a/src/page/LDPage/Left/LeftUp.tsx b/src/page/LDPage/Left/LeftUp.tsx index 0f2c318..d3423d1 100644 --- a/src/page/LDPage/Left/LeftUp.tsx +++ b/src/page/LDPage/Left/LeftUp.tsx @@ -1,7 +1,25 @@ import TitleBox from "../Component/TitleBox"; import inputImg from "../../assets/icon/input.png" import prod from '../../assets/icon/prod.png' +import {useAppSelector} from "./../../../store/hooks" +import { selectAllLine } from "./../../../store/LeaderPageSlice"; +import { formatNumberWithCommas,parseAndFormatStringToTwoDecimalPlaces } from './../../../utils/index' function LeftUp() { + const data = useAppSelector(selectAllLine); + console.log(data) + interface DataProps { + input: string, + inputArea: string, + output: string, + outputArea: string + } + let todayData:DataProps = {} as DataProps; + let yesterdayData:DataProps = {} as DataProps; + if (data.todayMap) { + todayData = data.todayMap as DataProps; + yesterdayData = data.yesterdayMap as DataProps; + } + return(
@@ -18,8 +36,8 @@ function LeftUp() {

总投入

-

932,261片数

-

894面积/㎡

+

{todayData.input?formatNumberWithCommas(todayData.input):'-'}片数

+

{todayData.inputArea?parseAndFormatStringToTwoDecimalPlaces(todayData.inputArea):'-'}面积/㎡

@@ -28,8 +46,8 @@ function LeftUp() {

总生产

-

932,261片数

-

894面积/㎡

+

{todayData.output?formatNumberWithCommas(todayData.output):'-'}片数

+

{todayData.outputArea?parseAndFormatStringToTwoDecimalPlaces(todayData.outputArea):'-'}面积/㎡

@@ -45,8 +63,8 @@ function LeftUp() {

总投入

-

932,261片数

-

894面积/㎡

+

{yesterdayData.input?formatNumberWithCommas(yesterdayData.input):'-'}片数

+

{yesterdayData.inputArea?parseAndFormatStringToTwoDecimalPlaces(yesterdayData.inputArea):'-'}面积/㎡

@@ -55,8 +73,8 @@ function LeftUp() {

总生产

-

932,261片数

-

894面积/㎡

+

{yesterdayData.output?formatNumberWithCommas(yesterdayData.output):'-'}片数

+

{yesterdayData.outputArea?parseAndFormatStringToTwoDecimalPlaces(yesterdayData.outputArea):'-'}面积/㎡

diff --git a/src/page/LDPage/Right/RightDown.tsx b/src/page/LDPage/Right/RightDown.tsx index bc1a8bc..c0df5af 100644 --- a/src/page/LDPage/Right/RightDown.tsx +++ b/src/page/LDPage/Right/RightDown.tsx @@ -1,17 +1,30 @@ import TitleBox from "../Component/TitleBox"; import NumberBox from "../Component/NumberBox"; -const num1 = -18 -const num2 = +18 +import {useAppSelector} from "./../../../store/hooks" +import { selectAllLine } from "./../../../store/LeaderPageSlice"; +import { formatNumberWithCommas } from './../../../utils/index'; function RightDown() { + interface mapInterface { + input:string, + output:string + } + let lastYearMap = { + input:'', + output:'' + } as mapInterface + const data = useAppSelector(selectAllLine); + if (data.lastYearMap) { + lastYearMap = data.lastYearMap as mapInterface + } return(
- +
- +
diff --git a/src/page/LDPage/Right/RightUp.tsx b/src/page/LDPage/Right/RightUp.tsx index 9428604..4f3b002 100644 --- a/src/page/LDPage/Right/RightUp.tsx +++ b/src/page/LDPage/Right/RightUp.tsx @@ -3,13 +3,16 @@ import a_r from './../../assets/icon/a_r.png'; import a_g from './../../assets/icon/a_g.png'; import ReactECharts from "echarts-for-react"; import getOptions from "../Component/pieChart/chart.config"; +import dayjs from 'dayjs'; function RightUp() { + const monthData = (Math.floor(Math.random() * (1100-900+1))+900)*(dayjs().date()); const dataProps = [ - {value: 14,name:'缺陷1'}, - {value: 20,name:'缺陷2'}, - {value: 22,name:'缺陷3'}, - {value: 14,name:'缺陷4'}, - {value: 30,name:'缺陷5'} + {value: 121,name:'打孔'}, + {value: 41,name:'丝印'}, + {value: 194,name:'磨边'}, + {value: 33,name:'一次镀膜'}, + {value: 25,name:'二次镀膜'}, + {value: 51,name:'钢化'}, ] const options1 = getOptions(dataProps); return( @@ -26,23 +29,24 @@ function RightUp() {

当日 - + {/* */} +

-

283

+

465

本月 - + 29456 ? a_r : a_g} alt="" width='5px' className="ld_right_up_img"/>

-

2,830

+

{monthData}

本年 - +

-

32,830

+

48549

@@ -50,19 +54,19 @@ function RightUp() {

昨日

-

283

+

968

上月

-

2,830

+

29456

上年

-

32,830

+

0

diff --git a/src/page/LDPage/TopP.tsx b/src/page/LDPage/TopP.tsx index ae25b66..cc92468 100644 --- a/src/page/LDPage/TopP.tsx +++ b/src/page/LDPage/TopP.tsx @@ -1,14 +1,29 @@ import '../../lanhuapp/common.css'; import "./index.css"; +import { useState } from "react"; +// import locale from 'antd/locale/zh_CN'; +import dayjs from 'dayjs'; +import 'dayjs/locale/zh-cn'; function TopP() { + const [time, setTime] = useState(dayjs().format('HH:mm')); + const [date, setDate] = useState(dayjs().format('YY-MM-DD')); + const [weekday, setWeekday] = useState(dayjs().locale('zh-cn').format('dddd')); + setInterval(() => { + setTime(dayjs().format('HH:mm')); + setDate(dayjs().format('YY-MM-DD')); + setWeekday(dayjs().locale('zh-cn').format('dddd')); + }) return (
-
时间选择
-
2024-11-22
+
{time}
+
+
{weekday}
+
{date}
+
diff --git a/src/page/LDPage/index.css b/src/page/LDPage/index.css index 59c7ce1..2377099 100644 --- a/src/page/LDPage/index.css +++ b/src/page/LDPage/index.css @@ -20,31 +20,24 @@ .block_top_time { position:absolute; right:22px; - top:56px; + top:54px; color:#fff; - font-size: 24px; letter-spacing: 1px; } .block_top_time .time-title { display:inline-block; - width:122px; - height: 39px; - line-height: 39px; + width:113px; + height: 42px; + line-height: 42px; + font-size: 42px; text-align: center; - border:1px solid #52FFF1; - border-right:none; - border-radius: 4px 0 0 4px; - } .block_top_time .time-content { display:inline-block; - width:191px; - height: 39px; - line-height: 39px; - text-align: center; - border:1px solid #52FFF1; - border-radius: 0 4px 4px 0; - cursor: pointer; + font-size: 18px; + width:95px; + height: 42px; + padding-left:12px; } /* 中部 */ .block_bottom { @@ -222,4 +215,132 @@ position:relative; left:2px; top:2px; +} +/* 三维页面部分 */ +.ld_center_up .model_name { + position: absolute; + left: 0px; + top: 0px; + z-index: 1000; +} +.ld_center_up .model_info { + position: absolute; + left: 100px; + bottom: 0px; + z-index: 1000; + width: 841px; + height: 62px; + background: url(/public/png/lp/line_part.png) 100% no-repeat; + background-size: 100% 100%; +} +.ld_center_up .model_info .reset_btn { + position: absolute; + top: 20px; + left: 40px; + width: 140px; + height: 40px; + cursor: pointer; +} +.ld_center_up .model_info .title { + display: inline-block; + width: 361px; + text-align: center; + font-size: 32px; + color: #fff; + letter-spacing: 5px; + position: absolute; + left: 241px; + bottom: 10px; +} +.ld_center_up .eq_detail_info { + position: absolute; + right: 0px; + bottom: 0px; + z-index: 1002; + width: 240px; + height: 180px; + background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 15px 0 0 15px; +} +.ld_center_up .eq_detail_info .left_name { + display: inline-block; + width: 95px; + height: 28px; + text-align: right; + font-size: 18px; +} +.ld_center_up .eq_detail_info .right_value { + display: inline-block; + height: 28px; + font-size: 18px; +} +.ld_center_up .eq_info { + position: absolute; + z-index: 1002; + background: url(/public/png/lp/eq_msg_always.png) 100% no-repeat; + background-size: 100% 100%; + color: #fff; + padding: 10px 15px; +} +.ld_center_up .eq_info .eq_info_inner { + height: 24px; + font-size: 17px; + white-space: nowrap; +} +.ld_center_up .model_top_container { + width:936px; + height:100px; + position: absolute; + top: 20px; + left: 45px; + z-index: 1002; + text-align: center; +} +.ld_center_up .model_top_container .model_top_style1 { + display: inline-block; + width:203px; +} +.model_top_style1 .model_top_num { + width:100%; + height:65px; + line-height: 65px; + font-size: 38px; + font-weight: 500; + color: #FFFFFF; + text-shadow: 0px 5px 2px rgba(0,0,0,0.62); + background: url(./../assets/blue-box.png) 100% no-repeat; + background-size: 100% 100%; + margin-bottom: 5px; +} +.model_top_style2 .model_top_num { + width:100%; + height:65px; + line-height: 65px; + font-size: 38px; + font-weight: 500; + color: #FFFFFF; + text-shadow: 0px 5px 2px rgba(0,0,0,0.62); + background: url(./../assets/yellow-box.png) 100% no-repeat; + background-size: 100% 100%; + margin-bottom: 5px; +} +.model_top_style1 .model_top_text { + font-size: 20px; + font-weight: 500; + color: #00C8F7; + letter-spacing: 2px; + text-shadow: 0px 5px 2px rgba(0,0,0,0.62); +} +.model_top_style2 .model_top_text { + font-size: 20px; + font-weight: 500; + color: #FFB625; + letter-spacing: 2px; + text-shadow: 0px 5px 2px rgba(0,0,0,0.62); +} +.ld_center_up .model_top_container .model_top_style2 { + display: inline-block; + width:261px; } \ No newline at end of file diff --git a/src/page/LinePage1-1/Center/CenterDown.tsx b/src/page/LinePage1-1/Center/CenterDown.tsx index 455b221..6668fdc 100644 --- a/src/page/LinePage1-1/Center/CenterDown.tsx +++ b/src/page/LinePage1-1/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine1Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine1Before); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage1-1/Right/RightDown.tsx b/src/page/LinePage1-1/Right/RightDown.tsx index 1af50b3..8e93f80 100644 --- a/src/page/LinePage1-1/Right/RightDown.tsx +++ b/src/page/LinePage1-1/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine1Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine1Before); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage1-2/Center/CenterDown.tsx b/src/page/LinePage1-2/Center/CenterDown.tsx index 515bcc2..01a4c64 100644 --- a/src/page/LinePage1-2/Center/CenterDown.tsx +++ b/src/page/LinePage1-2/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine1After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine1After); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage1-2/Right/RightDown.tsx b/src/page/LinePage1-2/Right/RightDown.tsx index d2c51c8..a40b34e 100644 --- a/src/page/LinePage1-2/Right/RightDown.tsx +++ b/src/page/LinePage1-2/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine1After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine1After); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage2-1/Center/CenterDown.tsx b/src/page/LinePage2-1/Center/CenterDown.tsx index dd3d373..52e20c8 100644 --- a/src/page/LinePage2-1/Center/CenterDown.tsx +++ b/src/page/LinePage2-1/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine2Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine2Before); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage2-1/Right/RightDown.tsx b/src/page/LinePage2-1/Right/RightDown.tsx index c46ef93..b87fb9b 100644 --- a/src/page/LinePage2-1/Right/RightDown.tsx +++ b/src/page/LinePage2-1/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine2Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine2Before); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage2-2/Center/CenterDown.tsx b/src/page/LinePage2-2/Center/CenterDown.tsx index 8aa37e2..f14f8a9 100644 --- a/src/page/LinePage2-2/Center/CenterDown.tsx +++ b/src/page/LinePage2-2/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine2After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine2After); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage2-2/Right/RightDown.tsx b/src/page/LinePage2-2/Right/RightDown.tsx index 48064ca..0d204d5 100644 --- a/src/page/LinePage2-2/Right/RightDown.tsx +++ b/src/page/LinePage2-2/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine2After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine2After); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage3-1/Center/CenterDown.tsx b/src/page/LinePage3-1/Center/CenterDown.tsx index 98d3c93..dd58028 100644 --- a/src/page/LinePage3-1/Center/CenterDown.tsx +++ b/src/page/LinePage3-1/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine3Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine3Before); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage3-1/Right/RightDown.tsx b/src/page/LinePage3-1/Right/RightDown.tsx index 61de04b..b10e116 100644 --- a/src/page/LinePage3-1/Right/RightDown.tsx +++ b/src/page/LinePage3-1/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine3Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine3Before); // 假数据 @@ -82,9 +82,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -98,9 +98,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -114,9 +114,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage3-2/Center/CenterDown.tsx b/src/page/LinePage3-2/Center/CenterDown.tsx index 053f3f0..95a18d3 100644 --- a/src/page/LinePage3-2/Center/CenterDown.tsx +++ b/src/page/LinePage3-2/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine3After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine3After); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage3-2/Right/RightDown.tsx b/src/page/LinePage3-2/Right/RightDown.tsx index e2991c1..623b195 100644 --- a/src/page/LinePage3-2/Right/RightDown.tsx +++ b/src/page/LinePage3-2/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine3After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine3After); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage4-1/Center/CenterDown.tsx b/src/page/LinePage4-1/Center/CenterDown.tsx index 90fd044..f8d0c0e 100644 --- a/src/page/LinePage4-1/Center/CenterDown.tsx +++ b/src/page/LinePage4-1/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine4Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine4Before); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage4-1/Right/RightDown.tsx b/src/page/LinePage4-1/Right/RightDown.tsx index 733ebff..e6c89cc 100644 --- a/src/page/LinePage4-1/Right/RightDown.tsx +++ b/src/page/LinePage4-1/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine4Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine4Before); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage4-2/Center/CenterDown.tsx b/src/page/LinePage4-2/Center/CenterDown.tsx index 441db23..2e26257 100644 --- a/src/page/LinePage4-2/Center/CenterDown.tsx +++ b/src/page/LinePage4-2/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine4After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine4After); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage4-2/Right/RightDown.tsx b/src/page/LinePage4-2/Right/RightDown.tsx index 45afc20..9470821 100644 --- a/src/page/LinePage4-2/Right/RightDown.tsx +++ b/src/page/LinePage4-2/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine4After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine4After); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage5-1/Center/CenterDown.tsx b/src/page/LinePage5-1/Center/CenterDown.tsx index aa6ef5e..dc6ffea 100644 --- a/src/page/LinePage5-1/Center/CenterDown.tsx +++ b/src/page/LinePage5-1/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine5Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine5Before); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage5-1/Right/RightDown.tsx b/src/page/LinePage5-1/Right/RightDown.tsx index 8c365f0..86922ad 100644 --- a/src/page/LinePage5-1/Right/RightDown.tsx +++ b/src/page/LinePage5-1/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine5Before} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine5Before); // console.log('页面数据:',data) @@ -83,9 +83,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -99,9 +99,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -115,9 +115,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage5-2/Center/CenterDown.tsx b/src/page/LinePage5-2/Center/CenterDown.tsx index e333e4f..8e94275 100644 --- a/src/page/LinePage5-2/Center/CenterDown.tsx +++ b/src/page/LinePage5-2/Center/CenterDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine5After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function CenterDown() { const data = useAppSelector(selectLine5After); // 假数据 @@ -56,7 +56,7 @@ function CenterDown() { let arrInner = [] arrInner.push( index+1, - moment(item.recTime).format("YYYY/MM/DD HH:mm"), + dayjs(item.recTime).format("YYYY/MM/DD HH:mm"), item.name, item.status === '故障'?"故障":"离线", ); @@ -72,7 +72,7 @@ function CenterDown() { // @ts-ignore data.todayProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.day.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -102,7 +102,7 @@ function CenterDown() { // @ts-ignore data.weekProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.week.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { @@ -132,7 +132,7 @@ function CenterDown() { // @ts-ignore data.monthProductionRates[keys[0]].map((item,index)=>{ // @ts-ignore - dataSource.month.xData.push(moment(item.recTime).format("HH:mm")) + dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) keys.map((item,index)=>{ let obj = { diff --git a/src/page/LinePage5-2/Right/RightDown.tsx b/src/page/LinePage5-2/Right/RightDown.tsx index 6fe188e..a3a1c54 100644 --- a/src/page/LinePage5-2/Right/RightDown.tsx +++ b/src/page/LinePage5-2/Right/RightDown.tsx @@ -6,7 +6,7 @@ import { useState } from "react"; import getOptions from "../../Component/LineChartRight/chart.config"; import {useAppSelector} from "./../../../store/hooks" import {selectLine5After} from "./../../../store/LinePageSlice" -import moment from "moment"; +import dayjs from "dayjs"; function RightDown() { const data = useAppSelector(selectLine5After); // 假数据 @@ -82,9 +82,9 @@ function RightDown() { // @ts-ignore data.todayProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); - tempData[0].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[0].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[0].data.input.push(item.inputNum); tempData[0].data.output.push(item.outputNum); }) @@ -98,9 +98,9 @@ function RightDown() { // @ts-ignore data.weekProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -114,9 +114,9 @@ function RightDown() { // @ts-ignore data.monthProductionDets.map((item,index)=>{ let arrInner = []; - arrInner.push(moment(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); + arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(moment(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/assets/blue-box.png b/src/page/assets/blue-box.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f6185bcaee35bb690849b0e4761f561d51e351 GIT binary patch literal 16029 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 O4tOW8DpxLx2>d^|l5@fU literal 0 HcmV?d00001 diff --git a/src/page/assets/yellow-box.png b/src/page/assets/yellow-box.png new file mode 100644 index 0000000000000000000000000000000000000000..201ef66a21dd364b0048447e476b73fcb59b8622 GIT binary patch literal 45737 zcmZ6ycQl)S*aw^;Mr>k*+LT(cwKZbT)*eNPQ53DwAz~#e#?Mw;t5FoCHl_9`iV`)8 znpN5wL8$HZyyracdCvPsuH@Y3n=AL7bAPYv`iwiy?5;jN6b=Od0Q80iIu-x`=zl&( zQd3^V>upP4uHJx8EcCSil_NaA0RVo0p^l~%+G(?GE=~ALfQT1waQXXfJytKWR+AP~ z{IoMBM?buC={iY`Gt~5w;urX+X&=eObq^{)+ojZ{7xc{5+Cwi&CixR@@+#chV>{;_ z%2wdow*j$^?3_Gja?_u&LhWFue9xs|%KsY(a^Rl*Vb#&jeY*b}kdG+yaoziEyQ<(( zdD8zE%wFR>38c^`|99#Cd=rdc5BdKkMxD~BhQJy}zwa~u-wY%UdGIK5S>~68#+!}* z`6SVfmnQ^VeFJ|xe4>PBWuV(ER&f3Ap@db{TkHw~)>DK-r(svlN zn{P3!k@ns?@<#9NoZdespITHpZx4R#zu$aOe!rPBrgm{>aL8itqDi79KrE)Ga`SO? z;N^3%EZdeqmF>Z`CW#&CpyK(Az2D^poBajz*JK92s-(}YR`Lv*NlQO3p3e$=b~8Ob zz;>`b{q%?K_rw-CN4m92x(7{sgOi_8r&+7I&0@s~DkCTT9Y)QZGJ~IW#ru2AqJLCw z2DJp>C^GA#PquSd7qd5pPY?sE-c)evt3 zYw{WsW5zLLc~nHglaD=`&l3(_2wkpX2=~tzJ8EWjlFOf3b~#{e7ft(*Hd|f0*OMJ>uy0*N%}FUu!-F>u{?_cwKbQ z<$3s4Ul1$r{0*=pd#<~$t~R>_b=*~9_+^M-6ns1ZznAp-ah*H3_Z(X>woLPPJbichvFaD^4pK{D&;TuPHQyy;vc=dkZu3{ zuI|8cXguQR-`GiitBY^{G0)b21i#x^W!E1~kMy7R)llWJcdW*YbJi>>m|DJ>8o}Pn z9~t`Pck;lki>KyIS@Q4JM^5XzreV8|2)%h1%c`b{5~U=nN32^sCC9gUhx}zT19tZR z+wX6vb?E8;eZI5#=`=KWu79iF*IC-Qg6alPA^fZEuxK2S3LBr>%KO z4L5rOvc`8pRB1RFe+`XBeC)~Y53IYL8K9Bbvu*d>FS*z;BQXBSEgs)fkwd<|z$XD> zemi}8U$*TSTE=F(BCmYOrtwwcp8+acf3g{$Q0)zV+yxgB%y zHKE}*Gg~6KhvquChf17H|6U$MTpQ9j3zY1*daX$~c>0xBpT*)LJ07>+XxUqniP`)9 zx8Q8&<2bq_RKBgWy<;xpV?=|5bEYf*@?p4b_&>AE`p6+6jf||6_zqkF^^HM#V zxm~Ph4b|rtq>+9aPb=Se#Mr-5LuCNqZ^GduwVU~Z8XwOvuKDAXmnhgbRXB;~l{{4? zS?wR>d(^mY0%+zq^v394w9RbgL<+pdMzuYj7wZ+i$j^^T>zW^<2!C`}3fm|%budi4fmxzWkP+WmH9@?_Ie?dn+ z3Z+BTtMKZKDf&JpAd=CQJC~QKwYI%wZj; z3+bhOlAFky;t%%w+T?QUu3mB%E<^><$la?@yweaP}K^ue&g#B<(Pg(4*W(rn}e3tcBQs}(bG zMg?0`lJ(WM>H1Ri$8H*f<;CZpdr5f#eX6%P#be6ofn$V1%f_b|B zK-?)40jSrJuy%TGSIHP-QEB{rk#FepwigQ6ku1}{SNEf)Rn|-{b7&`NE#^()+KOra z-tp&}(DV1{raKI4b1sq^Evk0`%LjJbLE{l`R(3wyg$K%J?p!{V^b2x3-V2oUyUKEY z@YFBtID%(ry5rhV)w}WwO(6bQboQu+_km=`aq`@+>EiUNv&G9gy0wn;+HB7iKI0rs zDpi=>MK#~xVwOewg6U;=-1YM+%bZjosU|%{p~&w|`W%6)_f*AadyZS0bsS(Yd@W1WSy} zBBEqC(e1xFd{h3ecGU3FCVvUbJsqEN@4smaIGL{}v}*bS+K=Dspe1IL-Fup1T<%_($SBCfj!% zSA!4N;BM*9{Ei*+BQ`PPH?uy@I;|D?r9BB9&*tBHxz+!}Esu(C{p(!K8P+mGy_x>e z(h%>E@uheF&W@3Im6Pe;hp&$F&b#g0a9tOlV5gt@1A`RL!%nG`XS3XnBaFm5NLvcO zE~kfT&Md{(_|)?bPiIvDpA$~~E_zxoXTzSwDWkSNOw8`+|20Q%e6hxXT3PI1VrSD9 zgB`-iWj`bF2s-4l0~Hh5NrwPP!G6YeuNSu-dx&Wqhu)%((%keY1wgP-rl?I4D6D~k z=~ZlhBt?B4yV(43yrZVUb4~9~3II@s0Ss-g{<>o5wLkH32v9; z47C^zWhSv;=Bh^I7ON^ za>tZs$`WtXrbPQMpxxg)0AwdPy2Gc9My=YPlEr%=ilf-hVL4vdsa-J|BZWlH`DlV_ zhVA)Z2FqhU{(&=sfLedJ%u&QW7GjDkl3B7z_Sf|7L_|Mt;`24qLYcaE3%xTE+{R>g z|3KX<8FTST9mqiL(;*S}#d=wNf!K|EOJUWN3QO^7p|670l`tIM>)-yo3Cry#)D52= z)je{;4}JsD`m{o4H{qQmCIVKS!LMY$Z}-o=SSJV?R?UPUmLsbH1k{eeC9P>U-?=d9 zbVL*PV{gS8X$Kg(Q4Od9b#~icuZqNt$;e|Y#UKo@U%fLWCX=CV?e=l}#oe`GIOf(!*zoa{vuaV%e8 zvVUB7ZXd9@K=wIfLl(Cm4*$C^K0Q73ZtK?3A-zn>zjhz82|=6Q4Iya(*8BaOW}K|W zsVjA{d{-)NOl(~7N8QVUUETPc#J z)u2B`$Vb$wzKN-Q?P`AA_E>@pp&_jQBE%(n7X3X))k&Mi)A=liyN%r*MRhf_JKy>D z8Xl{-^sCL`g8mw(#@kx=^n~EcShT$W?ZXbXTs!&ATwr)ErVBwp31$3DR{GeL>U1qa>r0b^OF$)G9gR;Ul%Ge-Um^i(8-F2J}Hmmj4V z{oFVk=jIH6a31B;s-;n!EmBbJ8|VBp)FL~&9j&OVe9Xr^+^YM9-l~JZR%Vt&WUC^J zYhP1mmzChC^s5roj$ZocYQBhmf#Ic;pP+X;Vp_mP1E->eT{^L|ISQrr zqpNvx+d2M$XoaBSMQ|&W4`PO9c^t{iDIq}RaSQPiAOre_sPTHIO%_Gn27uIPj{dnd z(_CFS1&t|NV0D(sFC&h}-S&PU0I1yxBM_s=?;@qL6yhUc5WCX?x3dE?5vT5XMDH`Q zzrqc>5u87J4bZy@Td7k3CX(XTiwd%0$c6p=i}yktu%P5oReD;I*-$n$ctC~D0iexj zrY0=!TJG6}jA#18+kJ1To_tcd#|8?D+d2UB*b}ga7=hRdnS)S;xWs|O;J>#ZM+|{X z2ChOU&hAKxDp2EeY~sxGOyIH;eo^4jZaIVJwolgDl%P#4LIR8W zY@bzXNrB($d-tNVfw)Cl3!yfsX$o++cR3~*EH+Wk%Jkf>Fps1h;V{Ujb|>(|V^A|q zYNr?V$E$q_fL zMn*0}!p~2lHe_AK?N4(8)ol12zsv6N*Jg*7C)*c^-1dk!pIohzIl8IC{7i)9T1-EQ zV=7vZIvuk&22%0Hlb`!WQm4{jjte?#Kpd3XPv zJ^t&@#-9)+f?=zD`bFc#yKX8*m{KaI?5=4B3zuPnSKb1Ji0o81L)O#Ps);-3Qsshm zL!w<6CHwpQD5O(;OYTBcw6z_WWom=90s!RvV5 zv3OE!MN~sU>TIzk0_FTrFpv$WX>u^!-rmqAh1BeymM`6P6tv53gC0J#H5IoWF`(qc zwBmUIGlSeq!5<)W_mn7RXW$oJhx%2KXlQA%#lEy^hHaPn2z=+2Q+Chxy3RzIX!pdp zH9Fn4%TlD{NV~G!Ohi%C5r3V0<7^Ft&pPcIi1%rtQ4A1?=1I>3_(i^#Z^`FF} zWs#+Ki(0772RAFAHwl&^GNO!IaBa21EuCQVy!jQ~&Vbnr6xm*hjann`h(NxKA3eE+1@hy?U)yU#yXD ze$Y|d`XmUNEP5$Ll`2j>Wg~KkWbK}67-E0FpoH#x&BM~xijE7s^qDe=;f)*X26q|g zGInaK(HwpzrXs?tmAl@Id=QB7s+R{7S4Ebx8;}Cv>ywB`=NKmsZL)Ch`RKrZQd0P( zy@kcQfx}9A>--h6X`f7C7T(wR)V3W?F@Me{V;>7Jj6@TkN!P#5|LD4F9j0M#Uv|ye zu*Q)|@@mNb}gcj|_KI4lj4~jBuaMnx4k@4^EK1V$w${_9+ru{u=OyjJbLVx;zif@eCz+o`OZb6nu-QB}n{ z5e!vZ`|Ry3bN6=+SrCywBgdnb+?`7oBgJ1pY2>O=j(>Hd_6r4N8HYfNjgd5y8wJ=j zyw~dUlOKCbsOrkK3#ZfQbcO$Zpl)AO-k*wQ!BmEm`(^em&5JL@X0}0M6z!40uxe^h zu$Rh8835c)lK297$YHvCZzEW~(-NCG2yfRiZK$Dwq0@ZGY?xfAmrr?RBnx+d>NB>@ ze}A8Sg1(>fGD0!yJ-%7m^i=X=^&*B?7f#ZyqfrsNJGtTB4^uFbe|1~uuWc>Z zgW+_N=v8_DvS*^x3dU=%aQdLkDHa|Y4CYBKM3M|O`~dX56Nc}!MK3x+;6be#ijQiP zJRK(CA&z(}+hq++>~FO+xP~2p^mLZy^^H{X%HZpP163c)sW@5 zGw(k?l|UUC83TyS2ZjtEZX|BtnK5&+?2*xmeN0<85<2US7l_vzRUpFJ#*V1q^4pPc zuF_?cBm<0WW53)UUolt9S%XiKvN!?zAHB>Ql5LzQ(u)by4aXK7zSi=x%#pA zEX%nq>wOxZw3$HztBsLTgoU`sHJ@84y>@JNX)C5Xw?%3>0z02HD~SZko28KTL%#1N z)(H+RhvA|&aCTq=6<cQD^;AYmFa1EoxtIHawXPp{U9R1D^*O|s1;hmY*_chxpZj+faK)%=Hh2o^Z7T$VS z%=b$mI>BV$#=Mx{~iWn6`qzAm7 zuJX?<_tOVUguZJt-JUZbQ03C+F4{5YJvQ!7#b2H}Lx5`AJ+nj|KQn6Er3H{dc3hHb zsfD&+Bm{)FQPO9WY)$r!?Z>dG(5vle*{eXQu45+DzPXInRY#Yk0MjNPlwQMacG2#d z#AgF#hi>^%YcPqq8zmC02HqPrT8K29ky%MFbpt}R_}p?wrp3kQ&*}d!!VkGaH7|MZ zJ{1#}rfWqoE9OSR*IWh!S>h?H(r>P#@lT)gh~*5;=wML{jiMPMRxe%PvlsnQN6oM_#_pbPJLxCcj_r~90mI;S)BO6N*^YD{$3z%fO zMYIcEzjALg{0s@a&X8IxpHe-Rhked|M)6Oy_X^n*+G-xth*qa#qZAjSc$IM+L3eKb zd;#NRlSF&Ay)`=ev}2uJnaYuoOa#*^G&1grE?Hp+olb$_BM<)+MuN_NW*nFV>1el^ zfe#-6@ruj%7&OD%u{XacF~AbtIT7<}h`N`s{8AbaME=J_KydH$#Uozo$GZHd;A^&< zRox_*YY?FJk%^^$fPFW;{yuObr}YWH;XhTV{6^_KnsHgY zx=hgt63s7{tR;U&!a$`e3^Ux1AA(DyJIPbyBGzTH2V!UJ2SV@K^NHmo7Z5(-O$z>6 zBbv1_^W}o$xQn)tdno199;?42y`=9i5kieo*Y$Vm4@UpM*K|Wra6x?sH7J0_hYoR) zD1Au{lM~`rqyBzWcLSgKb?MK4K6I+HA8=7lhuv;%)D%#YuZ~~}dw!R#Mru(skERh> z%YDnEuW9W8zZbyaK1Y6CV-}Zz&3j+#vRCEzY*cCQaYh#P^V*^RAbKtF{1_)X7VeOH zOoy-3Bg>IjKz*Shq{jB%w?1Yh3>T?Zo=DObRh+ z{pcGb1u|~9k=n%7ctch_qtjwE59Q|5wBBOzm4ZQXY(9XazBkF0Qrq|ifeJ8%X7QR4 z;?ta~43?IY#%&uTssYe+C*D4-r7dBA8pc>W~y3JX%=*ecw7enQXY8AR{}W#yHEa4PunK z)28_IDlKPTB));t@!zU#gv2~^;;GvN{G;~`ulMdY*54L%uL0k2D3>t76xkXl!jXKY zuWlT71;gH-MO_|Gnq8?$#tqakkv!Qr8D*QeUfG8F0m-@Liga>xbq~9U-krE!P6t$h zuB)S$f>pW$(%tbT!*{uPg=z|@l$LX{K6d|s^9Pd7god3|0&KxmycGN2+j4Q~_e?8x zRJ6YDATUfpv>1z*%skse!mh5#96tE;NidyCbU&8*{M#ZF?(aL=lEPInYa8-(XtmV? zC+fu6aq+>7@^lyrYHSdG%l4G41@h5mx}qnPDhIQ|& zEMxMLc&IQEh?$YNp*x$13;fo>X>$DMWW8kndfXUqbk9RI_gw45E3jYMZ6_q_WOTf- z8Q(5a>)zK<_`169CGn;AgGr@H{NA``%3Q`HLKO?;DKy;zq0Yy+wOuO}q`-W@SjG zZ`ZnGsi_7vw=BpIy|;hE9ku+oM2h9$YFjR*7o2^<&fHAAG(LNTX8qlj{cb(j<5hU^K1Q>l~mM&hq21g`Nw9nd`&ASQE8TXz^jPpGDg zbbt8%HpVW-JO18ty(y1GNg5{ezg7KQ*~!{9Vj1Y9e=%Ugkf5X1f~{QJF1jE*;k(>I zK&y`y=v6syP0e~2^0rzvY8HA?U=F5BhCqGPpp;^fSw;HZ?ge5zp7~Kmx$YI0sL|>a z`0kErP$6EhY2G=ZSs$p1|64PE5kC9zdb<_UTb08Z~&g58Gx2~k{U z)ZBFAG_8+&QCB|*8py><%h{Vbs{Qu*TTfx@?1wf_e5r4V*;TJs%h4!yz00)~;9h^j zDoH-c?V+rY{w`*4QU9Y+ zL9c;&l>@L$CZhW+Nm}L~NIjPafs&V2M#nLuqJT6!AMb$WQ8l*PUa`;KzK9J6(g4cr zo&NR{oqJ`ZB(w?GqUiXN(K}=1X41`Y?;UvPy$yZP9_4+Z+KGL!qGfuUSXi`$u`+J1 zG5Q)-*I%;S^iY8n0a3i@iS(TziPi%^B`WY^-5DJBkF;L1p6(wJVVHLN=zp?KQIf6I zp9lQDPv__HI~I-0MhLV}YEx(?-wCe3QA3!_I|x+lL=Sp|djU0?V+s)646yzcW@I56 z{CNJF-hH)OnOjWVOcnGjJxmR|kG@21q;iKWWblfaH|V`O)xsL8(wQ!sFU?o3iO-c24ZLbUBp zT?Wyev^(qCP!@EA4vWxqxjs%u&v(4uKnn0+E=^|I$=;n2Q30XxDiN)<0@GNT38n6a zgcjWRa5Ffz_DRw12=vzHYHdm#6rr$$ki|gb)Sa8&o3D&3doljCwmwM@m5$r;i-|m; zzxO=yuJvY}zCn~H;q#NuT?bW$-P&t5@9#afMh(;5qJQp7E4!eWAFFuk)gjx8^Re7F z=-kjXBgS%C)ronjT7Frld)5>w^v84~4a%$7TQm@`!R2?2@5E>_DDAAd@Qc@d}Gk*XpFOJ?#_pf;YeBbHh|yVHV~qFjcFxuVU6BR9<-hGL8MsTg3Y zb3l&mH_p>TMupT?ABxDizA*!)c6VHTqpqzysZrXj#&^!p-kxZpk#F*MzdV1Y_AV*R zg(%koieQ4Z5W49^Z&tRIAcv6e9yb{V1fs)MJ05{~I(k_jhufrp*_(YcDTG zW)qfHrq;JyIfvjq9eppV^^%(RoIXwtn%lW8(FkIU;ux2eye|8p55H}@XcVX{h!)6k z`YEo;pjx%d39zx9?T)CE_dxI55O2{_KzHs=&UeoxQuR#&RD` z!aaLoRocV7(@h22t94 z_j-W{I_hyFnq@w}WTzyvz^W&7>J6H0!@RojRg+x^S8YdyGd%2&8~EZqdp_OgvJ%Bk zY)BP^S_(j#m?NJZIcP(qgw6#+@l`nt6%{Sv5S@E?l7#&WujnAHSzAd zxhqL{BlSD&Y<36t-@g^>PQ%!sz%ENP^8HVC;JbWV97e7+3-g^(Enn--w|mB>i;j2y zxeteS-a@mn>%Mg~Ef8rZEA7GZ)u1mPUPnC)X0_KPST#1kdyNQT)hae14-vKP=Uj^2 zt%cLi$h=eh zb5q~V5PYp;zGm^fq~|96k00Fd+1TZ1cEpmM`Yzu*hh88(kh#-ULS;aX$<@5XiCTC; z+5TNF7tqmj8mS`q{yyQ9jHK%SaKL9Vf;@un1S6WxheJ})++GGXe)RQZsD=69&1eoe zGBf?ZzX-$Y3AoA4S~g& z-jIauEZE#IULjeFU(TZ-MqaTm1G!v~At?JRpT&(*i~NHX2kQ8<)%@(~;yZp?ps!x70klF|QjgeGv19t;=B*2B^zCDE=MsSK6 z`8E2xX0JA&M=+#&PWA)jF?D{lWGL=QIsUjz4-80Ynhud$Glu=9zk>LCEG8&41V~w}I5Q#%47zGl21`T0Zx~Gq}urnT%Z$ z*kz z4+9;kW!m)fyJLW`+Ij;MdkJ#Nds!oU;iMRS;80MEz=7EOcF;>@%?ZxwB3*mKhmsQb zD-Me5IOR|QhB>2vK)IBc@GYQ_;-Y2UFKB8W&pU{Rv<50xotg?pe`I5wB9*hk-u`qQ z)(q9u7TVC4kn(Vz%E>}%f;z6mtElWrq6E+9C#AtRG0~xkL4}ijzD?8bc@^QtG~q07 zs)Fg$Ni!gN6X(t5KG|MhNp=>RWoYQ+$IP4iT8_7vIhT%(it}-JUlV3nD?G`X`Fc`a z&;@6FG@mPb~Nk9#to_Jq=Ire*qFpJmhjCk80Y zChK+OhPdx==n)#*ZK~O1{7o>GrCDSZ_fz*k)GjQ>PvB)k`lHIpASB(%;R9*UGfqLb zL-AlxTe?!rK0^|Mgu-;xRJ3(&f1K`SvCyZ==S+QJ{!YSUy$ zzq|6+S&RN`WyJCPRm7ES!`H@0K`j+o$opg?%F({BtY2e>j^Rq~{&ZvQq8)bewXasC z2rLK#kdG)g|Ju+!m6F%0(|Y?6*iTr@jS&#K>w$!H;&}0rKhjnk_TO(vlrBHwnz4`7 zqQ8mNdSpJTZMhj|G0sS>Nt7k7GQJX56nzmcX?jIY7i1lyP=c%CtzU-jUbUP9So`Vo z8!UJ{K;Vyf(Ss6OYMFwseojf(my4r_P3Gv|Jy%0_T*7mgms(~YYQLE$*4Wx$1m-qD z#v4J2;h;l@Rr48pak<9Z9ahT_&c2(g0&sH-D*$elC<}r>fH`+TC*xt>{8zFq)D*{e zSfi>is;kEOhoZWI;+}Ut{e8Y3+UX0y7(LK`r-)ZX<7-wuAz+Il*~u(gtkzfLxI@&c z_xcYICH$5bF3K99nSi07I8wfwv>p_EW##%|Mhe25-nssmA9TrpeM@GJf(tQH+0E2eb70eF1hH>^ym)IY z1pk*i1)>jDIHbKmitt3LH#v_!85_6S!1H}7pc;9oA1V&tMf?3TNHkrxF3o&R*@@2M zi1Wtt(pk263P>K60~plKT(ckK$=;Mo zj=Y1$55zu_A|N;-yJ_Xhb_g6EKK4J^3E1$NaH$r71!4Zj7B?RjyiQ@_qM=y2GtkWf zwI|(<7Qpc1+(N{W0vKqMDSP;m5-fbsAPUiYwii;O8vE1Ouj%z4dGbJPs^mkNy`P4v z@)O_uO>mB^D@18Il-%g}e@uOo#cRs>!CG`1?!g%hEOd0Ju3fvsi|M&l3<%=e(Fz|L zOU}#S{;`kJAG+QW4ZC8#Z_HZ-3yjDOp=}@lom~-;_uh+$rP*kwm|4!R8;h@7As<(C zt5?r2ELZ1@XdeaB0VwR3sh(zW?JBBLY=V0-i{1Mi+Nofh^?v6U!Kh#0_OlRP2)V9d z`$gN%TGV@_00~y{zG%@h#}-#`h233oVo}#FHqPHg^(|(B)bQDYIn40Oem~=5nF~5q z#GO4bB{Yth=Aqg;&nWucv3v*XLu9e9%{mJ}XA><%6l?oUy@J`MuoMfUvOmX!WuO5Y zRX4;_$4Yx%`p+jqB0|{s&5#n6QTTP z*}eACUZp@@n8AP__z_5lsa8cEp-u^3hJP`8%^FYc?c+#Ki1j3b_(QxTckXg^dyx2QU9-c@^7e8m`1>(kd&JQZ0Fq(^xH@iwBA$vsD3cDs%z z(6p)YH4rgUZi6?nV)w=b8j8+3)M7jw3DTaoeE1VR?GLNCZ&0eN#pvs2ZYU>y`}IR{ zveDhbM{D8$$ye5C6a_Wud&sLX3JTNmc9&QMzTB6yO6dJ$;%i8&nG@da*(0cEp$K#R zJfJI3s=V$(6#~#UiJ*^5Ri3d=2DQ?dCz`84%jWlJlU1m328uAjMFQL7B{Wcpno>|% zATrN{Onu5zIjbnjWK-=UPVenN0iAWueAiU^yOWM8l8PqpsixM9=H<%fEHXUoX7oWr)$n~bN5GO=KG6(4P?nux;10!SyMF>0w%iP1W|rd~g-b=35oLUk+6HNd^r_$@Uh_+SU1Ir)G$N+8eyaBZ;G|w%A#4B zwn^lU<6<$J!|V-JoqS-DPXPVY#*Nl;5-l~$O6Y+CT>8gr6u;&%#mO(vQlvJegr?S3 ze0Tu*>tAF~fQo(TN_fP7MiZYp3@w0$cV8t2QQxn>3vpiIYBs-e%^*>|8AI4cwpKCh z5+;iO*NnZ1NR#;58siXIkMou9Sa_{ToP8K|V{xzEeU8)rkOK7PDrjN=>2!5Ck7lR(q`t90od!HcKH+n3jskHEJ=MrtXqZgr$Y3oYtdC*tiY#(6FLc3dh$*(eHF) zh5ng0xUgCu4tpx*_<3Sx+qnz?oUxR1*zRZICNT*=A(1cfbp#+Romkp0HtncFnc}edfmy%CWht#s74#)KRv@dKdGC4DpYI%)K=IVi}hT<#eg6T zjs2FL;ZJl8IlFZVm{02!*ruZS?D-3(^y4R*@Fj>4*bRGVj#eRitcAE|!ZZ4-H9*Nw zazV^ZMHbcn&fKV`kckFCMWCsL zh!+%^r?lF9SS=oXvff6Gk?(}X*OMuS4FQTaVE92{vH@a3329T&Oq!g5?{qHCJSh%k8jFBQzQ?<$ zaHKX8oG18|zr~r$AI-QtZMNThQ62kD$oE>KvGxbh9hFQ1SnptXmD!b280Grx7yVL` zVo{)j_|=G<<;(anKY)uRg|H7Qq~F4q_A{+ZTh|q#EJV&amE@|ld@o=A*fqHyocbS^ z7W1r9_{Vw}N%~vuxJUZp3#~#NV1iJ#fF6(juzW>?EQo0{dc^>=+Muxe-Ond2yqMvm za(ow$B%RNG*oFVAIw1CNnQC@3=EIw9jF`S6}}V27H5vdMuNlFQu46-E6*pd0SpY(fVCPOq+b&T_Ue}* zBDa7`924#HLi}G2d( z)=yN9*k9;rf1irjG5#AObOyNzT$PRuefm>%qxt>%$^-2(bNb-qVFO;|+0v+-z~(gx z!2308vv6E6>kXuU{7<`&qGz4Wzj1h{DKM~q-l@dHR=7d*7;-HD179$z3 zFZ4N#SGKnSMVJi+roMZNLC^gxOnh3y83UtcckO#|--=O9r$D5I>vc+YW+uDP+_+ga zw`gmdJqmdKuuq#_jPQj{vIwckt8@11bEZEp+gtDvOur@0gF=DyayvU0y!MXKig-{p^z;J|8t{f4i3(Co6B@M!M#KNYQiN40 z^I0tUcG4}G6&T*iem-*3C^v|^MkZkSBO$k~RyZ1~F7xc^_kWdJ92&xllg!)bnC(y< zxeGw-i-spbPN7Do$$&yiShe32)%1`5jD%pwy7U*ElmpmqxWIdMGvaUzyIHKeCgh5- zA=0U-Ah5OqLkh&35$}oM$;Yc(xxuWY%JBC@ZL%2QGIPU%O^n)fIp)fTy#f?ZlfY+% zPw?XJxEfp2L(JWKA(}G+`(iWkrz*qzF49s`ioAjbow7OlSMB2rrqkEJ3;9vCMguTF zGsCzJfNxFq?NhK!-O~PyS7u^PJtW_}^0)(n-&_<}R2qYo<-1|czFu?N)vouAHBarPIS7Es3*KB<^Ml(WuG;fnr7xL+G|7ybrMJ@(v<$8k*r6894flak^2ELYw zPRfMs?;N38MZGs5^bNaoE3$|euhAU*|7inKxg5AzJ7QS{BY9sI8wUEeAlO0F9uMqp zU%61fv_&fzNpsmPHKu+WGu&8Bpk1bVK%t-1A@Y}}zo4&!3PyZ3UI-WyIYyRQr|I05 zy1DN3>&3MW*|X|*KNY?S$x5?2>>*6pF^J8-IgBJRf1q7ynfwiX;Hf7xal)e1CN)&0 zU>8gQbtu=PBw!6ItrP3LQ|WH=#N7Lob4K9{wi_5oI9kyc5Q8wb0_6mS8b25&x8Aa{Ch#GZRA@}TC0{t;}h`tBqtj#jofZEX92SrTBeJXNKM zng&~;(!p=)@wxq|>m&<9F+Zs8x@MqgG^XNw-6f9`N({*T_?9^n>6}YxDD)v* z!W>YQ-D1eg3YnVEsAg}y>qm@3WS>bevy7Iq8OMF4Z?yfgwD&n zGP1UJS&vZ62w$3;05Q~6MSz>dUhxla{cRS3IgEybZ`;b->J>(RSA@Udu?5rQauH-+ z>lT!uo^nvmeff_o*k6?4mYkU;Ixe$DSEZP0&N#hcpb zZl_KfROj;Sc6_gPE%kl=!%a_HAzFL1_6l6K7r4ruoVY**Rp5%ioq>aL3c>)%PN`ya z@*oK3rp*UxrzS-t@KldKb(ammE@;NT#_u8G?tDq7VTUWdEEaK^+HM$4y0<0Zqww6)06zx159{B&A@5s@jMq@{b>*{KQP_fm@dA~qCx zSXUJWM_=eF0g@WRCPR?4nN7mHAQp1A4cEGqSft)9%r%b@EEoc&vB=Uo<);D(f1x&- zz?*cY;2`xS_gIF*2k0(_Uu<9@^<2pxP2yTy*^EYwOi#g@O9X6zXkCS{e#n(T_jITb z@!GFVQgK}wgdYZ{0wFxk2V&F#yC=mVF&oxPxMfjHMY=p4Cb6)y(jHY{%>x|>Y}l|c zNOhF@M3LO>Z2H#NAi4LOwP$G4#uN2WH02P#aymKlSt?8w*jm943{8PA&h{E0@i|I~?h`N?d1D%uBtHWnHf* ziMLlnI7=-|kCV8ewuC@6$rnDFgYf7ev|0vM-RwXzUPcP?RE#xlP$^wTK>rhVJp(LI z6L)uQ$(n=9rj%JEVA!cs%csLDVO_x>p-j`hxB1bS8mr`Yy3nJpI>vj=zSF_k^t~x_2Z3@0t~s>O6J|9iV@7}n zUmFp87-Deb!lvJ4DJ-8K$sYZ!f-0o%bqO*l@`rlCFKv5HXhF>1=l}hz7&)4=Xph!k zc99#=cuYWjM#vMEAO-3nYU!8sJ<&!ULF0=Wn=yO;n67Bp(hjM$c~eR9>6@#9wxk6m0T{{JK6<8*V?K!XPt90VORh zUGgB^1*kaBbll=K=yar)<_mHmcX(^@SNL`Dp9|Kp@KDPhs9qR z_A*`pV@x#nOlrTYvC0;qC|f~*dU~+ozngw5iBT4hUzMO%J0ul7Ry-!l;mbAf(jmP?D}0e4*9+kJm({fts-Rm<1VLv$ z7Uv&{|3daIc;_%C8>TwG+^xQP7K@1#Jm~(42DWskv$k;od}<&t6-UKju<^4iU3n&A z^fq<~{QuB&7H&(*R5Re$1QYyla9F25H zhyju+C?%kT@1Ey)pTA(ovF~<&@9R82=Xs?98v1}IC3hvxgU8kJQioK+!ZEal{TCCo zk5+^MqKju0}+A&t4_FObnXs!>#3Vp`*0@d6wnhx025gog1}fzd&Z)01ReVv3XjCZ_v;NSAs~KF zBLzJD6*or&4Tgm(?&C`m{gTFXNyKjUu;CfL``GBG!sX|EuBA5>bfnjYei)vbHd!&K zkO+J-^^_M=8s=YUw@A_7Pk)i7+MMikVRW2!Uy1^4(}vM)bZEVo=uB)afSlMCfSP;J z=)KTAtO8L86J(Lfov|48AcRI%71%MPZ0x0I(KUIXbHXCf3p;wsYmh2*#=!b}{E&$n z{PeDPC-pjN?<&hk_n!QQK*;gX}{kFSoCv0)m@SGS9{dDKxtMmg zDyHfGV*i%5D6f|`rp~}ssk3Sx$x|ZnbcqV#0?Eb3ZH;GPtnp+43mWz4x@VM#Rex0r zLY%z4&;!D2WwYl3q3yZpY*)<~MdvhA0O%e|l8${^(+ZyF{WWhAY1v_(sG_L`sfM8v zy@zGBM)>Wt`$R(iw5i2wi;uf`_v!!Y!w^3y_TVYv2@eG=c{oL#rygVi?UJ~S3$4KnDPjcwO#zjfdU8mht_LL3V zu)RRqrf0-q6YA=tKuGojf3n{z?i&anCVVj!6C7pr)gb19x}wMRiF-fO{@J6sM}ida zAwuF`|LlC@RA$8;5p~~0ls$VVJ$*HJ(|=99_fPwsd2sT`JADqqwv)=rq78H;g&DWv zoEw1hc#N&%HW>~YmPJ`?h2z658Pdk8G_`lmrl!EjrVYJ6`i`J4#29fVv$#(IE_j~W z?W)jRbD%tbc<%!t`J$rZ*bp!iYiSH9nE=@14M}QIrhnzrW%UkLRIc-%4lzdYleo6& zZzfsgrkwjkh@c^FB7ju|uMR`**b5T&!=$4J6xeoBgpz55oWH>Pk{Yx&42e2DTK6u| z))4p;gOY5pEY)7hsL@e?ifevfUMe`bO&_5DJBE%!T0A1`x9!M6*!Uq)pdrQ)%ihyw zldS#W^%G`bh1>8SuPZ}RC{p~l+*^6K_lDQ0nM?DdEnc@kD&sE3I$(lgIn%E1>VL3l z{)7&trAfTcF@7`>uV<=$gI0^8=muFXJ<(sFXcdPS-PRMv0vVLV4CZf4GU!7s=CHDc zyE@dVd4^H+NC8oILb7Clp~9514|cC%wkTh1H!ejz5Btq&P_CHj?zY7b3R(D4iJ_y3 znicQj`92WPR9`U`+tS4>>0R-d`)4r6E9I>7f@rMtc$AfWrHmIbn8I~f?2GIQf9+Xr5~!aUKTj#zk)&B3_@cm-tHT3=fv<+WGGdGP zfE760p}D*K$ z(%cfUZk7!C&x0kp_c*t7uO{XZp38O(c zjXzsYIp3*f8@)H|aXR78e_N*G!ZdMTgF!bbktZ_Soado&gSwu@O>)Ey4Fo+Ua$J$g z@y{t>b-w5~_94HPI}Br^C@nJAf0^8?MQlo>@bbFb#HhT_Alt9(Ki(cb@dBk7_tl*P z59mEPCsHdr_Pw{>aE*O!g*3l@>36F^J=4ofar1g^!nRx$6Jt4Z*h`t^71|K~4$9z# z?N&8XB~Q9Gi&oN0#zcL|=_0l@*Su|1jaKx)f?Ar`q-{T%>)nwFx2HGoZmghMeYxwi zdxd{WL1c?(kALchd@Z^8dtO(6e5%FxDJ995IK;hGCY0i7oS?1+)@K0Du>I2F0ujUQ z?6V&~NullZlWOM$Bd&!>?F59$`0|P9V&#KSb3ceJ_gMriWrauMd(hw102Yl4lL@o` z>AF$KYg)z6S)EgnF|@o}Q49BL<;lce#1&}NmDfQ|>o`)udnJU8O7s7m0IZzRDW9q#vh)0+is$-Td#rTIFj>uK^R8c{J-mixr#nIjy4-w8|2dDzKO z&YruUahGn3B&RfGRjQlfZ0Q)f}Y2E{TVmzUyCmqOYCfuj4L-s7r zpnZ>f;mSSwG zT<*d~gWyhsi~UyWe9OPWi5P;(4BfcMiepK*xm4vTi;W1kv+Y*^^&Uil2#^P>zR$4# z2x9jM;P_}axY#etXGU)ucw9rD#EURE3EQq!hkkNEvr zzWdx{&mqYVL!Yw8o+Xyrm1%cxp}$*rqgD)4>z=_;+^>&xRDWsBgMYsNvZYl#h7Caf zkYK|RO97>aqeejydO3~5hCNCV(c6ZAYDSuoM5!Y?d3(KFsVJ<8Q}u?Sh4Ca1)&`@L zlSIvtPxr?0YH1PX$?G*-^#vx?pCLueo92$3m~iAp^>nzD^HtqfbPJp;8dCUxfwJ$w0yjSirQnEVFVS(FSTXMJ>6wsXk~KK&v$QpMmHRimn+* z)4xQGW-3un7@CsVli~JhY}^w+CB5Co_1DGxNZP2dN6W3J0v+mJ^wH2>A*LXy15&*P z|4T5c$N2ViYiX!0SB9H2m4;JMi2~rRA0tUk_z;aXiqo!0_CnjO-BzH_yIPbHIMZ-; zJ^qN0WoUH8;lHaIY&}SSqc)~VhLZtX5Ocj_#?iGZom5!SnG>{*)i3a^?13CzwADN? zTz&WNQ(u3CP!Ef$1kVu(f0h044TizmLj_6nR<@i65AJV{L!>>*D@t|3tJ74H)oaGK zvCu?nn`l?(!CNn%VF|;{SO8O(tnVrzk7=Ulx{jJM!kY3F@jUG3Si;I>E=tPlW3~<@ z=p)~FYDF7wg$Ve={bSX|Vz{A(U*@a<2o>9w{k4YEG-ewS8Ma|v5v98<_0?k5|}aBLjQ2d2dkdiEtw92H^ee4SKNhEokseNnB_!Wtzi zzs**@0B%d|s6{6D_eT$1SeI8|vfYH01y-p-=kMFCB9`by5gV2naw+OCRHg=nUYi5Z z%)jkrczLADIa)%PE=4{@!BO6c^FgPB8ptDDW5jw%kP{eJXXrmiug8;S@AbtCi+&dD}~`+ydj@W6GhC z<@v~M@T^99rj(?#i$G1q%zMSgSk7`iSpMBO{3sSn6{@TF1pV7OZkJhhtU9SgHwOs4 zj%^<3YP|R1&daNeo$$n`ngr&gZucuusGGr3f?DZ~U-B_4lpkOW#gB&Uio`IN2!A~~ zC_*vcU!tD(&os(>T3c!N;6Eq+_zww&6IZ(TOOkD0$acNlgQ_sBJ4+^#3SsT9sTid0 zW*d7rAq~}4r5>rRl`0(T)HeTdP*mP~rmPR-z%(0H*EzB5BJ;-f}Ia8tWBIuEmPx2U^I)qfM>c_%5 z*`5Tr6;K7A{0KIVzvd%1lBkjrp(0`PgB;c{97JJ!>ri*|64XsSR6;tG5I`Jp>hxfj zaCsFK-OLdip=X4O#{;pHSSiJvRf9Y?OT*aSsrGx$^GS+bOwM}|hNp-iG*V9PDU5fg zaDz2Tny^<}y=fq2_%#Dj_=X&(19W6qqv|_f)Ex+rG6PBKcXzbMSvhjAfqhVOY zr#yO8;vx4ZhWw6xb2O~EZS2Ivwrtf?e}m4x0Y=7m-A=ly9=|SO1I_m zUW`&%s7M15RouB|DW0h4-q&uY;mzY>&f1)%SZFYDsF-4D^ect@?heicN00H5h-zBT zQMm1erx4g*uXtgfe^qtxNj$%jRZL&|NGw=%1sLl0So{)2cUF$ZAM*0ALfcm_J}1;9 z(X3%*85}Hl=S>0eQ@0~eol~Cb81cpwW1%;gBtQ5aL)MnDG5BNc<7i6Sw#1bn~^r=SC z+)@(!etb{J92;bpw_f)VM@M0H$p#HUWrq`7w5(Qduu~M%7=p-SZv!B%I1k>=n*RBM zkBJCRH|` zBmyW}sRc+f23t~TM@PVak=+A;-yjDV96FkwLJ%%o{j*YUBOMI(L}QiK4(!au9+krQ zCgD?ugr7i_a+~HCq?^=d+kWWe^t3148cg zx+wHc3{Vu{&pQe0&G)(2yZmWeTzh~-yzO2^(uyFh0kEFsm4M4HJi#F`YNU+|NNZ>dv`NX;OEYP6 zVi{GGHQX0%%#JLy72tU(l#TwvEAsU+v#P`fu`N3%%RMJUx*HR`FRIz4Zj%1mzqnHW z;O{pnj0H&t$ZdZNGs)yy5~%kYueJM@A^wTBUOlO3>HuvgKEKDjQ}DUfkSh}#=jSiY zHz73|Ao=1o$D}%gg+Ve%4kf#$Mx%})?9moT)DIoBKfRZZd6oF=;D0sk;>?5EhD#=8 z1OQ>HZ^rWDTX#`M_A1Q@a|AOP1iwrj-f#N?Lsmw6DUBT_NPTQhHo7$3g{_!#kXFS z@B7hRddk$*t8`G>7+ccRtv{hJH@#&(|rX~d*)oAMXy&GG<0sT}Li zu}R7%jT;pj(jCMMB?V!^6cAwlK*07A&Vyt# zG9c4}W<&>i+=C(1=(m(^fNOIFwleForx^G2@9A#;4nA492)Un#H-<&W%efD02C~R* z=KUs>4dvXxh!C`)IxUr!EQ^)d?9?k$yoxR#pG7}Y6V{C=q7;p2t|@|mzEnANN(gnQelMsTL>B;RP(Dgc!vs6%$q-IMDQ#@D!$ASTioc7hr5!>y zDU%qFjL{>Z`QTFs-dKyaXi;#u&6A%u0Z0G=PjPgD1ceR;s_?*Di3{yM zm%UzT7<*bF{uzV{5}C8F`JuEUjZe2nfCvt*y7zABoo?SNZ{v3tyLQpJ&AyWgKL>u# zIF_7sGEc%1J3vs@n0QE+hGgsllMR8J+|py+<8@2Sk&DJMik;z@lx@5V_qgKiF;|K& z<{gb)d@ikE3m($U{R(H&b|J8c0wd${7q=j%=u%<<#bAoYmIakvJZVtR=Eb~0HCr)^1>vm?pr|Rc z+RR5Vfk*!+hUqG`v!aYXC4{)I<|Nw~wEpu6lkQBw)$ek4hLpReBn?lr^pw>b!&jKo zomB<7lA=}`HK0yHqi##+Iz0}*GD@%i!@Mg9>#}e`!B%Emt_0tSx+A0=+1 zQ(jQQcY^lE%2OFD%HZ}1hyn;Sp_?)|p@b0)qHp#QvB>#!o-A%+ljo!j7WcHd8F?nLHQ*L9o@B1p33);*e(ejnl+uHu zu=zvRC2IU^?NP&mEb6j4^MIj9-|qz=T251&^KYqu%mm*4zbcJCwIo)N&2=I0Alxo-4}o zI9EuSy?0;f3hMGK;^H_G7mZE)$-}(>*!2z;+x1;F1=x9OX}=gvWsfrjfO2(!%U0C| z_g_g&O_(LCH~6kw&i9>&Z*-LS@(*T|>v$}xh4UkQbsY}PrlVUb0Q%K~;+JI;;`u5yuuJ8ySI-9I!8lm*2OxaN#zsvX63A6VUz|_g8 zQ&FjCrl+R=h@oY8GMy+9)Cu3?LapkJ4HeFQ4XqY+DW-9tj zTe8IVf?dh30Mz2n{wu6O({w0Wcx~gG9_QKQ8oloj6%}o^77tJKwk4qe(gHmj?Y*t6 zv%yhTqGP|a-xkF<|Mj+OaX5=MR}a7^^k-1_a)I?;S;6U>ct3&Gv?`)Dd^1d!z~89* zii=;w@zIG;AWGXo6aK^ZD;8g|bonwr0vS_fn$Yj#l5=5kMX&$L-mMj@z88%OPpRlo zE;BzK{UYkTl~OTogDAL6XxbGE`fKI*6PxF-Op@T%qFzi|tm60pHDoHMR*(mb%%)?U zyRvjg>^D>Bs=@{jE>3FPt!MF@SQW-s*4Ox*ApG9xbulK)`*xy_(?@Vfh^2isqL}H& z!XER~CF?hrpI?le`)>ef-WkMJr@eWX2B5asHnfZTCPBKnIyq{U(hH7FJPu0vRm!#8 zZA`fpgGB50adx&DK7(}YQQGHW{@2^4Ur0|B(QS;&Yy63OTJma6wx_q8W02yP%W*xq zxfy8|XF{4nDDFi}{pbnZ4ZKAJb@kc?3-h0tGL=;b*97tA!vKgAikTg}7{0_X9ne>G zUsuhG9Yhi7O}COWk|SncJx!{WxW!kW%5ro9-TbHy)EevJ1Vs8qKh_tRA@?nZy&Qt zB$OD_nV{x=muFSt^=qV?-8cP}FSohEHH!DQx?TCih`?n4d#e{ePJ1#k2C@BM3PjkU zS!?#lU^(C&$@<6@qnM6tdhk{i2>0cIqZ%(n#nM@D&;X10(&UY<%xSIXi`{1BCUI^B zwy*mxN>-SF8vN2A+A-z$_HTOm(J#N62d;}QswAwXMQ^MCTQ1*g*-SIyi?eQw_+2IB zs6_-YJGiYj;eny`)Yt90(Lq%e+Ch=GlU{Fyq4nhCq~`)DJo)pTnWeAPWBg~(@u6wp(Nb={- zPQSE-tCFsukH=mRAGqRqkgS0lQ!ug~45f=(zdQ+J0N_5}HPF;15jCcaV@vcf1X4+H z44 zeWb_yTKl#h(!!K0&>j}W*@JE|(+IVK48aEvdnBreNwlI!&p7}B*r%SN)<$!j{i17q zi#cVV62ysa`@Xye_&MNSi&6ArfY0o=h-R!h9H4VfG@3aUK`KDF%*wg!1H&QjAD@|j zbB7KS%0&A}N z7a1M$MlrQ6t9v5vY~sb6Cy^1caM;6}kJizlM!fRjLqOd5$_d|blV_~vOXTK0UH(y(n@9Z zdggm!Db(&SsP34JjeA@*)T6bL+?K4V837p$+mnPH#{tw{VH!j0n~(|!r6Nfr0Dg40 zCw8KkiU%@-tZAw!rn)(u9L@+Mo652rQO?H!Z_wJ-5%(g^^hl!XD)po%>7|LK^L@(4 zokYFng)4{$6>XaWRz{QMR;Kq{aIWD?NWTa0BoR&23anH6VZV9sV~+3$F!#CCBw2RR zcM-S)`{V4Ms4DSn4I=^4ss8cwSh>o|Vc1&|z-=Enf-9Q)&Wj}Qmd2~^Clp=O%04=3 z?AarWG_@Z$cpE%3*~1%XZ(i8hLL`oF_)1WB9f+-w)xc-TA>a-Esdl><)-oN%r%zp78%7qlQYGG$TiLk*m@-)rDc)sj^4QLOQKKU9Vjlp~-I7}6^erXrQ& z?*7xhrDpu-W+%|>q?p#&1o#k`%EowWkCtjyr?nt9N&C@l*0Zl(-b`a|K{1dHcn-(C zy4DON_C5=bKhFcB?qncSCW90)XS-m`CU#}!ZO*H=m_DT6@`@z)S~%eAL1q`+TqWm( zCeoH#B-KFjP?(U>lk|jN!9{vph`O0~#zZe^J%2%(XH)j(zef3GiCn0w9Ix9V^JK5( zJLkn`c~qNX3W{ zCx{Usnhlx7R~#KQE#ljP-UX=kyL)VeTUO5po_F;#dS1K~k&ag{?Mwg@2+=w%Nssws zbiCAM559-ugMuC`-FCX&K`q=u8L{LG%e6mr9t3?A>u-#V7c>2#eE#XC=Qkd91Q$!L zPl6Jkz>Of5#-G8crwDAcTrLBI4ksV_=bIgO1QrTKP;w7HtPtF?HLKiFOQfanVyoiv|u_ zo*c#{G3I2wEYBQb)Q9I`Vn=omb;UqFd4#ua6|}{lg}?u8nSA4RB(J`x=$orY$Wxe7 zzyaNpp^=0hZ*W|8S_(2QQpR$cF`S9xoZ_6E!ydKRDZ9L_BGmG zLRys@C!EJ(FtyjmKmU;=vW45n@Da1;?OseyQZxEa*gl7<+IL;e-6$GCrIw!Fhz0_X zg2e=EQ9wJvaqE>q3l*v-%UYzBldm1!sK}X}ICjFyOIk{|GOlhsXglz#G$n@9I8ch` zSTq|2`)%D$@uppsNBwSQ~Jz&5AUxkY(7 zB8Mi06Nc==aEw8*rr0F`a-X$)D?5G9jUq<$;yp?mioEvU_cVO}2C0+MQX~Un)l^{D zyws(mre}py*sl@JppkdHkun(Z1_3+L<15lld;!R2l-^OFqDxHg#Q^_uhvYmqyOriI zEJrx#ifkq$U8jrscAK+Zc?AL;eQ}4e7*T!0gcc;&A&HZQxahZLJo4b+Q--`gV%4z zep{w2GfCVic$(Un__%{@`XQwuE?a{&DE5IQ%6rpYH~#wmqUky0`NKh}v|+cmq_^F} z0ekEWMLUBBf)Wtt$)v=qYdA>?=*`}y?dk65!5{P69uWNsHDXJ*G1@R`%5Y8b+w2I#Y|B3SHy&wUxcpuJ!aLk$Qtjl; zsc@p|46#4jr7Cw`y?F|T%KGC7#$*{DWC@AvI0&v)7FPzF3$paXQ9ajJ7UWG)?%Vev zs-rE)l9F%OQ>Qt+dW9`QIlOWJ*M((TB%d z=G_aKvCujc&h1N(?U)h+oG~C+;UtIHW>D^eu{Qpw zY%dKhb3Pb#v)#yK0l1+Z?k}n>k1HeI*Q5a{w)0piB`N1qluG7W_)v+rz9L2l`aJ=Fv{0P*yt92dX-OpT6GKx?Q}rU5e(h71Z< z=U12~MhHs?4-X$PNt(UfLx+P{*plwAP+(k`6(Zy;_X%j0e}Dr|;pDsu7U3(5PK*L; z>&nm|=FK`#ci2a4ctnsyy^6A32l#}Sv}?gLqd>K;AJsfctA-m%wSl;3Eb3XSa~z`i z%j~xxD_`-wT?c(~^Qi#3+Dp^Yi63ZazAnM(>ED@_$5^HnuQO{NQSH={2lk@39wuGv zeev7WXpVHb%D>oq3SXph#9p~O=R|TG=9#@a3;?gKe-Q7WIc9n;^}?R-A5b{HP!7mf zyFRdVM#^IP)M?Pz)8ugmp>Zu{+LB0Zw|jc;wmZFwLb3EMb&(VNtLr9ZH`N$UT)E^( zBwoT;@`{N&&OS}i5QrEH8va>inIETq+r-bw9ya&LyRf(Yg;7foYD%zcc-nxUcW@to zb6W3bCs>pY>yijG*Cpkc&VG9+dvl#x^GU1!hdI{qP#&T08xxO`a54`bWL_bFb;XUfOHJOctwv+B)onZa6sAP>lAVktFlSh-3 zo@{R}7lo=D5jJr4bFQdHh3>J);sC$=RyeJ^BpuT#ENr*5JDR6WXrMpy+&E4sy@paX z&i=5q_3i=8;Q`fe-l{#uli=rYx+dOIjD7#ZPeh&4+k7cE?2h29sDKr8m4vo<_@@h| zlec*^E4%?!?>66yadpB42&mUI4sBa?Gi9B(%NmBAbps()_qo|reVM*0cxc-yQZ*4z zJucPP9yAW;vz3v=FSq4}i4h(m-odp=iXn`HF5jb>N~+xPcB&hUI|F{<0@gxV5bjO7 zDM@0;x7z)fY3*$wL>rLv2OY)Nh!v{pH77^_JNbn#>MU7Kue{<-e7jkoCq+ttZwr2wy9dG?6CiyBkDf8OFPueH3mu3BHHt-(;Bi@pKa?C_*7l- zA4SV^UwNd-HhFv_`$`)fca)huUb}{=0oeZfJ}6f{rtBW03_fPd(^C>X z_pe633>UkVxe+dvvZ6LCg1KRtN-MLp#a(71b9y)B@EK3yXW;0&J?2;pb3$W86vNH~ z;eIu`$R2B84;`$L9NO^dK4XHOkUx=!hQ&d8YFinGcB_bW=)_)U%e}RE zQw7B+I%Nk&rS|ALUK%OT2i-lsUW@uOQt*XN;?^Hl)^4(CRWz50<7%Su%8Bcobrmp% zmEcA#2E1!g5gA!*A!n4J=FAOT@Ob=w_@(CHm!QCJzQPh0QbDMSt-q>W%Ky&z;x&rX zsw$Bh3>X3t#|Hr8K|K+yQ8WKh%HHsHAym$T@);E%HbAu7DG)g~-1ma?uaG*yW;acG zTrQQ^l^JX|xS$4lyQGh~_deA-YzvVsnMzskwfmThmiyG}e%~m*?{s#%wvkCK`a2&| zbFM~NSa-$ib>tpI119{ajN5*OO<`Bwk71oNmmM>TpZxcv_NH_Rh?z!CA))9q0R4R~ zn0qy4EXTOh$37>LsWc)!&VZOYB;A1|C7=`KqBP}|3;1B$@}U@xV^AAWoXuepFrsA@K7rrco1qHiLsQM`5f5S z3P7w2A|Z{hkE}?kx8$$u;$Nf;2Uu9s#v5O%MPYZALOjQ*MCe(fo=-_ObEOLZIezF` z{EVw(0^9=RM&i!LUSW5%Yf&*E3%hx62cm)hh;S&7v)ZZ1l4?bSRpV|-F+&kPwjjVE zzXBr?a8d5WJ5^9{Q<2%EhcZobcNzkFKLaCJB7N5?%F9f-$WB?Ga;y-gdg3}H$$K9^ z?YwO5UFcv!f7<)n@whV_F0@yM1(n_Up!el$jsOXSb8=vU6g1T$-t5{$=|x>t9~fwR z$7k{Tbt@LMIxEM_dGCYeP+bS~_oKNEAOHmL{P-CJ`<@o7UG#7B#+XChF57|#qY<6r zd>^TB@U86S6V>{?8=~sa%Qq=fk~PKJT$D`g$?|8|r;3)jw zewXO=E5PE*^Si z2Ke-AHN%)Mw;hR;>cI<;3<;K@D8Vg}DsEG{3*S>D?zpEzK+}h$m@9aI<5cLTH-v?~ zLD2AOT}p&rh~y)c{;b4~?drta1+sT~KM|gM#l#gtYWQlBBdY0Qj%Ek7472RIXx^PGe)1D`;U0-=yH!jyGUhzY!85@>r31uUlm0_U z?WBHcSd@>K)Vde*@-MYDrn}p`$fv#_3Dgl(`LwI#Z2*QmD z3kzV`J4rf3*_8pA@OS&w$>lO6zzk0SLTzFRS>+0`0Mnx=l_ooPNTm1Nt~0zW4EIda z203hzjGj|JB)`xp%)e*n>GLd%G}mbRPr@wSvJ-yX>^$Oj{`i|S2oeEee{xaNO(Y)+ zCm%jn0c1|bxd>J%@zGxJo_qT+UCE;>3E-2={&W8m!<k2Qx)zl|H4e*_{)!+W< z#>|8`ne!FP+#9Z>>n)bLJW)i4)ykc6?MaQJJj z2U$TCWqi@OJ9(owIBAk@Knq@XMSapMoK`1E`eE_~8T*(NV8xWBWMlEfXMMyQ!-voAq>fPiGwlG`M z-^@&u1{AHqCE26Ge_W%-rUS*7l=_hFFZAUi9sF7R#pRUwJBQ4yVX%6Ya%NUbc~DA5 zxD&`G7~3EmF8~?<;+0sfl%Ca1>+ki}SZ7A!M0;XDz&*N;v3-j}>Vzj5!B43KX~b(( zY@Q#`J82Uke|n#}0=L!r=-xVfoED^Q^0;zaB1FPm9~mhTHlj&Xo5V+iW<1LrQUvn? zskdo{kQB+f+zb?5syR(a`gU~j6f_}26`uY4aHTqo?cwTix=~zP#ePzZ)yXU&@}Bz_ zOFI8SuPJY60C>Kr{pkMsAT6zC&s5MbOF$J{RJVB~oPn=Vh5akqh_os|SXs0?df(T$ zX97X?Has1p9>}g!{blm$;x1kFT3ZA6$FgtFW&eXvqnz_-RR35sa?!N{StZ`k_Sl`> ziVe492SC^5G{<47*f&r5d5zUFc@5{4n9Z6SQ^A0&kQP6gk?rz-F_z2-RLSk5+#x(| zdkl~4d5>a+4)E7C)}$GvIs>lmrNGU|JJnksIzNLD^V+MT4E1p5DKoKIf2N{rbR%&hc6H+l{b|B>?8hz)~l)wXa%R~#h1nL-lKPJ zRozGKY;gRBBCmNTgQGKX$+8O?-WptS@tzF)S{=3+*4P;A8Ce0HlcNG3wz2rU<;lhP zP+W8yLMZi%+WnQvdh_kSFopLTt$_QVmiNfsx3@Ktj($3fNLh3=Mkvd?)oONv!B9DK z_*=UhRX@Ht4<8p8Ux0vw6BgyHCzXZq+sC#}GLo|1O^=c$PrAK|?(2*dXOu7W4M%T| zSkx%in3HQ9Z!JbFG0dB5y)o=$qrsBxeGexK)7E@yB1UNAM@RbX-BTYPl?oD<81uP4 zC4cezz@K%c^OX4y9s7+YwhAYCNm=!^I{?XGHcsdYy3W!1G|3A2(=A^uHv6SOYF>EX z10l8oPq-M!d8kd0Cn6g6LpfOVya1y@m$n`Il-b0@80W7ir#E)5;;71QHFeIv@dWkD zfQl7Bt!?9E<)o9gU(CX1U7eP)F1R?`xOwHkamh8qyx8idblJ`M0K{o;rQqt1i;2X8 z?(RHcT@d$}GF0eCVw@4l&L?!cx+|jaqB>~(Wn@$xE)x{9eUtb+;s>0G^xSUH8lg~) zV|v5ncJ30b^^f<>v)<)aXyAU0MHTtOUM37(rx;0|<;WEd)T~**c*LdUO|pj*se{0} z(*06~XL!20=&PD4hFVz;#~@`YS?xVs|09ivG|P{}oh+`oH0{QU?k&ZRGqkZIh53N+ zXl732oGeYV?1*S^FTkJ*ZaM2_2VYw+e0s{)KCp}owhY;qk4>mfP4CvFB;RLwpwg64 z@L$W7kBnbZ%kMS+!hJ03h^f*`-DlgpV2kQ=hgD5BDonh;;?tM0Wrs*mCq{9;o=A$h zCfYf3Cf&H>o@GJhi0Pxt=Xmee*ci#oC3dJ*pBBR;emol}I{52sM#S(s>yYI#Hr^si zQ5_B9?y1p?SgaBU1%%uz`AF@>V^T2ZNmb}YX^o&en~&FAYS&YS(SZ1(@+mzH^2Vn; zdI@#H(!CseeLg(PoPVf~`0ef{%*=F4K+mJ{bXHaNnQtglny2t4V&_O>{-^%!BC03t zw1v58siM@vX8KQlwU6~wCw?78vx&hz;43ZVK8Lr_%={l${=>x=wV8$FQ#*|4PIg(<( z$Xy{I{fPX>z5q(6ha?~yMY~>KBos7-KJ1fAst*+L;rx1X>(Tlpx1{vB9bkj-Za?Vj z?QPMqv(d+Qz1gaagdFd(_fSVk{dl%a>HJ!hPkNAYWD&`_2DGDti3K?CT@3>YxeyF1 zzf6lrf!T-vHO7w%!rC!c*;n$m(+^-Fe|P_@{`G;z|^+RS@ZUmk1Ud*&4o3i zCXm%r98BPrAb(&oP=m3eeRab@@65m8tNs4N0GMzv8Uvte#J1dN|H%s}O#lMpr53I( z%4-Tn06<3T{$*k>p0?E6@GR8z6y@e`gfgzpOolzoCf=AWXzow1T)$l zJw0xwEQX!Eul(-X?AhZOG__5kr96*@_mBVJ8! zl9Sf4KXqY5neKs-#e8IDX5r5xYJijUB!KGgZ>$Wrs0f)lF_q6IQ7hy-H}4G5UoL#;-%qe$9WOTRc#i^Ph1mZx#p;4eIA7#*1n)yt3;g zo49SooVSWzYH!!xMq~F9J05*?HCmvg03A(w_O$CY#uG^PRId$LEJ05PJ7MltWhYvb z5z%bypCLyBuZOi3ffLS0hr9gsC_O!9T-g$Rd8Wi=YB2LPob#!3 zRnHH96sJy6xbZr$`Rb>O`b^u*1NHSFAX67^z(bXgWcWiRXC-|>Uh-LQW#wL<{Idcd zMu$9pBItwWr)TYK8h`kCg~|Tqm?gt7j{Ff zWqxM6)A2f=C_{^B6KZ7D_W-%`>lvsM96S|0Hbff(M>c-h`O9XsYN^mOstD%44RElu zT56@XX~qoZTT*-6T@s)}Cy0(m-8w;gCm$s|RddOlN(@iHE67d)W0THjo{03-LD94< z=J6N=>_)`YjBJr$>6i4o_0{*kU!Z{CmfhO8)E|Z0Ht~)xv!D!W&~$cQJxg4qUvI-h zbSHaLn(Ya{ysu}ADn9b$$})i%=_v8(ioyqC%d*Hl z-ZGw?!Tm;Bz zhi0nck|~J1^?JVC`JS&TT9>$&9*DxnP~*clDyUJH-4_%mb=N+9ug`j4*rLWM)weKeE)Q2aLxPc7AFZxX00!PQJi4ki)2a;1VB-;WjLBJ|?*|of#=I=DE zg5mty^|Wu&s9n(yFpZOVmfO?dR>$;QVK#npg-; zrD$@7KM@ddw)ptbcqAP4nj4i;I^D&ZFuD_cQ*59Aou*jy(y3lN(L)K1_I{()UQ998 zl0;cBOXizGv0H{Ra~59MES-b&xs|tnJ%I60cS%_$4MgSP^$|t`zknI|FkY9IW9&10 z+Av3%mf1%t`Q}h@Vd8Xn@1xxch3-+l93Ha^NIK?$?J7ETrRsAOCCJpy9`HK4%{lOg z+xba0c_m9o-)S52*5UdqbOr#LoOPIddN!fKcsxPb8rp|M(DM@Pf??0@qa z@jL*kS9?^>8WD?ycD|P;5qJN$;o6=`<<{E5|FHm0>K!Uuf}YcN8cza^%#`S^L$n6p z7P7XHU)cHo9rUESvou79^3JwAUFC4%U(q9UAZjMyVd|NFFapsW*sFIubFp4l4ln?D z+^C|&+FHApvaU~tQG^%`>RVQ2dUP@D-L`R3Iu_vx;Sg2iuH93BZz9dI?8hF*VLB2l z!kIJR>_}j7RHr{}&kICz7OI$eKY&@86DR@dpt)-TiGwZRqk~~P1L8(w7L$^YM1ii3 zrI-rM4+Z0o21kt<1!Hih5fjO|Hxt%_S{2gSt)W!2itR)u6%5t|FI>XNGB9c{C%Zy< zS>K$p>wtdbS`^@fzpTgnfjQp+79^{*9U3%T1K;A29eA17SuD}_`PbOm)ODB9WA>^l zXBAvgPY;Qstxy~Mn@O@|*k@Rl)su_G#^FO57^VVip9xlzv{%=lN3UqvjX6NJdY2>8 z%x{3hYHxsh8F5H0AnrJFEl1oPTAH6gTI;zX5mU|gQpkRC|EC3jwUNZMQ4qiwuxn9~ zM+y9CQj;1z=?xt?SE=_}9MS4+^oF^VCf$!o&LL9SdVt9GjIX?1cVAoaFaPZ)!*Aqg z&c#Zl_Ede;sW3k{FEMg7dtwzH@p+a#B6f&^K2rMibrYYwv`KNM)M2V8O}9~trCoj9 z$u0dKJKwyj+F+!Ln04V9*J#&^jr@OaFC($%9ipd+s*L8Si6zu%|Jk4FA{GDJO~RNh{ggzgB45y z=y31EbQcbDAt(Hss)>_(|1{SG6EThtgU=L597B0!h9O`OY3wzefmgX1OE>B~Cj&1+ zO0;tp<;7W=nSxH38)Q(rMO$zakT&O4C;7a!47BPk#0M^>dFu9_o&v%oSnMl03_xfW zWvqaa>0ps?Ok@*Rf32*{h=|z{>~ffoZwo<9+5o3=)3vM#TwCl3H$MO}T=C4H!1`Iv z*(V(P<3CF!WViuSbLVM=$b7;5LS;zLW>AtM4Sdu`u;<7<6}rDYuP!HToCNS8W}@a& z_-Xb;KzqUkomhQRLksjU09@!?(^CL`0vBp8sCOZP29PD^XNbq%mU4G<@&;MjB;=VL zd}vinyTzF8;D58Q0*vv(i{Pk1vmi2orC1e``^3=0;<*a<>fSv7FWycdFBXB)veFuM zpwJRM2$^<5tnGkt+&x6L*-K0R>Z?-`s7H7cJ}#huv#C{+{Nc@R1`6131`9tQiUI}j z3I1R37p(Zq2}I#HQzh~B{zo@}7q8sAz>Em@D$Jn=k#MF*;gz%t#H=8}Y!-~XhZG1V zsHcF;2IVU#fiVJyg+77^7omQGfd>HrcD^PaHEqLkxR~UU?MwK|C5}A}(#VYWs0A^J z6vfm@)@0C(2CgGWu)EK_4m=(P%R&(jB(RUlHlL*n`jKCgy}zu-Iu)#`mnosJF<+<5B1V1p^3)SK$}GC?%^R8G(X&6u?o? zDv|^S@G9JhG&4dEto2}3B0*~Okbz3ZMvp?~b+DWJYG*)!@puh2(Ae^?>Lu{E6?t+( zBc+|yC9Xi>Zg(+PhGdE8OYH1&&iuMJIc5bOqQZEV`sm&P&3;h#zZrG+WY8O+{DMq5 z5y#-a+ug~lfc9yOwWb3MEy;XF>XcMSHQqQQe%Y(L-`xMA;5df^2oNqxA#kusVIirI z0Z|Jh;QU|&RO=xNH(b#>5I84mFu;~HNrDA!mkfFu-blFQdOLkLtp9&|*Rm|fbsSIk z%-k0q5<$T-6^@V>wj9ANH{OX`e*pbE5`V*=VEqKO^~Nh}p-?E~kYw2b^8o_9ubJsF zGpq7+_L-i!06|y)?O}lT-kI*xkLm8pla-ZKQxGU2Jwi&%RY_>uEohKOf~P2EkKYJ`UN0R6Jt+V?bffWQpfD8Hq!T!d!2MtA0lTBVNBNHe}hI)Z#__m`+*PD zGL}jnaA|~~@n0_EaR#99_v#{vfcb*}N&*T%bLt}LhD%sRi~@WW)(Hl#F2+(x2p1t* zgkJ(n3Zak4*{WO`5yWp#8~f%IG>Rzzn;-!t#?bP3Um(Fnivk8|?LhM+PdD&k;rOInL%)VpyvXj3v-#qRYLSVU;O~ zaW+2F|>?=fP(MC(C^Aum!+Jg$x;gxT%SP8=6tD}7MN_;^>o#k9lt zaJ}mWeFHx~T>VhG^6L+}@~5k=ykAQB&)cs2O(_LB1-$N|i)7OOb3oybw>`ZS02J`= zSuR^$8n=DTrwb@Rr%)}N&*CwO<-sDqF;ABmNfX}XAz>!iCQ1B)%!>JX;s znw}5;Hi$3!@!SwFSWdqcN7nmBz#+wv%!zNi0x;mm#BOmk@4*tJ=} zfalD1$`ptxLg1Iy00KvuEzL0n5;@AP(Y+F=MM#4stgA9eJm7BIW=~iSAi$exHQ+=| zwk~p}e-}^y$uQTR8epN-Jpd#)P~da8Nlgq$Ib0OFFv7lBpL;3fYB8{{1JAp9JEV7l zM2z_CSZ{~Dw$kuVfP>|7_l?fuBtI2cNKqr2LxE8M zP(VOuP&aLYdOkeahMhCh4_^kOaD8tI6a*?9C?K7HzX=qsOX;oG!y%vmGbIWWGhKlT zUv|q56y%KnkU>U(j)>E+;+h1kTg{UYw5~8b-|>9`XLs;1HNk#wERQ^FmsdptbE+o zJ}`Q<=fmB=!QB&mTdeJGHV)u0$2^GE7n?A$1H0m2Wdcep5bSFw#%ctBh2=8$gkR7u zDjxC+lP3c{a?ztoC!OICyPyCLa6rEWfup9vp)wFDVwBdwQx~lGNOl3|0hJUgom3hE z+w+o1iZ+e0z~{~)@O);1 z5CjwlfP$^U!0&zvt@9$wAx+r$B0xa^;Vwo2qD6FyBv63&g4n491`sj6lOSf!I|0Wp z|Ae+AQXa?Z~FK0~iIpkOH_epdc2ZWg!42;E~V@8+mfmq)B5+jL3)1qA#E^Su$y5 zm1GKR_O3EUtb=yZ3i{|A>0SzC0CJ`;s$JRx56Y?@sA5SA&=Y?M2pU~0(FF2p+GE?S zvvI9w-~h`{{SKzHcx~H*cl{mdhsKnNY{*=Ngyrvb-jDenOx+p{^c%Wp0m!Q|3P%l> zEVAE~Nf_Ch5lkR}wE$+k{-(xC+LY7zY82H98NKY%u}9S;nByWq1IE^DAIoc8vIgkc zfP8T>3hvZc8$cOoVA>#Qe(i??27n9S52i30T?K+R^%bdKkZwW8GVx;=#%c(EUx8jf z*=2Gw^&$}aP@7K~SRk0N{ty&AdY_ApIXI#O@^n|uvkC$wkN^{{-vQo3FlUuTDjvZq z5L7fNiisgp(|bXHLCd@hSeOF}evROFFa>gAgodC62`X`Ylz>uc2kI28Bobr2Fq?p~ z$aG@_n}F9{`h+=?rEdWwVAF3cqrmI^7*N0hbF9K&r#mB!m$JfvR?bgK`O%{|AIp5O zw~T@V1?18pXv9o(@i^9dh}O~;uveK*kVZj*bt9d$+>NRbQ(Jz$C~c0pq)N z03g8wKTVg?RB646G{l#hrJKOA+B75JFUR05S4G_<0v8I(N;RxD=83RE9dt4Zn4z3b zdnafN0R^^}&a{K)-Q|^lGzH#wvna3<68`~AI92bWz&5==VWgQEwcx;Y1~)i!2@Ldp zT^?gJJt10PFvkYym?nCJR0qrJArsz@MzdJ&DnWm>AR6Yqdg8GC69sm?)GHE&~;c2_FBv>H(WoPQ4W}BE7);d!AgSh-zvhPaysVP|)#!lCG(S z9JHPNW7&x>Lt_c;`U2?|G-gd7pp4R8AoF+GG<)|-0ggCJW4{Oig}A(U6N6eh@mp8238MMm2`MFaU+hJOBtZ%t8d)xJX(?LO|iZ`8Oc*;5{MS zn8}yJc(a1Xra=^d1w@Q+VMM`$*aHU>cn|4@Io||qXU?)2>4s19B+T}9IMONdn27N; zq#gKpJa&)24WG@j3cvcWEAM^M6*PWmMUAp@hM$(<1bM%p^x zi@>}aDmkaB26jdR9J+!h)@r7L3#6x>-8T9%8fc2K3m zT_VQ2T1qSJAj{@i?}XQQ!3p7z54 z3V5OK1Hi(`wkv=6!%{xW_toz~&7s_#5nUwldX&wf2n;Sd{)2}C0Yj!A01)KXD274Z zCD}j}+8MiowE$YHZSa8Y zDFCH5W?2CZg3?J#OQ@vLfk~5{*t;E*DX(_Zpv!%md-l;sZfK3AMew)if7|6M#ME*g z{Ojm zpnBTE1Gvf~mF}qPnA4*)3pE|mSUux&r6Z(Y@MWD{5UYTF^8LUuR=vS?U_ca`AP|7h zYrlx}SU@Qxg8l;Rf&o4^k1FZ6;Ccmqr^zk==yCn^jxD8cQ>a*(2lI0{1OfmYINQH1 zzmUfuaE9kvLW=wcrdW4pl!2Wx4C|yGU6`x+h1Zjxg4vm2Ezc9(n_rNAdq-4J)?kws9@nAOHWYnD;(E{rM&kn$|PH$0FWSeMgRp~ zD9I`aD6|fZU>D|q!umWcn;C4*qxu2Cy#)zk6tEoF1f(2P0@(rufdr13vwO^{Rn>s^ zA#7C3Xrvny9M#~7jhvDlXwwZfkPc{z+%sQ!YrPo6B*X(WN*NVIm7-Wel?kAr?I38= zqaa%?6FiL9mr@N9E_#sXgC<3g6|`8Z=wJoL{s~wfx&l)Dx&3Kr;{s(UT8<6#FC1lzJlewNd~%5Y?^TMedM$DlUX8q9QiI9qnR8)m{S4akc}S}eVGCz>WD7i4tM7uwYsZ225%3{W<$XVPYlQtW z&Zl$-lS&55&va>?1mPn0A=w7W8t@bU0E_jKj{@Ft20=Op1pn|I2r;8H3!M3z^|Jtg z1d)6uG#w{7tKB4!Y0a53-2kDbzycqdSsfv^z&#w0hNx){YkY;=xwHg86c9r$Ptp@% zy({aJv1bI0n=Zq75nc(NhG^LWoihLj1#!Ayrncb_pzsQaV?d$RBRH#|ZO{280IUF9 zoL)!sr|)HoLurSn1`^;8AvI6w z3=%df{Qv+!RscGMlVlf^T1ayx2MS;l@T!iBNMkHxUgrWu{0*=G<^bTr(+%zV)D0v< zAh$#XJ8$k3foM!itg!3`MvvGJUK(Dars;E(^g?PA)9tHv%we->S1xi_X`UC4T z{g6~VD;I3Ed_{)o=D15c4SHr86NFGi*D9F2pb7t2M`XgXj7c=_0 z4iwtizNbPcaFp;6RKHk*bYB!`pkG3sdv7>Jc81qO{Pa$e*dGBD&GfzO(P#YFUj{;R zibOEPe*_;HfCNxl7Q%H5E=mMg5Gc{516HDrw~gNc4zMk6D78waKqZi11$0bU4#9P| z8q)~WDr`oL0@4uGwQ&{4aG5m1>1HgQR0>86ko*z&9Ft>X{yYX07Fmj@>%gld_`Jv# z)DSGRK*4)LX#JK^Q1d66EG2V*b0Cm_&ruSIm$M1ao|W?MqoI_iQ*FZMS@D47*NYuX z@lip6SIZ{6`{P~t!|z{A#EA8uJbo=Dk$#JPH-Lg%8l6%2DX98PKm68!0*?N90~C0X zZoBe3NSoh{-?>~GFSY51<^7KO1=%>mOX2gZaCmq=Rz3(EIGZ2}|M^K@R!BKy4sCm4 zt)w%>puQQ;e-JiSu_G?Nr!f8q7bc90&OIk`Lk)rbT{v1=#6h=%o)G`KJ=JSK$ z2&>|l#iE?CzBuJKMj{pE&@MQ&uYo+pBJrVuy)z@eF9HrOSeyWa+&6&)UN1~4>wmuTPr<-aB^>a{n$;^7%d4XcoQhS2ao{3ptJ*+g?BH9JG(^Uxc2%wSOcg(vt{%C zqwB7R#ar?@(+?k)uKe5A|Bz~Uoau)LDQa}EAVDLJ4LXJQl2t(U!)caC3M^n50ELUJ ze1L%Q@_v*pBFzA>0AV9aBk=;Opmf1~y|?S=p#TvhUg$6h(V_&2XeAAErRt$zE{q8H ztzW|C#9SCtu&7eR+9+y;dlstxQoRzG%Qa>|_R8_lQOCqo+?&fHXZgk=5F{iML2!|J zgyjZy(OF`;fgT{+=t1;oJ_<@RU<_y$Jn(Wk6Y=3$uQY>;AR%m=t~UaN8gxzQ$Ut3Z z_z6n98e~Sys9-zQ2#laW_eML*7bwu@t;S$KO>h9P!-GN9FfKkA2d)5xLC08zN%iIb z!cFW=qoj*qt8!~!JhvN%(hWSGMi?o!pal_a0OvN-Ezwz-z6B3RA>?^QN2# z@tOvxfMaSOT^R*)XvC^*<$*WBnv^eYLD7##Cx(IN0$PR)^i0Gw%V8OnPcoH(cGF-O zGIap3AYC7pLwZAF;4{}N)Z;*^g&j3Vmczk?*a3_7p( z!+=Q*npWQ*Sp|G{2q@sQ+if2r#`CURe-)xepiu`35;7hF3P?eKd1y_MoK;}=!&Of= zNW3JdLv@4J6Ht)2kq;^`0ni{|wvk3k-k3>M2TCs>prUNjnFIla2uRUc60czq+vZF= z1&+M379m>Xa@!C+vMkbO`(hAKZJ|a^)GioM@Y%iV5b(P{!bqD;Cx06v><`oPTvG*4v-#bfx=w3NB{-AHqX((X(;e=IHpaQO*^C$;~blC zP{jC29Q#LKU%elHeKr0ptl>~1_A0k^yY6=eDC8a6m!E%q(!eVGb3yS#SAJc(^1%nC zfKiz1`ye~#W2^!gg~vlz;LeEG?M2u)^8o?zB1R?yA}x5p`g8BS%+rS3ve#W8qA~=~x>#A@WQ==&z-f&LX8{y!f7HqV7- z=Tm?&R!)dDP^AQ$OTBX4AGXe#H1O80^hO-n#Vtr~Ckf%5IMX>`ohLe6MeTo*P zSww47HUs#hd~hnPTu#$w}EH z#>g&|d=B-a$PgEK)ONR2>l6WL}Oyw zJrj6iuCg;^+Aa$KD7bU>zKR^WGYn@rrh@B@nm?KLK-CSkeRPdJ5fJOlUQELRU?qSD z&qE_tJY7N+9o_-!rX~pI-;AaU&)LhHYp9jck;IW{eABauBEO?f!@EXRs-@QgN zp6+$FZI>Fi)~^0KZg}bkG;6mFXtxw#eP1SKOPMa99>9)`M1s-?2()cALkbpa5T0>! z896(U0m%2>0 zi~@ne)sA3bQWBZp(U-Z67ASm{AOUHIr|HOuZB5D}Q^bh(_bMG;(qQQ|J2AGm{&x!~ z;OGPv;Hdzu!atS1{G{y4FH2wEf4`Lbw_QQyLkkvQ=UiPHGo1i?MwU(DVtm+96}*1~LcVkk^h8)Js<3enC}dipvH&I`Rssu zcpG3WjaN;S5}?TZsJ@>d!I=jK3ft6Sv><^GL>E2g?}#s&aZf7%;(k$uMSaK^IPx*$ z`8|J6#e8!#e)2m}@lM#R3K5&JM2*9_agcTa1GUsdRogYD1&2UG`&c+YHvsQ3_~i2K zW)8idCy^zJKJ>W$I1>jeAtnWeQv?ZC{ZVJ;ErXB)b4+C)GVP$%5hT?m(WzN|9$#N> z&xDT-7DnoQ1QA|gpv|`qksPB*M^tdpY)iA(Wd?6C1}<3C{wo#X%!HRZ%8P*-hjd@$ zaZ0<8+eRuvRS>AE(EgJ(P%6Uw71^^5C9Y4t|q!H7s3*(#3Cd4D|Eq?7W3OE)3g`a(WWFMElpz;B!2fW^S zKYlt;K;MTyC9B{-0VR%qL={5<1+<&KxfhSY@1Y!J-LvXJS^=dV@Hv6PMJYF5b>;q9 z3LL>IoONZBf=B=ZfhoxOWfF0f)YnUDKRu;&kL`jXNF+;U&-@h8Bc0V^mNuAT@wEDIe%n~ya*Lfe%{(9;80Q$x0Ck_u3a89<Qw|w4qhKKQl->qabO50|PJ$4jfo+2?xgXPJqdhUP?cJZBVs?KmwLof3+(Y zC_7Cy0q^Yz8t*EJ%vRD^*PB1Rj5dLn-?ytx7$22)JQLpJk0(H(F>d94|DwRxAax2r ze+d@g(kNB|=?Ar(hNUy?oS*Hw@^___|9IG!@=hs_^?=QWQA$bNS`P@Y1ON zd$1WzQT-9}1Tgs7v8dg1+cna6Z@;Qy4B&oR+zMLjXjc&YV_&SNgy{&hy(%!w)C$+j z&Xkqa5P(qdP4Oi@$LznB9;#!c^^cHyq=N*l$Kao)N)=G#81h=^a#qgcOV0%c=mZ98 zW4+F{)%+|2KguN6uyD_m1RFr*1Lqc?0cK38QDBp)ehB?Sj;-VJw$;2W(qlnPPh~Qa zY0$Y z0uuIjNHzgL0hY~pJ+U;%>1tppB;Rj+6TS(XFe6}mjUa)K zJ{Sd+P6{YsyC<7PFbE~n8fnK20MVVqwgC_jb?yG?2h$P~nhbJ1(QD2e1tZ7(9Iu#~C05 zKM^0it7GfFNGe~PiFqdA?7&?Cp*gVD&FdPCY z0v6iexjRqm-US*a>3|u4u-Ca#8#};4w9G*@Bl58^M$1SD7|a0&SXCcbzZ0WiECWv^ z9=!P;^ZmAdYkU-^eqZ(Nf=CAtT6U7w$nzrFpJSRUBd-&idFyX2=eh%d1)b`eCdhPz zbO{mQW54mcDka*~11dWR3~H07U^>`|F~NeyIPJGw)^!m84yb^DZh_Yvn2a=BBJ+{X zknXiWJp)n~tN00E;BBgz+DK-gWfuH>Y!55~f-OOV^@31iDPB(fkj|AU5bSo;BWQoC zfblwvn%HG>F;E=tW=w9bbOcTVpbhoEf-Nvm=yrn{==*w zzJZRZ7I78rr+&-!VMB}505-J03X>A;IK3XTUiBbmG(_s+``fYd* zRJxxOdrz+cdJgoMe}PrV{m9%t6#oor>=n=#{9Q$ND3x16vKIkev_H--o8#ixhdAB^ z$46c`#;erj(Wz%c}X5vVn8LHo(|;-8obez7lS*aMu<9gWw=jb?b<4Lppx4A$e9idEu@NRpaCi6d~F_=jZzFUB^w z&0Ul&2K8??%R31fLR`pw%zg6x)bw`t$_K*_T1#LgB7py_(C_?-f z-$cR|js@=mIY17j$9ud^a-2+sU_BfUKIb-A`izUkmV@4-+g3Np7(0)9hqa>fW%wiv z^;jsH%;r_wVVIO^YCNn9z%f*N>!Hv|61SGL47rU3e+IjP;LCkSIV<;n%TyHYv9W&c zAC@8IKkOLz0}PHr&_$O3XfQp+Fcf$o05tJ9(<=f1D*lcUwBH;J%Piwqz@&gx(K7g{ zP%kRs%NDn=g0eauwgV+F0NI_pV(1cvtQ}iT8j1 zo1y&V!(I81ehhqXE`9OFG77bS1K5GbA9m%zvyLT>cs;(12h{W1zFd93r)@HtI3Xnf zJppZ(A9Q8;c~{_~h?&1;@~A{OJ?oi|LRw&P)|JIqQMR~%mw~ha2`C5}R_0T1)0MMT z=m%&Hv`UH}r9jIF&}`-duy7kcz0?rF=p-EtqlI!lY&qNROP?JW1s3=-fd{)YqI?k) ze&+T8I;aQ0`UxEP=*gM62Y0-W2fr!_@Yy&^?+66Ye}L8IL1{{P4eDEm=)PV@Ve01m=Xhejlf*_3VN*MKePSeEG)02lxdls6Ns1gpaT z%xgkrr}*9x^i?XWuAA6rZXa%z$&yGn0)wl5DIgUZ4>BtW3do$~I { + state.allLine = action.payload; + } + } +}) +export const { + UpdateAllLine +} = LeaderPageSlice.actions; +export const selectAllLine = (state: RootState) => + state.LeaderPageSlice.allLine; +export default LeaderPageSlice.reducer; \ No newline at end of file diff --git a/src/store/UpdateData.tsx b/src/store/UpdateData.tsx index 0c2260e..fbebd28 100644 --- a/src/store/UpdateData.tsx +++ b/src/store/UpdateData.tsx @@ -14,6 +14,7 @@ import { UpdateLine5Before, UpdateLine5After } from "./LinePageSlice" +import { UpdateAllLine } from "./LeaderPageSlice" // let initLineGlassStatus: Object = { // LINE_1_1: 1, // LINE_1_2U: 1, @@ -82,9 +83,17 @@ function UpdateData() { let websocket5_2 = null; const dispatch = useAppDispatch(); // 测试接口开始=================== - // console.log(myUrl) - // axios.defaults.headers.common['Authorization'] = 'Bearer test1'; - // axios.defaults.headers.common['tenant-id'] = 1; + axios.defaults.headers.common['Authorization'] = 'Bearer test1'; + axios.defaults.headers.common['tenant-id'] = 1; + console.log('===========') + axios.get('http://172.16.32.40:48080/admin-api/monitoring/ViewController/driveMonitoring') + .then((res) => { + dispatch(UpdateAllLine(res.data)); + // console.log(res) + }) + return ( + null + ) // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=1-1') // .then((res) => { // dispatch(UpdateLine1Before(res.data)); @@ -131,6 +140,7 @@ function UpdateData() { // ) // 测试接口结束==================== if ('WebSocket' in window) { + // websocketAllLine = new WebSocket("ws://" + myUrl + "/admin-api/monitoring/ViewController/driveMonitoring"); websocket1_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-1"); websocket1_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-2"); websocket2_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-1"); @@ -296,9 +306,9 @@ function UpdateData() { if (!Object.prototype.toString.call(msgData).includes('Object')) return; dispatch(UpdateLine5After(msgData)); } - return ( - null - ) + // return ( + // null + // ) } export default UpdateData; \ No newline at end of file diff --git a/src/store/store.ts b/src/store/store.ts index 6c9986d..e07f4c3 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -9,6 +9,7 @@ import ChangeSwitchStateReducer from "./ChangeSwitchState" import EquStatusEntityReducer, {EquStatusEntity} from "./EquStatusEntity" import LinePageReducer from "./LinePageSlice" +import LeaderPageReducer from './LeaderPageSlice'; export const store = configureStore({ reducer: { @@ -21,6 +22,7 @@ export const store = configureStore({ ChangeSwitchState: ChangeSwitchStateReducer, EquStatusEntity: EquStatusEntityReducer, LinePageSlice: LinePageReducer, + LeaderPageSlice: LeaderPageReducer }, }) ; diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..967a5a0 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,56 @@ +/** + * 将数字或字符串数字转换成每3位加一个逗号的格式 + * @param {number | string} num - 需要格式化的数字或字符串数字 + * @returns {string} - 格式化后的字符串 + */ +export const formatNumberWithCommas = (num: number | string): string => { + // 将输入转换为字符串 + const numStr = num.toString(); + + // 使用正则表达式来匹配每3位数字,并在其前面添加逗号 + // 注意:这里使用了正向前瞻(?=...)来确保逗号不会加在数字的开头 + return numStr.replace(/\B(?=(\d{3})+(?!\d))/g, ','); +}; + +/** + * 将字符串解析为数字,并最多保留两位小数 + * @param {string} str - 需要解析的字符串 + * @param {boolean} [returnAsNumber=false] - 如果为 true,则返回数字类型;否则返回字符串类型 + * @returns {string | number} - 解析并格式化后的数字,根据 returnAsNumber 参数返回字符串或数字 + * @throws {Error} - 如果输入字符串不是有效的数字表示 + */ +export const parseAndFormatStringToTwoDecimalPlaces = (str: string, returnAsNumber?: boolean): string | number => { + // 尝试将字符串解析为数字 + const num = parseFloat(str); + + // 检查解析是否成功 + if (isNaN(num)) { + throw new Error('Input string is not a valid number'); + } + + // 使用 toFixed 方法将数字格式化为最多两位小数的字符串 + const formattedStr = num.toFixed(2); + + // 如果要求返回数字类型,则使用 parseFloat 转换字符串(尽管这里已经是数字了,但为了一致性还是转一下) + if (returnAsNumber) { + return parseFloat(formattedStr); + } + + // 默认返回字符串类型 + return formattedStr; +}; + +// 使用示例 +try { + const formattedStr = parseAndFormatStringToTwoDecimalPlaces("123.45678"); + const formattedNum = parseAndFormatStringToTwoDecimalPlaces("987.654321", true); + console.log(formattedStr); // 输出: "123.46" + console.log(formattedNum); // 输出: 987.65 +} catch (error) { + console.error(error); +} + + + + + From 1812afd6808595b7b7dd3a927c699310c942ea46 Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Fri, 21 Feb 2025 11:10:35 +0800 Subject: [PATCH 6/8] =?UTF-8?q?2.21=E6=97=A5=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/wsconfig.json | 2 +- src/App.tsx | 19 --- src/babylonjs/AllLinePageBabylon.tsx | 140 ++++++++++-------- src/babylonjs/EqInfoData.ts | 46 +++--- src/babylonjs/LinePageBabylonNew.tsx | 16 +- src/page/Component/BarChart/chart.config.ts | 6 +- src/page/Component/LineChart/chart.config.ts | 6 +- .../Component/LineChartRight/chart.config.ts | 7 +- .../Component/SummaryBarChart/chart.config.ts | 59 +------- src/page/LDPage/TopP.tsx | 5 +- src/page/LDPage/index.css | 6 +- src/page/LDPage/index.tsx | 46 +++--- src/page/LinePage1-1/Center/CenterDown.tsx | 20 +-- .../LinePage1-1/Component/TitleBox/index.tsx | 8 +- src/page/LinePage1-1/Left/LeftDown.tsx | 31 ++-- src/page/LinePage1-1/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage1-1/Right/RightDown.tsx | 4 +- src/page/LinePage1-1/Right/RightUp.tsx | 6 +- src/page/LinePage1-1/index.css | 4 +- src/page/LinePage1-1/index.tsx | 20 +++ src/page/LinePage1-2/Center/CenterDown.tsx | 20 +-- .../LinePage1-2/Component/TitleBox/index.tsx | 8 +- src/page/LinePage1-2/Left/LeftDown.tsx | 31 ++-- src/page/LinePage1-2/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage1-2/Right/RightDown.tsx | 4 +- src/page/LinePage1-2/Right/RightUp.tsx | 6 +- src/page/LinePage1-2/index.tsx | 20 +++ src/page/LinePage2-1/Center/CenterDown.tsx | 20 +-- .../LinePage2-1/Component/TitleBox/index.tsx | 8 +- src/page/LinePage2-1/Left/LeftDown.tsx | 31 ++-- src/page/LinePage2-1/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage2-1/Right/RightDown.tsx | 4 +- src/page/LinePage2-1/Right/RightUp.tsx | 6 +- src/page/LinePage2-1/index.css | 4 +- src/page/LinePage2-1/index.tsx | 20 +++ src/page/LinePage2-2/Center/CenterDown.tsx | 20 +-- .../LinePage2-2/Component/TitleBox/index.tsx | 8 +- src/page/LinePage2-2/Left/LeftDown.tsx | 31 ++-- src/page/LinePage2-2/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage2-2/Right/RightDown.tsx | 4 +- src/page/LinePage2-2/Right/RightUp.tsx | 6 +- src/page/LinePage2-2/index.tsx | 20 +++ src/page/LinePage3-1/Center/CenterDown.tsx | 20 +-- .../LinePage3-1/Component/TitleBox/index.tsx | 8 +- src/page/LinePage3-1/Left/LeftDown.tsx | 31 ++-- src/page/LinePage3-1/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage3-1/Right/RightDown.tsx | 4 +- src/page/LinePage3-1/Right/RightUp.tsx | 6 +- src/page/LinePage3-1/index.tsx | 20 +++ src/page/LinePage3-2/Center/CenterDown.tsx | 20 +-- .../LinePage3-2/Component/TitleBox/index.tsx | 8 +- src/page/LinePage3-2/Left/LeftDown.tsx | 31 ++-- src/page/LinePage3-2/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage3-2/Right/RightDown.tsx | 4 +- src/page/LinePage3-2/Right/RightUp.tsx | 6 +- src/page/LinePage3-2/index.tsx | 20 +++ src/page/LinePage4-1/Center/CenterDown.tsx | 20 +-- .../LinePage4-1/Component/TitleBox/index.tsx | 8 +- src/page/LinePage4-1/Left/LeftDown.tsx | 31 ++-- src/page/LinePage4-1/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage4-1/Right/RightDown.tsx | 4 +- src/page/LinePage4-1/Right/RightUp.tsx | 6 +- src/page/LinePage4-1/index.tsx | 20 +++ src/page/LinePage4-2/Center/CenterDown.tsx | 20 +-- .../LinePage4-2/Component/TitleBox/index.tsx | 8 +- src/page/LinePage4-2/Left/LeftDown.tsx | 31 ++-- src/page/LinePage4-2/Left/LeftUp.tsx | 95 ++++++++---- src/page/LinePage4-2/Right/RightDown.tsx | 4 +- src/page/LinePage4-2/Right/RightUp.tsx | 6 +- src/page/LinePage4-2/index.tsx | 20 +++ src/page/LinePage5-1/Center/CenterDown.tsx | 20 +-- .../LinePage5-1/Component/TitleBox/index.tsx | 8 +- src/page/LinePage5-1/Left/LeftDown.tsx | 31 ++-- src/page/LinePage5-1/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage5-1/Right/RightDown.tsx | 4 +- src/page/LinePage5-1/Right/RightUp.tsx | 6 +- src/page/LinePage5-1/index.tsx | 20 +++ src/page/LinePage5-2/Center/CenterDown.tsx | 20 +-- .../LinePage5-2/Component/TitleBox/index.tsx | 8 +- src/page/LinePage5-2/Left/LeftDown.tsx | 31 ++-- src/page/LinePage5-2/Left/LeftUp.tsx | 94 ++++++++---- src/page/LinePage5-2/Right/RightDown.tsx | 4 +- src/page/LinePage5-2/Right/RightUp.tsx | 6 +- src/page/LinePage5-2/index.tsx | 20 +++ src/page/TestPage/CenterUp.tsx | 41 ----- src/page/TestPage/index.css | 4 - src/page/TestPage/index.tsx | 38 ----- src/page/style/linePage.css | 4 +- src/store/UpdateData.tsx | 131 +++------------- 89 files changed, 1420 insertions(+), 995 deletions(-) delete mode 100644 src/page/TestPage/CenterUp.tsx delete mode 100644 src/page/TestPage/index.css delete mode 100644 src/page/TestPage/index.tsx diff --git a/public/wsconfig.json b/public/wsconfig.json index 72edba5..2484c26 100644 --- a/public/wsconfig.json +++ b/public/wsconfig.json @@ -1,3 +1,3 @@ { - "url": "172.16.32.40:480080" + "url": "172.16.32.40:48080" } \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index a057ed1..a532553 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,7 +7,6 @@ import ErrorPage from "./page/ErrorPage"; import { MyObservable } from "./context/MyObservable"; import { Observable } from "@babylonjs/core"; import { selectGlassStatus } from "./store/ProductionMonitoringEntity"; -import TestPage from "./page/TestPage"; import LDPage from "./page/LDPage"; import LinePageOneOne from "./page/LinePage1-1"; import LinePageOneTwo from "./page/LinePage1-2"; @@ -27,24 +26,6 @@ function App() { onGlassObservable.notifyObservers(thisLineGlassStatus); const router = createHashRouter([ - // { - // path: "/:LineID?", - // element: , - // errorElement: , - // }, - ///////////////////////////////////////////////////////////////////////////// - { - path: "/TP/:LineID?", - element: , - errorElement: , - }, - /////////////////////////////////////////////////////////////// - // { - // path: "/LP/:LineID?", - // element: , - // errorElement: , - // }, - ////////////////////////////从这开始/////////////////////////////////// { path: "/LD", element: , diff --git a/src/babylonjs/AllLinePageBabylon.tsx b/src/babylonjs/AllLinePageBabylon.tsx index 39c9588..3557fa3 100644 --- a/src/babylonjs/AllLinePageBabylon.tsx +++ b/src/babylonjs/AllLinePageBabylon.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import * as BABYLON from "@babylonjs/core"; import "@babylonjs/core/Debug/debugLayer"; import "@babylonjs/inspector"; @@ -10,7 +10,8 @@ import "../page/style/standard.css"; import AlarmTipGreen from "./../page/assets/icon/g.png"; import AlarmTipYellow from "./../page/assets/icon/y.png"; import AlarmTipRed from "./../page/assets/icon/r.png"; -import {selectLine1Before} from "../store/LinePageSlice"; +import { selectLine1Before } from "../store/LinePageSlice"; +import { selectAllLine } from "../store/LeaderPageSlice"; const myStyle = { width: "1041px", @@ -35,39 +36,54 @@ interface EqMsg { localDateTime?:number; equipmentCode?:string; equipmentId?:number; + num?:number; } function MybabylonJS({ modelPath }: MybabylonJSProps) { const [eqList, setEqList] = useState({}); - const allData = useAppSelector(selectLine1Before) as any; // 使用`any`来绕过类型检查 + const allEquStatus = useAppSelector(selectLine1Before) as any; + const allData = useAppSelector(selectAllLine) as any; // 使用`any`来绕过类型检查 const canvasRef = useRef(null); const resetRef = useRef<(() => void) | null>(null); - // onEquObservable.notifyObservers(EquStatus); + const [numAlarm, setNumAlarm] = useState('0'); + const [monthNum, setMonthNum] = useState('0'); + const [todayNum, setTodayNum] = useState('0'); + const [yieldNum, setYieldNum] = useState('0'); const [selectedMeshName, setSelectedMeshName] = useState(null); const [selectedMeshId, setSelectedMeshId] = useState(null); const [selectedMeshObj, setSelectedMeshObj] = useState({ equipmentName: "", run: true, error: false, + num: 0, }); - const [showInfo, setShowInfo] = useState(true); - // 使用 useRef 来存储当前加载的模型引用 const currentMeshesRef = useRef>([]); useEffect(() => { - const equStatus = allData?.equStatus; + const equStatus = allEquStatus?.equStatus; if (equStatus) { setEqList(equStatus); } + },[allEquStatus]) + // 中间顶部数据 + useEffect(() => { + const numAlarm = allData?.numAlarm; + setNumAlarm(numAlarm || '0'); + const monthMap = allData?.monthMap; + setMonthNum(monthMap?.output || '0'); + const todayMap = allData?.todayMap; + setTodayNum(todayMap?.output || '0'); + setYieldNum(todayMap?.Yield || '0'); },[allData]) - // useEffect(() => { - // if (selectedMeshId && eqList[selectedMeshId]) { - // setSelectedMeshObj({ - // equipmentName:eqList[selectedMeshId].equipmentName, - // run:eqList[selectedMeshId].run ? eqList[selectedMeshId].run : true, - // error:eqList[selectedMeshId].error ? eqList[selectedMeshId].error : false, - // }); - // } - // },[selectedMeshId]) + useEffect(() => { + if (selectedMeshId && eqList[selectedMeshId]) { + setSelectedMeshObj({ + equipmentName:eqList[selectedMeshId].equipmentName, + run:eqList[selectedMeshId].run ? eqList[selectedMeshId].run : true, + error:eqList[selectedMeshId].error ? eqList[selectedMeshId].error : false, + num:eqList[selectedMeshId].inputNum ? eqList[selectedMeshId].inputNum : (eqList[selectedMeshId].outputNum ? eqList[selectedMeshId].outputNum : 0), + }); + } + },[selectedMeshId]) useEffect(() => { // 确保 canvas 引用存在 if (!canvasRef.current) return; @@ -140,7 +156,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { ground.material = grid; let hl = new BABYLON.HighlightLayer("hl1", scene); - let hl2 = new BABYLON.HighlightLayer("hl2", scene); // 定义一个函数来加载或重新加载模型 const loadOrReloadModel = async () => { @@ -197,23 +212,20 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { } } // 模型点击事件 - // mesh._scene.onPointerDown = async (event, _pickResult) => { - // console.log('_pickResult',_pickResult) - // const pickInfo = mesh._scene.pick( - // mesh._scene.pointerX, - // mesh._scene.pointerY - // ); - // //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 - // // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 + mesh._scene.onPointerDown = async (event, _pickResult) => { + console.log('_pickResult',_pickResult) + const pickInfo = mesh._scene.pick( + mesh._scene.pointerX, + mesh._scene.pointerY + ); + //判断是否是右键 + if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; + const MeshName = pickInfo.pickedMesh.name; + const MeshNameId = pickInfo.pickedMesh.metadata.tags; - // //判断是否是右键 - // if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; - // const MeshName = pickInfo.pickedMesh.name; - // // const MeshNameId = pickInfo.pickedMesh.metadata.tags; - - // setSelectedMeshName(MeshName); - // // setSelectedMeshId(MeshNameId); - // }; + setSelectedMeshName(MeshName); + setSelectedMeshId(MeshNameId); + }; }); LOD0MESH2.meshes.map((mesh) => { mesh.isPickable = true; @@ -242,23 +254,20 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { } } // 模型点击事件 - // mesh._scene.onPointerDown = async (event, _pickResult) => { - // console.log('_pickResult',_pickResult) - // const pickInfo = mesh._scene.pick( - // mesh._scene.pointerX, - // mesh._scene.pointerY - // ); - // //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 - // // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 + mesh._scene.onPointerDown = async (event, _pickResult) => { + console.log('_pickResult',_pickResult) + const pickInfo = mesh._scene.pick( + mesh._scene.pointerX, + mesh._scene.pointerY + ); + //判断是否是右键 + if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; + const MeshName = pickInfo.pickedMesh.name; + const MeshNameId = pickInfo.pickedMesh.metadata.tags; - // //判断是否是右键 - // if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; - // const MeshName = pickInfo.pickedMesh.name; - // // const MeshNameId = pickInfo.pickedMesh.metadata.tags; - - // setSelectedMeshName(MeshName); - // // setSelectedMeshId(MeshNameId); - // }; + setSelectedMeshName(MeshName); + setSelectedMeshId(MeshNameId); + }; }); } catch (error) { console.error("加载模型失败:", error); @@ -273,7 +282,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { camera.alpha = BABYLON.Tools.ToRadians(270); camera.beta = BABYLON.Tools.ToRadians(25); camera.radius = 220; - setShowInfo(true); setSelectedMeshName(null); } // 外部初始位置按钮 @@ -285,7 +293,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { case BABYLON.PointerEventTypes.POINTERMOVE: clearTimeout(resetCamera); resetCamera = setTimeout(reset, 15000); - setShowInfo(false); } }); return scene; @@ -323,23 +330,38 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { resetRef.current(); } }; + function formatNumber(str: string, separator = ',') { + // 使用正则表达式从右到左每隔3位添加分隔符 + str = str.toString(); + return str.replace(/\B(?=(\d{3})+(?!\d))/g, separator); + } + function toPercentage(decimalStr: string) { + let decimal = parseFloat(decimalStr); + if (isNaN(decimal)) { + throw new Error('Invalid decimal number provided.'); + } + let percent = decimal * 100; + let formattedPercent = percent.toFixed(2); + return formattedPercent + '%'; +} + return (
-
88%
+
{toPercentage(yieldNum)}
成品率
-
8,984
+
{formatNumber(todayNum)}
今日产量
-
12,948,984
+
{formatNumber(monthNum)}
本月产量
-
59
+
{formatNumber(numAlarm)}
设备报警数
@@ -350,13 +372,13 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { {selectedMeshObj.equipmentName}
- 进口数量: - 13,302 + 进/出口数量: + {selectedMeshObj.num}
-
+ {/*
出口数量: 1,312 -
+
*/}
报警状态: diff --git a/src/babylonjs/EqInfoData.ts b/src/babylonjs/EqInfoData.ts index 81ade82..320a772 100644 --- a/src/babylonjs/EqInfoData.ts +++ b/src/babylonjs/EqInfoData.ts @@ -15,7 +15,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'1-edge2', label:'inputNum' }, { name: "3支线", value: 0, code:'1-edge3', label:'inputNum' }, ], - position: [120, 240], + position: [180, 210], }, { name: "磨边清洗出口", @@ -24,7 +24,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'1-edgeclean2', label:'outputNum' }, { name: "3支线", value: 0, code:'1-edgeclean3', label:'outputNum' }, ], - position: [320, 150], + position: [340, 130], }, { name: "打孔出口", @@ -33,7 +33,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'1-punch2', label:'outputNum' }, { name: "3支线", value: 0, code:'1-punch3', label:'outputNum' }, ], - position: [550, 320], + position: [590, 300], }, { name: "丝印进口", @@ -42,7 +42,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'1-silk2', label:'inputNum' }, { name: "3支线", value: 0, code:'1-silk3', label:'inputNum' }, ], - position: [520, 75], + position: [510, 65], }, { name: "二次固化出口", @@ -51,12 +51,12 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'1-secsolid2', label:'outputNum' }, { name: "3支线", value: 0, code:'1-secsolid3', label:'outputNum' }, ], - position: [850, 170], + position: [850, 190], }, { name: "钢化进口", data: [{ name: "钢化进口", value: 0, code:'1-temper1', label:'inputNum' }], - position: [810, 10], + position: [750, 10], }, ], "Line1-2": [ @@ -106,7 +106,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'2-edge1', label:'inputNum' }, { name: "2支线", value: 0, code:'2-edge2', label:'inputNum' }, ], - position: [120, 265], + position: [150, 245], }, { name: "磨边清洗出口", @@ -189,7 +189,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'3-edge1', label:'inputNum' }, { name: "2支线", value: 0, code:'3-edge2', label:'inputNum' }, ], - position: [150, 255], + position: [150, 225], }, { name: "磨边清洗出口", @@ -197,7 +197,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'3-edgeclean1', label:'outputNum' }, { name: "2支线", value: 0, code:'3-edgeclean2', label:'outputNum' }, ], - position: [350, 170], + position: [380, 150], }, { name: "打孔出口", @@ -205,7 +205,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'3-punch1', label:'outputNum' }, { name: "2支线", value: 0, code:'3-punch2', label:'outputNum' }, ], - position: [590, 290], + position: [620, 280], }, { name: "丝印进口", @@ -213,7 +213,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'3-silk1', label:'inputNum' }, { name: "2支线", value: 0, code:'3-silk2', label:'inputNum' }, ], - position: [570, 90], + position: [560, 90], }, { name: "二次固化出口", @@ -221,7 +221,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'3-secsolid1', label:'outputNum' }, { name: "2支线", value: 0, code:'3-secsolid2', label:'outputNum' }, ], - position: [850, 170], + position: [870, 170], }, { name: "钢化进口", @@ -272,7 +272,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'4-edge1', label:'inputNum' }, { name: "2支线", value: 0, code:'4-edge2', label:'inputNum' }, ], - position: [200, 240], + position: [200, 150], }, { name: "磨边清洗出口", @@ -280,7 +280,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'4-edgeclean1', label:'outputNum' }, { name: "2支线", value: 0, code:'4-edgeclean2', label:'outputNum' }, ], - position: [370, 190], + position: [420, 150], }, { name: "一次镀膜进口", @@ -288,7 +288,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'4-fircoat1', label:'inputNum' }, { name: "2支线", value: 0, code:'4-fircoat2', label:'inputNum' }, ], - position: [610, 300], + position: [650, 290], }, { name: "二次镀膜进口", @@ -296,7 +296,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "1支线", value: 0, code:'4-seccoat1', label:'inputNum' }, { name: "2支线", value: 0, code:'4-seccoat2', label:'inputNum' }, ], - position: [590, 85], + position: [640, 60], }, { name: "二次固化出口", @@ -309,7 +309,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "钢化进口", data: [{ name: "钢化进口", value: 0, code:'4-temper1', label:'inputNum' }], - position: [800, 30], + position: [820, 20], }, ], "Line4-2": [ @@ -357,7 +357,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'5-edge2', label:'inputNum' }, { name: "3支线", value: 0, code:'5-edge3', label:'inputNum' }, ], - position: [160, 220], + position: [150, 370], }, { name: "磨边清洗出口", @@ -366,7 +366,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'5-edgeclean2', label:'outputNum' }, { name: "3支线", value: 0, code:'5-edgeclean3', label:'outputNum' }, ], - position: [331, 160], + position: [380, 130], }, { name: "一次镀膜进口", @@ -375,7 +375,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'5-fircoat2', label:'inputNum' }, { name: "3支线", value: 0, code:'5-fircoat3', label:'inputNum' }, ], - position: [555, 329], + position: [650, 310], }, { name: "二次镀膜进口", @@ -384,7 +384,7 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'5-seccoat2', label:'inputNum' }, { name: "3支线", value: 0, code:'5-seccoat3', label:'inputNum' }, ], - position: [560, 65], + position: [640, 20], }, { name: "二次固化出口", @@ -393,12 +393,12 @@ const EqInfoData:EqInfoDataInterface = { { name: "2支线", value: 0, code:'5-secsolid2', label:'outputNum' }, { name: "3支线", value: 0, code:'5-secsolid3', label:'outputNum' }, ], - position: [850, 200], + position: [850, 220], }, { name: "钢化进口", data: [{ name: "钢化进口", value: 0, code:'5-temper1', label:'inputNum' }], - position: [800, 20], + position: [830, 10], }, ], "Line5-2": [ diff --git a/src/babylonjs/LinePageBabylonNew.tsx b/src/babylonjs/LinePageBabylonNew.tsx index 6f51d62..ad8b429 100644 --- a/src/babylonjs/LinePageBabylonNew.tsx +++ b/src/babylonjs/LinePageBabylonNew.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import * as BABYLON from "@babylonjs/core"; import "@babylonjs/core/Debug/debugLayer"; import "@babylonjs/inspector"; @@ -43,7 +43,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { const allData = useAppSelector(selectLine1Before) as any; // 使用`any`来绕过类型检查 const canvasRef = useRef(null); const resetRef = useRef<(() => void) | null>(null); - // onEquObservable.notifyObservers(EquStatus); const [selectedMeshName, setSelectedMeshName] = useState(null); const [selectedMeshId, setSelectedMeshId] = useState(null); const [selectedMeshObj, setSelectedMeshObj] = useState({ @@ -108,7 +107,9 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { "camera", BABYLON.Tools.ToRadians(245), BABYLON.Tools.ToRadians(25), - modelPath.slice(-1) === "1" + modelPath.slice(-3) === "2-1" + ? 120 + : modelPath.slice(-1) === "1" ? 110 : modelPath.slice(-3) === "5-2" ? 100 @@ -214,9 +215,6 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { mesh._scene.pointerX, mesh._scene.pointerY ); - //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 - // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 - //判断是否是右键 if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; const MeshName = pickInfo.pickedMesh.name; @@ -239,13 +237,15 @@ function MybabylonJS({ modelPath }: MybabylonJSProps) { camera.alpha = BABYLON.Tools.ToRadians(245); camera.beta = BABYLON.Tools.ToRadians(25); camera.radius = - modelPath.slice(-1) === "1" + modelPath.slice(-3) === "2-1" + ? 120 + : modelPath.slice(-1) === "1" ? 110 : modelPath.slice(-3) === "5-2" ? 100 : modelPath.slice(-3) === "1-2" ? 90 - : 65; + : 65 setShowInfo(true); setSelectedMeshName(null); } diff --git a/src/page/Component/BarChart/chart.config.ts b/src/page/Component/BarChart/chart.config.ts index 3fc7d17..743c192 100644 --- a/src/page/Component/BarChart/chart.config.ts +++ b/src/page/Component/BarChart/chart.config.ts @@ -2,7 +2,7 @@ import * as echarts from "echarts"; export default function getOptions(dataProps: number[],xData:string[], color: string[]) { if (dataProps.length === 0) return null; return { - grid: { top: 40, right: 10, bottom: 10, left: 10, containLabel: true }, + grid: { top: 30, right: 10, bottom: 5, left: 10, containLabel: true }, legend: { show: false, }, @@ -11,8 +11,10 @@ export default function getOptions(dataProps: number[],xData:string[], color: st data: xData, axisLabel: { color: "#fff", - fontSize: 12, + fontSize: 10, interval: 0, + rotate:20 + }, axisTick: { show: false }, axisLine: { diff --git a/src/page/Component/LineChart/chart.config.ts b/src/page/Component/LineChart/chart.config.ts index 5452b3c..2325342 100644 --- a/src/page/Component/LineChart/chart.config.ts +++ b/src/page/Component/LineChart/chart.config.ts @@ -2,13 +2,13 @@ export default function getOptions(chartData: any) { if (Object.keys(chartData).length === 0) { return null; } - const colors = ["#1A99FF", "#FFB70C", "#C69DFF", "#50F4E3", "#E02094"]; + const colors = ["#2760FF", "#8167F6", "#5B9BFF", "#99D66C", "#FFD160","#D680FF","#FF6860"]; return { color: colors, - grid: { top: 38, right: 12, bottom: 5, left: 15, containLabel: true }, + grid: { top: 50, right: 12, bottom: 5, left: 15, containLabel: true }, legend: { show: true, - top: 10, + top: 5, right: 10, padding: 0, itemWidth: 14, diff --git a/src/page/Component/LineChartRight/chart.config.ts b/src/page/Component/LineChartRight/chart.config.ts index a4a3fc1..7dc2840 100644 --- a/src/page/Component/LineChartRight/chart.config.ts +++ b/src/page/Component/LineChartRight/chart.config.ts @@ -6,16 +6,15 @@ export default function getOptions(tempData: any) { const colors = ["#1A99FF", "#50F4E3"]; return { color: colors, - grid: { top: 30, right: 12, bottom: 10, left: 10, containLabel: true }, + grid: { top: 30, right: 12, bottom: 10, left: 5, containLabel: true }, legend: { show: true, - icon: "roundRect", top: 10, right: 10, padding: 0, - itemWidth: 10, + itemWidth: 14, itemHeight: 10, - itemGap: 3, + itemGap: 8, height: 10, textStyle: { color: "#DFF1FE", diff --git a/src/page/Component/SummaryBarChart/chart.config.ts b/src/page/Component/SummaryBarChart/chart.config.ts index c9b7673..072ff4a 100644 --- a/src/page/Component/SummaryBarChart/chart.config.ts +++ b/src/page/Component/SummaryBarChart/chart.config.ts @@ -2,15 +2,14 @@ export default function getOptions(chartData: any) { if (Object.keys(chartData).length === 0) { return null; } - const colors = ["#2760FF", "#8167F6", "#5B9BFF", "#99D66C", "#FFD160"]; - let sum = chartData.sumData; + const colors = ["#2760FF", "#8167F6", "#5B9BFF", "#99D66C", "#FFD160","#D680FF","#FF6860"]; return { color: colors, - grid: { top: 48, right: 20, bottom: 5, left: 15, containLabel: true }, + grid: { top: 48, right: 20, bottom: 5, left: 10, containLabel: true }, legend: { show: true, icon: "roundRect", - top: 10, + top: 5, right: 20, padding: 0, itemWidth: 10, @@ -71,58 +70,6 @@ export default function getOptions(chartData: any) { }, className: "luoyang-chart-tooltip", }, - // Declare several bar series, each will be mapped - // to a column of dataset.source by default. series:chartData.series - // series: [ - // { - // data: chartData.yData1, - // type: "bar", - // stack: "a", - // name: "磨边后", - // barWidth: 14, - // label: { - // show: true, - // position: "right", - // color: "inherit", - // }, - // }, - // { - // data: chartData.yData2, - // type: "bar", - // stack: "a", - // name: "包装1", - // label: { - // show: true, - // position: "right", - // color: "inherit", - // }, - // }, - // { - // data: chartData.yData3, - // type: "bar", - // stack: "a", - // name: "包装2", - // label: { - // show: true, - // position: "right", - // color: "inherit", - // }, - // }, - // { - // data: [0, 0, 0, 0, 0], - // type: "bar", - // stack: "a", - // name: "", - // label: { - // show: true, - // position: "top", - // color: "#fff", - // formatter: function (params: any) { - // return sum[params.dataIndex]; - // }, - // }, - // }, - // ], }; } diff --git a/src/page/LDPage/TopP.tsx b/src/page/LDPage/TopP.tsx index cc92468..5a902e6 100644 --- a/src/page/LDPage/TopP.tsx +++ b/src/page/LDPage/TopP.tsx @@ -1,17 +1,16 @@ import '../../lanhuapp/common.css'; import "./index.css"; import { useState } from "react"; -// import locale from 'antd/locale/zh_CN'; import dayjs from 'dayjs'; import 'dayjs/locale/zh-cn'; function TopP() { const [time, setTime] = useState(dayjs().format('HH:mm')); - const [date, setDate] = useState(dayjs().format('YY-MM-DD')); + const [date, setDate] = useState(dayjs().format('YY/MM/DD')); const [weekday, setWeekday] = useState(dayjs().locale('zh-cn').format('dddd')); setInterval(() => { setTime(dayjs().format('HH:mm')); - setDate(dayjs().format('YY-MM-DD')); + setDate(dayjs().format('YY/MM/DD')); setWeekday(dayjs().locale('zh-cn').format('dddd')); }) return ( diff --git a/src/page/LDPage/index.css b/src/page/LDPage/index.css index 2377099..886bda1 100644 --- a/src/page/LDPage/index.css +++ b/src/page/LDPage/index.css @@ -257,8 +257,8 @@ right: 0px; bottom: 0px; z-index: 1002; - width: 240px; - height: 180px; + width: 300px; + height: 140px; background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; background-size: 100% 100%; color: #fff; @@ -266,7 +266,7 @@ } .ld_center_up .eq_detail_info .left_name { display: inline-block; - width: 95px; + width: 115px; height: 28px; text-align: right; font-size: 18px; diff --git a/src/page/LDPage/index.tsx b/src/page/LDPage/index.tsx index 8faf5d4..8dfef36 100644 --- a/src/page/LDPage/index.tsx +++ b/src/page/LDPage/index.tsx @@ -3,30 +3,32 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; -// import {useEffect} from 'react'; -// import {useLocation,useNavigate} from "react-router-dom"; +import {useEffect} from 'react'; +import {useLocation,useNavigate} from "react-router-dom"; function LDPage() { - // const navigate = useNavigate(); - // const {state} = useLocation(); - // console.log("LDPage被加载了") -// useEffect(() => { -// const handleKeyDown = (event:any) => { -// if (event.key === 'ArrowUp') { -// console.log('LDPage向上键被按下'); -// navigate(`/TP/${state.LineID}`); -// // 执行向上键的逻辑 -// } else if (event.key === 'ArrowDown') { -// console.log('LDPage向下键被按下'); -// // 执行向下键的逻辑 -// } -// }; + const navigate = useNavigate(); + const location = useLocation(); + const LineID = location.search.split('=')[1]; + console.log(location) + console.log("LDPage被加载了") + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate(`/LP/${LineID}`); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate(`/LP/${LineID}`); + } + }; + window.addEventListener('keydown', handleKeyDown); -// window.addEventListener('keydown', handleKeyDown); - -// return () => { -// window.removeEventListener('keydown', handleKeyDown); -// }; -// }, []); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage1-1/Center/CenterDown.tsx b/src/page/LinePage1-1/Center/CenterDown.tsx index 6668fdc..23cbd13 100644 --- a/src/page/LinePage1-1/Center/CenterDown.tsx +++ b/src/page/LinePage1-1/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage1-1/Component/TitleBox/index.tsx b/src/page/LinePage1-1/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage1-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage1-1/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage1-1/Left/LeftDown.tsx b/src/page/LinePage1-1/Left/LeftDown.tsx index bfa2591..fd75bc7 100644 --- a/src/page/LinePage1-1/Left/LeftDown.tsx +++ b/src/page/LinePage1-1/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage1-1/Left/LeftUp.tsx b/src/page/LinePage1-1/Left/LeftUp.tsx index 31d2704..6db365c 100644 --- a/src/page/LinePage1-1/Left/LeftUp.tsx +++ b/src/page/LinePage1-1/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage1-1/Right/RightDown.tsx b/src/page/LinePage1-1/Right/RightDown.tsx index 8e93f80..4a271c2 100644 --- a/src/page/LinePage1-1/Right/RightDown.tsx +++ b/src/page/LinePage1-1/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage1-1/Right/RightUp.tsx b/src/page/LinePage1-1/Right/RightUp.tsx index a7d1a46..a106318 100644 --- a/src/page/LinePage1-1/Right/RightUp.tsx +++ b/src/page/LinePage1-1/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage1-1/index.css b/src/page/LinePage1-1/index.css index 1a28491..30fbd19 100644 --- a/src/page/LinePage1-1/index.css +++ b/src/page/LinePage1-1/index.css @@ -100,7 +100,7 @@ .center_down .right_box .chart_box { width: 100%; height: 310px; - margin-top: 10px; + margin-top: 5px; } .right_up { width: 401px; @@ -230,7 +230,7 @@ right: 0px; bottom: 0px; z-index: 1002; - width: 240px; + width: 270px; height: 110px; background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; background-size: 100% 100%; diff --git a/src/page/LinePage1-1/index.tsx b/src/page/LinePage1-1/index.tsx index daf9389..e9f97a1 100644 --- a/src/page/LinePage1-1/index.tsx +++ b/src/page/LinePage1-1/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=1-1'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=1-1'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage1-2/Center/CenterDown.tsx b/src/page/LinePage1-2/Center/CenterDown.tsx index 01a4c64..096ed9a 100644 --- a/src/page/LinePage1-2/Center/CenterDown.tsx +++ b/src/page/LinePage1-2/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage1-2/Component/TitleBox/index.tsx b/src/page/LinePage1-2/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage1-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage1-2/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage1-2/Left/LeftDown.tsx b/src/page/LinePage1-2/Left/LeftDown.tsx index 9100416..fe86b1f 100644 --- a/src/page/LinePage1-2/Left/LeftDown.tsx +++ b/src/page/LinePage1-2/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage1-2/Left/LeftUp.tsx b/src/page/LinePage1-2/Left/LeftUp.tsx index 166326d..52bec78 100644 --- a/src/page/LinePage1-2/Left/LeftUp.tsx +++ b/src/page/LinePage1-2/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage1-2/Right/RightDown.tsx b/src/page/LinePage1-2/Right/RightDown.tsx index a40b34e..7077534 100644 --- a/src/page/LinePage1-2/Right/RightDown.tsx +++ b/src/page/LinePage1-2/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage1-2/Right/RightUp.tsx b/src/page/LinePage1-2/Right/RightUp.tsx index c01c7be..2ec53b8 100644 --- a/src/page/LinePage1-2/Right/RightUp.tsx +++ b/src/page/LinePage1-2/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage1-2/index.tsx b/src/page/LinePage1-2/index.tsx index daf9389..425a1d9 100644 --- a/src/page/LinePage1-2/index.tsx +++ b/src/page/LinePage1-2/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=1-2'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=1-2'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage2-1/Center/CenterDown.tsx b/src/page/LinePage2-1/Center/CenterDown.tsx index 52e20c8..b1f2fa3 100644 --- a/src/page/LinePage2-1/Center/CenterDown.tsx +++ b/src/page/LinePage2-1/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage2-1/Component/TitleBox/index.tsx b/src/page/LinePage2-1/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage2-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage2-1/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage2-1/Left/LeftDown.tsx b/src/page/LinePage2-1/Left/LeftDown.tsx index f829d78..b62d984 100644 --- a/src/page/LinePage2-1/Left/LeftDown.tsx +++ b/src/page/LinePage2-1/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage2-1/Left/LeftUp.tsx b/src/page/LinePage2-1/Left/LeftUp.tsx index 19a3904..cf25aac 100644 --- a/src/page/LinePage2-1/Left/LeftUp.tsx +++ b/src/page/LinePage2-1/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage2-1/Right/RightDown.tsx b/src/page/LinePage2-1/Right/RightDown.tsx index b87fb9b..36c7bf7 100644 --- a/src/page/LinePage2-1/Right/RightDown.tsx +++ b/src/page/LinePage2-1/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage2-1/Right/RightUp.tsx b/src/page/LinePage2-1/Right/RightUp.tsx index d3c4b67..4bc5913 100644 --- a/src/page/LinePage2-1/Right/RightUp.tsx +++ b/src/page/LinePage2-1/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage2-1/index.css b/src/page/LinePage2-1/index.css index 1a28491..30fbd19 100644 --- a/src/page/LinePage2-1/index.css +++ b/src/page/LinePage2-1/index.css @@ -100,7 +100,7 @@ .center_down .right_box .chart_box { width: 100%; height: 310px; - margin-top: 10px; + margin-top: 5px; } .right_up { width: 401px; @@ -230,7 +230,7 @@ right: 0px; bottom: 0px; z-index: 1002; - width: 240px; + width: 270px; height: 110px; background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; background-size: 100% 100%; diff --git a/src/page/LinePage2-1/index.tsx b/src/page/LinePage2-1/index.tsx index daf9389..bebcf33 100644 --- a/src/page/LinePage2-1/index.tsx +++ b/src/page/LinePage2-1/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=2-1'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=2-1'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage2-2/Center/CenterDown.tsx b/src/page/LinePage2-2/Center/CenterDown.tsx index f14f8a9..3d1242b 100644 --- a/src/page/LinePage2-2/Center/CenterDown.tsx +++ b/src/page/LinePage2-2/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage2-2/Component/TitleBox/index.tsx b/src/page/LinePage2-2/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage2-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage2-2/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage2-2/Left/LeftDown.tsx b/src/page/LinePage2-2/Left/LeftDown.tsx index e7e83d8..24d08dd 100644 --- a/src/page/LinePage2-2/Left/LeftDown.tsx +++ b/src/page/LinePage2-2/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage2-2/Left/LeftUp.tsx b/src/page/LinePage2-2/Left/LeftUp.tsx index e172b49..d812370 100644 --- a/src/page/LinePage2-2/Left/LeftUp.tsx +++ b/src/page/LinePage2-2/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage2-2/Right/RightDown.tsx b/src/page/LinePage2-2/Right/RightDown.tsx index 0d204d5..3adfaca 100644 --- a/src/page/LinePage2-2/Right/RightDown.tsx +++ b/src/page/LinePage2-2/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage2-2/Right/RightUp.tsx b/src/page/LinePage2-2/Right/RightUp.tsx index 8265b0c..700a22b 100644 --- a/src/page/LinePage2-2/Right/RightUp.tsx +++ b/src/page/LinePage2-2/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage2-2/index.tsx b/src/page/LinePage2-2/index.tsx index daf9389..e3be42c 100644 --- a/src/page/LinePage2-2/index.tsx +++ b/src/page/LinePage2-2/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=2-2'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=2-2'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage3-1/Center/CenterDown.tsx b/src/page/LinePage3-1/Center/CenterDown.tsx index dd58028..f5ed287 100644 --- a/src/page/LinePage3-1/Center/CenterDown.tsx +++ b/src/page/LinePage3-1/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage3-1/Component/TitleBox/index.tsx b/src/page/LinePage3-1/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage3-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage3-1/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage3-1/Left/LeftDown.tsx b/src/page/LinePage3-1/Left/LeftDown.tsx index bae9c71..07da79a 100644 --- a/src/page/LinePage3-1/Left/LeftDown.tsx +++ b/src/page/LinePage3-1/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage3-1/Left/LeftUp.tsx b/src/page/LinePage3-1/Left/LeftUp.tsx index 7e470a2..ceafe41 100644 --- a/src/page/LinePage3-1/Left/LeftUp.tsx +++ b/src/page/LinePage3-1/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage3-1/Right/RightDown.tsx b/src/page/LinePage3-1/Right/RightDown.tsx index b10e116..f6df6f2 100644 --- a/src/page/LinePage3-1/Right/RightDown.tsx +++ b/src/page/LinePage3-1/Right/RightDown.tsx @@ -100,7 +100,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -116,7 +116,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage3-1/Right/RightUp.tsx b/src/page/LinePage3-1/Right/RightUp.tsx index ee87241..369822c 100644 --- a/src/page/LinePage3-1/Right/RightUp.tsx +++ b/src/page/LinePage3-1/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage3-1/index.tsx b/src/page/LinePage3-1/index.tsx index daf9389..b43ab75 100644 --- a/src/page/LinePage3-1/index.tsx +++ b/src/page/LinePage3-1/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=3-1'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=3-1'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage3-2/Center/CenterDown.tsx b/src/page/LinePage3-2/Center/CenterDown.tsx index 95a18d3..1386274 100644 --- a/src/page/LinePage3-2/Center/CenterDown.tsx +++ b/src/page/LinePage3-2/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage3-2/Component/TitleBox/index.tsx b/src/page/LinePage3-2/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage3-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage3-2/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage3-2/Left/LeftDown.tsx b/src/page/LinePage3-2/Left/LeftDown.tsx index d5f6169..a59e786 100644 --- a/src/page/LinePage3-2/Left/LeftDown.tsx +++ b/src/page/LinePage3-2/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage3-2/Left/LeftUp.tsx b/src/page/LinePage3-2/Left/LeftUp.tsx index 5737a42..21e8ec3 100644 --- a/src/page/LinePage3-2/Left/LeftUp.tsx +++ b/src/page/LinePage3-2/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage3-2/Right/RightDown.tsx b/src/page/LinePage3-2/Right/RightDown.tsx index 623b195..4da95cc 100644 --- a/src/page/LinePage3-2/Right/RightDown.tsx +++ b/src/page/LinePage3-2/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage3-2/Right/RightUp.tsx b/src/page/LinePage3-2/Right/RightUp.tsx index 8bb8eae..6c6b89d 100644 --- a/src/page/LinePage3-2/Right/RightUp.tsx +++ b/src/page/LinePage3-2/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage3-2/index.tsx b/src/page/LinePage3-2/index.tsx index daf9389..d2b2a02 100644 --- a/src/page/LinePage3-2/index.tsx +++ b/src/page/LinePage3-2/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=3-2'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=3-2'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage4-1/Center/CenterDown.tsx b/src/page/LinePage4-1/Center/CenterDown.tsx index f8d0c0e..3b2ad1a 100644 --- a/src/page/LinePage4-1/Center/CenterDown.tsx +++ b/src/page/LinePage4-1/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage4-1/Component/TitleBox/index.tsx b/src/page/LinePage4-1/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage4-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage4-1/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage4-1/Left/LeftDown.tsx b/src/page/LinePage4-1/Left/LeftDown.tsx index 94e3368..0252fcd 100644 --- a/src/page/LinePage4-1/Left/LeftDown.tsx +++ b/src/page/LinePage4-1/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage4-1/Left/LeftUp.tsx b/src/page/LinePage4-1/Left/LeftUp.tsx index 7705eff..9af7d8a 100644 --- a/src/page/LinePage4-1/Left/LeftUp.tsx +++ b/src/page/LinePage4-1/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage4-1/Right/RightDown.tsx b/src/page/LinePage4-1/Right/RightDown.tsx index e6c89cc..fc2edfe 100644 --- a/src/page/LinePage4-1/Right/RightDown.tsx +++ b/src/page/LinePage4-1/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage4-1/Right/RightUp.tsx b/src/page/LinePage4-1/Right/RightUp.tsx index 7ef32e7..896a72d 100644 --- a/src/page/LinePage4-1/Right/RightUp.tsx +++ b/src/page/LinePage4-1/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage4-1/index.tsx b/src/page/LinePage4-1/index.tsx index daf9389..e20e7f1 100644 --- a/src/page/LinePage4-1/index.tsx +++ b/src/page/LinePage4-1/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=4-1'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=4-1'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage4-2/Center/CenterDown.tsx b/src/page/LinePage4-2/Center/CenterDown.tsx index 2e26257..3cbd808 100644 --- a/src/page/LinePage4-2/Center/CenterDown.tsx +++ b/src/page/LinePage4-2/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage4-2/Component/TitleBox/index.tsx b/src/page/LinePage4-2/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage4-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage4-2/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage4-2/Left/LeftDown.tsx b/src/page/LinePage4-2/Left/LeftDown.tsx index ad3c553..f27a995 100644 --- a/src/page/LinePage4-2/Left/LeftDown.tsx +++ b/src/page/LinePage4-2/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage4-2/Left/LeftUp.tsx b/src/page/LinePage4-2/Left/LeftUp.tsx index 54473c3..25f71c9 100644 --- a/src/page/LinePage4-2/Left/LeftUp.tsx +++ b/src/page/LinePage4-2/Left/LeftUp.tsx @@ -32,7 +32,6 @@ function LeftUp() { const handleButtonChange = (activeName: string) => { setActiveName(activeName); }; - console.log('',chartData) // @ts-ignore if (data.todayAllProductionScraps && Object.keys(data.todayAllProductionScraps).length > 0) { let sum: number[] = []; @@ -55,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -110,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -165,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -199,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage4-2/Right/RightDown.tsx b/src/page/LinePage4-2/Right/RightDown.tsx index 9470821..82b2ee3 100644 --- a/src/page/LinePage4-2/Right/RightDown.tsx +++ b/src/page/LinePage4-2/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage4-2/Right/RightUp.tsx b/src/page/LinePage4-2/Right/RightUp.tsx index a13347c..d7ef0b0 100644 --- a/src/page/LinePage4-2/Right/RightUp.tsx +++ b/src/page/LinePage4-2/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage4-2/index.tsx b/src/page/LinePage4-2/index.tsx index daf9389..711294a 100644 --- a/src/page/LinePage4-2/index.tsx +++ b/src/page/LinePage4-2/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=4-2'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=4-2'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage5-1/Center/CenterDown.tsx b/src/page/LinePage5-1/Center/CenterDown.tsx index dc6ffea..71fdcf1 100644 --- a/src/page/LinePage5-1/Center/CenterDown.tsx +++ b/src/page/LinePage5-1/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage5-1/Component/TitleBox/index.tsx b/src/page/LinePage5-1/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage5-1/Component/TitleBox/index.tsx +++ b/src/page/LinePage5-1/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage5-1/Left/LeftDown.tsx b/src/page/LinePage5-1/Left/LeftDown.tsx index a12ee94..c9dcf16 100644 --- a/src/page/LinePage5-1/Left/LeftDown.tsx +++ b/src/page/LinePage5-1/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage5-1/Left/LeftUp.tsx b/src/page/LinePage5-1/Left/LeftUp.tsx index 0365d02..de4d768 100644 --- a/src/page/LinePage5-1/Left/LeftUp.tsx +++ b/src/page/LinePage5-1/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage5-1/Right/RightDown.tsx b/src/page/LinePage5-1/Right/RightDown.tsx index 86922ad..6b620cb 100644 --- a/src/page/LinePage5-1/Right/RightDown.tsx +++ b/src/page/LinePage5-1/Right/RightDown.tsx @@ -101,7 +101,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -117,7 +117,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage5-1/Right/RightUp.tsx b/src/page/LinePage5-1/Right/RightUp.tsx index c55103e..4a8ed4e 100644 --- a/src/page/LinePage5-1/Right/RightUp.tsx +++ b/src/page/LinePage5-1/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage5-1/index.tsx b/src/page/LinePage5-1/index.tsx index daf9389..35689fb 100644 --- a/src/page/LinePage5-1/index.tsx +++ b/src/page/LinePage5-1/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=5-1'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=5-1'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/LinePage5-2/Center/CenterDown.tsx b/src/page/LinePage5-2/Center/CenterDown.tsx index 8e94275..fef412d 100644 --- a/src/page/LinePage5-2/Center/CenterDown.tsx +++ b/src/page/LinePage5-2/Center/CenterDown.tsx @@ -1,7 +1,7 @@ import ReactECharts from "echarts-for-react"; import TitleBox from "../Component/TitleBox"; import ScrollBoard from "./../../Component/ScrollBoard"; -import SwitchButton from "../Component/SwitchButton"; +// import SwitchButton from "../Component/SwitchButton"; import { useState } from "react"; import getOptions from "../../Component/LineChart/chart.config"; import {useAppSelector} from "./../../../store/hooks" @@ -29,10 +29,10 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[0].ename); - const handleButtonChange = (activeName: string) => { - setActiveName(activeName); - }; + const [activeName, setActiveName] = useState(nameList[1].ename); + // const handleButtonChange = (activeName: string) => { + // setActiveName(activeName); + // }; const config = { header: ["序号", "报警时间", "报警设备", "报警内容"], headerHeight: 36, @@ -41,7 +41,7 @@ function CenterDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [80, 137, 137, 137], + columnWidth: [80, 137, 177, 97], data: [] }; // 报警数据 @@ -64,7 +64,7 @@ function CenterDown() { }); } config.data = arr - // 产线成品率 + // 工段成品率 // @ts-ignore if (data.todayProductionRates && Object.keys(data.todayProductionRates).length > 0) { // @ts-ignore @@ -181,12 +181,12 @@ function CenterDown() {

)}
- {/* 产线成品率 */} + {/* 工段成品率 */}
-
+ {/*
-
+
*/} {chartData.xData.length>0 && (
{} diff --git a/src/page/LinePage5-2/Component/TitleBox/index.tsx b/src/page/LinePage5-2/Component/TitleBox/index.tsx index 6579889..6d654c1 100644 --- a/src/page/LinePage5-2/Component/TitleBox/index.tsx +++ b/src/page/LinePage5-2/Component/TitleBox/index.tsx @@ -14,12 +14,12 @@ function TitleBox(props: titleProps) { case "left_up": return { img: Defect, - title: "产线报废汇总", + title: "工段报废汇总", }; case "left_down": return { img: Record, - title: "当前产线报废情况", + title: "工序报废情况", }; case "center_down_left": return { @@ -29,12 +29,12 @@ function TitleBox(props: titleProps) { case "center_down_right": return { img: Finished, - title: "产线成品率", + title: "工段成品率", }; case "right_up": return { img: Num, - title: "各产线总投入和产出", + title: "各工段总投入和产出", }; default: return { diff --git a/src/page/LinePage5-2/Left/LeftDown.tsx b/src/page/LinePage5-2/Left/LeftDown.tsx index 7f35755..ff14474 100644 --- a/src/page/LinePage5-2/Left/LeftDown.tsx +++ b/src/page/LinePage5-2/Left/LeftDown.tsx @@ -25,7 +25,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 224], ["2", "包装1", 322], @@ -40,7 +40,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 1119], ["2", "包装1", 1798], @@ -55,7 +55,7 @@ function LeftDown() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [73, 117, 190], + columnWidth: [73, 200, 107], data: [ ["1", "磨边后", 5004], ["2", "包装1", 9122], @@ -65,7 +65,9 @@ function LeftDown() { const color1 = ["#9DD5FF", "#1295FF"]; const color2 = ["#85F6E9", "#2EC6B4"]; // @ts-ignore - let xData: string[] = data.scrapBars + let xData1: string[] = []; + let xData2: string[] = []; + let xData3: string[] = []; let dataProps1: number[] = []; let dataProps2: number[] = []; let dataProps3: number[] = []; @@ -77,9 +79,10 @@ function LeftDown() { // @ts-ignore data.todayProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); - dataProps1.push(item.scrapNum); + xData1.push(item.sectionName); + dataProps1.push(item.scrapNum || 0); }) }else{ dataProps1 = [] @@ -89,9 +92,10 @@ function LeftDown() { // @ts-ignore data.weekProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); - dataProps2.push(item.scrapNum); + xData2.push(item.sectionName); + dataProps2.push(item.scrapNum || 0); }) }else{ dataProps2 = [] @@ -101,9 +105,10 @@ function LeftDown() { // @ts-ignore data.monthProductionScraps.map((item,index)=>{ let arrInner = []; - arrInner.push(index+1,item.sectionName,item.scrapNum); + arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); - dataProps3.push(item.scrapNum); + xData3.push(item.sectionName); + dataProps3.push(item.scrapNum || 0); }) }else{ dataProps3 = [] @@ -111,9 +116,9 @@ function LeftDown() { configDay.data = arr1; configWeek.data = arr2; configMonth.data = arr3; - const options1 = getOptions(dataProps1,xData, color1); - const options2 = getOptions(dataProps2,xData, color2); - const options3 = getOptions(dataProps3,xData, color1); + const options1 = getOptions(dataProps1,xData1, color1); + const options2 = getOptions(dataProps2,xData2, color2); + const options3 = getOptions(dataProps3,xData3, color1); return (
diff --git a/src/page/LinePage5-2/Left/LeftUp.tsx b/src/page/LinePage5-2/Left/LeftUp.tsx index a0a946e..61c9eb4 100644 --- a/src/page/LinePage5-2/Left/LeftUp.tsx +++ b/src/page/LinePage5-2/Left/LeftUp.tsx @@ -54,21 +54,34 @@ function LeftUp() { }) // @ts-ignore dataSource.day.xData = Object.keys(data.todayAllProductionScraps) - dataSource.day.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.day.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.day.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.day.xData.length; k++) { + let item = dataSource.day.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.day.series.length;i++){ + let itemSeries = dataSource.day.series[i] + // @ts-ignore + data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.day.series.push({ data: sum, type: "bar", @@ -109,21 +122,34 @@ function LeftUp() { }) // @ts-ignore dataSource.week.xData = Object.keys(data.weekAllProductionScraps) - dataSource.week.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.week.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.week.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.week.xData.length; k++) { + let item = dataSource.week.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.week.series.length;i++){ + let itemSeries = dataSource.week.series[i] + // @ts-ignore + data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.week.series.push({ data: sum, type: "bar", @@ -164,21 +190,34 @@ function LeftUp() { }) // @ts-ignore dataSource.month.xData = Object.keys(data.monthAllProductionScraps) - dataSource.month.xData.map((item,index)=>{ - let sumIner = 0 + dataSource.month.xData.sort((a,b)=>{// 保证横坐标是有序的 // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ - sumIner += itemInner.scrapNum - dataSource.month.series.map((itemSeries,indexSeries)=>{ + const lastDigitA = parseInt(a[a.length - 1], 10); + // @ts-ignore + const lastDigitB = parseInt(b[b.length - 1], 10); + return lastDigitA - lastDigitB; + }) + for (let k = 0; k < dataSource.month.xData.length; k++) { + let item = dataSource.month.xData[k]; + let sumIner = 0 + for(let i = 0;i < dataSource.month.series.length;i++){ + let itemSeries = dataSource.month.series[i] + // @ts-ignore + data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ // @ts-ignore - if (itemSeries.name === itemInner.sectionName) { + if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore - itemSeries.data.push(itemInner.scrapNum) + itemSeries.data.push(itemInner.scrapNum || 0) + sumIner += itemInner.scrapNum || 0 + return } }) - }) + if (itemSeries.data.length === k) { + itemSeries.data.push(0) + } + } sum.push(sumIner) - }) + } dataSource.month.series.push({ data: sum, type: "bar", @@ -198,6 +237,7 @@ function LeftUp() { dataSource.month.series = [] } const options = getOptions(chartData); + console.log('dataSource',dataSource) return (
diff --git a/src/page/LinePage5-2/Right/RightDown.tsx b/src/page/LinePage5-2/Right/RightDown.tsx index a3a1c54..9d38343 100644 --- a/src/page/LinePage5-2/Right/RightDown.tsx +++ b/src/page/LinePage5-2/Right/RightDown.tsx @@ -100,7 +100,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); - tempData[1].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[1].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[1].data.input.push(item.inputNum); tempData[1].data.output.push(item.outputNum); }) @@ -116,7 +116,7 @@ function RightDown() { let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); - tempData[2].data.time.push(dayjs(item.recTime).format("HH:mm")); + tempData[2].data.time.push(dayjs(item.recTime).format("MM.DD")); tempData[2].data.input.push(item.inputNum); tempData[2].data.output.push(item.outputNum); }) diff --git a/src/page/LinePage5-2/Right/RightUp.tsx b/src/page/LinePage5-2/Right/RightUp.tsx index 4644deb..c35c8d3 100644 --- a/src/page/LinePage5-2/Right/RightUp.tsx +++ b/src/page/LinePage5-2/Right/RightUp.tsx @@ -12,14 +12,14 @@ function RightUp() { headerBGC: "rgba(79, 114, 136, 0.3)", oddRowBGC: "rgba(79, 114, 136, 0.3)", evenRowBGC: "rgba(76, 97, 123, 0.1)", - columnWidth: [70, 90, 106, 114], + columnWidth: [55, 115, 100, 110], data: [], }; let arr:any = [] // @ts-ignore - if (data.sumProductionDets && data.sumProductionDets.length > 0) { + if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sumProductionDets.map((item, index) => { + data.sectionDet.map((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage5-2/index.tsx b/src/page/LinePage5-2/index.tsx index daf9389..b08e90e 100644 --- a/src/page/LinePage5-2/index.tsx +++ b/src/page/LinePage5-2/index.tsx @@ -3,7 +3,27 @@ import TopP from "./TopP"; import Left from "./Left"; import Right from "./Right"; import Center from "./Center"; +import {useEffect} from 'react'; +import {useNavigate} from "react-router-dom"; function LinePage() { + const navigate = useNavigate(); + useEffect(() => { + const handleKeyDown = (event:any) => { + if (event.key === 'ArrowUp') { + console.log('LDPage向上键被按下'); + navigate('/LD?lineId=5-2'); + // 执行向上键的逻辑 + } else if (event.key === 'ArrowDown') { + console.log('LDPage向下键被按下'); + // 执行向下键的逻辑 + navigate('/LD?lineId=5-2'); + } + } + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }); return ( diff --git a/src/page/TestPage/CenterUp.tsx b/src/page/TestPage/CenterUp.tsx deleted file mode 100644 index ea62ec1..0000000 --- a/src/page/TestPage/CenterUp.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React, { useState } from "react"; // 使用useState钩子来管理状态 -import intl from "react-intl-universal"; -import '../../lanhuapp/common.css'; -import "../../lanhuapp/index.css"; -import "../style/standard.css" -// import MybabylonJS_1 from "../../babylonjs/MybabylonJS_1"; -// import MybabylonJS_2 from "../../babylonjs/MybabylonJS_2"; -import { number } from "echarts"; -import { firePixelShader } from "@babylonjs/materials/fire/fire.fragment"; - -function CenterUp() { - -// 使用 useState 钩子来管理当前的序号状态 -const [modelIndex, setModelIndex] = useState(1); // 默认序号为 1 - -// 定义切换模型序号的函数 -const prevModelIndex = () => { - // 当前序号减 1,如果小于 1,则变为 5 - setModelIndex((currentModelIndex) => (currentModelIndex - 1 + 5) % 5); -}; - -const nextModelIndex = () => { - // 当前序号加 1,如果大于 5,则变为 1 - setModelIndex((currentModelIndex) => (currentModelIndex + 1) % 5); -}; - - - - return ( -
-
- {/* */} - {/* 添加按钮来切换组件 */} - - -
{modelIndex}
-
- ); -} - -export default CenterUp; \ No newline at end of file diff --git a/src/page/TestPage/index.css b/src/page/TestPage/index.css deleted file mode 100644 index dcf01e1..0000000 --- a/src/page/TestPage/index.css +++ /dev/null @@ -1,4 +0,0 @@ -.main-box { - font-size: 50px; - color: #fff; -} \ No newline at end of file diff --git a/src/page/TestPage/index.tsx b/src/page/TestPage/index.tsx deleted file mode 100644 index 0f65d18..0000000 --- a/src/page/TestPage/index.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import "./index.css" - -import {useParams,useNavigate} from "react-router-dom"; -import {useEffect} from 'react'; -function TestPage() { - const {LineID} = useParams() - const navigate = useNavigate(); - console.log("TestPage被加载了") -useEffect(() => { - const handleKeyDown = (event:any) => { - if (event.key === 'ArrowUp') { - console.log('TestPage向上键被按下'); - // 执行向上键的逻辑 - } else if (event.key === 'ArrowDown') { - console.log('TestPage向下键被按下'); - // 执行向下键的逻辑 - navigate('/LD',{ state: { LineID: LineID} }); - - } - }; - - window.addEventListener('keydown', handleKeyDown); - - return () => { - window.removeEventListener('keydown', handleKeyDown); - }; -}, []); - - return ( - <> -
TestPage Line{LineID}
-
3434
- {/* */} - - ); -} - -export default TestPage; \ No newline at end of file diff --git a/src/page/style/linePage.css b/src/page/style/linePage.css index 1a28491..30fbd19 100644 --- a/src/page/style/linePage.css +++ b/src/page/style/linePage.css @@ -100,7 +100,7 @@ .center_down .right_box .chart_box { width: 100%; height: 310px; - margin-top: 10px; + margin-top: 5px; } .right_up { width: 401px; @@ -230,7 +230,7 @@ right: 0px; bottom: 0px; z-index: 1002; - width: 240px; + width: 270px; height: 110px; background: url(/public/png/lp/eq_msg_detail.png) 100% no-repeat; background-size: 100% 100%; diff --git a/src/store/UpdateData.tsx b/src/store/UpdateData.tsx index fbebd28..c8162ab 100644 --- a/src/store/UpdateData.tsx +++ b/src/store/UpdateData.tsx @@ -1,5 +1,5 @@ import React, {useState} from "react"; -import {useAppDispatch, useAppSelector} from "./hooks"; +import {useAppDispatch} from "./hooks"; import axios from "axios"; import { @@ -15,62 +15,13 @@ import { UpdateLine5After } from "./LinePageSlice" import { UpdateAllLine } from "./LeaderPageSlice" -// let initLineGlassStatus: Object = { -// LINE_1_1: 1, -// LINE_1_2U: 1, -// LINE_1_2D: 1, -// LINE_1_3: 1, -// LINE_1_4: 1, -// LINE_2_1: 1, -// LINE_2_2U: 1, -// LINE_2_2D: 1, -// LINE_2_3: 1, -// LINE_2_4: 1, -// LINE_3_1: 1, -// LINE_3_2U: 1, -// LINE_3_2D: 1, -// LINE_3_3: 1, -// LINE_3_4: 1, -// LINE_4_1: 1, -// LINE_4_2U: 1, -// LINE_4_2D: 1, -// LINE_4_3: 1, -// LINE_4_4: 1, -// } - -// function PrepareGlassStatus(action: string) { -// let FinalGlassStatus = initLineGlassStatus; -// if (action.includes('客户端')) { -// return FinalGlassStatus; -// } else { -// const ProductionMonitoringEntityData = JSON.parse(action); -// let JsonData = ProductionMonitoringEntityData.lineGlassStatus; -// // console.log(JsonData) - -// let keys: Array = []; -// let values: Array = [] -// let newJson = new Object(); -// JsonData.map((item: SingleGlassStatus) => { -// keys.push(item.lineViewCode); -// values.push(item.status); -// }) -// for (let i = 0; i < keys.length; i++) { -// let keyName = keys[i]; -// // @ts-ignore -// newJson[keyName] = values[i]; -// } -// FinalGlassStatus = newJson; -// // console.log(FinalGlassStatus) -// return FinalGlassStatus; -// } -// } - function UpdateData() { const [myUrl, setUrl] = useState('') axios.get('/wsconfig.json') .then((r) => { setUrl(r.data.url) }) + let websocketAllLine = null; let websocket1_1 = null; let websocket1_2 = null; let websocket2_1 = null; @@ -82,65 +33,8 @@ function UpdateData() { let websocket5_1 = null; let websocket5_2 = null; const dispatch = useAppDispatch(); - // 测试接口开始=================== - axios.defaults.headers.common['Authorization'] = 'Bearer test1'; - axios.defaults.headers.common['tenant-id'] = 1; - console.log('===========') - axios.get('http://172.16.32.40:48080/admin-api/monitoring/ViewController/driveMonitoring') - .then((res) => { - dispatch(UpdateAllLine(res.data)); - // console.log(res) - }) - return ( - null - ) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=1-1') - // .then((res) => { - // dispatch(UpdateLine1Before(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=1-2') - // .then((res) => { - // dispatch(UpdateLine1After(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=2-1') - // .then((res) => { - // dispatch(UpdateLine2Before(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=2-2') - // .then((res) => { - // dispatch(UpdateLine2After(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=3-1') - // .then((res) => { - // dispatch(UpdateLine3Before(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=3-2') - // .then((res) => { - // dispatch(UpdateLine3After(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=4-1') - // .then((res) => { - // dispatch(UpdateLine4Before(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=4-2') - // .then((res) => { - // dispatch(UpdateLine4After(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=5-1') - // .then((res) => { - // dispatch(UpdateLine5Before(res.data)); - // }) - // axios.get(myUrl + '/admin-api/monitoring/ViewController/productionMonitoring?key=5-2') - // .then((res) => { - // dispatch(UpdateLine5After(res.data)); - // }) - // console.log('===========================================') - // return ( - // null - // ) - // 测试接口结束==================== if ('WebSocket' in window) { - // websocketAllLine = new WebSocket("ws://" + myUrl + "/admin-api/monitoring/ViewController/driveMonitoring"); + websocketAllLine = new WebSocket("ws://" + myUrl + "/websocket/message?userId=all"); websocket1_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-1"); websocket1_2 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=1-2"); websocket2_1 = new WebSocket("ws://" + myUrl + "/websocket/message?userId=2-1"); @@ -156,6 +50,10 @@ function UpdateData() { alert('Not support websocket'); } // @ts-ignore + websocketAllLine.onopen = function (event) { + console.log("websocketAllLine-open"); + } + // @ts-ignore websocket1_1.onopen = function (event) { console.log("websocket1_1-open"); } @@ -197,6 +95,17 @@ function UpdateData() { } //接收到消息的回调方法 // @ts-ignore + websocketAllLine.onmessage = function (event) { + let msgData = event.data + try { + msgData = JSON.parse(event.data); + } catch (error) { + console.log("websocket: [unable to msgData] : ", event.data); + } + if (!Object.prototype.toString.call(msgData).includes('Object')) return; + dispatch(UpdateAllLine(msgData)); + } + // @ts-ignore websocket1_1.onmessage = function (event) { let msgData = event.data try { @@ -306,9 +215,7 @@ function UpdateData() { if (!Object.prototype.toString.call(msgData).includes('Object')) return; dispatch(UpdateLine5After(msgData)); } - // return ( - // null - // ) + return null; } export default UpdateData; \ No newline at end of file From 84b34d7b79acdd0dba8625af28a466fd4773acce Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Fri, 21 Feb 2025 13:26:56 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 6 +- src/babylonjs/GlassAnimation.ts | 1054 ----------------------- src/babylonjs/LinePageBabylon.tsx | 627 -------------- src/page/LinePage1-1/Right/RightUp.tsx | 2 +- src/page/LinePage1-2/Right/RightUp.tsx | 2 +- src/page/LinePage2-1/Right/RightUp.tsx | 2 +- src/page/LinePage2-2/Right/RightUp.tsx | 2 +- src/page/LinePage3-1/Right/RightUp.tsx | 2 +- src/page/LinePage3-2/Right/RightUp.tsx | 2 +- src/page/LinePage4-1/Right/RightUp.tsx | 2 +- src/page/LinePage4-2/Right/RightUp.tsx | 2 +- src/page/LinePage5-1/Right/RightUp.tsx | 2 +- src/page/LinePage5-2/Right/RightUp.tsx | 2 +- src/store/ChangeLangAndCss.ts | 31 - src/store/ChangeSwitchState.ts | 25 - src/store/EquStatusEntity.ts | 191 ---- src/store/EquipmentMonitorEntity.ts | 93 -- src/store/ProductionMonitoringEntity.ts | 214 ----- src/store/QualityMonitorEntity.ts | 64 -- src/store/myDataSlice.ts | 27 - src/store/store.ts | 14 - 21 files changed, 11 insertions(+), 2355 deletions(-) delete mode 100644 src/babylonjs/GlassAnimation.ts delete mode 100644 src/babylonjs/LinePageBabylon.tsx delete mode 100644 src/store/ChangeLangAndCss.ts delete mode 100644 src/store/ChangeSwitchState.ts delete mode 100644 src/store/EquStatusEntity.ts delete mode 100644 src/store/EquipmentMonitorEntity.ts delete mode 100644 src/store/ProductionMonitoringEntity.ts delete mode 100644 src/store/QualityMonitorEntity.ts delete mode 100644 src/store/myDataSlice.ts diff --git a/src/App.tsx b/src/App.tsx index a532553..8b08ede 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,12 +1,10 @@ -import React, { useEffect } from "react"; +import { useEffect } from "react"; import "./App.css"; -import { useAppSelector } from "./store/hooks"; import { createHashRouter, RouterProvider } from "react-router-dom"; import ErrorPage from "./page/ErrorPage"; import { MyObservable } from "./context/MyObservable"; import { Observable } from "@babylonjs/core"; -import { selectGlassStatus } from "./store/ProductionMonitoringEntity"; import LDPage from "./page/LDPage"; import LinePageOneOne from "./page/LinePage1-1"; import LinePageOneTwo from "./page/LinePage1-2"; @@ -22,8 +20,6 @@ import LinePageFiveTwo from "./page/LinePage5-2"; const onGlassObservable = new Observable(); function App() { - const thisLineGlassStatus = useAppSelector(selectGlassStatus); - onGlassObservable.notifyObservers(thisLineGlassStatus); const router = createHashRouter([ { diff --git a/src/babylonjs/GlassAnimation.ts b/src/babylonjs/GlassAnimation.ts deleted file mode 100644 index 75bc85b..0000000 --- a/src/babylonjs/GlassAnimation.ts +++ /dev/null @@ -1,1054 +0,0 @@ -import * as BABYLON from "@babylonjs/core"; - -// function GlassAnimation1() { -// const glass1_1_1 = BABYLON.MeshBuilder.CreateBox("glass1_1_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_1_2 = BABYLON.MeshBuilder.CreateBox("glass1_1_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_2_1 = BABYLON.MeshBuilder.CreateBox("glass1_2_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_2_2 = BABYLON.MeshBuilder.CreateBox("glass1_2_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_3_1 = BABYLON.MeshBuilder.CreateBox("glass1_3_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_3_2 = BABYLON.MeshBuilder.CreateBox("glass1_3_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_4_1 = BABYLON.MeshBuilder.CreateBox("glass1_4_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass1_4_2 = BABYLON.MeshBuilder.CreateBox("glass1_4_2", {width: 2.3, height: 0.05, depth: 1.2}); -// -// const glassColor = new BABYLON.StandardMaterial("glassColor"); -// glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); -// glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); -// -// glass1_1_1.material = glassColor; -// glass1_1_2.material = glassColor; -// glass1_2_1.material = glassColor; -// glass1_2_2.material = glassColor; -// glass1_3_1.material = glassColor; -// glass1_3_2.material = glassColor; -// glass1_4_1.material = glassColor; -// glass1_4_2.material = glassColor; -// -// const frameRate = 10; -// -// const glassRun1_1_1 = new BABYLON.Animation("LineAnimation1_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_1_2 = new BABYLON.Animation("LineAnimation1_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_2_1 = new BABYLON.Animation("LineAnimation1_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_2_2 = new BABYLON.Animation("LineAnimation1_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_3_1 = new BABYLON.Animation("LineAnimation1_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_3_2 = new BABYLON.Animation("LineAnimation1_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_4_1 = new BABYLON.Animation("LineAnimation1_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun1_4_2 = new BABYLON.Animation("LineAnimation1_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// -// const keyFrames1_1_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 16.2)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 16.2)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 32)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, 32)}, -// ]; -// const keyFrames1_1_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 14.7)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 14.7)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 25)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, 25)}, -// ]; -// const keyFrames1_2_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 32)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, 32)}, -// ]; -// const keyFrames1_2_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 25)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, 25)}, -// ]; -// const keyFrames1_3_1 = [ -// {frame: 0, value: new BABYLON.Vector3(0, 1.2, 32)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(30, 1.2, 32)}, -// ]; -// const keyFrames1_3_2 = [ -// {frame: 0, value: new BABYLON.Vector3(0, 1.2, 25)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(17, 1.2, 25)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(17, 1.2, 32)}, -// {frame: 7 * frameRate, value: new BABYLON.Vector3(30, 1.2, 32)}, -// ]; -// const keyFrames1_4_1 = [ -// {frame: 0, value: new BABYLON.Vector3(98, 1.2, 32)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(144.5, 1.2, 32)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(144.5, 1.2, 30)}, -// ]; -// const keyFrames1_4_2 = [ -// {frame: 0, value: new BABYLON.Vector3(98, 1.2, 32)}, -// {frame: 3 * frameRate, value: new BABYLON.Vector3(98, 1.2, 32)}, -// {frame: 7.5 * frameRate, value: new BABYLON.Vector3(134.2, 1.2, 32)}, -// {frame: 8.5 * frameRate, value: new BABYLON.Vector3(134.2, 1.2, 30)}, -// ]; -// -// glassRun1_1_1.setKeys(keyFrames1_1_1); -// glassRun1_1_2.setKeys(keyFrames1_1_2); -// glassRun1_2_1.setKeys(keyFrames1_2_1); -// glassRun1_2_2.setKeys(keyFrames1_2_2); -// glassRun1_3_1.setKeys(keyFrames1_3_1); -// glassRun1_3_2.setKeys(keyFrames1_3_2); -// glassRun1_4_1.setKeys(keyFrames1_4_1) -// glassRun1_4_2.setKeys(keyFrames1_4_2) -// -// glass1_1_1.animations.push(glassRun1_1_1); -// glass1_1_2.animations.push(glassRun1_1_2); -// glass1_2_1.animations.push(glassRun1_2_1); -// glass1_2_2.animations.push(glassRun1_2_2); -// glass1_3_1.animations.push(glassRun1_3_1); -// glass1_3_2.animations.push(glassRun1_3_2); -// glass1_4_1.animations.push(glassRun1_4_1); -// glass1_4_2.animations.push(glassRun1_4_2); -// -// return {glass1_1_1, glass1_1_2, glass1_2_1, glass1_2_2, glass1_3_1, glass1_3_2, glass1_4_1, glass1_4_2}; -// } - -function GlassAnimation1_1(scene: BABYLON.Scene) { - const glass1_1_1 = BABYLON.MeshBuilder.CreateBox("glass1_1_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass1_1_2 = BABYLON.MeshBuilder.CreateBox("glass1_1_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass1_1_1.material = glassColor; - glass1_1_2.material = glassColor; - - const frameRate = 10; - - const glassRun1_1_1 = new BABYLON.Animation("LineAnimation1_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun1_1_2 = new BABYLON.Animation("LineAnimation1_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames1_1_1 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 16.2)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 16.2)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 32)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, 32)}, - ]; - const keyFrames1_1_2 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 14.7)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 14.7)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, 25)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, 25)}, - ]; - - glassRun1_1_1.setKeys(keyFrames1_1_1); - glassRun1_1_2.setKeys(keyFrames1_1_2); - - glass1_1_1.animations.push(glassRun1_1_1); - glass1_1_2.animations.push(glassRun1_1_2); - - return {glass1_1_1, glass1_1_2}; -} - -function GlassAnimation1_2U(scene: BABYLON.Scene) { - const glass1_2_1 = BABYLON.MeshBuilder.CreateBox("glass1_2_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass1_2_1.material = glassColor; - - const frameRate = 10; - - const glassRun1_2_1 = new BABYLON.Animation("LineAnimation1_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames1_2_1 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 32)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, 32)}, - ]; - - glassRun1_2_1.setKeys(keyFrames1_2_1); - - glass1_2_1.animations.push(glassRun1_2_1); - - return {glass1_2_1}; -} - -function GlassAnimation1_2D(scene: BABYLON.Scene) { - const glass1_2_2 = BABYLON.MeshBuilder.CreateBox("glass1_2_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass1_2_2.material = glassColor; - - const frameRate = 10; - - const glassRun1_2_2 = new BABYLON.Animation("LineAnimation1_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames1_2_2 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 25)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, 25)}, - ]; - - glassRun1_2_2.setKeys(keyFrames1_2_2); - - glass1_2_2.animations.push(glassRun1_2_2); - - return {glass1_2_2}; -} - -function GlassAnimation1_3(scene: BABYLON.Scene) { - const glass1_3_1 = BABYLON.MeshBuilder.CreateBox("glass1_3_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass1_3_2 = BABYLON.MeshBuilder.CreateBox("glass1_3_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass1_3_1.material = glassColor; - glass1_3_2.material = glassColor; - - const frameRate = 10; - - const glassRun1_3_1 = new BABYLON.Animation("LineAnimation1_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun1_3_2 = new BABYLON.Animation("LineAnimation1_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames1_3_1 = [ - {frame: 0, value: new BABYLON.Vector3(0, 1.2, 32)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(30, 1.2, 32)}, - ]; - const keyFrames1_3_2 = [ - {frame: 0, value: new BABYLON.Vector3(0, 1.2, 25)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(17, 1.2, 25)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(17, 1.2, 32)}, - {frame: 7 * frameRate, value: new BABYLON.Vector3(30, 1.2, 32)}, - ]; - - glassRun1_3_1.setKeys(keyFrames1_3_1); - glassRun1_3_2.setKeys(keyFrames1_3_2); - - glass1_3_1.animations.push(glassRun1_3_1); - glass1_3_2.animations.push(glassRun1_3_2); - - return {glass1_3_1, glass1_3_2}; -} - -function GlassAnimation1_4(scene: BABYLON.Scene) { - const glass1_4_1 = BABYLON.MeshBuilder.CreateBox("glass1_4_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass1_4_2 = BABYLON.MeshBuilder.CreateBox("glass1_4_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass1_4_1.material = glassColor; - glass1_4_2.material = glassColor; - - const frameRate = 10; - - const glassRun1_4_1 = new BABYLON.Animation("LineAnimation1_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun1_4_2 = new BABYLON.Animation("LineAnimation1_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames1_4_1 = [ - {frame: 0, value: new BABYLON.Vector3(98, 1.2, 32)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(144.5, 1.2, 32)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(144.5, 1.2, 30)}, - ]; - const keyFrames1_4_2 = [ - {frame: 0, value: new BABYLON.Vector3(98, 1.2, 32)}, - {frame: 3 * frameRate, value: new BABYLON.Vector3(98, 1.2, 32)}, - {frame: 7.5 * frameRate, value: new BABYLON.Vector3(134.2, 1.2, 32)}, - {frame: 8.5 * frameRate, value: new BABYLON.Vector3(134.2, 1.2, 30)}, - ]; - - glassRun1_4_1.setKeys(keyFrames1_4_1) - glassRun1_4_2.setKeys(keyFrames1_4_2) - - glass1_4_1.animations.push(glassRun1_4_1); - glass1_4_2.animations.push(glassRun1_4_2); - - return {glass1_4_1, glass1_4_2}; -} - -// function GlassAnimation2() { -// const glass2_1_1 = BABYLON.MeshBuilder.CreateBox("glass2_1_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_1_2 = BABYLON.MeshBuilder.CreateBox("glass2_1_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_2_1 = BABYLON.MeshBuilder.CreateBox("glass2_2_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_2_2 = BABYLON.MeshBuilder.CreateBox("glass2_2_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_3_1 = BABYLON.MeshBuilder.CreateBox("glass2_3_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_3_2 = BABYLON.MeshBuilder.CreateBox("glass2_3_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_4_1 = BABYLON.MeshBuilder.CreateBox("glass2_4_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass2_4_2 = BABYLON.MeshBuilder.CreateBox("glass2_4_2", {width: 2.3, height: 0.05, depth: 1.2}); -// -// const glassColor = new BABYLON.StandardMaterial("glassColor"); -// glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); -// glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); -// -// glass2_1_1.material = glassColor; -// glass2_1_2.material = glassColor; -// glass2_2_1.material = glassColor; -// glass2_2_2.material = glassColor; -// glass2_3_1.material = glassColor; -// glass2_3_2.material = glassColor; -// glass2_4_1.material = glassColor; -// glass2_4_2.material = glassColor; -// -// const frameRate = 10; -// -// const glassRun2_1_1 = new BABYLON.Animation("LineAnimation2_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_1_2 = new BABYLON.Animation("LineAnimation2_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_2_1 = new BABYLON.Animation("LineAnimation2_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_2_2 = new BABYLON.Animation("LineAnimation2_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_3_1 = new BABYLON.Animation("LineAnimation2_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_3_2 = new BABYLON.Animation("LineAnimation2_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_4_1 = new BABYLON.Animation("LineAnimation2_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun2_4_2 = new BABYLON.Animation("LineAnimation2_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// -// const keyFrames2_1_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 8)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 8)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 14)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, 14)}, -// ]; -// const keyFrames2_1_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 6.5)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 6.5)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, 6.5)}, -// ]; -// const keyFrames2_2_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 14)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, 14)}, -// ]; -// const keyFrames2_2_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 6.5)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, 6.5)}, -// ]; -// const keyFrames2_3_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-20, 1.2, 14)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-5, 1.2, 14)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-5, 1.2, 6.5)}, -// {frame: 7 * frameRate, value: new BABYLON.Vector3(5, 1.2, 6.5)}, -// ]; -// const keyFrames2_3_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-20, 1.2, 6.5)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(5, 1.2, 6.5)}, -// ]; -// const keyFrames2_4_1 = [ -// {frame: 0, value: new BABYLON.Vector3(70, 1.2, 6.5)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(132, 1.2, 6.5)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(132, 1.2, 8.5)}, -// ]; -// const keyFrames2_4_2 = [ -// {frame: 0, value: new BABYLON.Vector3(70, 1.2, 6.5)}, -// {frame: 3 * frameRate, value: new BABYLON.Vector3(70, 1.2, 6.5)}, -// {frame: 7.5 * frameRate, value: new BABYLON.Vector3(117.5, 1.2, 6.5)}, -// {frame: 8.5 * frameRate, value: new BABYLON.Vector3(117.5, 1.2, 8.5)}, -// ]; -// -// glassRun2_1_1.setKeys(keyFrames2_1_1); -// glassRun2_1_2.setKeys(keyFrames2_1_2); -// glassRun2_2_1.setKeys(keyFrames2_2_1); -// glassRun2_2_2.setKeys(keyFrames2_2_2); -// glassRun2_3_1.setKeys(keyFrames2_3_1); -// glassRun2_3_2.setKeys(keyFrames2_3_2); -// glassRun2_4_1.setKeys(keyFrames2_4_1) -// glassRun2_4_2.setKeys(keyFrames2_4_2) -// -// glass2_1_1.animations.push(glassRun2_1_1); -// glass2_1_2.animations.push(glassRun2_1_2); -// glass2_2_1.animations.push(glassRun2_2_1); -// glass2_2_2.animations.push(glassRun2_2_2); -// glass2_3_1.animations.push(glassRun2_3_1); -// glass2_3_2.animations.push(glassRun2_3_2); -// glass2_4_1.animations.push(glassRun2_4_1); -// glass2_4_2.animations.push(glassRun2_4_2); -// -// return {glass2_1_1, glass2_1_2, glass2_2_1, glass2_2_2, glass2_3_1, glass2_3_2, glass2_4_1, glass2_4_2}; -// } - -function GlassAnimation2_1(scene: BABYLON.Scene) { - const glass2_1_1 = BABYLON.MeshBuilder.CreateBox("glass2_1_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass2_1_2 = BABYLON.MeshBuilder.CreateBox("glass2_1_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass2_1_1.material = glassColor; - glass2_1_2.material = glassColor; - - const frameRate = 10; - - const glassRun2_1_1 = new BABYLON.Animation("LineAnimation2_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun2_1_2 = new BABYLON.Animation("LineAnimation2_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames2_1_1 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 8)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 8)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 14)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, 14)}, - ]; - const keyFrames2_1_2 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, 6.5)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, 6.5)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, 6.5)}, - ]; - - glassRun2_1_1.setKeys(keyFrames2_1_1); - glassRun2_1_2.setKeys(keyFrames2_1_2); - - glass2_1_1.animations.push(glassRun2_1_1); - glass2_1_2.animations.push(glassRun2_1_2); - - return {glass2_1_1, glass2_1_2}; -} - -function GlassAnimation2_2U(scene: BABYLON.Scene) { - const glass2_2_1 = BABYLON.MeshBuilder.CreateBox("glass2_2_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass2_2_1.material = glassColor; - - const frameRate = 10; - - const glassRun2_2_1 = new BABYLON.Animation("LineAnimation2_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames2_2_1 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 14)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, 14)}, - ]; - - glassRun2_2_1.setKeys(keyFrames2_2_1); - - glass2_2_1.animations.push(glassRun2_2_1); - - return {glass2_2_1}; -} - -function GlassAnimation2_2D(scene: BABYLON.Scene) { - const glass2_2_2 = BABYLON.MeshBuilder.CreateBox("glass2_2_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass2_2_2.material = glassColor; - - const frameRate = 10; - - const glassRun2_2_2 = new BABYLON.Animation("LineAnimation2_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames2_2_2 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, 6.5)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, 6.5)}, - ]; - - glassRun2_2_2.setKeys(keyFrames2_2_2); - - glass2_2_2.animations.push(glassRun2_2_2); - - return {glass2_2_2}; -} - -function GlassAnimation2_3(scene: BABYLON.Scene) { - const glass2_3_1 = BABYLON.MeshBuilder.CreateBox("glass2_3_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass2_3_2 = BABYLON.MeshBuilder.CreateBox("glass2_3_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass2_3_1.material = glassColor; - glass2_3_2.material = glassColor; - - const frameRate = 10; - - const glassRun2_3_1 = new BABYLON.Animation("LineAnimation2_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun2_3_2 = new BABYLON.Animation("LineAnimation2_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames2_3_1 = [ - {frame: 0, value: new BABYLON.Vector3(-20, 1.2, 14)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-5, 1.2, 14)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-5, 1.2, 6.5)}, - {frame: 7 * frameRate, value: new BABYLON.Vector3(5, 1.2, 6.5)}, - ]; - const keyFrames2_3_2 = [ - {frame: 0, value: new BABYLON.Vector3(-20, 1.2, 6.5)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(5, 1.2, 6.5)}, - ]; - - glassRun2_3_1.setKeys(keyFrames2_3_1); - glassRun2_3_2.setKeys(keyFrames2_3_2); - - glass2_3_1.animations.push(glassRun2_3_1); - glass2_3_2.animations.push(glassRun2_3_2); - - return {glass2_3_1, glass2_3_2}; -} - -function GlassAnimation2_4(scene: BABYLON.Scene) { - const glass2_4_1 = BABYLON.MeshBuilder.CreateBox("glass2_4_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass2_4_2 = BABYLON.MeshBuilder.CreateBox("glass2_4_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass2_4_1.material = glassColor; - glass2_4_2.material = glassColor; - - const frameRate = 10; - - const glassRun2_4_1 = new BABYLON.Animation("LineAnimation2_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun2_4_2 = new BABYLON.Animation("LineAnimation2_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames2_4_1 = [ - {frame: 0, value: new BABYLON.Vector3(70, 1.2, 6.5)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(132, 1.2, 6.5)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(132, 1.2, 8.5)}, - ]; - const keyFrames2_4_2 = [ - {frame: 0, value: new BABYLON.Vector3(70, 1.2, 6.5)}, - {frame: 3 * frameRate, value: new BABYLON.Vector3(70, 1.2, 6.5)}, - {frame: 7.5 * frameRate, value: new BABYLON.Vector3(117.5, 1.2, 6.5)}, - {frame: 8.5 * frameRate, value: new BABYLON.Vector3(117.5, 1.2, 8.5)}, - ]; - - glassRun2_4_1.setKeys(keyFrames2_4_1) - glassRun2_4_2.setKeys(keyFrames2_4_2) - - glass2_4_1.animations.push(glassRun2_4_1); - glass2_4_2.animations.push(glassRun2_4_2); - - return {glass2_4_1, glass2_4_2}; -} - -// function GlassAnimation3() { -// const glass3_1_1 = BABYLON.MeshBuilder.CreateBox("glass3_1_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_1_2 = BABYLON.MeshBuilder.CreateBox("glass3_1_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_2_1 = BABYLON.MeshBuilder.CreateBox("glass3_2_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_2_2 = BABYLON.MeshBuilder.CreateBox("glass3_2_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_3_1 = BABYLON.MeshBuilder.CreateBox("glass3_3_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_3_2 = BABYLON.MeshBuilder.CreateBox("glass3_3_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_4_1 = BABYLON.MeshBuilder.CreateBox("glass3_4_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass3_4_2 = BABYLON.MeshBuilder.CreateBox("glass3_4_2", {width: 2.3, height: 0.05, depth: 1.2}); -// -// const glassColor = new BABYLON.StandardMaterial("glassColor"); -// glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); -// glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); -// -// glass3_1_1.material = glassColor; -// glass3_1_2.material = glassColor; -// glass3_2_1.material = glassColor; -// glass3_2_2.material = glassColor; -// glass3_3_1.material = glassColor; -// glass3_3_2.material = glassColor; -// glass3_4_1.material = glassColor; -// glass3_4_2.material = glassColor; -// -// const frameRate = 10; -// -// const glassRun3_1_1 = new BABYLON.Animation("LineAnimation3_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_1_2 = new BABYLON.Animation("LineAnimation3_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_2_1 = new BABYLON.Animation("LineAnimation3_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_2_2 = new BABYLON.Animation("LineAnimation3_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_3_1 = new BABYLON.Animation("LineAnimation3_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_3_2 = new BABYLON.Animation("LineAnimation3_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_4_1 = new BABYLON.Animation("LineAnimation3_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun3_4_2 = new BABYLON.Animation("LineAnimation3_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// -// const keyFrames3_1_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -9)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -9)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -15)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, -15)}, -// ]; -// const keyFrames3_1_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -7.5)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -7.5)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, -7.5)}, -// ]; -// const keyFrames3_2_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -15)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, -15)}, -// ]; -// const keyFrames3_2_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -7.5)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, -7.5)}, -// ]; -// const keyFrames3_3_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-20, 1.2, -15)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-5, 1.2, -15)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-5, 1.2, -7.5)}, -// {frame: 7 * frameRate, value: new BABYLON.Vector3(5, 1.2, -7.5)}, -// ]; -// const keyFrames3_3_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-20, 1.2, -7.5)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(5, 1.2, -7.5)}, -// ]; -// const keyFrames3_4_1 = [ -// {frame: 0, value: new BABYLON.Vector3(70, 1.2, -7.5)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(130.5, 1.2, -7.5)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(130.5, 1.2, -9.5)}, -// ]; -// const keyFrames3_4_2 = [ -// {frame: 0, value: new BABYLON.Vector3(70, 1.2, -7.5)}, -// {frame: 3 * frameRate, value: new BABYLON.Vector3(70, 1.2, -7.5)}, -// {frame: 7.5 * frameRate, value: new BABYLON.Vector3(116, 1.2, -7.5)}, -// {frame: 8.5 * frameRate, value: new BABYLON.Vector3(116, 1.2, -9.5)}, -// ]; -// -// glassRun3_1_1.setKeys(keyFrames3_1_1); -// glassRun3_1_2.setKeys(keyFrames3_1_2); -// glassRun3_2_1.setKeys(keyFrames3_2_1); -// glassRun3_2_2.setKeys(keyFrames3_2_2); -// glassRun3_3_1.setKeys(keyFrames3_3_1); -// glassRun3_3_2.setKeys(keyFrames3_3_2); -// glassRun3_4_1.setKeys(keyFrames3_4_1) -// glassRun3_4_2.setKeys(keyFrames3_4_2) -// -// glass3_1_1.animations.push(glassRun3_1_1); -// glass3_1_2.animations.push(glassRun3_1_2); -// glass3_2_1.animations.push(glassRun3_2_1); -// glass3_2_2.animations.push(glassRun3_2_2); -// glass3_3_1.animations.push(glassRun3_3_1); -// glass3_3_2.animations.push(glassRun3_3_2); -// glass3_4_1.animations.push(glassRun3_4_1); -// glass3_4_2.animations.push(glassRun3_4_2); -// -// return {glass3_1_1, glass3_1_2, glass3_2_1, glass3_2_2, glass3_3_1, glass3_3_2, glass3_4_1, glass3_4_2}; -// } - -function GlassAnimation3_1(scene: BABYLON.Scene) { - const glass3_1_1 = BABYLON.MeshBuilder.CreateBox("glass3_1_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass3_1_2 = BABYLON.MeshBuilder.CreateBox("glass3_1_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass3_1_1.material = glassColor; - glass3_1_2.material = glassColor; - - const frameRate = 10; - - const glassRun3_1_1 = new BABYLON.Animation("LineAnimation3_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun3_1_2 = new BABYLON.Animation("LineAnimation3_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames3_1_1 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -9)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -9)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -15)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, -15)}, - ]; - const keyFrames3_1_2 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -7.5)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-110, 1.2, -7.5)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-99, 1.2, -7.5)}, - ]; - - glassRun3_1_1.setKeys(keyFrames3_1_1); - glassRun3_1_2.setKeys(keyFrames3_1_2); - - glass3_1_1.animations.push(glassRun3_1_1); - glass3_1_2.animations.push(glassRun3_1_2); - - return {glass3_1_1, glass3_1_2}; -} - -function GlassAnimation3_2U(scene: BABYLON.Scene) { - const glass3_2_2 = BABYLON.MeshBuilder.CreateBox("glass3_2_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass3_2_2.material = glassColor; - - const frameRate = 10; - - const glassRun3_2_2 = new BABYLON.Animation("LineAnimation3_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames3_2_2 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -7.5)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, -7.5)}, - ]; - - glassRun3_2_2.setKeys(keyFrames3_2_2); - - glass3_2_2.animations.push(glassRun3_2_2); - - return {glass3_2_2}; -} - -function GlassAnimation3_2D(scene: BABYLON.Scene) { - const glass3_2_1 = BABYLON.MeshBuilder.CreateBox("glass3_2_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass3_2_1.material = glassColor; - - const frameRate = 10; - - const glassRun3_2_1 = new BABYLON.Animation("LineAnimation3_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames3_2_1 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -15)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(-20, 1.2, -15)}, - ]; - - glassRun3_2_1.setKeys(keyFrames3_2_1); - - glass3_2_1.animations.push(glassRun3_2_1); - - return {glass3_2_1}; -} - -function GlassAnimation3_3(scene: BABYLON.Scene) { - const glass3_3_1 = BABYLON.MeshBuilder.CreateBox("glass3_3_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass3_3_2 = BABYLON.MeshBuilder.CreateBox("glass3_3_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass3_3_1.material = glassColor; - glass3_3_2.material = glassColor; - - const frameRate = 10; - - const glassRun3_3_1 = new BABYLON.Animation("LineAnimation3_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun3_3_2 = new BABYLON.Animation("LineAnimation3_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames3_3_1 = [ - {frame: 0, value: new BABYLON.Vector3(-20, 1.2, -15)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-5, 1.2, -15)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-5, 1.2, -7.5)}, - {frame: 7 * frameRate, value: new BABYLON.Vector3(5, 1.2, -7.5)}, - ]; - const keyFrames3_3_2 = [ - {frame: 0, value: new BABYLON.Vector3(-20, 1.2, -7.5)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(5, 1.2, -7.5)}, - ]; - - glassRun3_3_1.setKeys(keyFrames3_3_1); - glassRun3_3_2.setKeys(keyFrames3_3_2); - - glass3_3_1.animations.push(glassRun3_3_1); - glass3_3_2.animations.push(glassRun3_3_2); - - return {glass3_3_1, glass3_3_2}; -} - -function GlassAnimation3_4(scene: BABYLON.Scene) { - const glass3_4_1 = BABYLON.MeshBuilder.CreateBox("glass3_4_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass3_4_2 = BABYLON.MeshBuilder.CreateBox("glass3_4_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass3_4_1.material = glassColor; - glass3_4_2.material = glassColor; - - const frameRate = 10; - - const glassRun3_4_1 = new BABYLON.Animation("LineAnimation3_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun3_4_2 = new BABYLON.Animation("LineAnimation3_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames3_4_1 = [ - {frame: 0, value: new BABYLON.Vector3(70, 1.2, -7.5)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(130.5, 1.2, -7.5)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(130.5, 1.2, -9.5)}, - ]; - const keyFrames3_4_2 = [ - {frame: 0, value: new BABYLON.Vector3(70, 1.2, -7.5)}, - {frame: 3 * frameRate, value: new BABYLON.Vector3(70, 1.2, -7.5)}, - {frame: 7.5 * frameRate, value: new BABYLON.Vector3(116, 1.2, -7.5)}, - {frame: 8.5 * frameRate, value: new BABYLON.Vector3(116, 1.2, -9.5)}, - ]; - - glassRun3_4_1.setKeys(keyFrames3_4_1) - glassRun3_4_2.setKeys(keyFrames3_4_2) - - glass3_4_1.animations.push(glassRun3_4_1); - glass3_4_2.animations.push(glassRun3_4_2); - - return {glass3_4_1, glass3_4_2}; -} - -// function GlassAnimation4() { -// const glass4_1_1 = BABYLON.MeshBuilder.CreateBox("glass4_1_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_1_2 = BABYLON.MeshBuilder.CreateBox("glass4_1_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_2_1 = BABYLON.MeshBuilder.CreateBox("glass4_2_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_2_2 = BABYLON.MeshBuilder.CreateBox("glass4_2_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_3_1 = BABYLON.MeshBuilder.CreateBox("glass4_3_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_3_2 = BABYLON.MeshBuilder.CreateBox("glass4_3_2", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_4_1 = BABYLON.MeshBuilder.CreateBox("glass4_4_1", {width: 2.3, height: 0.05, depth: 1.2}); -// const glass4_4_2 = BABYLON.MeshBuilder.CreateBox("glass4_4_2", {width: 2.3, height: 0.05, depth: 1.2}); -// -// const glassColor = new BABYLON.StandardMaterial("glassColor"); -// glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); -// glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); -// -// glass4_1_1.material = glassColor; -// glass4_1_2.material = glassColor; -// glass4_2_1.material = glassColor; -// glass4_2_2.material = glassColor; -// glass4_3_1.material = glassColor; -// glass4_3_2.material = glassColor; -// glass4_4_1.material = glassColor; -// glass4_4_2.material = glassColor; -// -// const frameRate = 10; -// -// const glassRun4_1_1 = new BABYLON.Animation("LineAnimation4_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_1_2 = new BABYLON.Animation("LineAnimation4_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_2_1 = new BABYLON.Animation("LineAnimation4_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_2_2 = new BABYLON.Animation("LineAnimation4_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_3_1 = new BABYLON.Animation("LineAnimation4_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_3_2 = new BABYLON.Animation("LineAnimation4_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_4_1 = new BABYLON.Animation("LineAnimation4_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// const glassRun4_4_2 = new BABYLON.Animation("LineAnimation4_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); -// -// const keyFrames4_1_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -16.2)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -16.2)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -34)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, -34)}, -// ]; -// const keyFrames4_1_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -14.7)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -14.7)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -27)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, -27)}, -// ]; -// const keyFrames4_2_1 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -34)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, -34)}, -// ]; -// const keyFrames4_2_2 = [ -// {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -27)}, -// {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, -27)}, -// ]; -// const keyFrames4_3_1 = [ -// {frame: 0, value: new BABYLON.Vector3(0, 1.2, -34)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(30, 1.2, -34)}, -// ]; -// const keyFrames4_3_2 = [ -// {frame: 0, value: new BABYLON.Vector3(0, 1.2, -27)}, -// {frame: 2 * frameRate, value: new BABYLON.Vector3(17, 1.2, -27)}, -// {frame: 4 * frameRate, value: new BABYLON.Vector3(17, 1.2, -34)}, -// {frame: 7 * frameRate, value: new BABYLON.Vector3(30, 1.2, -34)}, -// ]; -// const keyFrames4_4_1 = [ -// {frame: 0, value: new BABYLON.Vector3(96, 1.2, -34)}, -// {frame: 5 * frameRate, value: new BABYLON.Vector3(142.5, 1.2, -34)}, -// {frame: 6 * frameRate, value: new BABYLON.Vector3(142.5, 1.2, -32)}, -// ]; -// const keyFrames4_4_2 = [ -// {frame: 0, value: new BABYLON.Vector3(96, 1.2, -34)}, -// {frame: 3 * frameRate, value: new BABYLON.Vector3(96, 1.2, -34)}, -// {frame: 7.5 * frameRate, value: new BABYLON.Vector3(132.5, 1.2, -34)}, -// {frame: 8.5 * frameRate, value: new BABYLON.Vector3(132.5, 1.2, -32)}, -// ]; -// -// glassRun4_1_1.setKeys(keyFrames4_1_1); -// glassRun4_1_2.setKeys(keyFrames4_1_2); -// glassRun4_2_1.setKeys(keyFrames4_2_1); -// glassRun4_2_2.setKeys(keyFrames4_2_2); -// glassRun4_3_1.setKeys(keyFrames4_3_1); -// glassRun4_3_2.setKeys(keyFrames4_3_2); -// glassRun4_4_1.setKeys(keyFrames4_4_1) -// glassRun4_4_2.setKeys(keyFrames4_4_2) -// -// glass4_1_1.animations.push(glassRun4_1_1); -// glass4_1_2.animations.push(glassRun4_1_2); -// glass4_2_1.animations.push(glassRun4_2_1); -// glass4_2_2.animations.push(glassRun4_2_2); -// glass4_3_1.animations.push(glassRun4_3_1); -// glass4_3_2.animations.push(glassRun4_3_2); -// glass4_4_1.animations.push(glassRun4_4_1); -// glass4_4_2.animations.push(glassRun4_4_2); -// -// return {glass4_1_1, glass4_1_2, glass4_2_1, glass4_2_2, glass4_3_1, glass4_3_2, glass4_4_1, glass4_4_2}; -// } - -function GlassAnimation4_1(scene: BABYLON.Scene) { - const glass4_1_1 = BABYLON.MeshBuilder.CreateBox("glass4_1_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass4_1_2 = BABYLON.MeshBuilder.CreateBox("glass4_1_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass4_1_1.material = glassColor; - glass4_1_2.material = glassColor; - - const frameRate = 10; - - const glassRun4_1_1 = new BABYLON.Animation("LineAnimation4_1_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun4_1_2 = new BABYLON.Animation("LineAnimation4_1_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames4_1_1 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -16.2)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -16.2)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -34)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, -34)}, - ]; - const keyFrames4_1_2 = [ - {frame: 0, value: new BABYLON.Vector3(-126, 1.2, -14.7)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -14.7)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(-116.5, 1.2, -27)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(-104.5, 1.2, -27)}, - ]; - - glassRun4_1_1.setKeys(keyFrames4_1_1); - glassRun4_1_2.setKeys(keyFrames4_1_2); - - glass4_1_1.animations.push(glassRun4_1_1); - glass4_1_2.animations.push(glassRun4_1_2); - - return {glass4_1_1, glass4_1_2}; -} - -function GlassAnimation4_2U(scene: BABYLON.Scene) { - const glass4_2_2 = BABYLON.MeshBuilder.CreateBox("glass4_2_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass4_2_2.material = glassColor; - - const frameRate = 10; - - const glassRun4_2_2 = new BABYLON.Animation("LineAnimation4_2_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames4_2_2 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -27)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, -27)}, - ]; - - glassRun4_2_2.setKeys(keyFrames4_2_2); - - glass4_2_2.animations.push(glassRun4_2_2); - - return {glass4_2_2}; -} - -function GlassAnimation4_2D(scene: BABYLON.Scene) { - const glass4_2_1 = BABYLON.MeshBuilder.CreateBox("glass4_2_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass4_2_1.material = glassColor; - - const frameRate = 10; - - const glassRun4_2_1 = new BABYLON.Animation("LineAnimation4_2_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames4_2_1 = [ - {frame: 0, value: new BABYLON.Vector3(-75, 1.2, -34)}, - {frame: 10 * frameRate, value: new BABYLON.Vector3(0, 1.2, -34)}, - ]; - - glassRun4_2_1.setKeys(keyFrames4_2_1); - - glass4_2_1.animations.push(glassRun4_2_1); - - return {glass4_2_1}; -} - -function GlassAnimation4_3(scene: BABYLON.Scene) { - const glass4_3_1 = BABYLON.MeshBuilder.CreateBox("glass4_3_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass4_3_2 = BABYLON.MeshBuilder.CreateBox("glass4_3_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass4_3_1.material = glassColor; - glass4_3_2.material = glassColor; - - const frameRate = 10; - - const glassRun4_3_1 = new BABYLON.Animation("LineAnimation4_3_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun4_3_2 = new BABYLON.Animation("LineAnimation4_3_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames4_3_1 = [ - {frame: 0, value: new BABYLON.Vector3(0, 1.2, -34)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(30, 1.2, -34)}, - ]; - const keyFrames4_3_2 = [ - {frame: 0, value: new BABYLON.Vector3(0, 1.2, -27)}, - {frame: 2 * frameRate, value: new BABYLON.Vector3(17, 1.2, -27)}, - {frame: 4 * frameRate, value: new BABYLON.Vector3(17, 1.2, -34)}, - {frame: 7 * frameRate, value: new BABYLON.Vector3(30, 1.2, -34)}, - ]; - - glassRun4_3_1.setKeys(keyFrames4_3_1); - glassRun4_3_2.setKeys(keyFrames4_3_2); - - glass4_3_1.animations.push(glassRun4_3_1); - glass4_3_2.animations.push(glassRun4_3_2); - - return {glass4_3_1, glass4_3_2}; -} - -function GlassAnimation4_4(scene: BABYLON.Scene) { - const glass4_4_1 = BABYLON.MeshBuilder.CreateBox("glass4_4_1", {width: 2.3, height: 0.05, depth: 1.2}, scene); - const glass4_4_2 = BABYLON.MeshBuilder.CreateBox("glass4_4_2", {width: 2.3, height: 0.05, depth: 1.2}, scene); - - const glassColor = new BABYLON.StandardMaterial("glassColor", scene); - glassColor.diffuseColor = new BABYLON.Color3(0, 0, 0); - glassColor.emissiveColor = new BABYLON.Color3(0, 1, 1); - - glass4_4_1.material = glassColor; - glass4_4_2.material = glassColor; - - const frameRate = 10; - - const glassRun4_4_1 = new BABYLON.Animation("LineAnimation4_4_1", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - const glassRun4_4_2 = new BABYLON.Animation("LineAnimation4_4_2", "position", frameRate, BABYLON.Animation.ANIMATIONTYPE_VECTOR3, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); - - const keyFrames4_4_1 = [ - {frame: 0, value: new BABYLON.Vector3(96, 1.2, -34)}, - {frame: 5 * frameRate, value: new BABYLON.Vector3(142.5, 1.2, -34)}, - {frame: 6 * frameRate, value: new BABYLON.Vector3(142.5, 1.2, -32)}, - ]; - const keyFrames4_4_2 = [ - {frame: 0, value: new BABYLON.Vector3(96, 1.2, -34)}, - {frame: 3 * frameRate, value: new BABYLON.Vector3(96, 1.2, -34)}, - {frame: 7.5 * frameRate, value: new BABYLON.Vector3(132.5, 1.2, -34)}, - {frame: 8.5 * frameRate, value: new BABYLON.Vector3(132.5, 1.2, -32)}, - ]; - - glassRun4_4_1.setKeys(keyFrames4_4_1) - glassRun4_4_2.setKeys(keyFrames4_4_2) - - glass4_4_1.animations.push(glassRun4_4_1); - glass4_4_2.animations.push(glassRun4_4_2); - - return {glass4_4_1, glass4_4_2}; -} - - -export { - GlassAnimation1_1, - GlassAnimation1_2U, - GlassAnimation1_2D, - GlassAnimation1_3, - GlassAnimation1_4, - GlassAnimation2_1, - GlassAnimation2_2U, - GlassAnimation2_2D, - GlassAnimation2_3, - GlassAnimation2_4, - GlassAnimation3_1, - GlassAnimation3_2U, - GlassAnimation3_2D, - GlassAnimation3_3, - GlassAnimation3_4, - GlassAnimation4_1, - GlassAnimation4_2U, - GlassAnimation4_2D, - GlassAnimation4_3, - GlassAnimation4_4 -}; -export default {} \ No newline at end of file diff --git a/src/babylonjs/LinePageBabylon.tsx b/src/babylonjs/LinePageBabylon.tsx deleted file mode 100644 index 5abed6a..0000000 --- a/src/babylonjs/LinePageBabylon.tsx +++ /dev/null @@ -1,627 +0,0 @@ -import React, { useEffect, useRef, useState, useContext, useMemo } from "react"; -import * as BABYLON from "@babylonjs/core"; -import "@babylonjs/core/Debug/debugLayer"; -import "@babylonjs/inspector"; -import "@babylonjs/loaders/glTF"; -import { GridMaterial } from "@babylonjs/materials/"; -import { - Animatable, - HemisphericLight, - Mesh, - Observable, - Vector3, -} from "@babylonjs/core"; -import { useAppSelector } from "../store/hooks"; -import "../page/style/standard.css"; -import { EquStatusInterface, selectEquStatus } from "../store/EquStatusEntity"; -import EqInfoData from "./EqInfoData"; -import AlarmTipGreen from "./../page/LinePage/assets/icon/g.png"; -import AlarmTipYellow from "./../page/LinePage/assets/icon/y.png"; -import AlarmTipRed from "./../page/LinePage/assets/icon/r.png"; -const lineNameNo = ["一","二","三","四","五"] - -const myStyle = { - width: "1041px", - height: "562px", - outline: "none", -}; -interface MybabylonJSProps { - modelPath: string; // 明确 modelPath 属性的类型为 string -} -interface EqInfoListInterface { - [key: string]: EqInfo[]; -} -interface EqInfo { - name: string; - inputNum: number; - outPut: number; - position: [number, number]; -} -const eqInfoList: EqInfoListInterface = { - "Line1-1": [ - { name: "磨边机", inputNum: 100, outPut: 100, position: [134, 202] }, - { name: "磨边机", inputNum: 101, outPut: 101, position: [82, 306] }, - { name: "磨边机", inputNum: 105, outPut: 105, position: [342, 400] }, - { name: "打孔机", inputNum: 100, outPut: 100, position: [337, 51] }, - { name: "打孔机", inputNum: 101, outPut: 101, position: [338, 156] }, - { name: "打孔机", inputNum: 105, outPut: 105, position: [510, 310] }, - { name: "丝印机", inputNum: 100, outPut: 100, position: [521, 4] }, - { name: "丝印机", inputNum: 101, outPut: 101, position: [520, 90] }, - { name: "丝印机", inputNum: 105, outPut: 105, position: [672, 226] }, - { name: "一次固化", inputNum: 100, outPut: 100, position: [756, 2] }, - { name: "一次固化", inputNum: 101, outPut: 101, position: [833, 90] }, - { name: "一次固化", inputNum: 105, outPut: 105, position: [835, 186] }, - ], - "Line1-2": [ - { name: "退火", inputNum: 100, outPut: 100, position: [100, 210] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [410, 58] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [594, 252] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [610, 5] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [838, 1] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [837, 145] }, - ], - "Line2-1": [ - { name: "磨边机", inputNum: 100, outPut: 100, position: [134, 202] }, - { name: "磨边机", inputNum: 105, outPut: 105, position: [342, 400] }, - { name: "打孔机", inputNum: 101, outPut: 101, position: [338, 156] }, - { name: "打孔机", inputNum: 105, outPut: 105, position: [510, 310] }, - { name: "丝印机", inputNum: 101, outPut: 101, position: [520, 90] }, - { name: "丝印机", inputNum: 105, outPut: 105, position: [672, 226] }, - { name: "一次固化", inputNum: 100, outPut: 100, position: [724, 38] }, - { name: "一次固化", inputNum: 105, outPut: 105, position: [835, 186] }, - ], - "Line2-2": [ - { name: "退火", inputNum: 100, outPut: 100, position: [215, 247] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [710, 237] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [502, 58] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [733, 3] }, - ], - "Line3-1": [ - { name: "磨边机", inputNum: 100, outPut: 100, position: [134, 202] }, - { name: "磨边机", inputNum: 105, outPut: 105, position: [342, 400] }, - { name: "打孔机", inputNum: 101, outPut: 101, position: [338, 156] }, - { name: "打孔机", inputNum: 105, outPut: 105, position: [510, 310] }, - { name: "丝印机", inputNum: 101, outPut: 101, position: [520, 90] }, - { name: "丝印机", inputNum: 105, outPut: 105, position: [672, 226] }, - { name: "一次固化", inputNum: 100, outPut: 100, position: [724, 38] }, - { name: "一次固化", inputNum: 105, outPut: 105, position: [835, 186] }, - ], - "Line3-2": [ - { name: "退火", inputNum: 100, outPut: 100, position: [187, 247] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [502, 58] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [733, 3] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [710, 237] }, - ], - "Line4-1": [ - { name: "磨边机", inputNum: 100, outPut: 100, position: [231, 216] }, - { name: "磨边机", inputNum: 105, outPut: 105, position: [403, 400] }, - { name: "一次固化", inputNum: 101, outPut: 101, position: [520, 90] }, - { name: "一次固化", inputNum: 105, outPut: 105, position: [643, 276] }, - { name: "二次固化", inputNum: 100, outPut: 100, position: [724, 38] }, - { name: "二次固化", inputNum: 105, outPut: 105, position: [835, 186] }, - ], - "Line4-2": [ - { name: "退火", inputNum: 100, outPut: 100, position: [187, 247] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [710, 237] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [820, 237] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [553, 7] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [839, 137] }, - ], - "Line5-1": [ - { name: "磨边机", inputNum: 100, outPut: 100, position: [134, 202] }, - { name: "磨边机", inputNum: 101, outPut: 101, position: [82, 306] }, - { name: "磨边机", inputNum: 105, outPut: 105, position: [342, 400] }, - { name: "一次固化", inputNum: 100, outPut: 100, position: [521, 4] }, - { name: "一次固化", inputNum: 101, outPut: 101, position: [520, 90] }, - { name: "一次固化", inputNum: 105, outPut: 105, position: [672, 287] }, - { name: "二次固化", inputNum: 100, outPut: 100, position: [756, 2] }, - { name: "二次固化", inputNum: 101, outPut: 101, position: [833, 90] }, - { name: "二次固化", inputNum: 105, outPut: 105, position: [835, 186] }, - ], - "Line5-2": [ - { name: "退火", inputNum: 100, outPut: 100, position: [100, 270] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [434, 133] }, - { name: "铺纸机", inputNum: 100, outPut: 100, position: [640, 305] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [645, 54] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [838, 1] }, - { name: "下片机", inputNum: 100, outPut: 100, position: [837, 226] }, - ], -}; -interface EqInfoInterface { - name: string; - data: Array<{ name: string; value: number }>; - position: Array; -} -interface EqInfoDataInterface { - [key: string]: Array; -} -const eqInfoData: EqInfoDataInterface = { - "Line5-1": [ - { - name: "磨边进口", - data: [ - { name: "1支线", value: 413 }, - { name: "2支线", value: 435 }, - { name: "3支线", value: 397 }, - ], - position: [154, 266], - }, - { - name: "磨边清洗出口", - data: [ - { name: "1支线", value: 401 }, - { name: "2支线", value: 418 }, - { name: "3支线", value: 389 }, - ], - position: [331, 177], - }, - { - name: "一次镀膜进口", - data: [ - { name: "1支线", value: 400 }, - { name: "2支线", value: 418 }, - { name: "3支线", value: 388 }, - ], - position: [555, 329], - }, - { - name: "二次镀膜进口", - data: [ - { name: "1支线", value: 387 }, - { name: "2支线", value: 399 }, - { name: "3支线", value: 381 }, - ], - position: [550, 85], - }, - { - name: "二次固化出口", - data: [ - { name: "1支线", value: 384 }, - { name: "2支线", value: 398 }, - { name: "3支线", value: 377 }, - ], - position: [857, 184], - }, - { - name: "钢化进口", - data: [{ name: "钢化进口", value: 1157 }], - position: [870, 48], - }, - ], - "Line5-2": [ - { - name: "钢化出口", - data: [{ name: "钢化出口", value: 1124 }], - position: [305, 255], - }, - { - name: "包装清洗机入口", - data: [ - { name: "包装清洗机5_1", value: 515 }, - { name: "包装清洗机5_2", value: 507 }, - ], - position: [508, 319], - }, - { - name: "包装清洗机出口", - data: [ - { name: "包装清洗机5_1", value: 515 }, - { name: "包装清洗机5_2", value: 505 }, - ], - position: [444, 159], - }, - { - name: "铺纸机", - data: [ - { name: "铺纸机5_1", value: 509 }, - { name: "铺纸机5_2", value: 504 }, - ], - position: [696, 272], - }, - { - name: "下片机械手", - data: [ - { name: "下片机械手5_1", value: 347 }, - { name: "下片机械手5_2", value: 334 }, - { name: "下片机械手5_3", value: 316 }, - ], - position: [712, 28], - }, - ], -}; -interface EqStatusListInterface { - [key: string]: Array<{ - equipment: string; - alarm: boolean; - online: boolean; - }>; -} -const eqStatusList: EqStatusListInterface = { - "Line5-1": [ - { equipment: "磨边机5_1", alarm: false, online: true }, - { equipment: "磨边机5_2", alarm: false, online: true }, - { equipment: "磨边机5_3", alarm: false, online: true }, - { equipment: "清洗机5_1", alarm: false, online: true }, - { equipment: "清洗机5_2", alarm: false, online: true }, - { equipment: "清洗机5_3", alarm: false, online: true }, - { equipment: "一次镀膜5_2", alarm: false, online: true }, - { equipment: "一次镀膜5_3", alarm: false, online: true }, - { equipment: "一次固化5_1", alarm: false, online: true }, - { equipment: "一次镀膜5_1", alarm: false, online: true }, - { equipment: "一次固化5_2", alarm: false, online: true }, - { equipment: "一次固化5_3", alarm: false, online: true }, - { equipment: "二次镀膜5_1", alarm: false, online: true }, - { equipment: "二次镀膜5_2", alarm: false, online: true }, - { equipment: "二次镀膜5_3", alarm: false, online: true }, - { equipment: "二次固化5_1", alarm: false, online: true }, - { equipment: "二次固化5_2", alarm: false, online: true }, - { equipment: "二次固化5_3", alarm: false, online: true }, - ], - "Line5-2": [ - { equipment: "钢化炉5", alarm: false, online: true }, - { equipment: "包装清洗机5_1", alarm: false, online: true }, - { equipment: "包装清洗机5_2", alarm: false, online: true }, - { equipment: "在线铺纸机5_1", alarm: false, online: true }, - { equipment: "在线铺纸机5_2", alarm: false, online: true }, - { equipment: "下片机械手5_1", alarm: false, online: true }, - { equipment: "下片机械手5_2", alarm: false, online: true }, - { equipment: "下片机械手5_3", alarm: false, online: true }, - ], -}; -function MybabylonJS({ modelPath }: MybabylonJSProps) { - console.log("modelPath:;;;;;;", modelPath); - // const EquStatus = useAppSelector(selectEquStatus); - const canvasRef = useRef(null); - const resetRef = useRef<(() => void) | null>(null); - // onEquObservable.notifyObservers(EquStatus); - const [selectedMeshName, setSelectedMeshName] = useState(null); - const [selectedMeshObj, setSelectedMeshObj] = useState({ - equipment: "", - alarm: false, - online: true, - }); - const [showInfo, setShowInfo] = useState(true); - - // 使用 useRef 来存储当前加载的模型引用 - const currentMeshesRef = useRef>([]); - - useEffect(() => { - console.log("canvasRef++++++", canvasRef); - console.log("resetRef++++++", resetRef); - // 确保 canvas 引用存在 - if (!canvasRef.current) return; - const canvas = canvasRef.current; - const engine = new BABYLON.Engine(canvas, true, { - preserveDrawingBuffer: true, - stencil: true, - }); - - const createScene = async function () { - // This creates a basic Babylon Scene object (non-mesh) - const scene = new BABYLON.Scene(engine); - scene.clearColor = new BABYLON.Color4(0, 0, 0, 0); - const baseLight = new HemisphericLight( - "hemiLight", - new Vector3(-1, 1, 0), - scene - ); - baseLight.intensity = 1; - baseLight.diffuse = new BABYLON.Color3(1, 1, 1); - baseLight.specular = new BABYLON.Color3(0.25, 0.25, 0.25); - baseLight.groundColor = new BABYLON.Color3(0.5, 0.5, 0.5); - - //add an arcRotateCamera to the scene - const camera = new BABYLON.ArcRotateCamera( - "camera", - BABYLON.Tools.ToRadians(245), - BABYLON.Tools.ToRadians(25), - modelPath.slice(-1) === "1" - ? 110 - : modelPath.slice(-3) === "5-2" - ? 100 - : 75, - new BABYLON.Vector3(-13, 0, 0) - ); - camera.lowerRadiusLimit = 10; - camera.upperRadiusLimit = 600; - - // This attaches the camera to the canvas - camera.attachControl(canvas, true); - - //创建一个材质 - const newMt = new BABYLON.StandardMaterial("newMt"); - newMt.diffuseColor = BABYLON.Color3.Blue(); - - const ground = BABYLON.MeshBuilder.CreateGround( - "ground", - { - width: 1000, - height: 1000, - subdivisions: 1, - }, - scene - ); - - ground.scaling.x = 100; - ground.scaling.z = ground.scaling.x; - ground.isPickable = false; - - let grid = new GridMaterial("grid", scene); - - grid.majorUnitFrequency = 10; - grid.minorUnitVisibility = 0.3; - grid.gridRatio = 0.04; - grid.backFaceCulling = !1; - grid.mainColor = new BABYLON.Color3(1, 1, 1); - grid.lineColor = new BABYLON.Color3(1, 1, 1); - grid.opacity = 0; - grid.zOffset = 1; - grid.opacityTexture = new BABYLON.Texture( - "/public/png/backgroundGround.png", - scene - ); - ground.material = grid; - - let hl = new BABYLON.HighlightLayer("hl1", scene); - let hl2 = new BABYLON.HighlightLayer("hl2", scene); - - // 定义一个函数来加载或重新加载模型 - const loadOrReloadModel = async () => { - // 在加载新模型之前卸载已加载的模型 - currentMeshesRef.current.forEach((mesh) => { - if (mesh && mesh.parent) { - scene.removeMesh(mesh, true); - } - }); - currentMeshesRef.current = []; // 重置模型数组 - try { - // 使用 ImportMeshAsync 加载新模型 - var LOD0MESH = await BABYLON.SceneLoader.ImportMeshAsync( - "", - "/Line/", - `${modelPath}.babylon`, - scene - ); - // 将新加载的模型添加到 currentMeshesRef 中 - currentMeshesRef.current.push(...LOD0MESH.meshes); - - // ...为新加载的模型设置交互逻辑 - - LOD0MESH.meshes.map((mesh) => { - mesh.isPickable = true; - mesh.actionManager = new BABYLON.ActionManager(scene); - // console.log("mesh==========", mesh); - if (modelPath.slice(-1) === "1") { - if ( - mesh.name.includes("磨边") || - mesh.name.includes("清洗") || - mesh.name.includes("镀膜") || - mesh.name.includes("固化") - ) { - // @ts-ignore - hl.addMesh(mesh, BABYLON.Color3.Green()); - } - } else { - if ( - mesh.name.includes("钢化") || - mesh.name.includes("包装") || - mesh.name.includes("铺纸") || - mesh.name.includes("下片机械手") - ) { - // @ts-ignore - hl.addMesh(mesh, BABYLON.Color3.Green()); - } - } - - //鼠标移动到物体上亮显 - // mesh.actionManager.registerAction( - // new BABYLON.ExecuteCodeAction( - // BABYLON.ActionManager.OnPointerOverTrigger, - // (a) => { - // console.log("================", a); - // // @ts-ignore - // hl.addMesh(mesh, BABYLON.Color3.Green()); - // } - // ) - // ); - // 鼠标移出物体上不亮 - // mesh.actionManager.registerAction( - // new BABYLON.ExecuteCodeAction( - // BABYLON.ActionManager.OnPointerOutTrigger, - // () => { - // // @ts-ignore - // hl.removeMesh(mesh); - // } - // ) - // ); - - mesh._scene.onPointerDown = async (event, _pickResult) => { - console.log('_pickResult=====',_pickResult) - const pickInfo = mesh._scene.pick( - mesh._scene.pointerX, - mesh._scene.pointerY - ); - - const clickedPosition = _pickResult.pickedPoint; - //如果需要获取吗模型根节点,而不是模型中某个组件,请用一下方法 - // getRootNode(pickInfo.pickedMesh as BABYLON.Node) 如上篇文章getRootNode函数 - - //判断是否是右键 - if (!(event.buttons === 1 && pickInfo.pickedMesh)) return; - const MeshName1 = pickInfo.pickedMesh.name.split(".")[0]; - - setSelectedMeshName(MeshName1); - eqStatusList[modelPath].map((item: any) => { - if (item.equipment === MeshName1) { - setSelectedMeshObj(item); - } - }); - }; - }); - } catch (error) { - console.error("加载模型失败:", error); - } - }; - - // 调用函数以加载或重新加载模型 - loadOrReloadModel(); - - function reset() { - camera.target = new BABYLON.Vector3(-13, 0, 0); - camera.alpha = BABYLON.Tools.ToRadians(245); - camera.beta = BABYLON.Tools.ToRadians(25); - camera.radius = - modelPath.slice(-1) === "1" - ? 110 - : modelPath.slice(-3) === "5-2" - ? 100 - : 75; - setShowInfo(true); - setSelectedMeshName(null); - } - // 外部初始位置按钮 - resetRef.current = reset; - - let resetCamera = setTimeout(reset, 15000); - scene.onPointerObservable.add((pointerInfo) => { - switch (pointerInfo.type) { - case BABYLON.PointerEventTypes.POINTERMOVE: - clearTimeout(resetCamera); - resetCamera = setTimeout(reset, 15000); - setShowInfo(false); - } - }); - return scene; - }; - - // call the createScene function - const scene = createScene(); - - // run the render loop - scene.then( - (scene) => { - console.log("createScene被调用了=====", scene); - engine.runRenderLoop(function () { - scene.render(); - }); - }, - (reason) => { - console.log("reason=============", reason); - } - ); - - // Resize - window.addEventListener("resize", function () { - engine.resize(); - }); - // 组件卸载时的清理逻辑 - return () => { - // 清理场景和引擎资源 - engine.dispose(); - }; - }, [modelPath]); - const resetModel = () => { - //模型初始位置 - console.log("回到初始位置"); - if (resetRef.current) { - resetRef.current(); - } - }; - return ( -
- {/*

当前选择: {selectedMeshName}

*/} -
- - - 第{lineNameNo[Number(modelPath.slice(-3,-2))-1]}产线钢化{modelPath.slice(-1) === "1" ? "前段" : "后段"} - -
- {selectedMeshName && ( -
-
- 设备名称: - {selectedMeshObj.equipment} -
-
- 报警状态: - - {selectedMeshObj.alarm ? ( - <> - - 报警 - - ) : ( - <> - - 正常 - - )} - -
-
- 在线状态: - - {selectedMeshObj.online ? ( - <> - - 在线 - - ) : ( - <> - - 离线 - - )} - -
-
- )} - {showInfo && - eqInfoData[modelPath] && - eqInfoData[modelPath].map((item, index) => { - return ( -
-
- {item.name} -
- {item.data.map((info, index) => { - return ( -
- {info.name}:{info.value} -
- ); - })} -
- ); - })} - - -
- ); -} - -export default MybabylonJS; diff --git a/src/page/LinePage1-1/Right/RightUp.tsx b/src/page/LinePage1-1/Right/RightUp.tsx index a106318..cf9de73 100644 --- a/src/page/LinePage1-1/Right/RightUp.tsx +++ b/src/page/LinePage1-1/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine1Before} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine1Before); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage1-2/Right/RightUp.tsx b/src/page/LinePage1-2/Right/RightUp.tsx index 2ec53b8..f8886e1 100644 --- a/src/page/LinePage1-2/Right/RightUp.tsx +++ b/src/page/LinePage1-2/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine1After} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine1After); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage2-1/Right/RightUp.tsx b/src/page/LinePage2-1/Right/RightUp.tsx index 4bc5913..5db0782 100644 --- a/src/page/LinePage2-1/Right/RightUp.tsx +++ b/src/page/LinePage2-1/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine2Before} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine2Before); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage2-2/Right/RightUp.tsx b/src/page/LinePage2-2/Right/RightUp.tsx index 700a22b..d8de53d 100644 --- a/src/page/LinePage2-2/Right/RightUp.tsx +++ b/src/page/LinePage2-2/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine2After} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine2After); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage3-1/Right/RightUp.tsx b/src/page/LinePage3-1/Right/RightUp.tsx index 369822c..f3dde67 100644 --- a/src/page/LinePage3-1/Right/RightUp.tsx +++ b/src/page/LinePage3-1/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine3Before} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine3Before); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage3-2/Right/RightUp.tsx b/src/page/LinePage3-2/Right/RightUp.tsx index 6c6b89d..4e396fa 100644 --- a/src/page/LinePage3-2/Right/RightUp.tsx +++ b/src/page/LinePage3-2/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine3After} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine3After); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage4-1/Right/RightUp.tsx b/src/page/LinePage4-1/Right/RightUp.tsx index 896a72d..49ce536 100644 --- a/src/page/LinePage4-1/Right/RightUp.tsx +++ b/src/page/LinePage4-1/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine4Before} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine4Before); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage4-2/Right/RightUp.tsx b/src/page/LinePage4-2/Right/RightUp.tsx index d7ef0b0..a2ade9b 100644 --- a/src/page/LinePage4-2/Right/RightUp.tsx +++ b/src/page/LinePage4-2/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine4After} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine4After); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage5-1/Right/RightUp.tsx b/src/page/LinePage5-1/Right/RightUp.tsx index 4a8ed4e..4d1946c 100644 --- a/src/page/LinePage5-1/Right/RightUp.tsx +++ b/src/page/LinePage5-1/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine5Before} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine5Before); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/page/LinePage5-2/Right/RightUp.tsx b/src/page/LinePage5-2/Right/RightUp.tsx index c35c8d3..df58c9e 100644 --- a/src/page/LinePage5-2/Right/RightUp.tsx +++ b/src/page/LinePage5-2/Right/RightUp.tsx @@ -5,7 +5,7 @@ import {selectLine5After} from "./../../../store/LinePageSlice" function RightUp() { const data = useAppSelector(selectLine5After); const config = { - header: ["序号", "产线", "上片数据量", "成品下片数量"], + header: ["序号", "工段名", "上片数据量", "成品下片数量"], headerHeight: 32, rowNum: 5, align: ["center", "left", "left", "left"], diff --git a/src/store/ChangeLangAndCss.ts b/src/store/ChangeLangAndCss.ts deleted file mode 100644 index 9e6c6e5..0000000 --- a/src/store/ChangeLangAndCss.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -const initialState = { - Locale: "zh-CN", - text_1: "text_1", - text_34: "text_34" -} - -export const ChangeLangAndCss = createSlice({ - name: 'ChangeCss', - initialState, - reducers: { - UpdateChangeLangAndCss: (state) => { - if (state.Locale == "zh-CN") { - state.Locale = "en-US"; - state.text_1 = "text_1_EN"; - state.text_34 = "text_34_EN" - } else { - state.Locale = "zh-CN"; - state.text_1 = "text_1"; - state.text_34 = "text_34" - } - } - } -}) - -export const {UpdateChangeLangAndCss} = ChangeLangAndCss.actions; -export const selectChangeLangAndCss = (state: RootState) => state.ChangeCss; - -export default ChangeLangAndCss.reducer; \ No newline at end of file diff --git a/src/store/ChangeSwitchState.ts b/src/store/ChangeSwitchState.ts deleted file mode 100644 index d7710e0..0000000 --- a/src/store/ChangeSwitchState.ts +++ /dev/null @@ -1,25 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -const initialState = { - switchState: true, -} -export const ChangeSwitchState = createSlice({ - name: 'ChangeSwitchState', - initialState, - reducers: { - ChangeSwitch: (state) => { - if (state.switchState) { - state.switchState = false; - } else { - state.switchState = true; - } - } - } -}) - -export const {ChangeSwitch} = ChangeSwitchState.actions; - -export const selectSwitchState = (state: RootState) => state.ChangeSwitchState.switchState; - -export default ChangeSwitchState.reducer; diff --git a/src/store/EquStatusEntity.ts b/src/store/EquStatusEntity.ts deleted file mode 100644 index d891a81..0000000 --- a/src/store/EquStatusEntity.ts +++ /dev/null @@ -1,191 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -export interface EquStatusInterface { - CleanAfterEdge1_1: number - CleanAfterEdge1_2: number - CleanAfterEdge2_1: number - CleanAfterEdge2_2: number - CleanAfterEdge3_1: number - CleanAfterEdge3_2: number - CleanAfterEdge4_1: number - CleanAfterEdge4_2: number - CleanAfterTemper1_1: number - CleanAfterTemper2_1: number - CleanAfterTemper3_1: number - CleanAfterTemper4_1: number - CleanBeforCoat1_1: number - CleanBeforCoat1_2: number - CleanBeforCoat4_1: number - CleanBeforCoat4_2: number - Edge1_1: number - Edge1_2: number - Edge2_1: number - Edge2_2: number - Edge3_1: number - Edge3_2: number - Edge4_1: number - Edge4_2: number - FirstCoat1_1: number - FirstCoat1_2: number - FirstCoat2_1: number - FirstCoat2_2: number - FirstCoat3_1: number - FirstCoat3_2: number - FirstCoat4_1: number - FirstCoat4_2: number - Punch1_1: number - Punch1_2: number - Punch4_1: number - Punch4_2: number - SecondCoat1_1: number - SecondCoat1_2: number - SecondCoat2_1: number - SecondCoat2_2: number - SecondCoat3_1: number - SecondCoat3_2: number - SecondCoat4_1: number - SecondCoat4_2: number - Temper1_1: number - Temper2_1: number - Temper3_1: number - Temper4_1: number - Unload1_1: number - Unload1_2: number - Unload2_1: number - Unload2_2: number - Unload3_1: number - Unload3_2: number - Unload4_1: number - Unload4_2: number -} - -const initialState: EquStatusInterface = { - CleanAfterEdge1_1: 0, - CleanAfterEdge1_2: 0, - CleanAfterEdge2_1: 0, - CleanAfterEdge2_2: 0, - CleanAfterEdge3_1: 0, - CleanAfterEdge3_2: 0, - CleanAfterEdge4_1: 0, - CleanAfterEdge4_2: 0, - CleanAfterTemper1_1: 0, - CleanAfterTemper2_1: 0, - CleanAfterTemper3_1: 0, - CleanAfterTemper4_1: 0, - CleanBeforCoat1_1: 0, - CleanBeforCoat1_2: 0, - CleanBeforCoat4_1: 0, - CleanBeforCoat4_2: 0, - Edge1_1: 0, - Edge1_2: 0, - Edge2_1: 0, - Edge2_2: 0, - Edge3_1: 0, - Edge3_2: 0, - Edge4_1: 0, - Edge4_2: 0, - FirstCoat1_1: 0, - FirstCoat1_2: 0, - FirstCoat2_1: 0, - FirstCoat2_2: 0, - FirstCoat3_1: 0, - FirstCoat3_2: 0, - FirstCoat4_1: 0, - FirstCoat4_2: 0, - Punch1_1: 0, - Punch1_2: 0, - Punch4_1: 0, - Punch4_2: 0, - SecondCoat1_1: 0, - SecondCoat1_2: 0, - SecondCoat2_1: 0, - SecondCoat2_2: 0, - SecondCoat3_1: 0, - SecondCoat3_2: 0, - SecondCoat4_1: 0, - SecondCoat4_2: 0, - Temper1_1: 0, - Temper2_1: 0, - Temper3_1: 0, - Temper4_1: 0, - Unload1_1: 0, - Unload1_2: 0, - Unload2_1: 0, - Unload2_2: 0, - Unload3_1: 0, - Unload3_2: 0, - Unload4_1: 0, - Unload4_2: 0 -} -export const EquStatusEntity = createSlice({ - name: 'EquStatusEntity', - initialState, - reducers: { - UpdateEquStatus: (state, action) => { - const JsonData = action.payload; - state.CleanAfterEdge1_1 = JsonData['CleanAfterEdge1-1'].status; - state.CleanAfterEdge1_2 = JsonData['CleanAfterEdge1-2'].status; - state.CleanAfterEdge2_1 = JsonData['CleanAfterEdge2-1'].status; - state.CleanAfterEdge2_2 = JsonData['CleanAfterEdge2-2'].status; - state.CleanAfterEdge3_1 = JsonData['CleanAfterEdge3-1'].status; - state.CleanAfterEdge3_2 = JsonData['CleanAfterEdge3-2'].status; - state.CleanAfterEdge4_1 = JsonData['CleanAfterEdge4-1'].status; - state.CleanAfterEdge4_2 = JsonData['CleanAfterEdge4-2'].status; - state.CleanAfterTemper1_1 = JsonData['CleanAfterTemper1-1'].status; - state.CleanAfterTemper2_1 = JsonData['CleanAfterTemper2-1'].status; - state.CleanAfterTemper3_1 = JsonData['CleanAfterTemper3-1'].status; - state.CleanAfterTemper4_1 = JsonData['CleanAfterTemper4-1'].status; - state.CleanBeforCoat1_1 = JsonData['CleanBeforCoat1-1'].status; - state.CleanBeforCoat1_2 = JsonData['CleanBeforCoat1-2'].status; - state.CleanBeforCoat4_1 = JsonData['CleanBeforCoat4-1'].status; - state.CleanBeforCoat4_2 = JsonData['CleanBeforCoat4-2'].status; - state.Edge1_1 = JsonData['Edge1-1'].status; - state.Edge1_2 = JsonData['Edge1-2'].status; - state.Edge2_1 = JsonData['Edge2-1'].status; - state.Edge2_2 = JsonData['Edge2-2'].status; - state.Edge3_1 = JsonData['Edge3-1'].status; - state.Edge3_2 = JsonData['Edge3-2'].status; - state.Edge4_1 = JsonData['Edge4-1'].status; - state.Edge4_2 = JsonData['Edge4-2'].status; - state.FirstCoat1_1 = JsonData['FirstCoat1-1'].status; - state.FirstCoat1_2 = JsonData['FirstCoat1-2'].status; - state.FirstCoat2_1 = JsonData['FirstCoat2-1'].status; - state.FirstCoat2_2 = JsonData['FirstCoat2-2'].status; - state.FirstCoat3_1 = JsonData['FirstCoat3-1'].status; - state.FirstCoat3_2 = JsonData['FirstCoat3-2'].status; - state.FirstCoat4_1 = JsonData['FirstCoat4-1'].status; - state.FirstCoat4_2 = JsonData['FirstCoat4-2'].status; - state.Punch1_1 = JsonData['Punch1-1'].status; - state.Punch1_2 = JsonData['Punch1-2'].status; - state.Punch4_1 = JsonData['Punch4-1'].status; - state.Punch4_2 = JsonData['Punch4-2'].status; - state.SecondCoat1_1 = JsonData['SecondCoat1-1'].status; - state.SecondCoat1_2 = JsonData['SecondCoat1-2'].status; - state.SecondCoat2_1 = JsonData['SecondCoat2-1'].status; - state.SecondCoat2_2 = JsonData['SecondCoat2-2'].status; - state.SecondCoat3_1 = JsonData['SecondCoat3-1'].status; - state.SecondCoat3_2 = JsonData['SecondCoat3-2'].status; - state.SecondCoat4_1 = JsonData['SecondCoat4-1'].status; - state.SecondCoat4_2 = JsonData['SecondCoat4-2'].status; - state.Temper1_1 = JsonData['Temper1-1'].status; - state.Temper2_1 = JsonData['Temper2-1'].status; - state.Temper3_1 = JsonData['Temper3-1'].status; - state.Temper4_1 = JsonData['Temper4-1'].status; - state.Unload1_1 = JsonData['Unload1-1'].status; - state.Unload1_2 = JsonData['Unload1-2'].status; - state.Unload2_1 = JsonData['Unload2-1'].status; - state.Unload2_2 = JsonData['Unload2-2'].status; - state.Unload3_1 = JsonData['Unload3-1'].status; - state.Unload3_2 = JsonData['Unload3-2'].status; - state.Unload4_1 = JsonData['Unload4-1'].status; - state.Unload4_2 = JsonData['Unload4-2'].status; - } - } -}) - -export const {UpdateEquStatus} = EquStatusEntity.actions; - -export const selectEquStatus = (state: RootState) => state.EquStatusEntity; - -export default EquStatusEntity.reducer; \ No newline at end of file diff --git a/src/store/EquipmentMonitorEntity.ts b/src/store/EquipmentMonitorEntity.ts deleted file mode 100644 index 674fc32..0000000 --- a/src/store/EquipmentMonitorEntity.ts +++ /dev/null @@ -1,93 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -export interface Alarm { - alarmContent: string; - equName: string; - alarmCode: any; - alarmEquipmentId: number; - alarmValue: string; - alarmId: number; - alarmSource: string; -} - -export interface TickCount { - equName: string; - tickCount: number; -} - -export interface Product { - externalCode: number, - equipmentCode: number, - outputNum: number, - lineName: string, - equipmentId: number, - sectionName: string, - inputNum: number, - recordTime: number, - equipmentName: string -} - -export interface Oee { - workRate: number; - equName: string; - downRate: number; - stopRate: number; -} - -export interface EquipmentLine { - equipmentAlarm: Array, - equipmentTickCounts: Array, - equipmentOees: Array, - equipmentProductDays: Array, - equipmentProductWeeks: Array, - equipmentProductMonths: Array, - equipmentProductAll: Array, -} - -export interface EquipmentMonitorEntityInterface { - Line_1: EquipmentLine, - Line_2: EquipmentLine, - Line_3: EquipmentLine, - Line_4: EquipmentLine -} - -const emptyEquipmentLine: EquipmentLine = { - equipmentAlarm: [], - equipmentTickCounts: [], - equipmentOees: [], - equipmentProductDays: [], - equipmentProductWeeks: [], - equipmentProductMonths: [], - equipmentProductAll: [], -} - -const initialState: EquipmentMonitorEntityInterface = { - Line_1: emptyEquipmentLine, - Line_2: emptyEquipmentLine, - Line_3: emptyEquipmentLine, - Line_4: emptyEquipmentLine -} - -export const EquipmentMonitorEntity = createSlice({ - name: 'EquipmentMonitorEntity', - initialState, - reducers: { - UpdateEquipmentMonitorEntity: (state, action) => { - if (action.payload.toString().includes('客户端')) { - } else { - const BasicEquipmentMonitorEntity = JSON.parse(action.payload); - state.Line_1 = BasicEquipmentMonitorEntity.Line_1; - state.Line_2 = BasicEquipmentMonitorEntity.Line_2; - state.Line_3 = BasicEquipmentMonitorEntity.Line_3; - state.Line_4 = BasicEquipmentMonitorEntity.Line_4; - } - }, - } -}) - -export const {UpdateEquipmentMonitorEntity} = EquipmentMonitorEntity.actions; - -export const selectAllLineEquipmentData = (state: RootState) => state.EquipmentMonitorEntity; - -export default EquipmentMonitorEntity.reducer; \ No newline at end of file diff --git a/src/store/ProductionMonitoringEntity.ts b/src/store/ProductionMonitoringEntity.ts deleted file mode 100644 index 42fdc3e..0000000 --- a/src/store/ProductionMonitoringEntity.ts +++ /dev/null @@ -1,214 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -export interface alarm { - alarmContent: string; - alarmTime: string; - alarmCode: string; -} - -export interface ProductionDet { - lineName: string; - inputNum: number; - outputNum: number; - passRate: number; -} - -export interface ProductionRate { - lineName: string; - lineId: number; - lineExCode: string; - passRate: number; - time: number; -} - -export interface RateLine { - Line_1: Array, - Line_2: Array, - Line_3: Array, - Line_4: Array, -} - -export interface SingleGlassStatus { - lineViewCode: string, - status: number -} - -export interface GlassStatus { - LINE_1_1: number, - LINE_1_2U: number, - LINE_1_2D: number, - LINE_1_3: number, - LINE_1_4: number, - LINE_2_1: number, - LINE_2_2U: number, - LINE_2_2D: number, - LINE_2_3: number, - LINE_2_4: number, - LINE_3_1: number, - LINE_3_2U: number, - LINE_3_2D: number, - LINE_3_3: number, - LINE_3_4: number, - LINE_4_1: number, - LINE_4_2U: number, - LINE_4_2D: number, - LINE_4_3: number, - LINE_4_4: number, -} - -const initLineGlassStatus: GlassStatus = { - LINE_1_1: 1, - LINE_1_2U: 1, - LINE_1_2D: 1, - LINE_1_3: 1, - LINE_1_4: 1, - LINE_2_1: 1, - LINE_2_2U: 1, - LINE_2_2D: 1, - LINE_2_3: 1, - LINE_2_4: 1, - LINE_3_1: 1, - LINE_3_2U: 1, - LINE_3_2D: 1, - LINE_3_3: 1, - LINE_3_4: 1, - LINE_4_1: 1, - LINE_4_2U: 1, - LINE_4_2D: 1, - LINE_4_3: 1, - LINE_4_4: 1, -} - -export interface ProductionMonitoringEntityInterface { - sumNumber: number; - alarms: Array; - sumProductionDets: Array; - todayProductionDets: Array; - weekProductionDets: Array; - monthProductionDets: Array; - todayProductionRates: RateLine, - weekProductionRates: RateLine, - monthProductionRates: RateLine, - lineGlassStatus: GlassStatus, -} - -const emptyProductionRates: RateLine = { - Line_4: [ - { - "lineId": 1, - "lineName": "产线1", - "lineExCode": "Line_1", - "passRate": 101.88, - "time": 1676840400000 - }, - ], - Line_3: [ - { - "lineId": 1619974755856867329, - "lineName": "产线3", - "lineExCode": "Line_3", - "passRate": 32.04, - "time": 1676822400000 - } - ], - Line_2: [ - { - "lineId": 1619974755856867329, - "lineName": "产线3", - "lineExCode": "Line_3", - "passRate": 32.04, - "time": 1676822400000 - } - ], - Line_1: [ - { - "lineId": 1619974755856867329, - "lineName": "产线3", - "lineExCode": "Line_3", - "passRate": 32.04, - "time": 1676822400000 - } - ] -} - -const initialState: ProductionMonitoringEntityInterface = { - sumNumber: 0, - alarms: [], - sumProductionDets: [], - todayProductionDets: [], - weekProductionDets: [], - monthProductionDets: [], - todayProductionRates: emptyProductionRates, - weekProductionRates: emptyProductionRates, - monthProductionRates: emptyProductionRates, - lineGlassStatus: initLineGlassStatus, -} - -export const ProductionMonitoringEntity = createSlice({ - name: 'ProductionMonitoringEntity', - initialState, - reducers: { - UpdateProductionMonitoringEntity: (state, action) => { - if (action.payload.toString().includes('客户端')) { - } else { - const ProductionMonitoringEntityData = JSON.parse(action.payload); - - //sumNumber - state.sumNumber = ProductionMonitoringEntityData.alarms.length; - - //alarms - state.alarms = []; - for (let i = 0; i < 6; i++) { - state.alarms.push({ - alarmContent: ProductionMonitoringEntityData.alarms[i].alarmContent, - alarmCode: ProductionMonitoringEntityData.alarms[i].alarmCode, - alarmTime: new Date(ProductionMonitoringEntityData.alarms[i].alarmTime).toLocaleDateString(), - } - ) - } - - //sumProductionDets - state.sumProductionDets = ProductionMonitoringEntityData.sumProductionDets; - - //todayProductionDets - state.todayProductionDets = ProductionMonitoringEntityData.todayProductionDets; - - - //weekProductionDets - state.weekProductionDets = ProductionMonitoringEntityData.weekProductionDets; - - //monthProductionDets - state.monthProductionDets = ProductionMonitoringEntityData.monthProductionDets; - - //todayProductionRates - state.todayProductionRates = ProductionMonitoringEntityData.todayProductionRates; - - //weekProductionRates - state.weekProductionRates = ProductionMonitoringEntityData.weekProductionRates; - - //monthProductionRates - state.monthProductionRates = ProductionMonitoringEntityData.monthProductionRates; - - } - }, - UpdateGlassStatus: (state, action) => { - //lineGlassStatus - state.lineGlassStatus = action.payload; - } - } -}) - -export const {UpdateProductionMonitoringEntity, UpdateGlassStatus} = ProductionMonitoringEntity.actions; - -export const selectAlarms = (state: RootState) => state.ProductionMonitoringEntity.alarms; -export const selectSumNumber = (state: RootState) => state.ProductionMonitoringEntity.sumNumber; -export const selectSumProductionDets = (state: RootState) => state.ProductionMonitoringEntity.sumProductionDets; -export const selectTodayProductionDets = (state: RootState) => state.ProductionMonitoringEntity.todayProductionDets; -export const selectWeekProductionDets = (state: RootState) => state.ProductionMonitoringEntity.weekProductionDets; -export const selectMonthProductionDets = (state: RootState) => state.ProductionMonitoringEntity.monthProductionDets; -export const selectTodayProductionRates = (state: RootState) => state.ProductionMonitoringEntity.todayProductionRates; -export const selectWeekProductionRates = (state: RootState) => state.ProductionMonitoringEntity.weekProductionRates; -export const selectMonthProductionRates = (state: RootState) => state.ProductionMonitoringEntity.monthProductionRates; -export const selectGlassStatus = (state: RootState) => state.ProductionMonitoringEntity.lineGlassStatus; -export default ProductionMonitoringEntity.reducer; \ No newline at end of file diff --git a/src/store/QualityMonitorEntity.ts b/src/store/QualityMonitorEntity.ts deleted file mode 100644 index dfc9a8a..0000000 --- a/src/store/QualityMonitorEntity.ts +++ /dev/null @@ -1,64 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -export interface Quality { - num: number; - sort: number; - content: string; -} - -export interface QualityLineAll { - Line_1: Array; - Line_2: Array; - Line_3: Array; - Line_4: Array; -} - -export interface QualityMonitorEntityInterface { - todayQualityAll: Array; - weekQualityAll: Array; - monthQualityAll: Array; - todayQualityLineAll: QualityLineAll; - weekQualityLineAll: QualityLineAll; - monthQualityLineAll: QualityLineAll; -} - -const emptyQualityLineAll: QualityLineAll = { - Line_1: [], - Line_2: [], - Line_3: [], - Line_4: [] -} - -const initialState: QualityMonitorEntityInterface = { - todayQualityAll: [], - weekQualityAll: [], - monthQualityAll: [], - todayQualityLineAll: emptyQualityLineAll, - weekQualityLineAll: emptyQualityLineAll, - monthQualityLineAll: emptyQualityLineAll -} - -export const QualityMonitorEntity = createSlice({ - name: 'QualityMonitorEntity', - initialState, - reducers: { - UpdateQualityMonitorEntity: (state, action) => { - if (action.payload.toString().includes('客户端')) { - } else { - const QualityMonitorEntityData = JSON.parse(action.payload); - state.todayQualityAll = QualityMonitorEntityData.todayQualityAll; - state.weekQualityAll = QualityMonitorEntityData.weekQualityAll; - state.monthQualityAll = QualityMonitorEntityData.monthQualityAll; - state.todayQualityLineAll = QualityMonitorEntityData.todayQualityLineAll; - state.weekQualityLineAll = QualityMonitorEntityData.weekQualityLineAll; - state.monthQualityLineAll = QualityMonitorEntityData.monthQualityLineAll; - } - } - } -}) - -export const {UpdateQualityMonitorEntity} = QualityMonitorEntity.actions - -export const selectQualityMonitorEntity = (state: RootState) => state.QualityMonitorEntity; -export default QualityMonitorEntity.reducer; \ No newline at end of file diff --git a/src/store/myDataSlice.ts b/src/store/myDataSlice.ts deleted file mode 100644 index a162cc0..0000000 --- a/src/store/myDataSlice.ts +++ /dev/null @@ -1,27 +0,0 @@ -import {createSlice} from "@reduxjs/toolkit"; -import type {RootState} from "./store"; - -export interface MyDataSlice { - value: number; -} - -const initialState: MyDataSlice = { - value: 0, -} - -export const myDataSlice = createSlice({ - name: 'myData', - initialState, - reducers: { - addMyData: (state) => { - state.value += 1 - } - }, -}) - -export const {addMyData} = myDataSlice.actions; - -export const selectMyData = (state: RootState) => state.myData.value; - -export default myDataSlice.reducer; - diff --git a/src/store/store.ts b/src/store/store.ts index e07f4c3..679fdb1 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -1,26 +1,12 @@ import {configureStore} from '@reduxjs/toolkit'; -import myDataReducer from "./myDataSlice"; -import ProductionMonitoringEntityReducer from "./ProductionMonitoringEntity"; -import ChangeCssReducer from "./ChangeLangAndCss"; import ChangeLineIDReducer from "./ChangeLineID"; -import EquipmentMonitorEntityReducer from "./EquipmentMonitorEntity"; -import QualityMonitorEntityReducer from "./QualityMonitorEntity" -import ChangeSwitchStateReducer from "./ChangeSwitchState" -import EquStatusEntityReducer, {EquStatusEntity} from "./EquStatusEntity" import LinePageReducer from "./LinePageSlice" import LeaderPageReducer from './LeaderPageSlice'; export const store = configureStore({ reducer: { - myData: myDataReducer, - ProductionMonitoringEntity: ProductionMonitoringEntityReducer, - ChangeCss: ChangeCssReducer, ChangeLineID: ChangeLineIDReducer, - EquipmentMonitorEntity: EquipmentMonitorEntityReducer, - QualityMonitorEntity: QualityMonitorEntityReducer, - ChangeSwitchState: ChangeSwitchStateReducer, - EquStatusEntity: EquStatusEntityReducer, LinePageSlice: LinePageReducer, LeaderPageSlice: LeaderPageReducer }, From 288e2c8e042ebc4efb3ce126177bea6f3913e4a8 Mon Sep 17 00:00:00 2001 From: juzi <819872918@qq.com> Date: Fri, 21 Feb 2025 16:03:07 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=B6=88=E9=99=A4=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/LinePage4-2/Right/RightDown.tsx | 6 +++--- src/page/LinePage4-2/Right/RightUp.tsx | 2 +- src/page/LinePage5-1/Center/CenterDown.tsx | 24 +++++++++++----------- src/page/LinePage5-1/Left/LeftDown.tsx | 6 +++--- src/page/LinePage5-1/Left/LeftUp.tsx | 15 +++++++------- src/page/LinePage5-1/Right/RightDown.tsx | 6 +++--- src/page/LinePage5-1/Right/RightUp.tsx | 2 +- src/page/LinePage5-2/Center/CenterDown.tsx | 22 ++++++++++---------- src/page/LinePage5-2/Left/LeftDown.tsx | 6 +++--- src/page/LinePage5-2/Left/LeftUp.tsx | 12 +++++------ src/page/LinePage5-2/Right/RightDown.tsx | 6 +++--- src/page/LinePage5-2/Right/RightUp.tsx | 2 +- src/store/UpdateData.tsx | 2 +- 13 files changed, 56 insertions(+), 55 deletions(-) diff --git a/src/page/LinePage4-2/Right/RightDown.tsx b/src/page/LinePage4-2/Right/RightDown.tsx index 82b2ee3..2403307 100644 --- a/src/page/LinePage4-2/Right/RightDown.tsx +++ b/src/page/LinePage4-2/Right/RightDown.tsx @@ -81,7 +81,7 @@ function RightDown() { // @ts-ignore if (data.todayProductionDets && data.todayProductionDets.length > 0) { // @ts-ignore - data.todayProductionDets.map((item,index)=>{ + data.todayProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); @@ -97,7 +97,7 @@ function RightDown() { // @ts-ignore if (data.weekProductionDets && data.weekProductionDets.length > 0) { // @ts-ignore - data.weekProductionDets.map((item,index)=>{ + data.weekProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); @@ -113,7 +113,7 @@ function RightDown() { // @ts-ignore if (data.monthProductionDets && data.monthProductionDets.length > 0) { // @ts-ignore - data.monthProductionDets.map((item,index)=>{ + data.monthProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); diff --git a/src/page/LinePage4-2/Right/RightUp.tsx b/src/page/LinePage4-2/Right/RightUp.tsx index a2ade9b..314bc27 100644 --- a/src/page/LinePage4-2/Right/RightUp.tsx +++ b/src/page/LinePage4-2/Right/RightUp.tsx @@ -19,7 +19,7 @@ function RightUp() { // @ts-ignore if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sectionDet.map((item, index) => { + data.sectionDet.forEach((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage5-1/Center/CenterDown.tsx b/src/page/LinePage5-1/Center/CenterDown.tsx index 71fdcf1..632b12b 100644 --- a/src/page/LinePage5-1/Center/CenterDown.tsx +++ b/src/page/LinePage5-1/Center/CenterDown.tsx @@ -29,7 +29,7 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[1].ename); + const [activeName] = useState(nameList[1].ename); // const handleButtonChange = (activeName: string) => { // setActiveName(activeName); // }; @@ -52,7 +52,7 @@ function CenterDown() { // @ts-ignore sumAlarm = data.alarms.length // @ts-ignore - data.alarms.map((item,index) => { + data.alarms.forEach((item,index) => { let arrInner = [] arrInner.push( index+1, @@ -70,11 +70,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.todayProductionRates) // @ts-ignore - data.todayProductionRates[keys[0]].map((item,index)=>{ + data.todayProductionRates[keys[0]].forEach((item,index)=>{ // @ts-ignore dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -85,7 +85,7 @@ function CenterDown() { // @ts-ignore obj.name = data.todayProductionRates[item][0].lineName // @ts-ignore - data.todayProductionRates[item].map((subItem,index)=>{ + data.todayProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) @@ -100,11 +100,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.weekProductionRates) // @ts-ignore - data.weekProductionRates[keys[0]].map((item,index)=>{ + data.weekProductionRates[keys[0]].forEach((item,index)=>{ // @ts-ignore dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -115,7 +115,7 @@ function CenterDown() { // @ts-ignore obj.name = data.weekProductionRates[item][0].lineName // @ts-ignore - data.weekProductionRates[item].map((subItem,index)=>{ + data.weekProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) @@ -130,11 +130,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.monthProductionRates) // @ts-ignore - data.monthProductionRates[keys[0]].map((item,index)=>{ + data.monthProductionRates[keys[0]].forEach((item,index)=>{ // @ts-ignore dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -145,7 +145,7 @@ function CenterDown() { // @ts-ignore obj.name = data.monthProductionRates[item][0].lineName // @ts-ignore - data.monthProductionRates[item].map((subItem,index)=>{ + data.monthProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) @@ -192,7 +192,7 @@ function CenterDown() { {}
)} - {chartData.xData.length==0 && ( + {chartData.xData.length===0 && (

0) { // @ts-ignore - data.todayProductionScraps.map((item,index)=>{ + data.todayProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); @@ -90,7 +90,7 @@ function LeftDown() { // @ts-ignore if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { // @ts-ignore - data.weekProductionScraps.map((item,index)=>{ + data.weekProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); @@ -103,7 +103,7 @@ function LeftDown() { // @ts-ignore if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { // @ts-ignore - data.monthProductionScraps.map((item,index)=>{ + data.monthProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); diff --git a/src/page/LinePage5-1/Left/LeftUp.tsx b/src/page/LinePage5-1/Left/LeftUp.tsx index de4d768..88371da 100644 --- a/src/page/LinePage5-1/Left/LeftUp.tsx +++ b/src/page/LinePage5-1/Left/LeftUp.tsx @@ -37,7 +37,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -67,7 +67,7 @@ function LeftUp() { for(let i = 0;i < dataSource.day.series.length;i++){ let itemSeries = dataSource.day.series[i] // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.todayAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore @@ -105,7 +105,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -135,7 +135,7 @@ function LeftUp() { for(let i = 0;i < dataSource.week.series.length;i++){ let itemSeries = dataSource.week.series[i] // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.weekAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore @@ -173,7 +173,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -201,9 +201,9 @@ function LeftUp() { let item = dataSource.month.xData[k]; let sumIner = 0 for(let i = 0;i < dataSource.month.series.length;i++){ - let itemSeries = dataSource.month.series[i] + var itemSeries = dataSource.month.series[i] // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.monthAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore @@ -217,6 +217,7 @@ function LeftUp() { } } sum.push(sumIner) + } dataSource.month.series.push({ data: sum, diff --git a/src/page/LinePage5-1/Right/RightDown.tsx b/src/page/LinePage5-1/Right/RightDown.tsx index 6b620cb..e5294cd 100644 --- a/src/page/LinePage5-1/Right/RightDown.tsx +++ b/src/page/LinePage5-1/Right/RightDown.tsx @@ -81,7 +81,7 @@ function RightDown() { // @ts-ignore if (data.todayProductionDets && data.todayProductionDets.length > 0) { // @ts-ignore - data.todayProductionDets.map((item,index)=>{ + data.todayProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); @@ -97,7 +97,7 @@ function RightDown() { // @ts-ignore if (data.weekProductionDets && data.weekProductionDets.length > 0) { // @ts-ignore - data.weekProductionDets.map((item,index)=>{ + data.weekProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); @@ -113,7 +113,7 @@ function RightDown() { // @ts-ignore if (data.monthProductionDets && data.monthProductionDets.length > 0) { // @ts-ignore - data.monthProductionDets.map((item,index)=>{ + data.monthProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); diff --git a/src/page/LinePage5-1/Right/RightUp.tsx b/src/page/LinePage5-1/Right/RightUp.tsx index 4d1946c..dc449f8 100644 --- a/src/page/LinePage5-1/Right/RightUp.tsx +++ b/src/page/LinePage5-1/Right/RightUp.tsx @@ -19,7 +19,7 @@ function RightUp() { // @ts-ignore if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sectionDet.map((item, index) => { + data.sectionDet.forEach((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/page/LinePage5-2/Center/CenterDown.tsx b/src/page/LinePage5-2/Center/CenterDown.tsx index fef412d..d235a27 100644 --- a/src/page/LinePage5-2/Center/CenterDown.tsx +++ b/src/page/LinePage5-2/Center/CenterDown.tsx @@ -29,7 +29,7 @@ function CenterDown() { { name: "周", ename: "week" }, { name: "月", ename: "month" }, ]; - const [activeName, setActiveName] = useState(nameList[1].ename); + const [activeName] = useState(nameList[1].ename); // const handleButtonChange = (activeName: string) => { // setActiveName(activeName); // }; @@ -52,7 +52,7 @@ function CenterDown() { // @ts-ignore sumAlarm = data.alarms.length // @ts-ignore - data.alarms.map((item,index) => { + data.alarms.forEach((item,index) => { let arrInner = [] arrInner.push( index+1, @@ -70,11 +70,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.todayProductionRates) // @ts-ignore - data.todayProductionRates[keys[0]].map((item,index)=>{ + data.todayProductionRates[keys[0]].mforEachap((item,index)=>{ // @ts-ignore dataSource.day.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -85,7 +85,7 @@ function CenterDown() { // @ts-ignore obj.name = data.todayProductionRates[item][0].lineName // @ts-ignore - data.todayProductionRates[item].map((subItem,index)=>{ + data.todayProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) @@ -100,11 +100,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.weekProductionRates) // @ts-ignore - data.weekProductionRates[keys[0]].map((item,index)=>{ + data.weekProductionRates[keys[0]].forEach((item,index)=>{ // @ts-ignore dataSource.week.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -115,7 +115,7 @@ function CenterDown() { // @ts-ignore obj.name = data.weekProductionRates[item][0].lineName // @ts-ignore - data.weekProductionRates[item].map((subItem,index)=>{ + data.weekProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) @@ -130,11 +130,11 @@ function CenterDown() { // @ts-ignore let keys = Object.keys(data.monthProductionRates) // @ts-ignore - data.monthProductionRates[keys[0]].map((item,index)=>{ + data.monthProductionRates[keys[0]].forEach((item,index)=>{ // @ts-ignore dataSource.month.xData.push(dayjs(item.recTime).format("HH:mm")) }) - keys.map((item,index)=>{ + keys.forEach((item,index)=>{ let obj = { name: "", type: "line", @@ -145,7 +145,7 @@ function CenterDown() { // @ts-ignore obj.name = data.monthProductionRates[item][0].lineName // @ts-ignore - data.monthProductionRates[item].map((subItem,index)=>{ + data.monthProductionRates[item].forEach((subItem,index)=>{ // @ts-ignore obj.data.push(subItem.passRate) }) diff --git a/src/page/LinePage5-2/Left/LeftDown.tsx b/src/page/LinePage5-2/Left/LeftDown.tsx index ff14474..e3f3564 100644 --- a/src/page/LinePage5-2/Left/LeftDown.tsx +++ b/src/page/LinePage5-2/Left/LeftDown.tsx @@ -77,7 +77,7 @@ function LeftDown() { // @ts-ignore if (data.todayProductionScraps && data.todayProductionScraps.length > 0) { // @ts-ignore - data.todayProductionScraps.map((item,index)=>{ + data.todayProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr1.push(arrInner); @@ -90,7 +90,7 @@ function LeftDown() { // @ts-ignore if (data.weekProductionScraps && data.weekProductionScraps.length > 0) { // @ts-ignore - data.weekProductionScraps.map((item,index)=>{ + data.weekProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr2.push(arrInner); @@ -103,7 +103,7 @@ function LeftDown() { // @ts-ignore if (data.monthProductionScraps && data.monthProductionScraps.length > 0) { // @ts-ignore - data.monthProductionScraps.map((item,index)=>{ + data.monthProductionScraps.forEach((item,index)=>{ let arrInner = []; arrInner.push(index+1,item.sectionName,item.scrapNum || 0); arr3.push(arrInner); diff --git a/src/page/LinePage5-2/Left/LeftUp.tsx b/src/page/LinePage5-2/Left/LeftUp.tsx index 61c9eb4..793e46b 100644 --- a/src/page/LinePage5-2/Left/LeftUp.tsx +++ b/src/page/LinePage5-2/Left/LeftUp.tsx @@ -37,7 +37,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -67,7 +67,7 @@ function LeftUp() { for(let i = 0;i < dataSource.day.series.length;i++){ let itemSeries = dataSource.day.series[i] // @ts-ignore - data.todayAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.todayAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore @@ -105,7 +105,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -135,7 +135,7 @@ function LeftUp() { for(let i = 0;i < dataSource.week.series.length;i++){ let itemSeries = dataSource.week.series[i] // @ts-ignore - data.weekAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.weekAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore @@ -173,7 +173,7 @@ function LeftUp() { let sum: number[] = []; // 生成obj // @ts-ignore - data.scrapBars.map((item,index) => { + data.scrapBars.forEach((item,index) => { let obj = { data: [], type: "bar", @@ -203,7 +203,7 @@ function LeftUp() { for(let i = 0;i < dataSource.month.series.length;i++){ let itemSeries = dataSource.month.series[i] // @ts-ignore - data.monthAllProductionScraps[item].map((itemInner,indexInner)=>{ + data.monthAllProductionScraps[item].forEach((itemInner,indexInner)=>{ // @ts-ignore if (itemInner.sectionName.indexOf(itemSeries.name)!==-1) { // @ts-ignore diff --git a/src/page/LinePage5-2/Right/RightDown.tsx b/src/page/LinePage5-2/Right/RightDown.tsx index 9d38343..1e50aee 100644 --- a/src/page/LinePage5-2/Right/RightDown.tsx +++ b/src/page/LinePage5-2/Right/RightDown.tsx @@ -80,7 +80,7 @@ function RightDown() { // @ts-ignore if (data.todayProductionDets && data.todayProductionDets.length > 0) { // @ts-ignore - data.todayProductionDets.map((item,index)=>{ + data.todayProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("HH:mm"),item.inputNum,item.outputNum); arr1.push(arrInner); @@ -96,7 +96,7 @@ function RightDown() { // @ts-ignore if (data.weekProductionDets && data.weekProductionDets.length > 0) { // @ts-ignore - data.weekProductionDets.map((item,index)=>{ + data.weekProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr2.push(arrInner); @@ -112,7 +112,7 @@ function RightDown() { // @ts-ignore if (data.monthProductionDets && data.monthProductionDets.length > 0) { // @ts-ignore - data.monthProductionDets.map((item,index)=>{ + data.monthProductionDets.forEach((item,index)=>{ let arrInner = []; arrInner.push(dayjs(item.recTime).format("YYYY/MM/DD"),item.inputNum,item.outputNum); arr3.push(arrInner); diff --git a/src/page/LinePage5-2/Right/RightUp.tsx b/src/page/LinePage5-2/Right/RightUp.tsx index df58c9e..0ec15dc 100644 --- a/src/page/LinePage5-2/Right/RightUp.tsx +++ b/src/page/LinePage5-2/Right/RightUp.tsx @@ -19,7 +19,7 @@ function RightUp() { // @ts-ignore if (data.sectionDet && data.sectionDet.length > 0) { // @ts-ignore - data.sectionDet.map((item, index) => { + data.sectionDet.forEach((item, index) => { let arrInner = [] arrInner.push(index + 1, item.lineName, item.inputNum, item.outputNum) arr.push(arrInner) diff --git a/src/store/UpdateData.tsx b/src/store/UpdateData.tsx index c8162ab..4b1a019 100644 --- a/src/store/UpdateData.tsx +++ b/src/store/UpdateData.tsx @@ -1,4 +1,4 @@ -import React, {useState} from "react"; +import {useState} from "react"; import {useAppDispatch} from "./hooks"; import axios from "axios";