xinference 1.5.1__py3-none-any.whl → 1.6.0.post1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of xinference might be problematic. Click here for more details.
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +97 -8
- xinference/client/restful/restful_client.py +51 -11
- xinference/core/media_interface.py +758 -0
- xinference/core/model.py +49 -9
- xinference/core/worker.py +31 -37
- xinference/deploy/utils.py +0 -3
- xinference/model/audio/__init__.py +16 -27
- xinference/model/audio/core.py +1 -0
- xinference/model/audio/cosyvoice.py +4 -2
- xinference/model/audio/model_spec.json +20 -3
- xinference/model/audio/model_spec_modelscope.json +18 -1
- xinference/model/embedding/__init__.py +16 -24
- xinference/model/image/__init__.py +15 -25
- xinference/model/llm/__init__.py +37 -110
- xinference/model/llm/core.py +15 -6
- xinference/model/llm/llama_cpp/core.py +25 -353
- xinference/model/llm/llm_family.json +613 -89
- xinference/model/llm/llm_family.py +9 -1
- xinference/model/llm/llm_family_modelscope.json +540 -90
- xinference/model/llm/mlx/core.py +6 -3
- xinference/model/llm/reasoning_parser.py +281 -5
- xinference/model/llm/sglang/core.py +16 -3
- xinference/model/llm/transformers/chatglm.py +2 -2
- xinference/model/llm/transformers/cogagent.py +1 -1
- xinference/model/llm/transformers/cogvlm2.py +1 -1
- xinference/model/llm/transformers/core.py +9 -3
- xinference/model/llm/transformers/glm4v.py +1 -1
- xinference/model/llm/transformers/minicpmv26.py +1 -1
- xinference/model/llm/transformers/qwen-omni.py +6 -0
- xinference/model/llm/transformers/qwen_vl.py +1 -1
- xinference/model/llm/utils.py +68 -45
- xinference/model/llm/vllm/core.py +38 -18
- xinference/model/llm/vllm/xavier/test/test_xavier.py +1 -10
- xinference/model/rerank/__init__.py +13 -24
- xinference/model/video/__init__.py +15 -25
- xinference/model/video/core.py +3 -3
- xinference/model/video/diffusers.py +133 -16
- xinference/model/video/model_spec.json +54 -0
- xinference/model/video/model_spec_modelscope.json +56 -0
- xinference/thirdparty/cosyvoice/bin/average_model.py +5 -4
- xinference/thirdparty/cosyvoice/bin/export_jit.py +50 -20
- xinference/thirdparty/cosyvoice/bin/export_onnx.py +136 -51
- xinference/thirdparty/cosyvoice/bin/inference.py +15 -5
- xinference/thirdparty/cosyvoice/bin/train.py +7 -2
- xinference/thirdparty/cosyvoice/cli/cosyvoice.py +72 -52
- xinference/thirdparty/cosyvoice/cli/frontend.py +58 -58
- xinference/thirdparty/cosyvoice/cli/model.py +140 -155
- xinference/thirdparty/cosyvoice/dataset/processor.py +9 -5
- xinference/thirdparty/cosyvoice/flow/decoder.py +656 -54
- xinference/thirdparty/cosyvoice/flow/flow.py +69 -11
- xinference/thirdparty/cosyvoice/flow/flow_matching.py +167 -63
- xinference/thirdparty/cosyvoice/flow/length_regulator.py +1 -0
- xinference/thirdparty/cosyvoice/hifigan/discriminator.py +91 -1
- xinference/thirdparty/cosyvoice/hifigan/f0_predictor.py +4 -1
- xinference/thirdparty/cosyvoice/hifigan/generator.py +4 -1
- xinference/thirdparty/cosyvoice/hifigan/hifigan.py +2 -2
- xinference/thirdparty/cosyvoice/llm/llm.py +198 -18
- xinference/thirdparty/cosyvoice/transformer/embedding.py +12 -4
- xinference/thirdparty/cosyvoice/transformer/upsample_encoder.py +124 -21
- xinference/thirdparty/cosyvoice/utils/class_utils.py +13 -0
- xinference/thirdparty/cosyvoice/utils/common.py +1 -1
- xinference/thirdparty/cosyvoice/utils/file_utils.py +40 -2
- xinference/thirdparty/cosyvoice/utils/frontend_utils.py +7 -0
- xinference/thirdparty/cosyvoice/utils/mask.py +4 -0
- xinference/thirdparty/cosyvoice/utils/train_utils.py +5 -1
- xinference/thirdparty/matcha/hifigan/xutils.py +3 -3
- xinference/types.py +0 -71
- xinference/web/ui/build/asset-manifest.json +3 -3
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/js/main.ae579a97.js +3 -0
- xinference/web/ui/build/static/js/main.ae579a97.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/0196a4b09e3264614e54360d5f832c46b31d964ec58296765ebff191ace6adbf.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/12e02ee790dbf57ead09a241a93bb5f893393aa36628ca741d44390e836a103f.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/18fa271456b31cded36c05c4c71c6b2b1cf4e4128c1e32f0e45d8b9f21764397.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2fdc61dcb6a9d1fbcb44be592d0e87d8c3f21297a7327559ef5345665f8343f7.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/3d596a3e8dd6430d7ce81d164e32c31f8d47cfa5f725c328a298754d78563e14.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/8472e58a31720892d534f3febda31f746b25ec4aa60787eef34217b074e67965.json +1 -0
- xinference/web/ui/src/locales/en.json +6 -4
- xinference/web/ui/src/locales/zh.json +6 -4
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/METADATA +59 -39
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/RECORD +87 -87
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/WHEEL +1 -1
- xinference/core/image_interface.py +0 -377
- xinference/thirdparty/cosyvoice/bin/export_trt.sh +0 -9
- xinference/web/ui/build/static/js/main.91e77b5c.js +0 -3
- xinference/web/ui/build/static/js/main.91e77b5c.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/0f0adb2283a8f469d097a7a0ebb754624fa52414c83b83696c41f2e6a737ceda.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/5e6edb0fb87e3798f142e9abf8dd2dc46bab33a60d31dff525797c0c99887097.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/6087820be1bd5c02c42dff797e7df365448ef35ab26dd5d6bd33e967e05cbfd4.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/8157db83995c671eb57abc316c337f867d1dc63fb83520bb4ff351fee57dcce2.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/f04f666b77b44d7be3e16034d6b0074de2ba9c254f1fae15222b3148608fa8b3.json +0 -1
- /xinference/web/ui/build/static/js/{main.91e77b5c.js.LICENSE.txt → main.ae579a97.js.LICENSE.txt} +0 -0
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/entry_points.txt +0 -0
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/licenses/LICENSE +0 -0
- {xinference-1.5.1.dist-info → xinference-1.6.0.post1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _defineProperty from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{AddBoxOutlined,ChevronRightOutlined,DescriptionOutlined,DnsOutlined,GitHub,OpenInNew,RocketLaunchOutlined,SmartToyOutlined}from'@mui/icons-material';import{Box,Drawer,List,ListItem,ListItemButton,ListItemIcon,ListItemText,Typography,useTheme}from'@mui/material';import{useEffect,useState}from'react';import{useTranslation}from'react-i18next';import{useLocation,useNavigate}from'react-router-dom';import icon from'../media/icon.webp';import ThemeButton from'./themeButton';import TranslateButton from'./translateButton';import VersionLabel from'./versionLabel';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var MenuSide=function MenuSide(){var theme=useTheme();var _useLocation=useLocation(),pathname=_useLocation.pathname;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),active=_useState2[0],setActive=_useState2[1];var navigate=useNavigate();var _useState3=useState(\"\".concat(Math.min(Math.max(window.innerWidth*0.2,287),320),\"px\")),_useState4=_slicedToArray(_useState3,2),drawerWidth=_useState4[0],setDrawerWidth=_useState4[1];var _useTranslation=useTranslation(),i18n=_useTranslation.i18n,t=_useTranslation.t;var navItems=[{text:'launch_model',label:t('menu.launchModel'),icon:/*#__PURE__*/_jsx(RocketLaunchOutlined,{})},{text:'running_models',label:t('menu.runningModels'),icon:/*#__PURE__*/_jsx(SmartToyOutlined,{})},{text:'register_model',label:t('menu.registerModel'),icon:/*#__PURE__*/_jsx(AddBoxOutlined,{})},{text:'cluster_information',label:t('menu.clusterInfo'),icon:/*#__PURE__*/_jsx(DnsOutlined,{})},{text:'documentation',label:t('menu.documentation'),icon:/*#__PURE__*/_jsx(DescriptionOutlined,{})},{text:'contact_us',label:t('menu.contactUs'),icon:/*#__PURE__*/_jsx(GitHub,{})}];useEffect(function(){setActive(pathname.substring(1));},[pathname]);useEffect(function(){var screenWidth=window.innerWidth;var maxDrawerWidth=Math.min(Math.max(screenWidth*0.2,287),320);setDrawerWidth(\"\".concat(maxDrawerWidth,\"px\"));// Update the drawer width on window resize\nvar handleResize=function handleResize(){var newScreenWidth=window.innerWidth;var newMaxDrawerWidth=Math.min(Math.max(newScreenWidth*0.2,287),320);setDrawerWidth(\"\".concat(newMaxDrawerWidth,\"px\"));};window.addEventListener('resize',handleResize);return function(){window.removeEventListener('resize',handleResize);};},[]);return/*#__PURE__*/_jsxs(Drawer,{variant:\"permanent\",sx:_objectSpread(_objectSpread({width:drawerWidth},theme.mixins.toolbar),{},_defineProperty({flexShrink:0},\"& .MuiDrawer-paper\",{width:drawerWidth,boxSizing:'border-box'})),style:{zIndex:1},children:[/*#__PURE__*/_jsx(Box,{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",children:/*#__PURE__*/_jsx(Box,{display:\"flex\",m:\"2rem 1rem 0rem 1rem\",width:\"217px\",children:/*#__PURE__*/_jsxs(Box,{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",textTransform:\"none\",children:[/*#__PURE__*/_jsx(Box,{component:\"img\",alt:\"profile\",src:icon,height:\"60px\",width:\"60px\",borderRadius:\"50%\",sx:{objectFit:'cover',mr:1.5}}),/*#__PURE__*/_jsx(Box,{textAlign:\"left\",children:/*#__PURE__*/_jsx(Typography,{fontWeight:\"bold\",fontSize:\"1.7rem\",children:'Xinference'})})]})})}),/*#__PURE__*/_jsx(Box,{sx:{flexGrow:1},children:/*#__PURE__*/_jsxs(Box,{width:\"100%\",children:[/*#__PURE__*/_jsx(Box,{m:\"1.5rem 2rem 2rem 3rem\"}),/*#__PURE__*/_jsx(List,{children:navItems.map(function(_ref){var text=_ref.text,label=_ref.label,icon=_ref.icon;if(!icon){return/*#__PURE__*/_jsx(Typography,{sx:{m:'2.25rem 0 1rem 3rem'},children:label},text);}return/*#__PURE__*/_jsx(ListItem,{children:/*#__PURE__*/_jsxs(ListItemButton,{onClick:function onClick(){if(text==='contact_us'){window.open('https://github.com/xorbitsai/inference','_blank','noreferrer');}else if(text==='documentation'){window.open('https://inference.readthedocs.io/'+(i18n.language==='zh'?'zh-cn':''),'_blank','noreferrer');}else if(text==='launch_model'){sessionStorage.setItem('modelType','/launch_model/llm');navigate('/launch_model/llm');setActive(text);sessionStorage.setItem('lastActiveUrl',text);console.log(active);}else if(text==='cluster_information'){navigate('/cluster_info');setActive(text);}else if(text==='running_models'){navigate('/running_models/LLM');sessionStorage.setItem('runningModelType','/running_models/LLM');setActive(text);sessionStorage.setItem('lastActiveUrl',text);console.log(active);}else if(text==='register_model'){sessionStorage.setItem('registerModelType','/register_model/llm');navigate('/register_model/llm');setActive(text);sessionStorage.setItem('lastActiveUrl',text);console.log(active);}else{navigate(\"/\".concat(text));setActive(text);console.log(active);}},children:[/*#__PURE__*/_jsx(ListItemIcon,{sx:{ml:'2rem'},children:icon}),/*#__PURE__*/_jsx(ListItemText,{primary:label}),text==='contact_us'||text==='documentation'?/*#__PURE__*/_jsx(OpenInNew,{sx:{ml:'auto',mr:'0.5rem',fontSize:'small'}}):/*#__PURE__*/_jsx(ChevronRightOutlined,{sx:{ml:'auto'}})]})},text);})})]})}),/*#__PURE__*/_jsxs(Box,{display:\"flex\",alignItems:\"center\",marginX:'3rem',children:[/*#__PURE__*/_jsx(ThemeButton,{sx:{m:'1rem'}}),/*#__PURE__*/_jsx(TranslateButton,{}),/*#__PURE__*/_jsx(VersionLabel,{sx:{ml:'auto'}})]})]});};export default MenuSide;","map":{"version":3,"names":["AddBoxOutlined","ChevronRightOutlined","DescriptionOutlined","DnsOutlined","GitHub","OpenInNew","RocketLaunchOutlined","SmartToyOutlined","Box","Drawer","List","ListItem","ListItemButton","ListItemIcon","ListItemText","Typography","useTheme","useEffect","useState","useTranslation","useLocation","useNavigate","icon","ThemeButton","TranslateButton","VersionLabel","jsx","_jsx","jsxs","_jsxs","MenuSide","theme","_useLocation","pathname","_useState","_useState2","_slicedToArray","active","setActive","navigate","_useState3","concat","Math","min","max","window","innerWidth","_useState4","drawerWidth","setDrawerWidth","_useTranslation","i18n","t","navItems","text","label","substring","screenWidth","maxDrawerWidth","handleResize","newScreenWidth","newMaxDrawerWidth","addEventListener","removeEventListener","variant","sx","_objectSpread","width","mixins","toolbar","_defineProperty","flexShrink","boxSizing","style","zIndex","children","display","justifyContent","alignItems","m","textTransform","component","alt","src","height","borderRadius","objectFit","mr","textAlign","fontWeight","fontSize","flexGrow","map","_ref","onClick","open","language","sessionStorage","setItem","console","log","ml","primary","marginX"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/components/MenuSide.js"],"sourcesContent":["import {\n AddBoxOutlined,\n ChevronRightOutlined,\n DescriptionOutlined,\n DnsOutlined,\n GitHub,\n OpenInNew,\n RocketLaunchOutlined,\n SmartToyOutlined,\n} from '@mui/icons-material'\nimport {\n Box,\n Drawer,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation, useNavigate } from 'react-router-dom'\n\nimport icon from '../media/icon.webp'\nimport ThemeButton from './themeButton'\nimport TranslateButton from './translateButton'\nimport VersionLabel from './versionLabel'\n\nconst MenuSide = () => {\n const theme = useTheme()\n const { pathname } = useLocation()\n const [active, setActive] = useState('')\n const navigate = useNavigate()\n const [drawerWidth, setDrawerWidth] = useState(\n `${Math.min(Math.max(window.innerWidth * 0.2, 287), 320)}px`\n )\n const { i18n, t } = useTranslation()\n\n const navItems = [\n {\n text: 'launch_model',\n label: t('menu.launchModel'),\n icon: <RocketLaunchOutlined />,\n },\n {\n text: 'running_models',\n label: t('menu.runningModels'),\n icon: <SmartToyOutlined />,\n },\n {\n text: 'register_model',\n label: t('menu.registerModel'),\n icon: <AddBoxOutlined />,\n },\n {\n text: 'cluster_information',\n label: t('menu.clusterInfo'),\n icon: <DnsOutlined />,\n },\n {\n text: 'documentation',\n label: t('menu.documentation'),\n icon: <DescriptionOutlined />,\n },\n {\n text: 'contact_us',\n label: t('menu.contactUs'),\n icon: <GitHub />,\n },\n ]\n\n useEffect(() => {\n setActive(pathname.substring(1))\n }, [pathname])\n\n useEffect(() => {\n const screenWidth = window.innerWidth\n const maxDrawerWidth = Math.min(Math.max(screenWidth * 0.2, 287), 320)\n setDrawerWidth(`${maxDrawerWidth}px`)\n\n // Update the drawer width on window resize\n const handleResize = () => {\n const newScreenWidth = window.innerWidth\n const newMaxDrawerWidth = Math.min(\n Math.max(newScreenWidth * 0.2, 287),\n 320\n )\n setDrawerWidth(`${newMaxDrawerWidth}px`)\n }\n\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n return (\n <Drawer\n variant=\"permanent\"\n sx={{\n width: drawerWidth,\n ...theme.mixins.toolbar,\n flexShrink: 0,\n [`& .MuiDrawer-paper`]: {\n width: drawerWidth,\n boxSizing: 'border-box',\n },\n }}\n style={{ zIndex: 1 }}\n >\n {/* Title */}\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Box display=\"flex\" m=\"2rem 1rem 0rem 1rem\" width=\"217px\">\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n textTransform=\"none\"\n >\n <Box\n component=\"img\"\n alt=\"profile\"\n src={icon}\n height=\"60px\"\n width=\"60px\"\n borderRadius=\"50%\"\n sx={{ objectFit: 'cover', mr: 1.5 }}\n />\n <Box textAlign=\"left\">\n <Typography fontWeight=\"bold\" fontSize=\"1.7rem\">\n {'Xinference'}\n </Typography>\n </Box>\n </Box>\n </Box>\n </Box>\n\n <Box sx={{ flexGrow: 1 }}>\n <Box width=\"100%\">\n <Box m=\"1.5rem 2rem 2rem 3rem\"></Box>\n <List>\n {navItems.map(({ text, label, icon }) => {\n if (!icon) {\n return (\n <Typography key={text} sx={{ m: '2.25rem 0 1rem 3rem' }}>\n {label}\n </Typography>\n )\n }\n return (\n <ListItem key={text}>\n <ListItemButton\n onClick={() => {\n if (text === 'contact_us') {\n window.open(\n 'https://github.com/xorbitsai/inference',\n '_blank',\n 'noreferrer'\n )\n } else if (text === 'documentation') {\n window.open(\n 'https://inference.readthedocs.io/' +\n (i18n.language === 'zh' ? 'zh-cn' : ''),\n '_blank',\n 'noreferrer'\n )\n } else if (text === 'launch_model') {\n sessionStorage.setItem('modelType', '/launch_model/llm')\n navigate('/launch_model/llm')\n setActive(text)\n sessionStorage.setItem('lastActiveUrl', text)\n console.log(active)\n } else if (text === 'cluster_information') {\n navigate('/cluster_info')\n setActive(text)\n } else if (text === 'running_models') {\n navigate('/running_models/LLM')\n sessionStorage.setItem(\n 'runningModelType',\n '/running_models/LLM'\n )\n setActive(text)\n sessionStorage.setItem('lastActiveUrl', text)\n console.log(active)\n } else if (text === 'register_model') {\n sessionStorage.setItem(\n 'registerModelType',\n '/register_model/llm'\n )\n navigate('/register_model/llm')\n setActive(text)\n sessionStorage.setItem('lastActiveUrl', text)\n console.log(active)\n } else {\n navigate(`/${text}`)\n setActive(text)\n console.log(active)\n }\n }}\n >\n <ListItemIcon\n sx={{\n ml: '2rem',\n }}\n >\n {icon}\n </ListItemIcon>\n <ListItemText primary={label} />\n {text === 'contact_us' || text === 'documentation' ? (\n <OpenInNew\n sx={{ ml: 'auto', mr: '0.5rem', fontSize: 'small' }}\n />\n ) : (\n <ChevronRightOutlined sx={{ ml: 'auto' }} />\n )}\n </ListItemButton>\n </ListItem>\n )\n })}\n </List>\n </Box>\n </Box>\n\n <Box display=\"flex\" alignItems=\"center\" marginX={'3rem'}>\n <ThemeButton sx={{ m: '1rem' }} />\n <TranslateButton />\n <VersionLabel sx={{ ml: 'auto' }} />\n </Box>\n </Drawer>\n )\n}\n\nexport default MenuSide\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import ContentCopyOutlinedIcon from'@mui/icons-material/ContentCopyOutlined';import DeleteOutlineOutlinedIcon from'@mui/icons-material/DeleteOutlineOutlined';import OpenInBrowserOutlinedIcon from'@mui/icons-material/OpenInBrowserOutlined';import{TabContext,TabList,TabPanel}from'@mui/lab';import{Badge,Box,IconButton,Stack,Tab,Tooltip}from'@mui/material';import{DataGrid}from'@mui/x-data-grid';import React,{useContext,useEffect,useState}from'react';import{useCookies}from'react-cookie';import{useTranslation}from'react-i18next';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import fetcher from'../../components/fetcher';import fetchWrapper from'../../components/fetchWrapper';import Title from'../../components/Title';import{isValidBearerToken}from'../../components/utils';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var tabArr=[{label:'model.languageModels',value:'/running_models/LLM',showPrompt:false},{label:'model.embeddingModels',value:'/running_models/embedding',showPrompt:false},{label:'model.rerankModels',value:'/running_models/rerank',showPrompt:false},{label:'model.imageModels',value:'/running_models/image',showPrompt:false},{label:'model.audioModels',value:'/running_models/audio',showPrompt:false},{label:'model.videoModels',value:'/running_models/video',showPrompt:false},{label:'model.flexibleModels',value:'/running_models/flexible',showPrompt:false}];var RunningModels=function RunningModels(){var _React$useState=React.useState(sessionStorage.getItem('runningModelType')),_React$useState2=_slicedToArray(_React$useState,2),tabValue=_React$useState2[0],setTabValue=_React$useState2[1];var _useState=useState(tabArr),_useState2=_slicedToArray(_useState,2),tabList=_useState2[0],setTabList=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),llmData=_useState4[0],setLlmData=_useState4[1];var _useState5=useState([]),_useState6=_slicedToArray(_useState5,2),embeddingModelData=_useState6[0],setEmbeddingModelData=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),imageModelData=_useState8[0],setImageModelData=_useState8[1];var _useState9=useState([]),_useState10=_slicedToArray(_useState9,2),audioModelData=_useState10[0],setAudioModelData=_useState10[1];var _useState11=useState([]),_useState12=_slicedToArray(_useState11,2),videoModelData=_useState12[0],setVideoModelData=_useState12[1];var _useState13=useState([]),_useState14=_slicedToArray(_useState13,2),rerankModelData=_useState14[0],setRerankModelData=_useState14[1];var _useState15=useState([]),_useState16=_slicedToArray(_useState15,2),flexibleModelData=_useState16[0],setFlexibleModelData=_useState16[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel,setIsUpdatingModel=_useContext2.setIsUpdatingModel;var _useContext3=useContext(ApiContext),setErrorMsg=_useContext3.setErrorMsg;var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var endPoint=useContext(ApiContext).endPoint;var _useTranslation=useTranslation(),t=_useTranslation.t;var handleTabChange=function handleTabChange(event,newValue){setTabValue(newValue);navigate(newValue);sessionStorage.setItem('runningModelType',newValue);};var update=function update(isCallingApi){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});return;}if(isCallingApi){setLlmData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setEmbeddingModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setAudioModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setVideoModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setImageModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setRerankModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);setFlexibleModelData([{id:'Loading, do not refresh page...',url:'IS_LOADING'}]);}else{setIsUpdatingModel(true);fetchWrapper.get('/v1/models').then(function(response){var newLlmData=[];var newEmbeddingModelData=[];var newImageModelData=[];var newAudioModelData=[];var newVideoModelData=[];var newRerankModelData=[];var newFlexibleModelData=[];response.data.forEach(function(model){var newValue=_objectSpread(_objectSpread({},model),{},{id:model.id,url:model.id});if(newValue.model_type==='LLM'){newLlmData.push(newValue);}else if(newValue.model_type==='embedding'){newEmbeddingModelData.push(newValue);}else if(newValue.model_type==='audio'){newAudioModelData.push(newValue);}else if(newValue.model_type==='video'){newVideoModelData.push(newValue);}else if(newValue.model_type==='image'){newImageModelData.push(newValue);}else if(newValue.model_type==='rerank'){newRerankModelData.push(newValue);}else if(newValue.model_type==='flexible'){newFlexibleModelData.push(newValue);}});setLlmData(newLlmData);setEmbeddingModelData(newEmbeddingModelData);setAudioModelData(newAudioModelData);setVideoModelData(newVideoModelData);setImageModelData(newImageModelData);setRerankModelData(newRerankModelData);setFlexibleModelData(newFlexibleModelData);setIsUpdatingModel(false);}).catch(function(error){console.error('Error:',error);setIsUpdatingModel(false);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}};useEffect(function(){update(isCallingApi);// eslint-disable-next-line\n},[isCallingApi,cookie.token]);var llmColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref){var row=_ref.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref2){var row=_ref2.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'model_size_in_billions',headerName:t('runningModels.size'),flex:1},{field:'quantization',headerName:t('runningModels.quantization'),flex:1},{field:'replica',headerName:t('runningModels.replica'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref3){var row=_ref3.row;var url=row.url;var openUrl=\"\".concat(endPoint,\"/\")+url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;var gradioUrl=\"\".concat(endPoint,\"/v1/ui/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsxs(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:[/*#__PURE__*/_jsx(IconButton,{title:\"Launch Web UI\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){// Make sure no ongoing call\nreturn;}setIsCallingApi(true);fetcher(openUrl,{method:'HEAD'}).then(function(response){if(response.status===404){// If web UI doesn't exist (404 Not Found)\nconsole.log('UI does not exist, creating new...');return fetcher(gradioUrl,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model_type:row.model_type,model_name:row.model_family,model_size_in_billions:row.model_size_in_billions,model_format:row.model_format,quantization:row.quantization,context_length:row.context_length,model_ability:row.model_ability,model_description:row.model_description,model_lang:row.model_lang})}).then(function(response){return response.json();}).then(function(){return window.open(openUrl,'_blank','noopener noreferrer');}).finally(function(){return setIsCallingApi(false);});}else if(response.ok){// If web UI does exist\nconsole.log('UI exists, opening...');window.open(openUrl,'_blank','noopener noreferrer');setIsCallingApi(false);}else{// Other HTTP errors\nconsole.error(\"Unexpected response status: \".concat(response.status));setIsCallingApi(false);}}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(OpenInBrowserOutlinedIcon,{})})}),/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})]});}}];var embeddingModelColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref4){var row=_ref4.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref5){var row=_ref5.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'replica',headerName:t('runningModels.replica'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref6){var row=_ref6.row;var url=row.url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsx(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})});}}];var imageModelColumns=[{field:'id',headerName:'ID',flex:1,minWidth:250,renderCell:function renderCell(_ref7){var row=_ref7.row;return renderWithCopy(row.id);}},{field:'model_name',headerName:t('runningModels.name'),flex:1,renderCell:function renderCell(_ref8){var row=_ref8.row;return renderWithCopy(row.model_name);}},{field:'address',headerName:t('runningModels.address'),flex:1},{field:'accelerators',headerName:t('runningModels.gpuIndexes'),flex:1},{field:'url',headerName:t('runningModels.actions'),flex:1,minWidth:200,sortable:false,filterable:false,disableColumnMenu:true,renderCell:function renderCell(_ref9){var row=_ref9.row;// this URL means model_uid\nvar url=row.url;console.log('url: '+url);var openUrl=\"\".concat(endPoint,\"/\")+url;var closeUrl=\"\".concat(endPoint,\"/v1/models/\")+url;var pathType;if(row.model_type==='video'){pathType='videos';}else if(row.model_type==='audio'){pathType='audios';}else{pathType='images';// default\n}var gradioUrl=\"\".concat(endPoint,\"/v1/ui/\").concat(pathType,\"/\")+url;if(url==='IS_LOADING'){return/*#__PURE__*/_jsx(\"div\",{});}return/*#__PURE__*/_jsxs(Box,{style:{width:'100%',display:'flex',justifyContent:'left',alignItems:'left'},children:[/*#__PURE__*/_jsx(IconButton,{title:\"Launch Web UI\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){// Make sure no ongoing call\nreturn;}setIsCallingApi(true);fetcher(openUrl,{method:'HEAD'}).then(function(response){if(response.status===404){// If web UI doesn't exist (404 Not Found)\nconsole.log('UI does not exist, creating new...');return fetcher(gradioUrl,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model_type:row.model_type,model_family:row.model_family,model_id:row.id,controlnet:row.controlnet,model_revision:row.model_revision,model_name:row.model_name,model_ability:row.model_ability})}).then(function(response){return response.json();}).then(function(){return window.open(openUrl,'_blank','noopener noreferrer');}).finally(function(){return setIsCallingApi(false);});}else if(response.ok){// If web UI does exist\nconsole.log('UI exists, opening...');window.open(openUrl,'_blank','noopener noreferrer');setIsCallingApi(false);}else{// Other HTTP errors\nconsole.error(\"Unexpected response status: \".concat(response.status));setIsCallingApi(false);}}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(OpenInBrowserOutlinedIcon,{})})}),/*#__PURE__*/_jsx(IconButton,{title:\"Terminate Model\",style:{borderWidth:'0px',backgroundColor:'transparent',paddingLeft:'0px',paddingRight:'10px'},onClick:function onClick(){if(isCallingApi||isUpdatingModel){return;}setIsCallingApi(true);fetcher(closeUrl,{method:'DELETE'}).then(function(response){response.json();}).then(function(){setIsCallingApi(false);}).catch(function(error){console.error('Error:',error);setIsCallingApi(false);});},children:/*#__PURE__*/_jsx(Box,{width:\"40px\",m:\"0 auto\",p:\"5px\",display:\"flex\",justifyContent:\"center\",borderRadius:\"4px\",style:{border:'1px solid #e5e7eb',borderWidth:'1px',borderColor:'#e5e7eb'},children:/*#__PURE__*/_jsx(DeleteOutlineOutlinedIcon,{})})})]});}}];var audioModelColumns=imageModelColumns;var videoModelColumns=imageModelColumns;var rerankModelColumns=embeddingModelColumns;var flexibleModelColumns=embeddingModelColumns;var dataGridStyle={'& .MuiDataGrid-cell':{borderBottom:'none'},'& .MuiDataGrid-columnHeaders':{borderBottom:'none'},'& .MuiDataGrid-columnHeaderTitle':{fontWeight:'bold'},'& .MuiDataGrid-virtualScroller':{overflowX:'visible !important',overflow:'visible'},'& .MuiDataGrid-footerContainer':{borderTop:'none'},'border-width':'0px'};var noRowsOverlay=function noRowsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:t('runningModels.noRunningModels')});};var noResultsOverlay=function noResultsOverlay(){return/*#__PURE__*/_jsx(Stack,{height:\"100%\",alignItems:\"center\",justifyContent:\"center\",children:t('runningModels.noRunningModelsMatches')});};var renderWithCopy=function renderWithCopy(display){var _useState17=useState(false),_useState18=_slicedToArray(_useState17,2),tooltipOpen=_useState18[0],setTooltipOpen=_useState18[1];var _useState19=useState(t('runningModels.copy')),_useState20=_slicedToArray(_useState19,2),tooltipText=_useState20[0],setTooltipText=_useState20[1];var handleCopy=function handleCopy(event){event.stopPropagation();if(navigator.clipboard&&window.isSecureContext){// for HTTPS\nnavigator.clipboard.writeText(display).then(function(){setTooltipText(t('runningModels.copied'));}).catch(function(){setTooltipText(t('runningModels.copyFailed'));}).finally(function(){setTooltipOpen(true);setTimeout(function(){setTooltipOpen(false);setTooltipText(t('runningModels.copy'));},1500);});}else{// for HTTP\nvar textArea=document.createElement('textarea');textArea.value=display;textArea.style.position='absolute';textArea.style.left='-9999px';document.body.appendChild(textArea);textArea.select();try{var success=document.execCommand('copy');if(success){setTooltipText(t('runningModels.copied'));}else{setTooltipText(t('runningModels.copyFailed'));}}catch(err){setTooltipText(t('runningModels.copyFailed'));}document.body.removeChild(textArea);setTooltipOpen(true);setTimeout(function(){setTooltipOpen(false);setTooltipText(t('runningModels.copy'));},1500);}};return/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',maxWidth:'100%',overflow:'hidden'},children:[/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minWidth:0,overflow:'hidden',whiteSpace:'nowrap',textOverflow:'ellipsis',marginRight:8},children:display}),/*#__PURE__*/_jsx(Tooltip,{title:tooltipText,open:tooltipOpen,children:/*#__PURE__*/_jsx(IconButton,{size:\"small\",onClick:handleCopy,children:/*#__PURE__*/_jsx(ContentCopyOutlinedIcon,{fontSize:\"small\"})})})]});};useEffect(function(){var dataMap={'model.languageModels':llmData,'model.embeddingModels':embeddingModelData,'model.rerankModels':rerankModelData,'model.imageModels':imageModelData,'model.audioModels':audioModelData,'model.videoModels':videoModelData,'model.flexibleModels':flexibleModelData};setTabList(tabList.map(function(item){var _dataMap$item$label;if((_dataMap$item$label=dataMap[item.label])!==null&&_dataMap$item$label!==void 0&&_dataMap$item$label.length&&dataMap[item.label][0].model_type){return _objectSpread(_objectSpread({},item),{},{showPrompt:true});}return _objectSpread(_objectSpread({},item),{},{showPrompt:false});}));},[llmData,embeddingModelData,rerankModelData,imageModelData,audioModelData,videoModelData,flexibleModelData]);return/*#__PURE__*/_jsxs(Box,{sx:{height:'100%',width:'100%',padding:'20px 20px 0 20px'},children:[/*#__PURE__*/_jsx(Title,{title:t('menu.runningModels')}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsxs(TabContext,{value:tabValue,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsx(TabList,{value:tabValue,onChange:handleTabChange,\"aria-label\":\"tabs\",children:tabList.map(function(item){return/*#__PURE__*/_jsx(Tab,{label:/*#__PURE__*/_jsx(Badge,{color:\"secondary\",variant:\"dot\",invisible:!item.showPrompt,children:t(item.label)}),value:item.value},item.value);})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/LLM\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:llmData,columns:llmColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/embedding\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:embeddingModelData,columns:embeddingModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/rerank\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:rerankModelData,columns:rerankModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/image\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:imageModelData,columns:imageModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/audio\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:audioModelData,columns:audioModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/video\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:videoModelData,columns:videoModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/running_models/flexible\",sx:{padding:0},children:/*#__PURE__*/_jsx(Box,{sx:{height:'100%',width:'100%'},children:/*#__PURE__*/_jsx(DataGrid,{rows:flexibleModelData,columns:flexibleModelColumns,autoHeight:true,sx:dataGridStyle,slots:{noRowsOverlay:noRowsOverlay,noResultsOverlay:noResultsOverlay}})})})]})]});};export default RunningModels;","map":{"version":3,"names":["ContentCopyOutlinedIcon","DeleteOutlineOutlinedIcon","OpenInBrowserOutlinedIcon","TabContext","TabList","TabPanel","Badge","Box","IconButton","Stack","Tab","Tooltip","DataGrid","React","useContext","useEffect","useState","useCookies","useTranslation","useNavigate","ApiContext","ErrorMessageSnackBar","fetcher","fetchWrapper","Title","isValidBearerToken","jsx","_jsx","jsxs","_jsxs","tabArr","label","value","showPrompt","RunningModels","_React$useState","sessionStorage","getItem","_React$useState2","_slicedToArray","tabValue","setTabValue","_useState","_useState2","tabList","setTabList","_useState3","_useState4","llmData","setLlmData","_useState5","_useState6","embeddingModelData","setEmbeddingModelData","_useState7","_useState8","imageModelData","setImageModelData","_useState9","_useState10","audioModelData","setAudioModelData","_useState11","_useState12","videoModelData","setVideoModelData","_useState13","_useState14","rerankModelData","setRerankModelData","_useState15","_useState16","flexibleModelData","setFlexibleModelData","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","setIsUpdatingModel","_useContext3","setErrorMsg","_useCookies","_useCookies2","cookie","navigate","endPoint","_useTranslation","t","handleTabChange","event","newValue","setItem","update","token","replace","id","url","get","then","response","newLlmData","newEmbeddingModelData","newImageModelData","newAudioModelData","newVideoModelData","newRerankModelData","newFlexibleModelData","data","forEach","model","_objectSpread","model_type","push","catch","error","console","status","message","llmColumns","field","headerName","flex","minWidth","renderCell","_ref","row","renderWithCopy","_ref2","model_name","sortable","filterable","disableColumnMenu","_ref3","openUrl","concat","closeUrl","gradioUrl","style","width","display","justifyContent","alignItems","children","title","borderWidth","backgroundColor","paddingLeft","paddingRight","onClick","method","log","headers","body","JSON","stringify","model_family","model_size_in_billions","model_format","quantization","context_length","model_ability","model_description","model_lang","json","window","open","finally","ok","m","p","borderRadius","border","borderColor","embeddingModelColumns","_ref4","_ref5","_ref6","imageModelColumns","_ref7","_ref8","_ref9","pathType","model_id","controlnet","model_revision","audioModelColumns","videoModelColumns","rerankModelColumns","flexibleModelColumns","dataGridStyle","borderBottom","fontWeight","overflowX","overflow","borderTop","noRowsOverlay","height","noResultsOverlay","_useState17","_useState18","tooltipOpen","setTooltipOpen","_useState19","_useState20","tooltipText","setTooltipText","handleCopy","stopPropagation","navigator","clipboard","isSecureContext","writeText","setTimeout","textArea","document","createElement","position","left","appendChild","select","success","execCommand","err","removeChild","maxWidth","whiteSpace","textOverflow","marginRight","size","fontSize","dataMap","map","item","_dataMap$item$label","length","sx","padding","onChange","color","variant","invisible","rows","columns","autoHeight","slots"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/running_models/index.js"],"sourcesContent":["import ContentCopyOutlinedIcon from '@mui/icons-material/ContentCopyOutlined'\nimport DeleteOutlineOutlinedIcon from '@mui/icons-material/DeleteOutlineOutlined'\nimport OpenInBrowserOutlinedIcon from '@mui/icons-material/OpenInBrowserOutlined'\nimport { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Badge, Box, IconButton, Stack, Tab, Tooltip } from '@mui/material'\nimport { DataGrid } from '@mui/x-data-grid'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useTranslation } from 'react-i18next'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport fetcher from '../../components/fetcher'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport Title from '../../components/Title'\nimport { isValidBearerToken } from '../../components/utils'\n\nconst tabArr = [\n {\n label: 'model.languageModels',\n value: '/running_models/LLM',\n showPrompt: false,\n },\n {\n label: 'model.embeddingModels',\n value: '/running_models/embedding',\n showPrompt: false,\n },\n {\n label: 'model.rerankModels',\n value: '/running_models/rerank',\n showPrompt: false,\n },\n {\n label: 'model.imageModels',\n value: '/running_models/image',\n showPrompt: false,\n },\n {\n label: 'model.audioModels',\n value: '/running_models/audio',\n showPrompt: false,\n },\n {\n label: 'model.videoModels',\n value: '/running_models/video',\n showPrompt: false,\n },\n {\n label: 'model.flexibleModels',\n value: '/running_models/flexible',\n showPrompt: false,\n },\n]\n\nconst RunningModels = () => {\n const [tabValue, setTabValue] = React.useState(\n sessionStorage.getItem('runningModelType')\n )\n const [tabList, setTabList] = useState(tabArr)\n const [llmData, setLlmData] = useState([])\n const [embeddingModelData, setEmbeddingModelData] = useState([])\n const [imageModelData, setImageModelData] = useState([])\n const [audioModelData, setAudioModelData] = useState([])\n const [videoModelData, setVideoModelData] = useState([])\n const [rerankModelData, setRerankModelData] = useState([])\n const [flexibleModelData, setFlexibleModelData] = useState([])\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel, setIsUpdatingModel } = useContext(ApiContext)\n const { setErrorMsg } = useContext(ApiContext)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n const endPoint = useContext(ApiContext).endPoint\n const { t } = useTranslation()\n\n const handleTabChange = (event, newValue) => {\n setTabValue(newValue)\n navigate(newValue)\n sessionStorage.setItem('runningModelType', newValue)\n }\n\n const update = (isCallingApi) => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n return\n }\n if (isCallingApi) {\n setLlmData([{ id: 'Loading, do not refresh page...', url: 'IS_LOADING' }])\n setEmbeddingModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setAudioModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setVideoModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setImageModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setRerankModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n setFlexibleModelData([\n { id: 'Loading, do not refresh page...', url: 'IS_LOADING' },\n ])\n } else {\n setIsUpdatingModel(true)\n\n fetchWrapper\n .get('/v1/models')\n .then((response) => {\n const newLlmData = []\n const newEmbeddingModelData = []\n const newImageModelData = []\n const newAudioModelData = []\n const newVideoModelData = []\n const newRerankModelData = []\n const newFlexibleModelData = []\n response.data.forEach((model) => {\n let newValue = {\n ...model,\n id: model.id,\n url: model.id,\n }\n if (newValue.model_type === 'LLM') {\n newLlmData.push(newValue)\n } else if (newValue.model_type === 'embedding') {\n newEmbeddingModelData.push(newValue)\n } else if (newValue.model_type === 'audio') {\n newAudioModelData.push(newValue)\n } else if (newValue.model_type === 'video') {\n newVideoModelData.push(newValue)\n } else if (newValue.model_type === 'image') {\n newImageModelData.push(newValue)\n } else if (newValue.model_type === 'rerank') {\n newRerankModelData.push(newValue)\n } else if (newValue.model_type === 'flexible') {\n newFlexibleModelData.push(newValue)\n }\n })\n setLlmData(newLlmData)\n setEmbeddingModelData(newEmbeddingModelData)\n setAudioModelData(newAudioModelData)\n setVideoModelData(newVideoModelData)\n setImageModelData(newImageModelData)\n setRerankModelData(newRerankModelData)\n setFlexibleModelData(newFlexibleModelData)\n setIsUpdatingModel(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsUpdatingModel(false)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n }\n }\n\n useEffect(() => {\n update(isCallingApi)\n // eslint-disable-next-line\n }, [isCallingApi, cookie.token])\n\n const llmColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'model_size_in_billions',\n headerName: t('runningModels.size'),\n flex: 1,\n },\n {\n field: 'quantization',\n headerName: t('runningModels.quantization'),\n flex: 1,\n },\n {\n field: 'replica',\n headerName: t('runningModels.replica'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const openUrl = `${endPoint}/` + url\n const closeUrl = `${endPoint}/v1/models/` + url\n const gradioUrl = `${endPoint}/v1/ui/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Launch Web UI\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n // Make sure no ongoing call\n return\n }\n\n setIsCallingApi(true)\n\n fetcher(openUrl, {\n method: 'HEAD',\n })\n .then((response) => {\n if (response.status === 404) {\n // If web UI doesn't exist (404 Not Found)\n console.log('UI does not exist, creating new...')\n return fetcher(gradioUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model_type: row.model_type,\n model_name: row.model_family,\n model_size_in_billions: row.model_size_in_billions,\n model_format: row.model_format,\n quantization: row.quantization,\n context_length: row.context_length,\n model_ability: row.model_ability,\n model_description: row.model_description,\n model_lang: row.model_lang,\n }),\n })\n .then((response) => response.json())\n .then(() =>\n window.open(openUrl, '_blank', 'noopener noreferrer')\n )\n .finally(() => setIsCallingApi(false))\n } else if (response.ok) {\n // If web UI does exist\n console.log('UI exists, opening...')\n window.open(openUrl, '_blank', 'noopener noreferrer')\n setIsCallingApi(false)\n } else {\n // Other HTTP errors\n console.error(\n `Unexpected response status: ${response.status}`\n )\n setIsCallingApi(false)\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <OpenInBrowserOutlinedIcon />\n </Box>\n </IconButton>\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const embeddingModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'replica',\n headerName: t('runningModels.replica'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n const url = row.url\n const closeUrl = `${endPoint}/v1/models/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const imageModelColumns = [\n {\n field: 'id',\n headerName: 'ID',\n flex: 1,\n minWidth: 250,\n renderCell: ({ row }) => {\n return renderWithCopy(row.id)\n },\n },\n {\n field: 'model_name',\n headerName: t('runningModels.name'),\n flex: 1,\n renderCell: ({ row }) => {\n return renderWithCopy(row.model_name)\n },\n },\n {\n field: 'address',\n headerName: t('runningModels.address'),\n flex: 1,\n },\n {\n field: 'accelerators',\n headerName: t('runningModels.gpuIndexes'),\n flex: 1,\n },\n {\n field: 'url',\n headerName: t('runningModels.actions'),\n flex: 1,\n minWidth: 200,\n sortable: false,\n filterable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n // this URL means model_uid\n const url = row.url\n console.log('url: ' + url)\n const openUrl = `${endPoint}/` + url\n const closeUrl = `${endPoint}/v1/models/` + url\n let pathType\n if (row.model_type === 'video') {\n pathType = 'videos'\n } else if (row.model_type === 'audio') {\n pathType = 'audios'\n } else {\n pathType = 'images' // default\n }\n const gradioUrl = `${endPoint}/v1/ui/${pathType}/` + url\n\n if (url === 'IS_LOADING') {\n return <div></div>\n }\n\n return (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'left',\n }}\n >\n <IconButton\n title=\"Launch Web UI\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n // Make sure no ongoing call\n return\n }\n\n setIsCallingApi(true)\n\n fetcher(openUrl, {\n method: 'HEAD',\n })\n .then((response) => {\n if (response.status === 404) {\n // If web UI doesn't exist (404 Not Found)\n console.log('UI does not exist, creating new...')\n return fetcher(gradioUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n model_type: row.model_type,\n model_family: row.model_family,\n model_id: row.id,\n controlnet: row.controlnet,\n model_revision: row.model_revision,\n model_name: row.model_name,\n model_ability: row.model_ability,\n }),\n })\n .then((response) => response.json())\n .then(() =>\n window.open(openUrl, '_blank', 'noopener noreferrer')\n )\n .finally(() => setIsCallingApi(false))\n } else if (response.ok) {\n // If web UI does exist\n console.log('UI exists, opening...')\n window.open(openUrl, '_blank', 'noopener noreferrer')\n setIsCallingApi(false)\n } else {\n // Other HTTP errors\n console.error(\n `Unexpected response status: ${response.status}`\n )\n setIsCallingApi(false)\n }\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <OpenInBrowserOutlinedIcon />\n </Box>\n </IconButton>\n <IconButton\n title=\"Terminate Model\"\n style={{\n borderWidth: '0px',\n backgroundColor: 'transparent',\n paddingLeft: '0px',\n paddingRight: '10px',\n }}\n onClick={() => {\n if (isCallingApi || isUpdatingModel) {\n return\n }\n setIsCallingApi(true)\n fetcher(closeUrl, {\n method: 'DELETE',\n })\n .then((response) => {\n response.json()\n })\n .then(() => {\n setIsCallingApi(false)\n })\n .catch((error) => {\n console.error('Error:', error)\n setIsCallingApi(false)\n })\n }}\n >\n <Box\n width=\"40px\"\n m=\"0 auto\"\n p=\"5px\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\"4px\"\n style={{\n border: '1px solid #e5e7eb',\n borderWidth: '1px',\n borderColor: '#e5e7eb',\n }}\n >\n <DeleteOutlineOutlinedIcon />\n </Box>\n </IconButton>\n </Box>\n )\n },\n },\n ]\n const audioModelColumns = imageModelColumns\n const videoModelColumns = imageModelColumns\n const rerankModelColumns = embeddingModelColumns\n const flexibleModelColumns = embeddingModelColumns\n\n const dataGridStyle = {\n '& .MuiDataGrid-cell': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaders': {\n borderBottom: 'none',\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontWeight: 'bold',\n },\n '& .MuiDataGrid-virtualScroller': {\n overflowX: 'visible !important',\n overflow: 'visible',\n },\n '& .MuiDataGrid-footerContainer': {\n borderTop: 'none',\n },\n 'border-width': '0px',\n }\n\n const noRowsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n {t('runningModels.noRunningModels')}\n </Stack>\n )\n }\n\n const noResultsOverlay = () => {\n return (\n <Stack height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n {t('runningModels.noRunningModelsMatches')}\n </Stack>\n )\n }\n\n const renderWithCopy = (display) => {\n const [tooltipOpen, setTooltipOpen] = useState(false)\n const [tooltipText, setTooltipText] = useState(t('runningModels.copy'))\n\n const handleCopy = (event) => {\n event.stopPropagation()\n\n if (navigator.clipboard && window.isSecureContext) {\n // for HTTPS\n navigator.clipboard\n .writeText(display)\n .then(() => {\n setTooltipText(t('runningModels.copied'))\n })\n .catch(() => {\n setTooltipText(t('runningModels.copyFailed'))\n })\n .finally(() => {\n setTooltipOpen(true)\n setTimeout(() => {\n setTooltipOpen(false)\n setTooltipText(t('runningModels.copy'))\n }, 1500)\n })\n } else {\n // for HTTP\n const textArea = document.createElement('textarea')\n textArea.value = display\n textArea.style.position = 'absolute'\n textArea.style.left = '-9999px'\n document.body.appendChild(textArea)\n textArea.select()\n\n try {\n const success = document.execCommand('copy')\n if (success) {\n setTooltipText(t('runningModels.copied'))\n } else {\n setTooltipText(t('runningModels.copyFailed'))\n }\n } catch (err) {\n setTooltipText(t('runningModels.copyFailed'))\n }\n\n document.body.removeChild(textArea)\n\n setTooltipOpen(true)\n setTimeout(() => {\n setTooltipOpen(false)\n setTooltipText(t('runningModels.copy'))\n }, 1500)\n }\n }\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n overflow: 'hidden',\n }}\n >\n <span\n style={{\n flex: 1,\n minWidth: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n marginRight: 8,\n }}\n >\n {display}\n </span>\n <Tooltip title={tooltipText} open={tooltipOpen}>\n <IconButton size=\"small\" onClick={handleCopy}>\n <ContentCopyOutlinedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </div>\n )\n }\n\n useEffect(() => {\n const dataMap = {\n 'model.languageModels': llmData,\n 'model.embeddingModels': embeddingModelData,\n 'model.rerankModels': rerankModelData,\n 'model.imageModels': imageModelData,\n 'model.audioModels': audioModelData,\n 'model.videoModels': videoModelData,\n 'model.flexibleModels': flexibleModelData,\n }\n\n setTabList(\n tabList.map((item) => {\n if (dataMap[item.label]?.length && dataMap[item.label][0].model_type) {\n return {\n ...item,\n showPrompt: true,\n }\n }\n return {\n ...item,\n showPrompt: false,\n }\n })\n )\n }, [\n llmData,\n embeddingModelData,\n rerankModelData,\n imageModelData,\n audioModelData,\n videoModelData,\n flexibleModelData,\n ])\n\n return (\n <Box\n sx={{\n height: '100%',\n width: '100%',\n padding: '20px 20px 0 20px',\n }}\n >\n <Title title={t('menu.runningModels')} />\n <ErrorMessageSnackBar />\n <TabContext value={tabValue}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n value={tabValue}\n onChange={handleTabChange}\n aria-label=\"tabs\"\n >\n {tabList.map((item) => (\n <Tab\n key={item.value}\n label={\n <Badge\n color=\"secondary\"\n variant=\"dot\"\n invisible={!item.showPrompt}\n >\n {t(item.label)}\n </Badge>\n }\n value={item.value}\n />\n ))}\n </TabList>\n </Box>\n <TabPanel value=\"/running_models/LLM\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={llmData}\n columns={llmColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/embedding\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={embeddingModelData}\n columns={embeddingModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/rerank\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={rerankModelData}\n columns={rerankModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/image\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={imageModelData}\n columns={imageModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/audio\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={audioModelData}\n columns={audioModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/video\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={videoModelData}\n columns={videoModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n <TabPanel value=\"/running_models/flexible\" sx={{ padding: 0 }}>\n <Box sx={{ height: '100%', width: '100%' }}>\n <DataGrid\n rows={flexibleModelData}\n columns={flexibleModelColumns}\n autoHeight={true}\n sx={dataGridStyle}\n slots={{\n noRowsOverlay: noRowsOverlay,\n noResultsOverlay: noResultsOverlay,\n }}\n />\n </Box>\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default RunningModels\n"],"mappings":"yRAAA,MAAO,CAAAA,uBAAuB,KAAM,yCAAyC,CAC7E,MAAO,CAAAC,yBAAyB,KAAM,2CAA2C,CACjF,MAAO,CAAAC,yBAAyB,KAAM,2CAA2C,CACjF,OAASC,UAAU,CAAEC,OAAO,CAAEC,QAAQ,KAAQ,UAAU,CACxD,OAASC,KAAK,CAAEC,GAAG,CAAEC,UAAU,CAAEC,KAAK,CAAEC,GAAG,CAAEC,OAAO,KAAQ,eAAe,CAC3E,OAASC,QAAQ,KAAQ,kBAAkB,CAC3C,MAAO,CAAAC,KAAK,EAAIC,UAAU,CAAEC,SAAS,CAAEC,QAAQ,KAAQ,OAAO,CAC9D,OAASC,UAAU,KAAQ,cAAc,CACzC,OAASC,cAAc,KAAQ,eAAe,CAC9C,OAASC,WAAW,KAAQ,kBAAkB,CAE9C,OAASC,UAAU,KAAQ,6BAA6B,CACxD,MAAO,CAAAC,oBAAoB,KAAM,uCAAuC,CACxE,MAAO,CAAAC,OAAO,KAAM,0BAA0B,CAC9C,MAAO,CAAAC,YAAY,KAAM,+BAA+B,CACxD,MAAO,CAAAC,KAAK,KAAM,wBAAwB,CAC1C,OAASC,kBAAkB,KAAQ,wBAAwB,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAE3D,GAAM,CAAAC,MAAM,CAAG,CACb,CACEC,KAAK,CAAE,sBAAsB,CAC7BC,KAAK,CAAE,qBAAqB,CAC5BC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,uBAAuB,CAC9BC,KAAK,CAAE,2BAA2B,CAClCC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,oBAAoB,CAC3BC,KAAK,CAAE,wBAAwB,CAC/BC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,mBAAmB,CAC1BC,KAAK,CAAE,uBAAuB,CAC9BC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,mBAAmB,CAC1BC,KAAK,CAAE,uBAAuB,CAC9BC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,mBAAmB,CAC1BC,KAAK,CAAE,uBAAuB,CAC9BC,UAAU,CAAE,KACd,CAAC,CACD,CACEF,KAAK,CAAE,sBAAsB,CAC7BC,KAAK,CAAE,0BAA0B,CACjCC,UAAU,CAAE,KACd,CAAC,CACF,CAED,GAAM,CAAAC,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAS,CAC1B,IAAAC,eAAA,CAAgCtB,KAAK,CAACG,QAAQ,CAC5CoB,cAAc,CAACC,OAAO,CAAC,kBAAkB,CAC3C,CAAC,CAAAC,gBAAA,CAAAC,cAAA,CAAAJ,eAAA,IAFMK,QAAQ,CAAAF,gBAAA,IAAEG,WAAW,CAAAH,gBAAA,IAG5B,IAAAI,SAAA,CAA8B1B,QAAQ,CAACc,MAAM,CAAC,CAAAa,UAAA,CAAAJ,cAAA,CAAAG,SAAA,IAAvCE,OAAO,CAAAD,UAAA,IAAEE,UAAU,CAAAF,UAAA,IAC1B,IAAAG,UAAA,CAA8B9B,QAAQ,CAAC,EAAE,CAAC,CAAA+B,UAAA,CAAAR,cAAA,CAAAO,UAAA,IAAnCE,OAAO,CAAAD,UAAA,IAAEE,UAAU,CAAAF,UAAA,IAC1B,IAAAG,UAAA,CAAoDlC,QAAQ,CAAC,EAAE,CAAC,CAAAmC,UAAA,CAAAZ,cAAA,CAAAW,UAAA,IAAzDE,kBAAkB,CAAAD,UAAA,IAAEE,qBAAqB,CAAAF,UAAA,IAChD,IAAAG,UAAA,CAA4CtC,QAAQ,CAAC,EAAE,CAAC,CAAAuC,UAAA,CAAAhB,cAAA,CAAAe,UAAA,IAAjDE,cAAc,CAAAD,UAAA,IAAEE,iBAAiB,CAAAF,UAAA,IACxC,IAAAG,UAAA,CAA4C1C,QAAQ,CAAC,EAAE,CAAC,CAAA2C,WAAA,CAAApB,cAAA,CAAAmB,UAAA,IAAjDE,cAAc,CAAAD,WAAA,IAAEE,iBAAiB,CAAAF,WAAA,IACxC,IAAAG,WAAA,CAA4C9C,QAAQ,CAAC,EAAE,CAAC,CAAA+C,WAAA,CAAAxB,cAAA,CAAAuB,WAAA,IAAjDE,cAAc,CAAAD,WAAA,IAAEE,iBAAiB,CAAAF,WAAA,IACxC,IAAAG,WAAA,CAA8ClD,QAAQ,CAAC,EAAE,CAAC,CAAAmD,WAAA,CAAA5B,cAAA,CAAA2B,WAAA,IAAnDE,eAAe,CAAAD,WAAA,IAAEE,kBAAkB,CAAAF,WAAA,IAC1C,IAAAG,WAAA,CAAkDtD,QAAQ,CAAC,EAAE,CAAC,CAAAuD,WAAA,CAAAhC,cAAA,CAAA+B,WAAA,IAAvDE,iBAAiB,CAAAD,WAAA,IAAEE,oBAAoB,CAAAF,WAAA,IAC9C,IAAAG,WAAA,CAA0C5D,UAAU,CAACM,UAAU,CAAC,CAAxDuD,YAAY,CAAAD,WAAA,CAAZC,YAAY,CAAEC,eAAe,CAAAF,WAAA,CAAfE,eAAe,CACrC,IAAAC,YAAA,CAAgD/D,UAAU,CAACM,UAAU,CAAC,CAA9D0D,eAAe,CAAAD,YAAA,CAAfC,eAAe,CAAEC,kBAAkB,CAAAF,YAAA,CAAlBE,kBAAkB,CAC3C,IAAAC,YAAA,CAAwBlE,UAAU,CAACM,UAAU,CAAC,CAAtC6D,WAAW,CAAAD,YAAA,CAAXC,WAAW,CACnB,IAAAC,WAAA,CAAiBjE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAAkE,YAAA,CAAA5C,cAAA,CAAA2C,WAAA,IAA/BE,MAAM,CAAAD,YAAA,IACb,GAAM,CAAAE,QAAQ,CAAGlE,WAAW,CAAC,CAAC,CAC9B,GAAM,CAAAmE,QAAQ,CAAGxE,UAAU,CAACM,UAAU,CAAC,CAACkE,QAAQ,CAChD,IAAAC,eAAA,CAAcrE,cAAc,CAAC,CAAC,CAAtBsE,CAAC,CAAAD,eAAA,CAADC,CAAC,CAET,GAAM,CAAAC,eAAe,CAAG,QAAlB,CAAAA,eAAeA,CAAIC,KAAK,CAAEC,QAAQ,CAAK,CAC3ClD,WAAW,CAACkD,QAAQ,CAAC,CACrBN,QAAQ,CAACM,QAAQ,CAAC,CAClBvD,cAAc,CAACwD,OAAO,CAAC,kBAAkB,CAAED,QAAQ,CAAC,CACtD,CAAC,CAED,GAAM,CAAAE,MAAM,CAAG,QAAT,CAAAA,MAAMA,CAAIlB,YAAY,CAAK,CAC/B,GACEvC,cAAc,CAACC,OAAO,CAAC,MAAM,CAAC,GAAK,MAAM,EACzC,CAACZ,kBAAkB,CAACW,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,EACpD,CAACZ,kBAAkB,CAAC2D,MAAM,CAACU,KAAK,CAAC,CACjC,CACAT,QAAQ,CAAC,QAAQ,CAAE,CAAEU,OAAO,CAAE,IAAK,CAAC,CAAC,CACrC,OACF,CACA,GAAIpB,YAAY,CAAE,CAChB1B,UAAU,CAAC,CAAC,CAAE+C,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAAC,CAAC,CAC1E5C,qBAAqB,CAAC,CACpB,CAAE2C,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACFpC,iBAAiB,CAAC,CAChB,CAAEmC,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACFhC,iBAAiB,CAAC,CAChB,CAAE+B,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACFxC,iBAAiB,CAAC,CAChB,CAAEuC,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACF5B,kBAAkB,CAAC,CACjB,CAAE2B,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACFxB,oBAAoB,CAAC,CACnB,CAAEuB,EAAE,CAAE,iCAAiC,CAAEC,GAAG,CAAE,YAAa,CAAC,CAC7D,CAAC,CACJ,CAAC,IAAM,CACLlB,kBAAkB,CAAC,IAAI,CAAC,CAExBxD,YAAY,CACT2E,GAAG,CAAC,YAAY,CAAC,CACjBC,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClB,GAAM,CAAAC,UAAU,CAAG,EAAE,CACrB,GAAM,CAAAC,qBAAqB,CAAG,EAAE,CAChC,GAAM,CAAAC,iBAAiB,CAAG,EAAE,CAC5B,GAAM,CAAAC,iBAAiB,CAAG,EAAE,CAC5B,GAAM,CAAAC,iBAAiB,CAAG,EAAE,CAC5B,GAAM,CAAAC,kBAAkB,CAAG,EAAE,CAC7B,GAAM,CAAAC,oBAAoB,CAAG,EAAE,CAC/BP,QAAQ,CAACQ,IAAI,CAACC,OAAO,CAAC,SAACC,KAAK,CAAK,CAC/B,GAAI,CAAAnB,QAAQ,CAAAoB,aAAA,CAAAA,aAAA,IACPD,KAAK,MACRd,EAAE,CAAEc,KAAK,CAACd,EAAE,CACZC,GAAG,CAAEa,KAAK,CAACd,EAAE,EACd,CACD,GAAIL,QAAQ,CAACqB,UAAU,GAAK,KAAK,CAAE,CACjCX,UAAU,CAACY,IAAI,CAACtB,QAAQ,CAAC,CAC3B,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,WAAW,CAAE,CAC9CV,qBAAqB,CAACW,IAAI,CAACtB,QAAQ,CAAC,CACtC,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,OAAO,CAAE,CAC1CR,iBAAiB,CAACS,IAAI,CAACtB,QAAQ,CAAC,CAClC,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,OAAO,CAAE,CAC1CP,iBAAiB,CAACQ,IAAI,CAACtB,QAAQ,CAAC,CAClC,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,OAAO,CAAE,CAC1CT,iBAAiB,CAACU,IAAI,CAACtB,QAAQ,CAAC,CAClC,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,QAAQ,CAAE,CAC3CN,kBAAkB,CAACO,IAAI,CAACtB,QAAQ,CAAC,CACnC,CAAC,IAAM,IAAIA,QAAQ,CAACqB,UAAU,GAAK,UAAU,CAAE,CAC7CL,oBAAoB,CAACM,IAAI,CAACtB,QAAQ,CAAC,CACrC,CACF,CAAC,CAAC,CACF1C,UAAU,CAACoD,UAAU,CAAC,CACtBhD,qBAAqB,CAACiD,qBAAqB,CAAC,CAC5CzC,iBAAiB,CAAC2C,iBAAiB,CAAC,CACpCvC,iBAAiB,CAACwC,iBAAiB,CAAC,CACpChD,iBAAiB,CAAC8C,iBAAiB,CAAC,CACpClC,kBAAkB,CAACqC,kBAAkB,CAAC,CACtCjC,oBAAoB,CAACkC,oBAAoB,CAAC,CAC1C5B,kBAAkB,CAAC,KAAK,CAAC,CAC3B,CAAC,CAAC,CACDmC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BpC,kBAAkB,CAAC,KAAK,CAAC,CACzB,GAAIoC,KAAK,CAACf,QAAQ,CAACiB,MAAM,GAAK,GAAG,EAAIF,KAAK,CAACf,QAAQ,CAACiB,MAAM,GAAK,GAAG,CAAE,CAClEpC,WAAW,CAACkC,KAAK,CAACG,OAAO,CAAC,CAC5B,CACF,CAAC,CAAC,CACN,CACF,CAAC,CAEDvG,SAAS,CAAC,UAAM,CACd8E,MAAM,CAAClB,YAAY,CAAC,CACpB;AACF,CAAC,CAAE,CAACA,YAAY,CAAES,MAAM,CAACU,KAAK,CAAC,CAAC,CAEhC,GAAM,CAAAyB,UAAU,CAAG,CACjB,CACEC,KAAK,CAAE,IAAI,CACXC,UAAU,CAAE,IAAI,CAChBC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbC,UAAU,CAAE,SAAAA,WAAAC,IAAA,CAAa,IAAV,CAAAC,GAAG,CAAAD,IAAA,CAAHC,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAAC9B,EAAE,CAAC,CAC/B,CACF,CAAC,CACD,CACEwB,KAAK,CAAE,YAAY,CACnBC,UAAU,CAAEjC,CAAC,CAAC,oBAAoB,CAAC,CACnCkC,IAAI,CAAE,CAAC,CACPE,UAAU,CAAE,SAAAA,WAAAI,KAAA,CAAa,IAAV,CAAAF,GAAG,CAAAE,KAAA,CAAHF,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAACG,UAAU,CAAC,CACvC,CACF,CAAC,CACD,CACET,KAAK,CAAE,SAAS,CAChBC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,cAAc,CACrBC,UAAU,CAAEjC,CAAC,CAAC,0BAA0B,CAAC,CACzCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,wBAAwB,CAC/BC,UAAU,CAAEjC,CAAC,CAAC,oBAAoB,CAAC,CACnCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,cAAc,CACrBC,UAAU,CAAEjC,CAAC,CAAC,4BAA4B,CAAC,CAC3CkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,SAAS,CAChBC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,KAAK,CACZC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbO,QAAQ,CAAE,KAAK,CACfC,UAAU,CAAE,KAAK,CACjBC,iBAAiB,CAAE,IAAI,CACvBR,UAAU,CAAE,SAAAA,WAAAS,KAAA,CAAa,IAAV,CAAAP,GAAG,CAAAO,KAAA,CAAHP,GAAG,CAChB,GAAM,CAAA7B,GAAG,CAAG6B,GAAG,CAAC7B,GAAG,CACnB,GAAM,CAAAqC,OAAO,CAAG,GAAAC,MAAA,CAAGjD,QAAQ,MAAMW,GAAG,CACpC,GAAM,CAAAuC,QAAQ,CAAG,GAAAD,MAAA,CAAGjD,QAAQ,gBAAgBW,GAAG,CAC/C,GAAM,CAAAwC,SAAS,CAAG,GAAAF,MAAA,CAAGjD,QAAQ,YAAYW,GAAG,CAE5C,GAAIA,GAAG,GAAK,YAAY,CAAE,CACxB,mBAAOtE,IAAA,SAAU,CAAC,CACpB,CAEA,mBACEE,KAAA,CAACtB,GAAG,EACFmI,KAAK,CAAE,CACLC,KAAK,CAAE,MAAM,CACbC,OAAO,CAAE,MAAM,CACfC,cAAc,CAAE,MAAM,CACtBC,UAAU,CAAE,MACd,CAAE,CAAAC,QAAA,eAEFpH,IAAA,CAACnB,UAAU,EACTwI,KAAK,CAAC,eAAe,CACrBN,KAAK,CAAE,CACLO,WAAW,CAAE,KAAK,CAClBC,eAAe,CAAE,aAAa,CAC9BC,WAAW,CAAE,KAAK,CAClBC,YAAY,CAAE,MAChB,CAAE,CACFC,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAI1E,YAAY,EAAIG,eAAe,CAAE,CACnC;AACA,OACF,CAEAF,eAAe,CAAC,IAAI,CAAC,CAErBtD,OAAO,CAACgH,OAAO,CAAE,CACfgB,MAAM,CAAE,MACV,CAAC,CAAC,CACCnD,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClB,GAAIA,QAAQ,CAACiB,MAAM,GAAK,GAAG,CAAE,CAC3B;AACAD,OAAO,CAACmC,GAAG,CAAC,oCAAoC,CAAC,CACjD,MAAO,CAAAjI,OAAO,CAACmH,SAAS,CAAE,CACxBa,MAAM,CAAE,MAAM,CACdE,OAAO,CAAE,CACP,cAAc,CAAE,kBAClB,CAAC,CACDC,IAAI,CAAEC,IAAI,CAACC,SAAS,CAAC,CACnB3C,UAAU,CAAEc,GAAG,CAACd,UAAU,CAC1BiB,UAAU,CAAEH,GAAG,CAAC8B,YAAY,CAC5BC,sBAAsB,CAAE/B,GAAG,CAAC+B,sBAAsB,CAClDC,YAAY,CAAEhC,GAAG,CAACgC,YAAY,CAC9BC,YAAY,CAAEjC,GAAG,CAACiC,YAAY,CAC9BC,cAAc,CAAElC,GAAG,CAACkC,cAAc,CAClCC,aAAa,CAAEnC,GAAG,CAACmC,aAAa,CAChCC,iBAAiB,CAAEpC,GAAG,CAACoC,iBAAiB,CACxCC,UAAU,CAAErC,GAAG,CAACqC,UAClB,CAAC,CACH,CAAC,CAAC,CACChE,IAAI,CAAC,SAACC,QAAQ,QAAK,CAAAA,QAAQ,CAACgE,IAAI,CAAC,CAAC,GAAC,CACnCjE,IAAI,CAAC,iBACJ,CAAAkE,MAAM,CAACC,IAAI,CAAChC,OAAO,CAAE,QAAQ,CAAE,qBAAqB,CAAC,EACvD,CAAC,CACAiC,OAAO,CAAC,iBAAM,CAAA3F,eAAe,CAAC,KAAK,CAAC,GAAC,CAC1C,CAAC,IAAM,IAAIwB,QAAQ,CAACoE,EAAE,CAAE,CACtB;AACApD,OAAO,CAACmC,GAAG,CAAC,uBAAuB,CAAC,CACpCc,MAAM,CAACC,IAAI,CAAChC,OAAO,CAAE,QAAQ,CAAE,qBAAqB,CAAC,CACrD1D,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,IAAM,CACL;AACAwC,OAAO,CAACD,KAAK,gCAAAoB,MAAA,CACoBnC,QAAQ,CAACiB,MAAM,CAChD,CAAC,CACDzC,eAAe,CAAC,KAAK,CAAC,CACxB,CACF,CAAC,CAAC,CACDsC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BvC,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACN,CAAE,CAAAmE,QAAA,cAEFpH,IAAA,CAACpB,GAAG,EACFoI,KAAK,CAAC,MAAM,CACZ8B,CAAC,CAAC,QAAQ,CACVC,CAAC,CAAC,KAAK,CACP9B,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvB8B,YAAY,CAAC,KAAK,CAClBjC,KAAK,CAAE,CACLkC,MAAM,CAAE,mBAAmB,CAC3B3B,WAAW,CAAE,KAAK,CAClB4B,WAAW,CAAE,SACf,CAAE,CAAA9B,QAAA,cAEFpH,IAAA,CAACzB,yBAAyB,GAAE,CAAC,CAC1B,CAAC,CACI,CAAC,cACbyB,IAAA,CAACnB,UAAU,EACTwI,KAAK,CAAC,iBAAiB,CACvBN,KAAK,CAAE,CACLO,WAAW,CAAE,KAAK,CAClBC,eAAe,CAAE,aAAa,CAC9BC,WAAW,CAAE,KAAK,CAClBC,YAAY,CAAE,MAChB,CAAE,CACFC,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAI1E,YAAY,EAAIG,eAAe,CAAE,CACnC,OACF,CACAF,eAAe,CAAC,IAAI,CAAC,CACrBtD,OAAO,CAACkH,QAAQ,CAAE,CAChBc,MAAM,CAAE,QACV,CAAC,CAAC,CACCnD,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClBA,QAAQ,CAACgE,IAAI,CAAC,CAAC,CACjB,CAAC,CAAC,CACDjE,IAAI,CAAC,UAAM,CACVvB,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACDsC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BvC,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACN,CAAE,CAAAmE,QAAA,cAEFpH,IAAA,CAACpB,GAAG,EACFoI,KAAK,CAAC,MAAM,CACZ8B,CAAC,CAAC,QAAQ,CACVC,CAAC,CAAC,KAAK,CACP9B,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvB8B,YAAY,CAAC,KAAK,CAClBjC,KAAK,CAAE,CACLkC,MAAM,CAAE,mBAAmB,CAC3B3B,WAAW,CAAE,KAAK,CAClB4B,WAAW,CAAE,SACf,CAAE,CAAA9B,QAAA,cAEFpH,IAAA,CAAC1B,yBAAyB,GAAE,CAAC,CAC1B,CAAC,CACI,CAAC,EACV,CAAC,CAEV,CACF,CAAC,CACF,CACD,GAAM,CAAA6K,qBAAqB,CAAG,CAC5B,CACEtD,KAAK,CAAE,IAAI,CACXC,UAAU,CAAE,IAAI,CAChBC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbC,UAAU,CAAE,SAAAA,WAAAmD,KAAA,CAAa,IAAV,CAAAjD,GAAG,CAAAiD,KAAA,CAAHjD,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAAC9B,EAAE,CAAC,CAC/B,CACF,CAAC,CACD,CACEwB,KAAK,CAAE,YAAY,CACnBC,UAAU,CAAEjC,CAAC,CAAC,oBAAoB,CAAC,CACnCkC,IAAI,CAAE,CAAC,CACPE,UAAU,CAAE,SAAAA,WAAAoD,KAAA,CAAa,IAAV,CAAAlD,GAAG,CAAAkD,KAAA,CAAHlD,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAACG,UAAU,CAAC,CACvC,CACF,CAAC,CACD,CACET,KAAK,CAAE,SAAS,CAChBC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,cAAc,CACrBC,UAAU,CAAEjC,CAAC,CAAC,0BAA0B,CAAC,CACzCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,SAAS,CAChBC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,KAAK,CACZC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbO,QAAQ,CAAE,KAAK,CACfC,UAAU,CAAE,KAAK,CACjBC,iBAAiB,CAAE,IAAI,CACvBR,UAAU,CAAE,SAAAA,WAAAqD,KAAA,CAAa,IAAV,CAAAnD,GAAG,CAAAmD,KAAA,CAAHnD,GAAG,CAChB,GAAM,CAAA7B,GAAG,CAAG6B,GAAG,CAAC7B,GAAG,CACnB,GAAM,CAAAuC,QAAQ,CAAG,GAAAD,MAAA,CAAGjD,QAAQ,gBAAgBW,GAAG,CAE/C,GAAIA,GAAG,GAAK,YAAY,CAAE,CACxB,mBAAOtE,IAAA,SAAU,CAAC,CACpB,CAEA,mBACEA,IAAA,CAACpB,GAAG,EACFmI,KAAK,CAAE,CACLC,KAAK,CAAE,MAAM,CACbC,OAAO,CAAE,MAAM,CACfC,cAAc,CAAE,MAAM,CACtBC,UAAU,CAAE,MACd,CAAE,CAAAC,QAAA,cAEFpH,IAAA,CAACnB,UAAU,EACTwI,KAAK,CAAC,iBAAiB,CACvBN,KAAK,CAAE,CACLO,WAAW,CAAE,KAAK,CAClBC,eAAe,CAAE,aAAa,CAC9BC,WAAW,CAAE,KAAK,CAClBC,YAAY,CAAE,MAChB,CAAE,CACFC,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAI1E,YAAY,EAAIG,eAAe,CAAE,CACnC,OACF,CACAF,eAAe,CAAC,IAAI,CAAC,CACrBtD,OAAO,CAACkH,QAAQ,CAAE,CAChBc,MAAM,CAAE,QACV,CAAC,CAAC,CACCnD,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClBA,QAAQ,CAACgE,IAAI,CAAC,CAAC,CACjB,CAAC,CAAC,CACDjE,IAAI,CAAC,UAAM,CACVvB,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACDsC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BvC,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACN,CAAE,CAAAmE,QAAA,cAEFpH,IAAA,CAACpB,GAAG,EACFoI,KAAK,CAAC,MAAM,CACZ8B,CAAC,CAAC,QAAQ,CACVC,CAAC,CAAC,KAAK,CACP9B,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvB8B,YAAY,CAAC,KAAK,CAClBjC,KAAK,CAAE,CACLkC,MAAM,CAAE,mBAAmB,CAC3B3B,WAAW,CAAE,KAAK,CAClB4B,WAAW,CAAE,SACf,CAAE,CAAA9B,QAAA,cAEFpH,IAAA,CAAC1B,yBAAyB,GAAE,CAAC,CAC1B,CAAC,CACI,CAAC,CACV,CAAC,CAEV,CACF,CAAC,CACF,CACD,GAAM,CAAAiL,iBAAiB,CAAG,CACxB,CACE1D,KAAK,CAAE,IAAI,CACXC,UAAU,CAAE,IAAI,CAChBC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbC,UAAU,CAAE,SAAAA,WAAAuD,KAAA,CAAa,IAAV,CAAArD,GAAG,CAAAqD,KAAA,CAAHrD,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAAC9B,EAAE,CAAC,CAC/B,CACF,CAAC,CACD,CACEwB,KAAK,CAAE,YAAY,CACnBC,UAAU,CAAEjC,CAAC,CAAC,oBAAoB,CAAC,CACnCkC,IAAI,CAAE,CAAC,CACPE,UAAU,CAAE,SAAAA,WAAAwD,KAAA,CAAa,IAAV,CAAAtD,GAAG,CAAAsD,KAAA,CAAHtD,GAAG,CAChB,MAAO,CAAAC,cAAc,CAACD,GAAG,CAACG,UAAU,CAAC,CACvC,CACF,CAAC,CACD,CACET,KAAK,CAAE,SAAS,CAChBC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,cAAc,CACrBC,UAAU,CAAEjC,CAAC,CAAC,0BAA0B,CAAC,CACzCkC,IAAI,CAAE,CACR,CAAC,CACD,CACEF,KAAK,CAAE,KAAK,CACZC,UAAU,CAAEjC,CAAC,CAAC,uBAAuB,CAAC,CACtCkC,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,GAAG,CACbO,QAAQ,CAAE,KAAK,CACfC,UAAU,CAAE,KAAK,CACjBC,iBAAiB,CAAE,IAAI,CACvBR,UAAU,CAAE,SAAAA,WAAAyD,KAAA,CAAa,IAAV,CAAAvD,GAAG,CAAAuD,KAAA,CAAHvD,GAAG,CAChB;AACA,GAAM,CAAA7B,GAAG,CAAG6B,GAAG,CAAC7B,GAAG,CACnBmB,OAAO,CAACmC,GAAG,CAAC,OAAO,CAAGtD,GAAG,CAAC,CAC1B,GAAM,CAAAqC,OAAO,CAAG,GAAAC,MAAA,CAAGjD,QAAQ,MAAMW,GAAG,CACpC,GAAM,CAAAuC,QAAQ,CAAG,GAAAD,MAAA,CAAGjD,QAAQ,gBAAgBW,GAAG,CAC/C,GAAI,CAAAqF,QAAQ,CACZ,GAAIxD,GAAG,CAACd,UAAU,GAAK,OAAO,CAAE,CAC9BsE,QAAQ,CAAG,QAAQ,CACrB,CAAC,IAAM,IAAIxD,GAAG,CAACd,UAAU,GAAK,OAAO,CAAE,CACrCsE,QAAQ,CAAG,QAAQ,CACrB,CAAC,IAAM,CACLA,QAAQ,CAAG,QAAQ,CAAC;AACtB,CACA,GAAM,CAAA7C,SAAS,CAAG,GAAAF,MAAA,CAAGjD,QAAQ,YAAAiD,MAAA,CAAU+C,QAAQ,MAAMrF,GAAG,CAExD,GAAIA,GAAG,GAAK,YAAY,CAAE,CACxB,mBAAOtE,IAAA,SAAU,CAAC,CACpB,CAEA,mBACEE,KAAA,CAACtB,GAAG,EACFmI,KAAK,CAAE,CACLC,KAAK,CAAE,MAAM,CACbC,OAAO,CAAE,MAAM,CACfC,cAAc,CAAE,MAAM,CACtBC,UAAU,CAAE,MACd,CAAE,CAAAC,QAAA,eAEFpH,IAAA,CAACnB,UAAU,EACTwI,KAAK,CAAC,eAAe,CACrBN,KAAK,CAAE,CACLO,WAAW,CAAE,KAAK,CAClBC,eAAe,CAAE,aAAa,CAC9BC,WAAW,CAAE,KAAK,CAClBC,YAAY,CAAE,MAChB,CAAE,CACFC,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAI1E,YAAY,EAAIG,eAAe,CAAE,CACnC;AACA,OACF,CAEAF,eAAe,CAAC,IAAI,CAAC,CAErBtD,OAAO,CAACgH,OAAO,CAAE,CACfgB,MAAM,CAAE,MACV,CAAC,CAAC,CACCnD,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClB,GAAIA,QAAQ,CAACiB,MAAM,GAAK,GAAG,CAAE,CAC3B;AACAD,OAAO,CAACmC,GAAG,CAAC,oCAAoC,CAAC,CACjD,MAAO,CAAAjI,OAAO,CAACmH,SAAS,CAAE,CACxBa,MAAM,CAAE,MAAM,CACdE,OAAO,CAAE,CACP,cAAc,CAAE,kBAClB,CAAC,CACDC,IAAI,CAAEC,IAAI,CAACC,SAAS,CAAC,CACnB3C,UAAU,CAAEc,GAAG,CAACd,UAAU,CAC1B4C,YAAY,CAAE9B,GAAG,CAAC8B,YAAY,CAC9B2B,QAAQ,CAAEzD,GAAG,CAAC9B,EAAE,CAChBwF,UAAU,CAAE1D,GAAG,CAAC0D,UAAU,CAC1BC,cAAc,CAAE3D,GAAG,CAAC2D,cAAc,CAClCxD,UAAU,CAAEH,GAAG,CAACG,UAAU,CAC1BgC,aAAa,CAAEnC,GAAG,CAACmC,aACrB,CAAC,CACH,CAAC,CAAC,CACC9D,IAAI,CAAC,SAACC,QAAQ,QAAK,CAAAA,QAAQ,CAACgE,IAAI,CAAC,CAAC,GAAC,CACnCjE,IAAI,CAAC,iBACJ,CAAAkE,MAAM,CAACC,IAAI,CAAChC,OAAO,CAAE,QAAQ,CAAE,qBAAqB,CAAC,EACvD,CAAC,CACAiC,OAAO,CAAC,iBAAM,CAAA3F,eAAe,CAAC,KAAK,CAAC,GAAC,CAC1C,CAAC,IAAM,IAAIwB,QAAQ,CAACoE,EAAE,CAAE,CACtB;AACApD,OAAO,CAACmC,GAAG,CAAC,uBAAuB,CAAC,CACpCc,MAAM,CAACC,IAAI,CAAChC,OAAO,CAAE,QAAQ,CAAE,qBAAqB,CAAC,CACrD1D,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,IAAM,CACL;AACAwC,OAAO,CAACD,KAAK,gCAAAoB,MAAA,CACoBnC,QAAQ,CAACiB,MAAM,CAChD,CAAC,CACDzC,eAAe,CAAC,KAAK,CAAC,CACxB,CACF,CAAC,CAAC,CACDsC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BvC,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACN,CAAE,CAAAmE,QAAA,cAEFpH,IAAA,CAACpB,GAAG,EACFoI,KAAK,CAAC,MAAM,CACZ8B,CAAC,CAAC,QAAQ,CACVC,CAAC,CAAC,KAAK,CACP9B,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvB8B,YAAY,CAAC,KAAK,CAClBjC,KAAK,CAAE,CACLkC,MAAM,CAAE,mBAAmB,CAC3B3B,WAAW,CAAE,KAAK,CAClB4B,WAAW,CAAE,SACf,CAAE,CAAA9B,QAAA,cAEFpH,IAAA,CAACzB,yBAAyB,GAAE,CAAC,CAC1B,CAAC,CACI,CAAC,cACbyB,IAAA,CAACnB,UAAU,EACTwI,KAAK,CAAC,iBAAiB,CACvBN,KAAK,CAAE,CACLO,WAAW,CAAE,KAAK,CAClBC,eAAe,CAAE,aAAa,CAC9BC,WAAW,CAAE,KAAK,CAClBC,YAAY,CAAE,MAChB,CAAE,CACFC,OAAO,CAAE,SAAAA,QAAA,CAAM,CACb,GAAI1E,YAAY,EAAIG,eAAe,CAAE,CACnC,OACF,CACAF,eAAe,CAAC,IAAI,CAAC,CACrBtD,OAAO,CAACkH,QAAQ,CAAE,CAChBc,MAAM,CAAE,QACV,CAAC,CAAC,CACCnD,IAAI,CAAC,SAACC,QAAQ,CAAK,CAClBA,QAAQ,CAACgE,IAAI,CAAC,CAAC,CACjB,CAAC,CAAC,CACDjE,IAAI,CAAC,UAAM,CACVvB,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACDsC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9BvC,eAAe,CAAC,KAAK,CAAC,CACxB,CAAC,CAAC,CACN,CAAE,CAAAmE,QAAA,cAEFpH,IAAA,CAACpB,GAAG,EACFoI,KAAK,CAAC,MAAM,CACZ8B,CAAC,CAAC,QAAQ,CACVC,CAAC,CAAC,KAAK,CACP9B,OAAO,CAAC,MAAM,CACdC,cAAc,CAAC,QAAQ,CACvB8B,YAAY,CAAC,KAAK,CAClBjC,KAAK,CAAE,CACLkC,MAAM,CAAE,mBAAmB,CAC3B3B,WAAW,CAAE,KAAK,CAClB4B,WAAW,CAAE,SACf,CAAE,CAAA9B,QAAA,cAEFpH,IAAA,CAAC1B,yBAAyB,GAAE,CAAC,CAC1B,CAAC,CACI,CAAC,EACV,CAAC,CAEV,CACF,CAAC,CACF,CACD,GAAM,CAAAyL,iBAAiB,CAAGR,iBAAiB,CAC3C,GAAM,CAAAS,iBAAiB,CAAGT,iBAAiB,CAC3C,GAAM,CAAAU,kBAAkB,CAAGd,qBAAqB,CAChD,GAAM,CAAAe,oBAAoB,CAAGf,qBAAqB,CAElD,GAAM,CAAAgB,aAAa,CAAG,CACpB,qBAAqB,CAAE,CACrBC,YAAY,CAAE,MAChB,CAAC,CACD,8BAA8B,CAAE,CAC9BA,YAAY,CAAE,MAChB,CAAC,CACD,kCAAkC,CAAE,CAClCC,UAAU,CAAE,MACd,CAAC,CACD,gCAAgC,CAAE,CAChCC,SAAS,CAAE,oBAAoB,CAC/BC,QAAQ,CAAE,SACZ,CAAC,CACD,gCAAgC,CAAE,CAChCC,SAAS,CAAE,MACb,CAAC,CACD,cAAc,CAAE,KAClB,CAAC,CAED,GAAM,CAAAC,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAS,CAC1B,mBACEzK,IAAA,CAAClB,KAAK,EAAC4L,MAAM,CAAC,MAAM,CAACvD,UAAU,CAAC,QAAQ,CAACD,cAAc,CAAC,QAAQ,CAAAE,QAAA,CAC7DvD,CAAC,CAAC,+BAA+B,CAAC,CAC9B,CAAC,CAEZ,CAAC,CAED,GAAM,CAAA8G,gBAAgB,CAAG,QAAnB,CAAAA,gBAAgBA,CAAA,CAAS,CAC7B,mBACE3K,IAAA,CAAClB,KAAK,EAAC4L,MAAM,CAAC,MAAM,CAACvD,UAAU,CAAC,QAAQ,CAACD,cAAc,CAAC,QAAQ,CAAAE,QAAA,CAC7DvD,CAAC,CAAC,sCAAsC,CAAC,CACrC,CAAC,CAEZ,CAAC,CAED,GAAM,CAAAuC,cAAc,CAAG,QAAjB,CAAAA,cAAcA,CAAIa,OAAO,CAAK,CAClC,IAAA2D,WAAA,CAAsCvL,QAAQ,CAAC,KAAK,CAAC,CAAAwL,WAAA,CAAAjK,cAAA,CAAAgK,WAAA,IAA9CE,WAAW,CAAAD,WAAA,IAAEE,cAAc,CAAAF,WAAA,IAClC,IAAAG,WAAA,CAAsC3L,QAAQ,CAACwE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAAoH,WAAA,CAAArK,cAAA,CAAAoK,WAAA,IAAhEE,WAAW,CAAAD,WAAA,IAAEE,cAAc,CAAAF,WAAA,IAElC,GAAM,CAAAG,UAAU,CAAG,QAAb,CAAAA,UAAUA,CAAIrH,KAAK,CAAK,CAC5BA,KAAK,CAACsH,eAAe,CAAC,CAAC,CAEvB,GAAIC,SAAS,CAACC,SAAS,EAAI7C,MAAM,CAAC8C,eAAe,CAAE,CACjD;AACAF,SAAS,CAACC,SAAS,CAChBE,SAAS,CAACxE,OAAO,CAAC,CAClBzC,IAAI,CAAC,UAAM,CACV2G,cAAc,CAACtH,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAC3C,CAAC,CAAC,CACD0B,KAAK,CAAC,UAAM,CACX4F,cAAc,CAACtH,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAC/C,CAAC,CAAC,CACD+E,OAAO,CAAC,UAAM,CACbmC,cAAc,CAAC,IAAI,CAAC,CACpBW,UAAU,CAAC,UAAM,CACfX,cAAc,CAAC,KAAK,CAAC,CACrBI,cAAc,CAACtH,CAAC,CAAC,oBAAoB,CAAC,CAAC,CACzC,CAAC,CAAE,IAAI,CAAC,CACV,CAAC,CAAC,CACN,CAAC,IAAM,CACL;AACA,GAAM,CAAA8H,QAAQ,CAAGC,QAAQ,CAACC,aAAa,CAAC,UAAU,CAAC,CACnDF,QAAQ,CAACtL,KAAK,CAAG4G,OAAO,CACxB0E,QAAQ,CAAC5E,KAAK,CAAC+E,QAAQ,CAAG,UAAU,CACpCH,QAAQ,CAAC5E,KAAK,CAACgF,IAAI,CAAG,SAAS,CAC/BH,QAAQ,CAAC9D,IAAI,CAACkE,WAAW,CAACL,QAAQ,CAAC,CACnCA,QAAQ,CAACM,MAAM,CAAC,CAAC,CAEjB,GAAI,CACF,GAAM,CAAAC,OAAO,CAAGN,QAAQ,CAACO,WAAW,CAAC,MAAM,CAAC,CAC5C,GAAID,OAAO,CAAE,CACXf,cAAc,CAACtH,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAC3C,CAAC,IAAM,CACLsH,cAAc,CAACtH,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAC/C,CACF,CAAE,MAAOuI,GAAG,CAAE,CACZjB,cAAc,CAACtH,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAC/C,CAEA+H,QAAQ,CAAC9D,IAAI,CAACuE,WAAW,CAACV,QAAQ,CAAC,CAEnCZ,cAAc,CAAC,IAAI,CAAC,CACpBW,UAAU,CAAC,UAAM,CACfX,cAAc,CAAC,KAAK,CAAC,CACrBI,cAAc,CAACtH,CAAC,CAAC,oBAAoB,CAAC,CAAC,CACzC,CAAC,CAAE,IAAI,CAAC,CACV,CACF,CAAC,CAED,mBACE3D,KAAA,QACE6G,KAAK,CAAE,CACLE,OAAO,CAAE,MAAM,CACfE,UAAU,CAAE,QAAQ,CACpBmF,QAAQ,CAAE,MAAM,CAChB/B,QAAQ,CAAE,QACZ,CAAE,CAAAnD,QAAA,eAEFpH,IAAA,SACE+G,KAAK,CAAE,CACLhB,IAAI,CAAE,CAAC,CACPC,QAAQ,CAAE,CAAC,CACXuE,QAAQ,CAAE,QAAQ,CAClBgC,UAAU,CAAE,QAAQ,CACpBC,YAAY,CAAE,UAAU,CACxBC,WAAW,CAAE,CACf,CAAE,CAAArF,QAAA,CAEDH,OAAO,CACJ,CAAC,cACPjH,IAAA,CAAChB,OAAO,EAACqI,KAAK,CAAE6D,WAAY,CAACvC,IAAI,CAAEmC,WAAY,CAAA1D,QAAA,cAC7CpH,IAAA,CAACnB,UAAU,EAAC6N,IAAI,CAAC,OAAO,CAAChF,OAAO,CAAE0D,UAAW,CAAAhE,QAAA,cAC3CpH,IAAA,CAAC3B,uBAAuB,EAACsO,QAAQ,CAAC,OAAO,CAAE,CAAC,CAClC,CAAC,CACN,CAAC,EACP,CAAC,CAEV,CAAC,CAEDvN,SAAS,CAAC,UAAM,CACd,GAAM,CAAAwN,OAAO,CAAG,CACd,sBAAsB,CAAEvL,OAAO,CAC/B,uBAAuB,CAAEI,kBAAkB,CAC3C,oBAAoB,CAAEgB,eAAe,CACrC,mBAAmB,CAAEZ,cAAc,CACnC,mBAAmB,CAAEI,cAAc,CACnC,mBAAmB,CAAEI,cAAc,CACnC,sBAAsB,CAAEQ,iBAC1B,CAAC,CAED3B,UAAU,CACRD,OAAO,CAAC4L,GAAG,CAAC,SAACC,IAAI,CAAK,KAAAC,mBAAA,CACpB,GAAI,CAAAA,mBAAA,CAAAH,OAAO,CAACE,IAAI,CAAC1M,KAAK,CAAC,UAAA2M,mBAAA,WAAnBA,mBAAA,CAAqBC,MAAM,EAAIJ,OAAO,CAACE,IAAI,CAAC1M,KAAK,CAAC,CAAC,CAAC,CAAC,CAACiF,UAAU,CAAE,CACpE,OAAAD,aAAA,CAAAA,aAAA,IACK0H,IAAI,MACPxM,UAAU,CAAE,IAAI,GAEpB,CACA,OAAA8E,aAAA,CAAAA,aAAA,IACK0H,IAAI,MACPxM,UAAU,CAAE,KAAK,GAErB,CAAC,CACH,CAAC,CACH,CAAC,CAAE,CACDe,OAAO,CACPI,kBAAkB,CAClBgB,eAAe,CACfZ,cAAc,CACdI,cAAc,CACdI,cAAc,CACdQ,iBAAiB,CAClB,CAAC,CAEF,mBACE3C,KAAA,CAACtB,GAAG,EACFqO,EAAE,CAAE,CACFvC,MAAM,CAAE,MAAM,CACd1D,KAAK,CAAE,MAAM,CACbkG,OAAO,CAAE,kBACX,CAAE,CAAA9F,QAAA,eAEFpH,IAAA,CAACH,KAAK,EAACwH,KAAK,CAAExD,CAAC,CAAC,oBAAoB,CAAE,CAAE,CAAC,cACzC7D,IAAA,CAACN,oBAAoB,GAAE,CAAC,cACxBQ,KAAA,CAAC1B,UAAU,EAAC6B,KAAK,CAAEQ,QAAS,CAAAuG,QAAA,eAC1BpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAE7C,YAAY,CAAE,CAAC,CAAElB,WAAW,CAAE,SAAU,CAAE,CAAA9B,QAAA,cACnDpH,IAAA,CAACvB,OAAO,EACN4B,KAAK,CAAEQ,QAAS,CAChBsM,QAAQ,CAAErJ,eAAgB,CAC1B,aAAW,MAAM,CAAAsD,QAAA,CAEhBnG,OAAO,CAAC4L,GAAG,CAAC,SAACC,IAAI,qBAChB9M,IAAA,CAACjB,GAAG,EAEFqB,KAAK,cACHJ,IAAA,CAACrB,KAAK,EACJyO,KAAK,CAAC,WAAW,CACjBC,OAAO,CAAC,KAAK,CACbC,SAAS,CAAE,CAACR,IAAI,CAACxM,UAAW,CAAA8G,QAAA,CAE3BvD,CAAC,CAACiJ,IAAI,CAAC1M,KAAK,CAAC,CACT,CACR,CACDC,KAAK,CAAEyM,IAAI,CAACzM,KAAM,EAVbyM,IAAI,CAACzM,KAWX,CAAC,EACH,CAAC,CACK,CAAC,CACP,CAAC,cACNL,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,qBAAqB,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cACvDpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAElM,OAAQ,CACdmM,OAAO,CAAE5H,UAAW,CACpB6H,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,2BAA2B,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cAC7DpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAE9L,kBAAmB,CACzB+L,OAAO,CAAErE,qBAAsB,CAC/BsE,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,wBAAwB,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cAC1DpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAE9K,eAAgB,CACtB+K,OAAO,CAAEvD,kBAAmB,CAC5BwD,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,uBAAuB,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cACzDpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAE1L,cAAe,CACrB2L,OAAO,CAAEjE,iBAAkB,CAC3BkE,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,uBAAuB,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cACzDpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAEtL,cAAe,CACrBuL,OAAO,CAAEzD,iBAAkB,CAC3B0D,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,uBAAuB,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cACzDpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAElL,cAAe,CACrBmL,OAAO,CAAExD,iBAAkB,CAC3ByD,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,cACX3K,IAAA,CAACtB,QAAQ,EAAC2B,KAAK,CAAC,0BAA0B,CAAC4M,EAAE,CAAE,CAAEC,OAAO,CAAE,CAAE,CAAE,CAAA9F,QAAA,cAC5DpH,IAAA,CAACpB,GAAG,EAACqO,EAAE,CAAE,CAAEvC,MAAM,CAAE,MAAM,CAAE1D,KAAK,CAAE,MAAO,CAAE,CAAAI,QAAA,cACzCpH,IAAA,CAACf,QAAQ,EACPsO,IAAI,CAAE1K,iBAAkB,CACxB2K,OAAO,CAAEtD,oBAAqB,CAC9BuD,UAAU,CAAE,IAAK,CACjBR,EAAE,CAAE9C,aAAc,CAClBuD,KAAK,CAAE,CACLjD,aAAa,CAAEA,aAAa,CAC5BE,gBAAgB,CAAEA,gBACpB,CAAE,CACH,CAAC,CACC,CAAC,CACE,CAAC,EACD,CAAC,EACV,CAAC,CAEV,CAAC,CAED,cAAe,CAAApK,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{Box,Typography}from'@mui/material';import React,{useEffect,useState}from'react';import fetchWrapper from'../components/fetchWrapper';import{jsx as _jsx}from\"react/jsx-runtime\";var VersionLabel=function VersionLabel(_ref){var sx=_ref.sx;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),version=_useState2[0],setVersion=_useState2[1];useEffect(function(){fetchWrapper.get('/v1/cluster/version').then(function(data){setVersion('v'+data['version']);}).catch(function(error){console.error('Error:',error);});},[]);return/*#__PURE__*/_jsx(Box,{sx:sx,children:/*#__PURE__*/_jsx(Typography,{variant:\"h5\",children:version})});};export default VersionLabel;","map":{"version":3,"names":["Box","Typography","React","useEffect","useState","fetchWrapper","jsx","_jsx","VersionLabel","_ref","sx","_useState","_useState2","_slicedToArray","version","setVersion","get","then","data","catch","error","console","children","variant"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/components/versionLabel.js"],"sourcesContent":["import { Box, Typography } from '@mui/material'\nimport React, { useEffect, useState } from 'react'\n\nimport fetchWrapper from '../components/fetchWrapper'\n\nconst VersionLabel = ({ sx }) => {\n const [version, setVersion] = useState('')\n\n useEffect(() => {\n fetchWrapper\n .get('/v1/cluster/version')\n .then((data) => {\n setVersion('v' + data['version'])\n })\n .catch((error) => {\n console.error('Error:', error)\n })\n }, [])\n\n return (\n <Box sx={sx}>\n <Typography variant=\"h5\">{version}</Typography>\n </Box>\n )\n}\n\nexport default VersionLabel\n"],"mappings":"6IAAA,OAASA,GAAG,CAAEC,UAAU,KAAQ,eAAe,CAC/C,MAAO,CAAAC,KAAK,EAAIC,SAAS,CAAEC,QAAQ,KAAQ,OAAO,CAElD,MAAO,CAAAC,YAAY,KAAM,4BAA4B,QAAAC,GAAA,IAAAC,IAAA,yBAErD,GAAM,CAAAC,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAAC,IAAA,CAAe,IAAT,CAAAC,EAAE,CAAAD,IAAA,CAAFC,EAAE,CACxB,IAAAC,SAAA,CAA8BP,QAAQ,CAAC,EAAE,CAAC,CAAAQ,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAAnCG,OAAO,CAAAF,UAAA,IAAEG,UAAU,CAAAH,UAAA,IAE1BT,SAAS,CAAC,UAAM,CACdE,YAAY,CACTW,GAAG,CAAC,qBAAqB,CAAC,CAC1BC,IAAI,CAAC,SAACC,IAAI,CAAK,CACdH,UAAU,CAAC,GAAG,CAAGG,IAAI,CAAC,SAAS,CAAC,CAAC,CACnC,CAAC,CAAC,CACDC,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBC,OAAO,CAACD,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAChC,CAAC,CAAC,CACN,CAAC,CAAE,EAAE,CAAC,CAEN,mBACEb,IAAA,CAACP,GAAG,EAACU,EAAE,CAAEA,EAAG,CAAAY,QAAA,cACVf,IAAA,CAACN,UAAU,EAACsB,OAAO,CAAC,IAAI,CAAAD,QAAA,CAAER,OAAO,CAAa,CAAC,CAC5C,CAAC,CAEV,CAAC,CAED,cAAe,CAAAN,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"export var llmAllDataKey=['model_uid','model_name','model_type','model_engine','model_format','model_size_in_billions','quantization','n_worker','n_gpu','n_gpu_layers','replica','request_limits','worker_ip','gpu_idx','download_hub','model_path','reasoning_content','gguf_quantization','gguf_model_path','cpu_offload','peft_model_config','quantization_config','enable_thinking'];export var additionalParameterTipList={'transformers':['torch_dtype','device'],'llama.cpp':['n_ctx','use_mmap','use_mlock'],'vllm':['block_size','gpu_memory_utilization','max_num_seqs','max_model_len','guided_decoding_backend','scheduling_policy','tensor_parallel_size','pipeline_parallel_size','enable_prefix_caching','enable_chunked_prefill','enforce_eager','cpu_offload_gb','disable_custom_all_reduce','limit_mm_per_prompt','model_quantization','mm_processor_kwargs','min_pixels','max_pixels'],'sglang':['mem_fraction_static','attention_reduce_in_fp32','tp_size','dp_size','chunked_prefill_size','cpu_offload_gb','enable_dp_attention','enable_ep_moe'],'mlx':['cache_limit_gb','max_kv_size']};export var quantizationParametersTipList=['load_in_8bit','load_in_4bit','llm_int8_threshold','llm_int8_skip_modules','llm_int8_enable_fp32_cpu_offload','llm_int8_has_fp16_weight','bnb_4bit_compute_dtype','bnb_4bit_quant_type','bnb_4bit_use_double_quant','bnb_4bit_quant_storage'];export var featureModels=[{type:'llm',feature_models:['qwen3','deepseek-v3','deepseek-r1','deepseek-r1-distill-qwen','deepseek-r1-distill-llama','qwen2.5-instruct','qwen2.5-vl-instruct','glm4-0414','QwQ-32B','gemma-3-it']},{type:'embedding',feature_models:['bge-large-zh-v1.5','bge-large-en-v1.5','bge-m3','gte-Qwen2','jina-embeddings-v3']},{type:'rerank',feature_models:[]},{type:'image',feature_models:['FLUX.1-dev','FLUX.1-schnell','sd3.5-large','HunyuanDiT-v1.2','sd3.5-medium']},{type:'audio',feature_models:['CosyVoice2-0.5B','FishSpeech-1.5','F5-TTS','ChatTTS','SenseVoiceSmall','whisper-large-v3']},{type:'video',feature_models:[]}];","map":{"version":3,"names":["llmAllDataKey","additionalParameterTipList","quantizationParametersTipList","featureModels","type","feature_models"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/data/data.js"],"sourcesContent":["export const llmAllDataKey = [\n 'model_uid',\n 'model_name',\n 'model_type',\n 'model_engine',\n 'model_format',\n 'model_size_in_billions',\n 'quantization',\n 'n_worker',\n 'n_gpu',\n 'n_gpu_layers',\n 'replica',\n 'request_limits',\n 'worker_ip',\n 'gpu_idx',\n 'download_hub',\n 'model_path',\n 'reasoning_content',\n 'gguf_quantization',\n 'gguf_model_path',\n 'cpu_offload',\n 'peft_model_config',\n 'quantization_config',\n 'enable_thinking',\n]\n\nexport const additionalParameterTipList = {\n 'transformers': ['torch_dtype', 'device'],\n 'llama.cpp': ['n_ctx', 'use_mmap', 'use_mlock'],\n 'vllm': [\n 'block_size',\n 'gpu_memory_utilization',\n 'max_num_seqs',\n 'max_model_len',\n 'guided_decoding_backend',\n 'scheduling_policy',\n 'tensor_parallel_size',\n 'pipeline_parallel_size',\n 'enable_prefix_caching',\n 'enable_chunked_prefill',\n 'enforce_eager',\n 'cpu_offload_gb',\n 'disable_custom_all_reduce',\n 'limit_mm_per_prompt',\n 'model_quantization',\n 'mm_processor_kwargs',\n 'min_pixels',\n 'max_pixels',\n ],\n 'sglang': [\n 'mem_fraction_static',\n 'attention_reduce_in_fp32',\n 'tp_size',\n 'dp_size',\n 'chunked_prefill_size',\n 'cpu_offload_gb',\n 'enable_dp_attention',\n 'enable_ep_moe',\n ],\n 'mlx': ['cache_limit_gb', 'max_kv_size'],\n}\n\nexport const quantizationParametersTipList = [\n 'load_in_8bit',\n 'load_in_4bit',\n 'llm_int8_threshold',\n 'llm_int8_skip_modules',\n 'llm_int8_enable_fp32_cpu_offload',\n 'llm_int8_has_fp16_weight',\n 'bnb_4bit_compute_dtype',\n 'bnb_4bit_quant_type',\n 'bnb_4bit_use_double_quant',\n 'bnb_4bit_quant_storage',\n]\n\nexport const featureModels = [\n {\n type: 'llm',\n feature_models: [\n 'qwen3',\n 'deepseek-v3',\n 'deepseek-r1',\n 'deepseek-r1-distill-qwen',\n 'deepseek-r1-distill-llama',\n 'qwen2.5-instruct',\n 'qwen2.5-vl-instruct',\n 'glm4-0414',\n 'QwQ-32B',\n 'gemma-3-it',\n ],\n },\n {\n type: 'embedding',\n feature_models: [\n 'bge-large-zh-v1.5',\n 'bge-large-en-v1.5',\n 'bge-m3',\n 'gte-Qwen2',\n 'jina-embeddings-v3',\n ],\n },\n {\n type: 'rerank',\n feature_models: [],\n },\n {\n type: 'image',\n feature_models: [\n 'FLUX.1-dev',\n 'FLUX.1-schnell',\n 'sd3.5-large',\n 'HunyuanDiT-v1.2',\n 'sd3.5-medium',\n ],\n },\n {\n type: 'audio',\n feature_models: [\n 'CosyVoice2-0.5B',\n 'FishSpeech-1.5',\n 'F5-TTS',\n 'ChatTTS',\n 'SenseVoiceSmall',\n 'whisper-large-v3',\n ],\n },\n {\n type: 'video',\n feature_models: [],\n },\n]\n"],"mappings":"AAAA,MAAO,IAAM,CAAAA,aAAa,CAAG,CAC3B,WAAW,CACX,YAAY,CACZ,YAAY,CACZ,cAAc,CACd,cAAc,CACd,wBAAwB,CACxB,cAAc,CACd,UAAU,CACV,OAAO,CACP,cAAc,CACd,SAAS,CACT,gBAAgB,CAChB,WAAW,CACX,SAAS,CACT,cAAc,CACd,YAAY,CACZ,mBAAmB,CACnB,mBAAmB,CACnB,iBAAiB,CACjB,aAAa,CACb,mBAAmB,CACnB,qBAAqB,CACrB,iBAAiB,CAClB,CAED,MAAO,IAAM,CAAAC,0BAA0B,CAAG,CACxC,cAAc,CAAE,CAAC,aAAa,CAAE,QAAQ,CAAC,CACzC,WAAW,CAAE,CAAC,OAAO,CAAE,UAAU,CAAE,WAAW,CAAC,CAC/C,MAAM,CAAE,CACN,YAAY,CACZ,wBAAwB,CACxB,cAAc,CACd,eAAe,CACf,yBAAyB,CACzB,mBAAmB,CACnB,sBAAsB,CACtB,wBAAwB,CACxB,uBAAuB,CACvB,wBAAwB,CACxB,eAAe,CACf,gBAAgB,CAChB,2BAA2B,CAC3B,qBAAqB,CACrB,oBAAoB,CACpB,qBAAqB,CACrB,YAAY,CACZ,YAAY,CACb,CACD,QAAQ,CAAE,CACR,qBAAqB,CACrB,0BAA0B,CAC1B,SAAS,CACT,SAAS,CACT,sBAAsB,CACtB,gBAAgB,CAChB,qBAAqB,CACrB,eAAe,CAChB,CACD,KAAK,CAAE,CAAC,gBAAgB,CAAE,aAAa,CACzC,CAAC,CAED,MAAO,IAAM,CAAAC,6BAA6B,CAAG,CAC3C,cAAc,CACd,cAAc,CACd,oBAAoB,CACpB,uBAAuB,CACvB,kCAAkC,CAClC,0BAA0B,CAC1B,wBAAwB,CACxB,qBAAqB,CACrB,2BAA2B,CAC3B,wBAAwB,CACzB,CAED,MAAO,IAAM,CAAAC,aAAa,CAAG,CAC3B,CACEC,IAAI,CAAE,KAAK,CACXC,cAAc,CAAE,CACd,OAAO,CACP,aAAa,CACb,aAAa,CACb,0BAA0B,CAC1B,2BAA2B,CAC3B,kBAAkB,CAClB,qBAAqB,CACrB,WAAW,CACX,SAAS,CACT,YAAY,CAEhB,CAAC,CACD,CACED,IAAI,CAAE,WAAW,CACjBC,cAAc,CAAE,CACd,mBAAmB,CACnB,mBAAmB,CACnB,QAAQ,CACR,WAAW,CACX,oBAAoB,CAExB,CAAC,CACD,CACED,IAAI,CAAE,QAAQ,CACdC,cAAc,CAAE,EAClB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,CACd,YAAY,CACZ,gBAAgB,CAChB,aAAa,CACb,iBAAiB,CACjB,cAAc,CAElB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,CACd,iBAAiB,CACjB,gBAAgB,CAChB,QAAQ,CACR,SAAS,CACT,iBAAiB,CACjB,kBAAkB,CAEtB,CAAC,CACD,CACED,IAAI,CAAE,OAAO,CACbC,cAAc,CAAE,EAClB,CAAC,CACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|