From 1333cdfc1f064ae893613cf042fbaea1adbd9a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BC=9F?= Date: Tue, 3 Feb 2026 14:22:42 +0800 Subject: [PATCH] Squashed 'react-ui/' changes from b6b49926..7c625ea5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 7c625ea5 feat: 火石前端部署文档补充 4a2c9eea feat: 火石融合配置修改 67a28c6c chore: 合并火石 3bab3fa2 feat: 应用版本相关接口添加source字段 abc6dbb2 Merge branch 'dev-zw' of https://gitlink.org.cn/ci4s/ci4sManagement-cloud into dev-zw ac805413 feat: 将数据集和模型的点赞接口分开 129f9925 feat: 修改火石前端地址 d091348d feat: 火石数据集|模型发版 efd7d99f fix: 修复大文件下载崩溃的问题 8fea82d6 feat: 数据集详情添加一些字段 4b051733 fix: is_hot_store 改为 is_hot_stone 5580b206 feat: 火石3.0新接口对接 2ded11e4 feat: 文件上传现在参数改为对象 a3509a1f fix: 流水线模板不能拖东复制 26c09ffa feat: 修改agent地址 415c54fc feat: 添加agent路由 d77cdf05 feat: 应用添加超算、智算 6cceec2e feat: 添加paddingTop 变量 31b6f993 feat: 修改agent地址 7dcc3828 chore: 路由地址整理 3da7c314 fix: 流水线私有无法编辑 ad7af0c6 fix: 代码选择不能回显公开还是私有 848030b7 feat: 工作空间添加empty 668fd1d1 feat: 完成积分界面改版 150790c8 feat: 完成代码配置选择 4c6aea6f feat: 完成流水线模板导入和导出功能 50b493b1 style: 修改实例删除按钮样式 ee44f7f8 feat: 自动机器学习、超参数寻优、主动学习界面改版 58270f3e feat: 完成实验界面改版 12116acb feat: 调整流水线的颜色 6663043c feat: 完成流水线界面改版 873e4465 feat: 应用下架传递版本id 1cebaf49 feat: 应用添加文件预览和结果下载 93d4d549 style: 表格线 7a88f5fd fix: 修改主动学习一些文案 99b89172 feat: 修改文案 fc301916 feat: 数据集、模型加回版本描述 71fc6c2f feat: 修改应用名称 eacf7ed8 fix: 设置首页导航栏最小宽度 4da5a3dd feat: 修改首页数据集和模型卡片 8a4c4777 docs: 调整函数注释 35bdf1b9 fix: 主动学习下载数据集没有名称 78442b5d fix: labelstudio 无法退出 c7c7e6b7 feat: 主动学习打开数据标注返回到运行实例tab 749487c4 feat: 应用结果支持多种文件类型 e83a466c feat: 去掉clone节点日志 86efc54f feat: 修改agent地址 0e2fc67f feat: 修改搜索placeholder a24b6948 feat: 替换背景色变量 ff6358f7 feat: 临时修改实验列表的ui 3b4ca6c7 feat: 修改面包屑显示与隐藏规则 7272d408 feat: 条件判断数据集显示版本 93fd38d9 feat: 主动学习添加实验结果和创建数据标注 58938e4f feat: 添加算力积分入口 58eaf9dc fix: 修复代码选择布局bug 36c373dd feat: 调整开发环境制作镜像 ab056ca8 feat: 调整开发环境制作镜像 7447223e feat: 调整iframepage 类型 62050321 feat: 主动学习创建数据标注 f6a26d76 feat: 开发环境card调整 8a031d21 feat: 完成开发环境界面改版 eb72ea8b feat: 修改镜像状态 3cf18495 feat: 修改镜像详情 39f6921e feat: 添加几个storybook 5403add2 feat: 数据集、模型卡片添加版本、文件大小 f9fa752a feat: 数据集\模型卡片添加版本 efaddc55 build: 添加storybook 编译脚本 5da037c0 fix: 修复数据集\模型标签没有填写时报错的问题 f122f108 feat: 删除application intro md editor a15e120e feat: 添加merge脚本 ed690e5e feat:主动学习屏蔽结果 8374b5e6 feat:主动学习上传数据集 1e007847 feat: 修改删除的颜色值 63fae7f2 fix: 修复motion动画 6f441633 feat: 主动学习添加数据集 e9df3a81 feat: 修改菜单 7c4ec2ce feat: 完成新建,编辑,详情接口联调 5628d423 feat: 完成经典主动学习新建界面 3aa05afd fix: 开发环境只有running时才能制作镜像 d3919cc2 fix: 修改点赞点踩图标 86d0b524 fix: 修复数据集\模型分类颜色为空的问题 373beb1f feat: 修改镜像UI ace53d8d feat: 修改工具集地址和proxy 15ec2c32 feat: 修改应用版本对比界面 f83a3643 style: 调整搜索的样式 450c91ed feat: 完成工具集 6fb057fc feat: 修改图片选择组件 c4f3cbd9 feat: 添加数据集模型编辑功能 263837c1 fix: 代码配置设计有误 6452d067 feat: 数据集\模型添加标签 a9afd7c7 feat: 完成代码配置的UI改版 1b55a59e style: 修改模型指标参数样式 b24fe2d1 feat: merge huoshi web 8d57fc79 feat: 修改agent url git-subtree-dir: react-ui git-subtree-split: 7c625ea589615a3983f81d6ef56e228716a7043e --- .storybook/scripts/build-image-deploy-tui.sh | 78 + .storybook/scripts/build-image-deploy.sh | 70 + .storybook/scripts/tui-deploy-gum.sh | 80 + .storybook/scripts/upload-deploy.sh | 34 + config/config.ts | 36 +- config/defaultSettings.ts | 2 +- config/proxy.ts | 37 +- config/routes.ts | 702 +++++---- mock/home.ts | 12 + package.json | 8 +- .../images/pipeline/component-icon-1.png | Bin 0 -> 1434 bytes .../images/pipeline/component-icon-10.png | Bin 0 -> 1311 bytes .../images/pipeline/component-icon-11.png | Bin 0 -> 1507 bytes .../images/pipeline/component-icon-2.png | Bin 0 -> 1571 bytes .../images/pipeline/component-icon-3.png | Bin 0 -> 1943 bytes .../images/pipeline/component-icon-4.png | Bin 0 -> 2042 bytes .../images/pipeline/component-icon-5.png | Bin 0 -> 2072 bytes .../images/pipeline/component-icon-6.png | Bin 0 -> 1345 bytes .../images/pipeline/component-icon-7.png | Bin 0 -> 1865 bytes .../images/pipeline/component-icon-8.png | Bin 0 -> 1892 bytes .../images/pipeline/component-icon-9.png | Bin 0 -> 1320 bytes scripts/git-merge.js | 66 + src/app.tsx | 9 +- src/assets/img/404.png | Bin 292659 -> 49428 bytes src/assets/img/code-select-bg.png | Bin 0 -> 80747 bytes src/assets/img/dev/cpu.png | Bin 0 -> 477 bytes src/assets/img/dev/default.png | Bin 0 -> 25123 bytes src/assets/img/dev/gpu.png | Bin 0 -> 504 bytes src/assets/img/dev/memory.png | Bin 0 -> 423 bytes src/assets/img/pipeline-canvas-bg.png | Bin 350395 -> 189540 bytes src/assets/img/pipeline/Error.png | Bin 0 -> 524 bytes src/assets/img/pipeline/Failed.png | Bin 0 -> 524 bytes src/assets/img/pipeline/Omitted.png | Bin 0 -> 520 bytes src/assets/img/pipeline/Pending.png | Bin 0 -> 599 bytes src/assets/img/pipeline/Running.png | Bin 0 -> 469 bytes src/assets/img/pipeline/Skipped.png | Bin 0 -> 520 bytes src/assets/img/pipeline/Succeeded.png | Bin 0 -> 677 bytes src/assets/img/pipeline/Terminated.png | Bin 0 -> 520 bytes src/assets/img/pipeline/Warning.png | Bin 0 -> 930 bytes src/assets/img/pipeline/add-icon.png | Bin 0 -> 895 bytes src/assets/img/pipeline/arrow-down.png | Bin 0 -> 408 bytes src/assets/img/pipeline/arrow-right.png | Bin 0 -> 409 bytes src/assets/img/pipeline/code-icon.png | Bin 0 -> 744 bytes src/assets/img/pipeline/dataset-icon.png | Bin 0 -> 796 bytes src/assets/img/pipeline/image-icon.png | Bin 0 -> 894 bytes src/assets/img/pipeline/model-icon.png | Bin 0 -> 1005 bytes src/assets/img/pipeline/task-bg.png | Bin 0 -> 64121 bytes src/assets/img/pipeline/task-icon.png | Bin 0 -> 4850 bytes src/components/BasicInfo/BasicInfoItem.tsx | 5 +- src/components/BasicTableInfo/index.less | 6 +- src/components/BasicTableInfo/index.tsx | 26 +- src/components/CodeConfigItem/index.less | 84 +- src/components/CodeConfigItem/index.tsx | 62 +- src/components/CodeSelect/index.tsx | 18 +- .../CodeConfigTabs/index.less | 49 + .../CodeConfigTabs/index.tsx | 63 + src/components/CodeSelectorModal/index.less | 61 +- src/components/CodeSelectorModal/index.tsx | 62 +- src/components/ErrorBoundary/index.tsx | 5 +- src/components/IFramePage/index.tsx | 48 +- src/components/ImagePicker/index.tsx | 43 +- src/components/KFMdEditor/index.tsx | 7 +- src/components/KFSearch/index.less | 38 + src/components/KFSearch/index.tsx | 44 + src/components/PageContainer/index.less | 2 + src/components/PageContainer/index.tsx | 8 +- src/components/ParameterInput/index.tsx | 8 +- src/components/ParameterSelect/config.tsx | 5 +- src/components/ParameterSelect/index.tsx | 2 +- .../ResourceSelectorModal/config.tsx | 23 +- .../ResourceSelectorModal/index.less | 6 + .../ResourceSelectorModal/index.tsx | 3 +- .../RightContent/AvatarDropdown.tsx | 2 +- src/components/SingleImageUpload/index.less | 24 + src/components/SingleImageUpload/index.tsx | 23 +- src/components/SystemImagePicker/index.less | 8 +- src/components/SystemImagePicker/index.tsx | 92 +- src/components/UploadImageModal/index.tsx | 6 +- src/data/materialCategories.js | 60 + src/data/materialToolExamples.json | 226 +++ src/enums/index.ts | 6 + src/enums/pagesEnums.ts | 11 + src/global.less | 20 + src/hooks/useBreakpoint.ts | 1 + src/hooks/useComputingResource.ts | 24 + src/hooks/useFormDisabled.ts | 7 + src/hooks/useResponsiveColumns.ts | 4 +- src/hooks/useScrollDirection.ts | 14 + src/hooks/useTags.ts | 19 + src/huoshi.less | 374 +++++ src/iconfont/iconfont.js | 2 +- src/overrides.less | 38 +- src/pages/404.tsx | 4 +- src/pages/ActiveLearn/Create/index.less | 8 +- src/pages/ActiveLearn/Create/index.tsx | 78 +- src/pages/ActiveLearn/Info/index.less | 41 - src/pages/ActiveLearn/Info/index.tsx | 17 +- src/pages/ActiveLearn/Instance/index.less | 37 +- src/pages/ActiveLearn/Instance/index.tsx | 80 +- src/pages/ActiveLearn/Label/index.tsx | 16 + .../components/ActiveLearnBasic/index.less | 2 +- .../components/ActiveLearnBasic/index.tsx | 162 +- .../components/CreateForm/BasicConfig.tsx | 15 +- .../components/CreateForm/Bayes.tsx | 143 ++ .../components/CreateForm/Committee.tsx | 143 ++ .../components/CreateForm/ExecuteConfig.tsx | 5 +- .../components/CreateForm/Traditional.tsx | 464 ++++++ .../components/CreateForm/TypicalConfig.tsx | 61 + .../components/CreateForm/utils.ts | 214 +++ .../components/CreateLabelModal/index.tsx | 99 ++ .../components/DatasetPickerModal/index.tsx | 78 + .../components/DatasetUploadModal/index.tsx | 103 ++ .../components/ExperimentHistory/index.less | 7 +- .../components/ExperimentHistory/index.tsx | 308 +++- .../components/ExperimentLog/index.tsx | 176 +-- .../components/ExperimentResult/index.less | 7 +- .../components/ExperimentResult/index.tsx | 17 +- .../ExperimentVisualResult/index.less | 7 + .../ExperimentVisualResult/index.tsx | 9 +- src/pages/ActiveLearn/types.ts | 37 + src/pages/Agent/App/index.tsx | 14 + src/pages/Agent/Model/index.tsx | 14 + src/pages/Agent/MyAgent/index.tsx | 14 + src/pages/Agent/PublicAgent/index.tsx | 11 + src/pages/Agent/PublicPlugin/index.tsx | 14 + src/pages/Agent/Publish/index.tsx | 14 + src/pages/Agent/Resource/index.tsx | 14 + src/pages/Agent/index.tsx | 8 +- .../Execute/components/EmptyResult/index.less | 8 + .../Execute/components/EmptyResult/index.tsx | 7 + .../components/ExecuteParameter/index.tsx | 8 +- .../components/ExecuteResult/index.tsx | 7 +- .../components/FilePreviewModal/index.less | 38 +- .../components/FilePreviewModal/index.tsx | 98 +- .../Execute/components/FileUpload/index.less | 12 + .../Execute/components/FileUpload/index.tsx | 29 + src/pages/Application/Execute/index.less | 13 +- src/pages/Application/Execute/index.tsx | 311 ++-- src/pages/Application/Featured/index.less | 15 +- src/pages/Application/Featured/index.tsx | 32 +- .../Info/components/Comment/index.less | 8 +- .../Info/components/Intro/commands.tsx | 15 - .../Info/components/Intro/index.less | 18 - .../Info/components/Intro/index.tsx | 88 -- .../Info/components/PublishModal/index.less | 4 +- .../Info/components/PublishModal/index.tsx | 8 +- .../Info/components/TaskList/index.less | 8 +- .../Info/components/TaskList/index.tsx | 32 +- .../Info/components/TaskStatusCell/index.less | 4 +- .../Info/components/VersionList/index.less | 8 +- .../Info/components/VersionList/index.tsx | 315 +++- src/pages/Application/Info/index.tsx | 84 +- .../Application/IntelligentExec/index.tsx | 10 + src/pages/Application/VersionInfo/index.less | 3 + src/pages/Application/VersionInfo/index.tsx | 17 +- .../components/CreateAppModal/index.tsx | 139 +- .../IntelligentComputeForm.tsx | 168 +++ .../CreateAppVersionModal/PlatformForm.tsx | 220 +++ .../SuperComputeForm.tsx | 56 + .../CreateAppVersionModal/index.tsx | 271 +--- .../components/FeaturedItem/index.less | 29 +- .../components/FeaturedItem/index.tsx | 44 +- .../ServiceRunStatusCell/index.less | 30 + .../components/ServiceRunStatusCell/index.tsx | 51 + .../components/VersionBasicInfo/index.less | 6 + .../components/VersionBasicInfo/index.tsx | 111 ++ .../components/VersionCompareModal/index.less | 116 ++ .../components/VersionCompareModal/index.tsx | 208 +++ src/pages/Application/types.ts | 45 + src/pages/Authorize/index.less | 0 src/pages/Authorize/index.tsx | 6 +- src/pages/AutoML/Create/index.less | 10 +- src/pages/AutoML/Create/index.tsx | 16 +- src/pages/AutoML/Info/index.less | 41 +- src/pages/AutoML/Info/index.tsx | 2 - src/pages/AutoML/Instance/index.less | 37 +- src/pages/AutoML/Instance/index.tsx | 15 +- .../AutoML/components/AutoMLBasic/index.less | 2 +- .../components/ExperimentHistory/index.less | 8 +- .../ExperimentInstanceList/index.less | 8 +- .../ExperimentInstanceList/index.tsx | 12 +- .../components/ExperimentList/config.ts | 8 +- .../components/ExperimentList/index.less | 31 +- .../components/ExperimentList/index.tsx | 124 +- .../components/ExperimentResult/index.less | 19 +- .../components/ExperimentResult/index.tsx | 28 +- .../ExperimentVisualResult/index.less | 3 + .../ExperimentVisualResult/index.tsx | 6 +- src/pages/AutoML/types.ts | 1 + src/pages/CodeConfig/List/index.less | 58 +- src/pages/CodeConfig/List/index.tsx | 114 +- .../components/AddCodeConfigModal/index.tsx | 3 +- .../components/CodeConfigItem/index.less | 135 +- .../components/CodeConfigItem/index.tsx | 112 +- .../AddBigDatasetVersionModal/index.tsx | 30 +- .../useSplitUpload.ts | 2 +- .../AddBigDatasetVersionModal/utils.ts | 11 +- .../AddBigModelVersionModal/index.tsx | 125 +- .../AddBigModelVersionModal/useSplitUpload.ts | 354 +++++ .../components/AddDatasetModal/index.less | 32 +- .../components/AddDatasetModal/index.tsx | 201 ++- .../components/AddModelModal/index.tsx | 203 ++- .../components/AddVersionModal/index.tsx | 13 +- .../components/CategoryList/index.less | 6 + .../Dataset/components/CategoryList/index.tsx | 25 +- .../components/ResourceInfo/index.less | 32 +- .../Dataset/components/ResourceInfo/index.tsx | 159 +- .../components/ResourceIntro/index.less | 5 + .../components/ResourceIntro/index.tsx | 247 +++- .../components/ResourceItem/index.less | 59 +- .../Dataset/components/ResourceItem/index.tsx | 79 +- .../components/ResourceList/index.less | 29 +- .../Dataset/components/ResourceList/index.tsx | 28 +- .../Dataset/components/ResourcePage/index.tsx | 5 +- .../components/ResourceVersion/index.tsx | 56 +- .../components/VersionCompareModal/index.less | 20 +- .../components/VersionCompareModal/index.tsx | 2 +- .../components/VersionSelector/index.less | 14 +- .../components/VersionSelector/index.tsx | 2 +- src/pages/Dataset/config.tsx | 50 +- src/pages/DatasetPreparation/mark/index.less | 9 +- .../DevelopmentEnvironment/Create/index.less | 14 +- .../DevelopmentEnvironment/Create/index.tsx | 11 +- .../DevelopmentEnvironment/Editor/index.tsx | 7 +- .../DevelopmentEnvironment/List/index.less | 66 +- .../DevelopmentEnvironment/List/index.tsx | 311 ++-- .../components/CreateMirrorModal/index.tsx | 3 +- .../components/DevCard/index.less | 145 ++ .../components/DevCard/index.tsx | 224 +++ .../components/EditorStatusCell/index.less | 28 +- .../components/EditorStatusCell/index.tsx | 31 +- src/pages/Experiment/Aim/index.tsx | 7 +- src/pages/Experiment/Comparison/index.less | 52 +- src/pages/Experiment/Comparison/index.tsx | 46 +- src/pages/Experiment/Info/index.jsx | 196 +-- src/pages/Experiment/Info/index.less | 59 +- src/pages/Experiment/Tensorboard/index.tsx | 7 +- .../components/AddExperimentModal/index.tsx | 8 +- .../components/ExperimentDrawer/index.less | 34 +- .../components/ExperimentDrawer/index.tsx | 15 +- .../ExperimentInstanceList/index.less | 10 +- .../ExperimentInstanceList/index.tsx | 12 +- .../components/ExperimentParameter/index.less | 19 +- .../components/ExperimentParameter/index.tsx | 23 +- .../components/ExportModelModal/index.less | 10 +- .../components/ExportModelModal/index.tsx | 6 +- .../components/ViewParamsModal/index.tsx | 4 +- src/pages/Experiment/index.jsx | 84 +- src/pages/Experiment/index.less | 16 +- src/pages/Home/components/Dataset/index.less | 22 +- src/pages/Home/components/Dataset/index.tsx | 16 +- src/pages/Home/components/Footer/index.tsx | 7 +- src/pages/Home/components/Intro/index.less | 1 - src/pages/Home/components/Intro/index.tsx | 37 +- src/pages/Home/components/Model/index.less | 26 +- src/pages/Home/components/Model/index.tsx | 33 +- src/pages/Home/components/NavBar/index.tsx | 12 +- .../Home/components/Statistics/index.tsx | 34 +- src/pages/HyperParameter/Aim/index.tsx | 12 - src/pages/HyperParameter/Create/index.less | 8 +- src/pages/HyperParameter/Create/index.tsx | 16 +- src/pages/HyperParameter/Info/index.less | 41 - src/pages/HyperParameter/Info/index.tsx | 9 +- src/pages/HyperParameter/Instance/index.less | 38 +- src/pages/HyperParameter/Instance/index.tsx | 13 +- .../components/ExperimentHistory/index.less | 15 +- .../components/ExperimentHistory/index.tsx | 2 +- .../components/ExperimentLog/index.less | 2 + .../components/ExperimentLog/index.tsx | 4 +- .../components/ExperimentResult/index.less | 7 +- .../components/HyperParameterBasic/index.less | 2 +- src/pages/LLM/components/ChatArea.less | 2 +- src/pages/LLM/components/ChatArea.tsx | 9 +- src/pages/LLM/components/MessageItem.less | 2 +- src/pages/LLM/components/MessageItem.tsx | 4 +- src/pages/MCP/components/ToolCard/index.less | 80 + src/pages/MCP/components/ToolCard/index.tsx | 42 + .../MCP/components/ToolDetail/index.less | 139 ++ src/pages/MCP/components/ToolDetail/index.tsx | 338 +++++ src/pages/MCP/components/ToolList/index.less | 98 ++ src/pages/MCP/components/ToolList/index.tsx | 85 ++ src/pages/MCP/index.less | 9 + src/pages/MCP/index.tsx | 130 ++ src/pages/Mirror/Create/index.less | 7 +- src/pages/Mirror/Create/index.tsx | 20 +- src/pages/Mirror/Info/index.less | 61 +- src/pages/Mirror/Info/index.tsx | 199 +-- src/pages/Mirror/List/index.less | 38 +- src/pages/Mirror/List/index.tsx | 81 +- .../components/MirrorStatusCell/index.less | 10 +- .../components/MirrorStatusCell/index.tsx | 9 +- .../Model/components/MetricsChart/index.less | 1 + .../Model/components/MetricsChart/index.tsx | 8 + .../Model/components/ModelMetrics/index.less | 4 + .../Model/components/ModelMetrics/index.tsx | 9 +- .../ModelDeployment/CreateVersion/index.tsx | 2 + .../ModelDeployment/ServiceInfo/index.tsx | 6 +- .../ModelDeployment/VersionInfo/index.tsx | 3 +- .../ModelDeployStatusCell/index.less | 4 +- .../components/ServerLog/index.tsx | 2 + .../components/UserGuide/index.tsx | 3 +- .../components/VersionCompareModal/index.less | 79 +- .../components/VersionCompareModal/index.tsx | 26 +- src/pages/Pipeline/Info/index.jsx | 308 ++-- src/pages/Pipeline/Info/index.less | 103 +- .../components/CreatePipelineModal/index.tsx | 225 +++ .../components/DrawerTitle/index.less | 17 + .../Pipeline/components/DrawerTitle/index.tsx | 16 + .../components/GlobalParamsDrawer/index.less | 54 +- .../components/GlobalParamsDrawer/index.tsx | 59 +- .../Pipeline/components/ModelMenu/index.less | 88 +- .../Pipeline/components/ModelMenu/index.tsx | 25 +- .../components/PipelineNodeDrawer/index.less | 42 +- .../components/PipelineNodeDrawer/index.tsx | 1313 +++++++++-------- .../Pipeline/components/PropsLabel/index.less | 17 + .../Pipeline/components/PropsLabel/index.tsx | 11 +- src/pages/Pipeline/index.jsx | 309 ++-- src/pages/Pipeline/index.less | 28 +- src/pages/Points/index.less | 16 +- src/pages/Points/index.tsx | 2 - src/pages/System/User/edit.tsx | 4 + src/pages/User/Login/login.tsx | 6 +- .../components/BlockTitle/index.less | 1 + .../Workspace/components/BlockTitle/index.tsx | 6 +- .../components/Experiments/index.less | 22 +- .../components/Experiments/index.tsx | 75 +- .../Workspace/components/Messages/index.less | 10 + .../Workspace/components/Messages/index.tsx | 2 +- .../Workspace/components/Notebooks/index.less | 33 +- .../Workspace/components/Notebooks/index.tsx | 123 +- .../Workspace/components/Search/index.less | 14 +- .../Workspace/components/Search/index.tsx | 2 +- .../components/UserPoints/index.less | 12 +- .../Workspace/components/UserPoints/index.tsx | 20 +- .../components/WorkspaceIntro/index.tsx | 4 +- src/pages/Workspace/index.tsx | 4 +- src/requestConfig.ts | 12 +- src/services/activeLearn/index.js | 63 +- src/services/bigModel/index.ts | 146 +- src/services/dataset/index.js | 43 +- src/services/external/index.ts | 31 +- src/services/huoshi.ts | 13 +- src/services/mcp/index.ts | 439 ++++++ src/services/modelDeployment/index.ts | 36 +- src/services/pipeline/index.js | 19 +- src/state/jcdResource.ts | 58 +- src/stories/IFramePage.stories.tsx | 2 +- src/stories/ImagePicker.stories.tsx | 72 + src/stories/KFMdEditor.stories.tsx | 40 + src/stories/KFRadioGroup.stories.tsx | 60 + src/stories/mockData.ts | 20 + src/styles/theme.less | 67 +- src/utils/categoryUtils.ts | 119 ++ src/utils/constant.ts | 16 +- src/utils/downloadWithChunck.ts | 491 ++++++ src/utils/downloadfile.ts | 110 +- src/utils/format.ts | 2 + src/utils/index.ts | 54 +- src/utils/paramGenerator.ts | 192 +++ src/utils/sessionStorage.ts | 6 +- src/utils/statusTableCell.tsx | 15 +- src/utils/ui.tsx | 99 +- 火石前端部署.md | 58 + 363 files changed, 14201 insertions(+), 4873 deletions(-) create mode 100755 .storybook/scripts/build-image-deploy-tui.sh create mode 100644 .storybook/scripts/build-image-deploy.sh create mode 100644 .storybook/scripts/tui-deploy-gum.sh create mode 100755 .storybook/scripts/upload-deploy.sh create mode 100644 public/assets/images/pipeline/component-icon-1.png create mode 100644 public/assets/images/pipeline/component-icon-10.png create mode 100644 public/assets/images/pipeline/component-icon-11.png create mode 100644 public/assets/images/pipeline/component-icon-2.png create mode 100644 public/assets/images/pipeline/component-icon-3.png create mode 100644 public/assets/images/pipeline/component-icon-4.png create mode 100644 public/assets/images/pipeline/component-icon-5.png create mode 100644 public/assets/images/pipeline/component-icon-6.png create mode 100644 public/assets/images/pipeline/component-icon-7.png create mode 100644 public/assets/images/pipeline/component-icon-8.png create mode 100644 public/assets/images/pipeline/component-icon-9.png create mode 100644 scripts/git-merge.js create mode 100644 src/assets/img/code-select-bg.png create mode 100644 src/assets/img/dev/cpu.png create mode 100644 src/assets/img/dev/default.png create mode 100644 src/assets/img/dev/gpu.png create mode 100644 src/assets/img/dev/memory.png create mode 100644 src/assets/img/pipeline/Error.png create mode 100644 src/assets/img/pipeline/Failed.png create mode 100644 src/assets/img/pipeline/Omitted.png create mode 100644 src/assets/img/pipeline/Pending.png create mode 100644 src/assets/img/pipeline/Running.png create mode 100644 src/assets/img/pipeline/Skipped.png create mode 100644 src/assets/img/pipeline/Succeeded.png create mode 100644 src/assets/img/pipeline/Terminated.png create mode 100644 src/assets/img/pipeline/Warning.png create mode 100644 src/assets/img/pipeline/add-icon.png create mode 100644 src/assets/img/pipeline/arrow-down.png create mode 100644 src/assets/img/pipeline/arrow-right.png create mode 100644 src/assets/img/pipeline/code-icon.png create mode 100644 src/assets/img/pipeline/dataset-icon.png create mode 100644 src/assets/img/pipeline/image-icon.png create mode 100644 src/assets/img/pipeline/model-icon.png create mode 100644 src/assets/img/pipeline/task-bg.png create mode 100644 src/assets/img/pipeline/task-icon.png create mode 100644 src/components/CodeSelectorModal/CodeConfigTabs/index.less create mode 100644 src/components/CodeSelectorModal/CodeConfigTabs/index.tsx create mode 100644 src/components/KFSearch/index.less create mode 100644 src/components/KFSearch/index.tsx create mode 100644 src/data/materialCategories.js create mode 100644 src/data/materialToolExamples.json create mode 100644 src/hooks/useFormDisabled.ts create mode 100644 src/hooks/useScrollDirection.ts create mode 100644 src/hooks/useTags.ts create mode 100644 src/huoshi.less delete mode 100644 src/pages/ActiveLearn/Info/index.less create mode 100644 src/pages/ActiveLearn/Label/index.tsx create mode 100644 src/pages/ActiveLearn/components/CreateForm/Bayes.tsx create mode 100644 src/pages/ActiveLearn/components/CreateForm/Committee.tsx create mode 100644 src/pages/ActiveLearn/components/CreateForm/Traditional.tsx create mode 100644 src/pages/ActiveLearn/components/CreateForm/TypicalConfig.tsx create mode 100644 src/pages/ActiveLearn/components/CreateLabelModal/index.tsx create mode 100644 src/pages/ActiveLearn/components/DatasetPickerModal/index.tsx create mode 100644 src/pages/ActiveLearn/components/DatasetUploadModal/index.tsx create mode 100644 src/pages/ActiveLearn/components/ExperimentVisualResult/index.less create mode 100644 src/pages/Agent/App/index.tsx create mode 100644 src/pages/Agent/Model/index.tsx create mode 100644 src/pages/Agent/MyAgent/index.tsx create mode 100644 src/pages/Agent/PublicAgent/index.tsx create mode 100644 src/pages/Agent/PublicPlugin/index.tsx create mode 100644 src/pages/Agent/Publish/index.tsx create mode 100644 src/pages/Agent/Resource/index.tsx create mode 100644 src/pages/Application/Execute/components/EmptyResult/index.less create mode 100644 src/pages/Application/Execute/components/EmptyResult/index.tsx delete mode 100644 src/pages/Application/Info/components/Intro/commands.tsx delete mode 100644 src/pages/Application/Info/components/Intro/index.less delete mode 100644 src/pages/Application/Info/components/Intro/index.tsx create mode 100644 src/pages/Application/IntelligentExec/index.tsx create mode 100644 src/pages/Application/components/CreateAppVersionModal/IntelligentComputeForm.tsx create mode 100644 src/pages/Application/components/CreateAppVersionModal/PlatformForm.tsx create mode 100644 src/pages/Application/components/CreateAppVersionModal/SuperComputeForm.tsx create mode 100644 src/pages/Application/components/ServiceRunStatusCell/index.less create mode 100644 src/pages/Application/components/ServiceRunStatusCell/index.tsx create mode 100644 src/pages/Application/components/VersionBasicInfo/index.less create mode 100644 src/pages/Application/components/VersionBasicInfo/index.tsx create mode 100644 src/pages/Application/components/VersionCompareModal/index.less create mode 100644 src/pages/Application/components/VersionCompareModal/index.tsx delete mode 100644 src/pages/Authorize/index.less create mode 100644 src/pages/Dataset/components/AddBigModelVersionModal/useSplitUpload.ts create mode 100644 src/pages/DevelopmentEnvironment/components/DevCard/index.less create mode 100644 src/pages/DevelopmentEnvironment/components/DevCard/index.tsx delete mode 100644 src/pages/HyperParameter/Aim/index.tsx delete mode 100644 src/pages/HyperParameter/Info/index.less create mode 100644 src/pages/MCP/components/ToolCard/index.less create mode 100644 src/pages/MCP/components/ToolCard/index.tsx create mode 100644 src/pages/MCP/components/ToolDetail/index.less create mode 100644 src/pages/MCP/components/ToolDetail/index.tsx create mode 100644 src/pages/MCP/components/ToolList/index.less create mode 100644 src/pages/MCP/components/ToolList/index.tsx create mode 100644 src/pages/MCP/index.less create mode 100644 src/pages/MCP/index.tsx create mode 100644 src/pages/Pipeline/components/CreatePipelineModal/index.tsx create mode 100644 src/pages/Pipeline/components/DrawerTitle/index.less create mode 100644 src/pages/Pipeline/components/DrawerTitle/index.tsx create mode 100644 src/services/mcp/index.ts create mode 100644 src/stories/ImagePicker.stories.tsx create mode 100644 src/stories/KFMdEditor.stories.tsx create mode 100644 src/stories/KFRadioGroup.stories.tsx create mode 100644 src/utils/categoryUtils.ts create mode 100644 src/utils/downloadWithChunck.ts create mode 100644 src/utils/paramGenerator.ts create mode 100644 火石前端部署.md diff --git a/.storybook/scripts/build-image-deploy-tui.sh b/.storybook/scripts/build-image-deploy-tui.sh new file mode 100755 index 00000000..7233f6db --- /dev/null +++ b/.storybook/scripts/build-image-deploy-tui.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +set -e + +# 配置项(可根据你实际情况修改) +SERVER_USER=root +SERVER_IP=172.20.32.185 +CONTAINER_NAME=storybook +PORT=6007 +IMAGE_NAME=storybook-app +IMAGE_TAG=latest +TAR_FILE=${IMAGE_NAME}.tar.gz + +function banner() { +cat << "EOF" +╭────────────────────────────╮ +│ 🚀 Storybook 部署助手 │ +╰────────────────────────────╯ +EOF +} + +function build_storybook() { + echo "🛠️ 构建 Storybook..." + npm run build-storybook || { echo "❌ 构建失败"; return 1; } + + echo "📄 拷贝 docs 到构建目录..." + mkdir -p storybook-static/docs + cp -r ../docs/* storybook-static/docs/ 2>/dev/null || true +} + +function build_and_export_image() { + echo "🐳 构建镜像(linux/amd64)..." + docker buildx build --platform linux/amd64 -t ${IMAGE_NAME}:${IMAGE_TAG} --load . + + echo "📦 导出镜像..." + docker save ${IMAGE_NAME}:${IMAGE_TAG} | gzip > ${TAR_FILE} +} + +function upload_and_deploy() { + echo "📤 上传镜像..." + scp ${TAR_FILE} ${SERVER_USER}@${SERVER_IP}:~/ + + echo "🚀 部署到服务器 ${SERVER_IP}..." + ssh ${SERVER_USER}@${SERVER_IP} << EOF + docker stop ${CONTAINER_NAME} 2>/dev/null || true + docker rm ${CONTAINER_NAME} 2>/dev/null || true + gunzip -c ${TAR_FILE} | docker load + docker run -d --name ${CONTAINER_NAME} -p ${PORT}:80 ${IMAGE_NAME}:${IMAGE_TAG} +EOF + + echo "🎉 成功部署!访问地址:http://${SERVER_IP}:${PORT}" +} + +function all_in_one() { + build_storybook + build_and_export_image + upload_and_deploy +} + +function menu() { + banner + echo "请选择操作:" + select opt in "构建 Storybook" "构建并导出镜像" "上传并部署镜像" "一键完成全部流程(推荐)" "退出"; do + case $REPLY in + 1) build_storybook ;; + 2) build_and_export_image ;; + 3) upload_and_deploy ;; + 4) all_in_one ;; + 5) echo "👋 再见!"; break ;; + *) echo "❗ 无效选项,请重新输入。" ;; + esac + echo "" + banner + echo "请选择操作:" + done +} + +menu \ No newline at end of file diff --git a/.storybook/scripts/build-image-deploy.sh b/.storybook/scripts/build-image-deploy.sh new file mode 100644 index 00000000..8ba3da58 --- /dev/null +++ b/.storybook/scripts/build-image-deploy.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +set -e + +# === 配置项 === +SERVER_USER=root # 服务器用户名 +SERVER_IP=172.20.32.185 # 服务器 IP +CONTAINER_NAME=storybook-app +PORT=6007 # 修改端口以避开已用的 6006 +IMAGE_NAME=storybook-app +IMAGE_TAG=latest +TAR_FILE=${IMAGE_NAME}.tar.gz + +start_time=$(date +%s) + +# === 出错时提示音 === +function on_error { + echo "❌ 脚本执行失败!" + if command -v afplay &>/dev/null; then + afplay /System/Library/Sounds/Funk.aiff + elif command -v paplay &>/dev/null; then + paplay /usr/share/sounds/freedesktop/stereo/dialog-error.oga + fi + exit 1 +} +trap on_error ERR + +# === Step 1: 构建 TypeDoc === +echo "📚 1. 构建本地 TypeDoc..." +npm run docs + +# === Step 2: 构建 Storybook === +echo "🛠️ 构建 Storybook..." +npm run build-storybook + +# === Step 3: 使用 buildx 构建 amd64 镜像 === +echo "🐳 构建 Docker 镜像(平台 linux/amd64)..." +docker buildx build \ + --platform linux/amd64 \ + -t ${IMAGE_NAME}:${IMAGE_TAG} \ + --load . + +# === Step 4: 导出镜像为 tar.gz === +echo "📦 导出并压缩镜像..." +docker save ${IMAGE_NAME}:${IMAGE_TAG} | gzip > ${TAR_FILE} + +# === Step 5: 上传压缩包到服务器 === +echo "📤 上传压缩包到服务器 ${SERVER_IP}..." +scp ${TAR_FILE} ${SERVER_USER}@${SERVER_IP}:~/ + +# === Step 6: SSH 远程部署容器 === +echo "🚀 登录服务器并部署容器..." +ssh ${SERVER_USER}@${SERVER_IP} << EOF + docker stop ${CONTAINER_NAME} 2>/dev/null || true + docker rm ${CONTAINER_NAME} 2>/dev/null || true + gunzip -c ${TAR_FILE} | docker load + docker run -d --name ${CONTAINER_NAME} -p ${PORT}:80 ${IMAGE_NAME}:${IMAGE_TAG} +EOF + +end_time=$(date +%s) +duration=$((end_time - start_time)) + +echo "✅ 部署完成,耗时 ${duration} 秒!访问地址:http://${SERVER_IP}:${PORT}" + +# === 成功提示音 === +if command -v afplay &>/dev/null; then + afplay /System/Library/Sounds/Glass.aiff +elif command -v paplay &>/dev/null; then + paplay /usr/share/sounds/freedesktop/stereo/complete.oga +fi \ No newline at end of file diff --git a/.storybook/scripts/tui-deploy-gum.sh b/.storybook/scripts/tui-deploy-gum.sh new file mode 100644 index 00000000..785df733 --- /dev/null +++ b/.storybook/scripts/tui-deploy-gum.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +set -e + +# 配置项 +SERVER_USER=your-user +SERVER_IP=172.20.32.185 +CONTAINER_NAME=storybook +PORT=6007 +IMAGE_NAME=storybook-app +IMAGE_TAG=latest +TAR_FILE=${IMAGE_NAME}.tar.gz + +# 使用 gum 显示标题 +function banner() { + gum style --foreground 202 "🚀 Storybook 部署助手" +} + +# 构建 Storybook +function build_storybook() { + gum style "🛠️ 构建 Storybook..." + npm run build-storybook || { gum style "❌ 构建失败"; return 1; } + gum style "📄 拷贝 docs 到构建目录..." + mkdir -p storybook-static/docs + cp -r ../docs/* storybook-static/docs/ 2>/dev/null || true +} + +# 构建并导出镜像 +function build_and_export_image() { + gum style "🐳 构建镜像(linux/amd64)..." + docker buildx build --platform linux/amd64 -t ${IMAGE_NAME}:${IMAGE_TAG} --load . + + gum style "📦 导出镜像..." + docker save ${IMAGE_NAME}:${IMAGE_TAG} | gzip > ${TAR_FILE} +} + +# 上传并部署到服务器 +function upload_and_deploy() { + gum style "📤 上传镜像..." + scp ${TAR_FILE} ${SERVER_USER}@${SERVER_IP}:~/ + + gum style "🚀 部署到服务器 ${SERVER_IP}..." + ssh ${SERVER_USER}@${SERVER_IP} << EOF + docker stop ${CONTAINER_NAME} 2>/dev/null || true + docker rm ${CONTAINER_NAME} 2>/dev/null || true + gunzip -c ${TAR_FILE} | docker load + docker run -d --name ${CONTAINER_NAME} -p ${PORT}:80 ${IMAGE_NAME}:${IMAGE_TAG} +EOF + + gum style "🎉 成功部署!访问地址:http://${SERVER_IP}:${PORT}" +} + +# 一键完成流程 +function all_in_one() { + build_storybook + build_and_export_image + upload_and_deploy +} + +# 使用 gum 创建交互菜单 +function menu() { + banner + gum choose --header "请选择操作:" \ + "构建 Storybook" \ + "构建并导出镜像" \ + "上传并部署镜像" \ + "一键完成全部流程(推荐)" \ + "退出" | { + case $? in + 0) build_storybook ;; + 1) build_and_export_image ;; + 2) upload_and_deploy ;; + 3) all_in_one ;; + 4) gum style "👋 再见!"; exit 0 ;; + esac + } +} + +# 启动菜单 +menu \ No newline at end of file diff --git a/.storybook/scripts/upload-deploy.sh b/.storybook/scripts/upload-deploy.sh new file mode 100755 index 00000000..e88ae0c3 --- /dev/null +++ b/.storybook/scripts/upload-deploy.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# 配置项(你可以改成自己的) +SERVER_USER=root # 服务器用户名 +SERVER_IP=172.20.32.185 # 你的服务器 IP 地址 +REMOTE_DIR=/home/zhaowei/storybook/ # 服务器上存放静态文件的目录 +CONTAINER_NAME=storybook # Docker 容器名 +PORT=6006 # 暴露的端口 + +# Step 1: 构建 TypeDoc +echo "📦 构建本地 TypeDoc..." +npm run docs + +# Step 2: 构建 Storybook +echo "📦 构建本地 Storybook..." +npm run storybook-build + +# Step 3: 上传到服务器 +echo "📤 上传静态文件到服务器 ${SERVER_IP}..." +scp -r storybook-static/* ${SERVER_USER}@${SERVER_IP}:${REMOTE_DIR} + +# Step 4: 在服务器上重启 Docker 容器 +echo "🚀 远程重启 Docker 容器..." +ssh ${SERVER_USER}@${SERVER_IP} << EOF + docker stop ${CONTAINER_NAME} || true + docker rm ${CONTAINER_NAME} || true + docker run -d \ + -p ${PORT}:80 \ + --name ${CONTAINER_NAME} \ + -v ${REMOTE_DIR}:/usr/share/nginx/html:ro \ + nginx +EOF + +echo "✅ 部署完成!你现在可以访问:http://${SERVER_IP}:${PORT}" \ No newline at end of file diff --git a/config/config.ts b/config/config.ts index e2c519ce..4ac775d9 100644 --- a/config/config.ts +++ b/config/config.ts @@ -75,7 +75,7 @@ export default defineConfig({ * @name layout 插件 * @doc https://umijs.org/docs/max/layout-menu */ - title: '智能材料科研平台', + title: 'MatrAIx', layout: { ...defaultSettings, }, @@ -163,6 +163,8 @@ export default defineConfig({ }, javascriptEnabled: true, }, + // base: '/matraix/', + // publicPath: '/matraix/', valtio: {}, /** * qiankun 微前端配置 @@ -175,28 +177,22 @@ export default defineConfig({ apps: process.env.UMI_APP_HUO_SHI ? [ { - name: 'flint-data', // 数据服务微应用 + name: 'flint', // 数据服务微应用 + // entry: 'http://localhost:8083', // 开发环境地址 + entry: '/flint', // 生产环境地址 + activeRule: '/flint', // 激活规则 + }, + { + name: 'trainfer', // 服务管理 // entry: 'http://localhost:8081', // 开发环境地址 - entry: '/flint-data/', // 生产环境地址 - activeRule: '/flint-data', // 激活规则 + entry: '/trainfer', // 生产环境地址 + activeRule: '/trainfer', // 激活规则 }, { - name: 'flint-bml', // 训练模块微应用 - // entry: 'http://localhost:8082', - entry: '/flint-bml/', - activeRule: '/training/flint-bml', - }, - { - name: 'flint-console', // 集群管理 - // entry: 'http://localhost:8083', - entry: '/flint-console/', - activeRule: '/flint-console', - }, - { - name: 'flint-service', // 服务模块微应用 - // entry: 'http://localhost:8085', - entry: '/flint-service/', - activeRule: '/dataset/flint-service', + name: 'portal', // 服务管理 + // entry: 'http://localhost:8082', // 开发环境地址 + entry: '/portal', // 生产环境地址 + activeRule: '/portal', // 激活规则 }, ] : [], diff --git a/config/defaultSettings.ts b/config/defaultSettings.ts index 8129ba1e..4d2a0d9c 100644 --- a/config/defaultSettings.ts +++ b/config/defaultSettings.ts @@ -16,7 +16,7 @@ const Settings: ProLayoutProps & { fixSiderbar: false, splitMenus: false, colorWeak: false, - title: '智能材料科研平台', + title: 'MatrAIx', pwa: true, token: { // 参见ts声明,demo 见文档,通过token 修改样式 diff --git a/config/proxy.ts b/config/proxy.ts index 608bedda..54e4b2cf 100644 --- a/config/proxy.ts +++ b/config/proxy.ts @@ -18,6 +18,12 @@ export default { // 如果需要自定义本地开发服务器 请取消注释按需调整 dev: { // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + '/proxyApi/': { + target: 'https://172.29.246.110:30016', + changeOrigin: true, + secure: false, + // target: 'http://172.31.164.103:30009/', + }, '/api/': { // 要代理的地址 // target: 'http://172.20.32.121:31213/', // 开发环境 @@ -30,17 +36,37 @@ export default { // pathRewrite: { '^/api': '' }, }, '/llm/': { - target: 'http://172.20.32.185:32180', + target: 'http://172.20.32.235:31213', changeOrigin: true, - pathRewrite: { '^/llm': '' }, + // pathRewrite: { '^/llm': '' }, + }, + '/tools/': { + target: 'http://172.20.32.235:30070', + changeOrigin: true, + pathRewrite: { '^/tools': '' }, }, '/minio/': { target: 'http://172.20.32.235:31213', // 测试环境 changeOrigin: true, }, + '/jsm/': { + target: 'https://ai4m.jointcloud.net', + changeOrigin: true, + // pathRewrite: { '^/llm': '' }, + }, + '/pcm/': { + target: 'https://ai4m.jointcloud.net', + changeOrigin: true, + // pathRewrite: { '^/llm': '' }, + }, + '/jcc-admin/': { + target: 'https://ai4m.jointcloud.net', + changeOrigin: true, + // pathRewrite: { '^/llm': '' }, + }, '/huoshiProxyApi/': { // target: 'http:///218.77.58.19:31213', // 公网环境 - target: 'http://218.77.58.19:30009/', // 火石环境 + target: 'https://172.29.246.110:30016', // 火石环境 changeOrigin: true, pathRewrite: { '^/huoshiProxyApi': '' }, secure: false, @@ -55,10 +81,7 @@ export default { // target: 'http://172.31.164.103:30009/', changeOrigin: true, }, - '/proxyApi/': { - target: 'http://192.168.60.11:30009/', - // target: 'http://172.31.164.103:30009/', - }, + }, /** diff --git a/config/routes.ts b/config/routes.ts index 9a82540e..739217c3 100644 --- a/config/routes.ts +++ b/config/routes.ts @@ -39,6 +39,12 @@ export default [ key: 'workspace', component: './Workspace/index', }, + { + name: '算力积分', + path: 'points', + key: 'points', + component: './Points/index', + }, { name: '消息中心', path: 'message', @@ -96,34 +102,34 @@ export default [ }, ], }, - { - name: '开发环境', - path: '/developmentEnvironment', - routes: [ - { - name: '开发环境', - path: '', - component: './DevelopmentEnvironment/List', - }, - { - name: '创建开发环境', - path: 'create', - component: './DevelopmentEnvironment/Create', - }, - { - name: '开发环境详情', - path: 'editor', - component: './DevelopmentEnvironment/Editor', - }, - ], - }, { name: '流水线', path: '/pipeline', routes: [ { path: '', - redirect: 'template', + redirect: 'developmentEnvironment', + }, + { + name: '开发环境', + path: 'developmentEnvironment', + routes: [ + { + name: '开发环境', + path: '', + component: './DevelopmentEnvironment/List', + }, + { + name: '创建开发环境', + path: 'create', + component: './DevelopmentEnvironment/Create', + }, + { + name: '开发环境详情', + path: 'editor', + component: './DevelopmentEnvironment/Editor', + }, + ], }, { name: '流水线模板', @@ -255,7 +261,7 @@ export default [ { name: '可视化对比', path: 'compare-visual', - component: './HyperParameter/Aim/index', + component: './Experiment/Aim/index', }, ], }, @@ -266,7 +272,7 @@ export default [ path: 'active-learn', routes: [ { - name: '超参数寻优', + name: '主动学习', path: '', component: './ActiveLearn/List/index', }, @@ -293,7 +299,18 @@ export default [ { name: '实验实例详情', path: 'instance/:experimentId/:id', - component: './ActiveLearn/Instance/index', + routes: [ + { + name: '实验实例详情', + path: '', + component: './ActiveLearn/Instance/index', + }, + { + name: '数据标注', + path: 'label', + component: './ActiveLearn/Label/index', + }, + ], }, ], }, @@ -305,7 +322,7 @@ export default [ routes: [ { path: '', - redirect: '/dataset/dataset', + redirect: 'dataset', }, { name: '数据集', @@ -451,55 +468,132 @@ export default [ { name: '应用开发', path: '/apps', - key: 'apps', + key: 'apps-container', routes: [ { - name: '应用开发', path: '', - key: 'apps-default', - component: './Application/Featured', + redirect: 'apps', }, { - name: '应用详情', - path: 'info/:id', - key: 'apps-info', + name: '应用开发', + path: 'apps', + key: 'apps', routes: [ { - name: '应用详情', + name: '应用开发', path: '', - component: './Application/Info', + key: 'apps-default', + component: './Application/Featured', }, { - name: '任务', - path: 'execute/:versionId', - key: 'apps-execute', - component: './Application/Execute', + name: '应用详情', + path: 'info/:id', + key: 'apps-info', + routes: [ + { + name: '应用详情', + path: '', + component: './Application/Info', + }, + { + name: '任务', + path: 'execute/:versionId', + key: 'apps-execute', + component: './Application/Execute', + }, + { + name: '智算任务', + path: 'intelligent-execute', + key: 'intelligent-execute', + component: './Application/IntelligentExec', + }, + ], + }, + { + name: '应用管理', + path: 'manage/:id', + key: 'apps-manage', + routes: [ + { + name: '应用管理', + path: '', + component: './Application/Info', + }, + { + name: '服务版本详情', + path: 'versionInfo/:versionId', + key: 'apps-manage-version', + component: './Application/VersionInfo', + }, + { + name: '任务', + path: 'execute/:versionId', + key: 'apps-manage-execute', + component: './Application/Execute', + }, + { + name: '智算任务', + path: 'intelligent-manage-execute', + key: 'intelligent-manage-execute', + component: './Application/IntelligentExec', + }, + ], }, ], }, + { + name: '工具集', + path: 'mcp-tools', + key: 'mcp-tools', + component: './MCP/index', + }, + ], + }, + { + name: '智能体', + path: 'agent', + key: 'agent', + routes: [ + { + name: '智能体广场', + path: '', + redirect: 'public-agent', + }, + { + name: '智能体广场', + path: 'public-agent', + key: 'public-agent', + component: './Agent/PublicAgent', + }, + { + name: '插件广场', + path: 'public-plugin', + key: 'public-plugin', + component: './Agent/PublicPlugin', + }, + { + name: '我的智能体', + path: 'my-agent', + key: 'my-agent', + component: './Agent/MyAgent', + }, + { + name: '发布管理', + path: 'publish-manage', + key: 'publish-manage', + component: './Agent/Publish', + }, + { + name: '资源管理', + path: 'resource-manage', + key: 'resource-manage', + component: './Agent/Resource', + }, { name: '应用管理', - path: 'manage/:id', - key: 'apps-manage', - routes: [ - { - name: '应用管理', - path: '', - component: './Application/Info', - }, - { - name: '服务版本详情', - path: 'versionInfo/:versionId', - key: 'apps-manage-version', - component: './Application/VersionInfo', - }, - { - name: '任务', - path: 'execute/:versionId', - key: 'apps-manage-execute', - component: './Application/Execute', - }, - ], + path: 'app-manage', + key: 'app-manage', + component: './Agent/App', }, ], }, @@ -509,12 +603,7 @@ export default [ key: 'llm', component: './LLM/index', }, - { - name: '智能体', - path: '/agent', - key: 'agent', - component: './Agent/index', - }, + { name: '监控运维', path: '/see', @@ -584,7 +673,7 @@ export default [ routes: [ { path: '', - redirect: '/system/user', + redirect: 'user', }, { name: '用户管理', @@ -684,240 +773,257 @@ export default [ }, ], }, - { - name: '算力积分', - path: '/points', - routes: [ - { - name: '算力积分', - path: '', - key: 'points', - component: './Points/index', - }, - ], - }, ...(process.env.UMI_APP_HUO_SHI ? [ + { + path:'/flint/*', + name: '数据管理', + microApp: 'flint', + layout: true, + }, + { + path:'/trainfer/*', + name: '火石服务', + microApp: 'trainfer', + layout: true, + }, + { + path:'/portal/*', + name: '火石服务', + microApp: 'portal', + layout: true, + } // 数据标注页面 - 使用自定义组件包装微应用 - { - path: '/flint-data/mark/list', - name: '数据标注', - component: './DatasetPreparation/mark/index', - layout: true, - }, - // 数据服务子路径 - 直接路由到微应用(排除 mark/list) - { - path: '/flint-data/*', - name: '数据服务', - microApp: 'flint-data', - layout: true, - }, - { - path: '/training/flint-bml/*', - name: '训练模块', - microApp: 'flint-bml', - layout: true, - }, - { - path: '/flint-console/*', - name: '集群管理', - microApp: 'flint-console', - layout: true, - }, - { - path: '/dataset/flint-service/*', - name: '服务模块', - microApp: 'flint-service', - layout: true, - }, - { - path: '/training', - name: '模型训练', - routes: [ - { - name: '小模型训练', - path: 'pipeline', - routes: [ - { - path: '', - redirect: 'template', - }, - { - name: '流水线模板', - path: 'template', - routes: [ - { - name: '流水线模板', - path: '', - component: './Pipeline/index', - }, - { - name: '流水线详情', - path: 'info/:id', - component: './Pipeline/Info/index', - }, - ], - }, - { - name: '实验', - path: 'experiment', - routes: [ - { - name: '实验', - path: '', - component: './Experiment/index', - }, - { - name: '实验实例', - path: 'instance/:workflowId/:id', - component: './Experiment/Info/index', - }, - { - name: '实验对比', - path: 'compare', - routes: [ - { - name: '实验对比', - path: '', - component: './Experiment/Comparison/index', - }, - { - name: '可视化对比', - path: 'compare-visual', - component: './Experiment/Aim/index', - }, - ], - }, - { - name: '可视化', - path: 'visual', - component: './Experiment/Tensorboard/index', - }, - ], - }, - { - name: '自动机器学习', - path: 'automl', - routes: [ - { - name: '自动机器学习', - path: '', - component: './AutoML/List/index', - }, - { - name: '实验详情', - path: 'info/:id', - component: './AutoML/Info/index', - }, - { - name: '创建实验', - path: 'create', - component: './AutoML/Create/index', - }, - { - name: '编辑实验', - path: 'edit/:id', - component: './AutoML/Create/index', - }, - { - name: '复制实验', - path: 'copy/:id', - component: './AutoML/Create/index', - }, - { - name: '实验实例详情', - path: 'instance/:experimentId/:id', - component: './AutoML/Instance/index', - }, - ], - }, - { - name: '超参数自动寻优', - path: 'hyperparameter', - routes: [ - { - name: '超参数寻优', - path: '', - component: './HyperParameter/List/index', - }, - { - name: '实验详情', - path: 'info/:id', - component: './HyperParameter/Info/index', - }, - { - name: '创建实验', - path: 'create', - component: './HyperParameter/Create/index', - }, - { - name: '编辑实验', - path: 'edit/:id', - component: './HyperParameter/Create/index', - }, - { - name: '复制实验', - path: 'copy/:id', - component: './HyperParameter/Create/index', - }, - { - name: '实验实例详情', - path: 'instance/:experimentId/:id', - routes: [ - { - name: '实验实例详情', - path: '', - component: './HyperParameter/Instance/index', - }, - { - name: '可视化对比', - path: 'compare-visual', - component: './HyperParameter/Aim/index', - }, - ], - }, - ], - }, - { - name: '主动学习', - path: 'active-learn', - routes: [ - { - name: '超参数寻优', - path: '', - component: './ActiveLearn/List/index', - }, - { - name: '实验详情', - path: 'info/:id', - component: './ActiveLearn/Info/index', - }, - { - name: '创建实验', - path: 'create', - component: './ActiveLearn/Create/index', - }, - { - name: '编辑实验', - path: 'edit/:id', - component: './ActiveLearn/Create/index', - }, - { - name: '复制实验', - path: 'copy/:id', - component: './ActiveLearn/Create/index', - }, - { - name: '实验实例详情', - path: 'instance/:experimentId/:id', - component: './ActiveLearn/Instance/index', - }, - ], - }, - ], - }, - ], - }, + // { + // path: '/flint-data/mark/list', + // name: '数据标注', + // component: './DatasetPreparation/mark/index', + // layout: true, + // }, + // // 数据服务子路径 - 直接路由到微应用(排除 mark/list) + // { + // path: '/flint-data/*', + // name: '数据服务', + // microApp: 'flint-data', + // layout: true, + // }, + // { + // path: '/training/flint-bml/*', + // name: '训练模块', + // microApp: 'flint-bml', + // layout: true, + // }, + // { + // path: '/flint-console/*', + // name: '集群管理', + // microApp: 'flint-console', + // layout: true, + // }, + // { + // path: '/dataset/flint-service/*', + // name: '服务模块', + // microApp: 'flint-service', + // layout: true, + // }, + // { + // path: '/training', + // name: '模型训练', + // routes: [ + // { + // name: '小模型训练', + // path: 'pipeline', + // routes: [ + // { + // path: '', + // redirect: 'template', + // }, + // { + // name: '流水线模板', + // path: 'template', + // routes: [ + // { + // name: '流水线模板', + // path: '', + // component: './Pipeline/index', + // }, + // { + // name: '流水线详情', + // path: 'info/:id', + // component: './Pipeline/Info/index', + // }, + // ], + // }, + // { + // name: '实验', + // path: 'experiment', + // routes: [ + // { + // name: '实验', + // path: '', + // component: './Experiment/index', + // }, + // { + // name: '实验实例', + // path: 'instance/:workflowId/:id', + // component: './Experiment/Info/index', + // }, + // { + // name: '实验对比', + // path: 'compare', + // routes: [ + // { + // name: '实验对比', + // path: '', + // component: './Experiment/Comparison/index', + // }, + // { + // name: '可视化对比', + // path: 'compare-visual', + // component: './Experiment/Aim/index', + // }, + // ], + // }, + // { + // name: '可视化', + // path: 'visual', + // component: './Experiment/Tensorboard/index', + // }, + // ], + // }, + // { + // name: '自动机器学习', + // path: 'automl', + // routes: [ + // { + // name: '自动机器学习', + // path: '', + // component: './AutoML/List/index', + // }, + // { + // name: '实验详情', + // path: 'info/:id', + // component: './AutoML/Info/index', + // }, + // { + // name: '创建实验', + // path: 'create', + // component: './AutoML/Create/index', + // }, + // { + // name: '编辑实验', + // path: 'edit/:id', + // component: './AutoML/Create/index', + // }, + // { + // name: '复制实验', + // path: 'copy/:id', + // component: './AutoML/Create/index', + // }, + // { + // name: '实验实例详情', + // path: 'instance/:experimentId/:id', + // component: './AutoML/Instance/index', + // }, + // ], + // }, + // { + // name: '超参数自动寻优', + // path: 'hyperparameter', + // routes: [ + // { + // name: '超参数寻优', + // path: '', + // component: './HyperParameter/List/index', + // }, + // { + // name: '实验详情', + // path: 'info/:id', + // component: './HyperParameter/Info/index', + // }, + // { + // name: '创建实验', + // path: 'create', + // component: './HyperParameter/Create/index', + // }, + // { + // name: '编辑实验', + // path: 'edit/:id', + // component: './HyperParameter/Create/index', + // }, + // { + // name: '复制实验', + // path: 'copy/:id', + // component: './HyperParameter/Create/index', + // }, + // { + // name: '实验实例详情', + // path: 'instance/:experimentId/:id', + // routes: [ + // { + // name: '实验实例详情', + // path: '', + // component: './HyperParameter/Instance/index', + // }, + // { + // name: '可视化对比', + // path: 'compare-visual', + // component: './Experiment/Aim/index', + // }, + // ], + // }, + // ], + // }, + // { + // name: '主动学习', + // path: 'active-learn', + // routes: [ + // { + // name: '主动学习', + // path: '', + // component: './ActiveLearn/List/index', + // }, + // { + // name: '实验详情', + // path: 'info/:id', + // component: './ActiveLearn/Info/index', + // }, + // { + // name: '创建实验', + // path: 'create', + // component: './ActiveLearn/Create/index', + // }, + // { + // name: '编辑实验', + // path: 'edit/:id', + // component: './ActiveLearn/Create/index', + // }, + // { + // name: '复制实验', + // path: 'copy/:id', + // component: './ActiveLearn/Create/index', + // }, + // { + // name: '实验实例详情', + // path: 'instance/:experimentId/:id', + // routes: [ + // { + // name: '实验实例详情', + // path: '', + // component: './ActiveLearn/Instance/index', + // }, + // { + // name: '数据标注', + // path: 'label', + // component: './ActiveLearn/Label/index', + // }, + // ], + // }, + // ], + // }, + // ], + // }, + // ], + // }, ] : []), { diff --git a/mock/home.ts b/mock/home.ts index 25039391..99f1ff26 100644 --- a/mock/home.ts +++ b/mock/home.ts @@ -19,6 +19,8 @@ export default defineMock({ praises_count: 1, create_by: 'fanshuai', owner: 'fanshuai', + data_type: '高强度,高韧性', + data_tag: '半导体,导体', }, { name: '有机化学VLM', @@ -32,6 +34,7 @@ export default defineMock({ praises_count: 1, create_by: 'fanshuai', owner: 'fanshuai', + data_type: '高强度,高韧性', }, { name: 'OQMD 开源量子材料数据集', @@ -46,6 +49,8 @@ export default defineMock({ praises_count: 1, create_by: 'fanshuai', owner: 'fanshuai', + data_type: '高强度', + data_tag: '半导体', }, { name: '不可降解和可生物降解的材料数据集', @@ -60,6 +65,7 @@ export default defineMock({ praises_count: 1, create_by: 'fanshuai', owner: 'fanshuai', + data_tag: '半导体', }, { name: '金属有机框架材料预测', @@ -74,6 +80,7 @@ export default defineMock({ praises_count: 1, create_by: 'fanshuai', owner: 'fanshuai', + data_type: '高强度', }, { name: '纤维增强复合材料的弹性特性', @@ -352,6 +359,7 @@ export default defineMock({ identifier: 'public_model_20250528093254', is_public: true, praises_count: 0, + model_type: '高强度,高韧性', }, { id: 157, @@ -364,6 +372,8 @@ export default defineMock({ identifier: 'public_model_20250528094825', is_public: true, praises_count: 0, + model_type: '高强度,高韧性', + model_tag: '半导体,导体', }, { id: 158, @@ -377,6 +387,8 @@ export default defineMock({ identifier: 'public_model_20250528101831', is_public: true, praises_count: 0, + model_type: '高强度', + model_tag: '半导体', }, { id: 159, diff --git a/package.json b/package.json index 1167fd7a..54f81b95 100644 --- a/package.json +++ b/package.json @@ -42,13 +42,15 @@ "start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev max dev", "storybook": "storybook dev -p 6006", "storybook-build": "storybook build", - "storybook-deploy": "./.storybook/scripts/upload-deploy.sh", + "storybook-deploy": "sh ./.storybook/scripts/upload-deploy.sh", + "storybook-build-image": "sh ./.storybook/scripts/build-image-deploy.sh", "storybook-docs": "storybook dev --docs", "storybook-docs-build": "storybook build --docs", "test": "jest", "test:coverage": "npm run jest -- --coverage", "test:update": "npm run jest -- -u", - "tsc": "tsc --noEmit" + "tsc": "tsc --noEmit", + "pr": "node ./scripts/git-merge.js" }, "lint-staged": { "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", @@ -189,4 +191,4 @@ "public" ] } -} +} \ No newline at end of file diff --git a/public/assets/images/pipeline/component-icon-1.png b/public/assets/images/pipeline/component-icon-1.png new file mode 100644 index 0000000000000000000000000000000000000000..719ea655f1be60907c7523c49c7a5c2b5ed7302c GIT binary patch literal 1434 zcmV;L1!ek)P)T?)YcYht)Lj|gGde9K2#q> zEQ%GOLRz7DFldcn1*2j?suWwqhZ?XdD%J<9f)BO&V6|!JOH-Au`D0O%O{}Jy@jJUa z&LnJfy5|};nR6j5Gjq?)oZo(T&fU3Z?l?>+y(7V@u{<_#_o5&`qjR`;Vx2T?lffx6 zI7*+7*3@Fpf;x9F?!OB+f*_ca9l|zN-okygX@YbXzUIm2#RYTG=A0W9y8^(zT(I=a z7&>|I+OudZwN(S)@GOT1>oe~A0>EE#!FEb@Yify9;5fzh!etrP>iR~4oAY^m#Wrdx zXeZ4kW3>*;U3MtgNeUa&OhV!N>+a-WaFBAmNzq7}O}}*6!Qgj>k_*yILE(F!bYTV+ zE0q#3fR&Of*%?3ss3f2?Hw79%B>|jD3qft>m~Pz_k-7xx zZ`}Mirnrt{zFBfZA=f?))+xGfRhBtN2#`McGGqS3+cjN^Z`$C z%(;{4PZB`lUD~?vBoO0WcJmS7Sblu>l^`Ocls7DhOg>f%hbp4LFqnk3C5XhYkrqTI z=a~4&v<)JOJ)FXd)9RPV6mm)YuMA*fROKrgKm({GpfooH8bBohrMW5404fP6%}s#@ zP)R^(ZVEJjN&-sr8Lhzi89*k#B_-te04I<5IG^mheG$<4O)_$e8)!3+H(PmIzln1q zGSxZ|o9Lgh0L9sdZ;ety1Vr2WMQH8!j-Q(RHg*o^emqsgao#z+mCxJHamA($v!WU|-9h+=sM_;W+J!|qpLa*flTl7Q0O6legI1eE5c zKm({GpfooHdH~qVHcHPvDqBmRd0_#@{q+0J^!e_^<4>I}fm}IASqj=MWE1u>g7O^mBZ${6y$<6c?rXHy oVMy=%=XDs}d>zK_iLb->8*V@$#g#QBSpWb407*qoM6N<$f+j+itpET3 literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-10.png b/public/assets/images/pipeline/component-icon-10.png new file mode 100644 index 0000000000000000000000000000000000000000..952c724e2484bcea030c0ebbe4b2034416f84816 GIT binary patch literal 1311 zcmV+)1>pLLP) zAdUzs|1uz_zlM@2R>0oRY z&U|~S1a1T+7MGNWmK4C}5xI?iT<2RNHWDXr+lLPo)gl~~(=7`Z$VZ+HKYlhz1|+76 z*09`16}i&SBy8s{(I}pUJr~05S?iWLikD4(hSrMq^3#||c-0J^a# zfQy#}wT7k@;EiiZ?BAQv8lY}xRqOImHdbGi)(Wuk*92OwyHkDL7h>|1JX9{%r$Vg& ze_9&TEf`1q{dTB8n_mNviPF^o2M&6l-J93UEYr+AufWk`1b(gxV$7HCZ}tx#NbGG$ z;L$@p<6oWzsNij`&&QxH^>vHqHL0*>eOwDfPXkoSn>{CUhxgo>WJ-zL;%R_NeG?~T z?x)?pB~vQo76Xt;(9-}_^;Ok4Q&H7dRby`PG(ZI>(|u6a{ZIM#JV2$wiUomBx-oyA zwD9j)zWO{3uy`m?{Y!oixb&*3`hzta;_QyKCl#okIvNia^y>emLyUxhRV!jFh@J%4 zSNA0y;;ow!8%c?Fi{}8Us;ktOO{rWKLwh6}ix1~|4&b660$B8YcAuskI$)vc56c!o z&jD1e?l*I@197&0VaP^{|rv;}t&Z2wmchqRl;{cmZSoq84YbTB}l z1CU98X>Jr~05S= z0mi>6`}zJPz|Q&~VU|F)4^b_JEFuy4Rb1jWEkvtt%98z<`jh1=S_XMa>Z3H8A5%?# z>ibjlIgeFfWofZ!NCBjE^z&NV@gE&b&3Rz`AOIRSyk1(2uW3E~{d!liX{HDYE=3l52A@A2A_<^ z7>Opl$b+#WFUsPJf|wY85>5Pj(!>|Q1fyaiCPGLcN+t610%mu?g56!kvb$}UUeDcS zaChA8&fIhFb|!P@rJ44eGjqNZk=QGYv00&41~{Ef z-9E?ROWYfBVJxts7-ZuZVNZ8Nx7PF~0@Ru(KmWYJo2ySOM8sEn7o_9aq^L|1b zZ4!2ZtTKndhFKw-`~XMt<{*=h_nm);5tur{7~CswB+!~aiU|A*Bk+bmV~}*7bAAy4 zrf~i+n=AnXP?p>^Jp<4HBoZL1n+P-ji3Eu1CISsWA_1bhi9iF8NPwtrBG3RN5+JJk zCIbICdk9KbCY!q3xqJx1%T_m)QzhUFfPWtT7z9A4Ti@MJz|z(0or;s>JP%NS69CLS^hPua5oFC5qj#fxXijz?~L6e4$Q zB-?3Zz>@&;>7QZZ;Co7(W{W$^QP|$or^KG!h$jIiapEXl$tZKUXK*bn8+}fhy=p_A z12~gSLi+23a%WdP^@(zu!k__2#OgVK!k^@xF&x5KqHF)D`*H{uFP(;hgIRRR;OPHu z@Iv>(ce|7TWQ)T%iM-~oNyKgKdehoxVack|8eoA*ARWz zOi(lAdU43TSp!SeEy48_aHyaxjhQ(3F67g{I6Q1)v3kwWONTy!sdI-N+pae$IaYQl zs05(ew4)PNViejtD55@|&Lo?<*Bu{eNh8%d5hVcA`x7veYwlcA@2?3g9eNP@?s?Lw z_=3uj0qUq-MF(Z@@%I-LjMIaY0jeCn)hDg1_;(7%sT>(#D{EIV(>rN%i4>+)n-YMs zsYW9w?Ny18%bnNPO4KFN_nXJd58e744^RPHsQ5j`FaU3r92d~dA*#H5^;82r2tjeu42*<%?X(Y z>z1QBo2kkpP#C;?`T$HG`@;1_uJOTm?%N4F+uhDZ@m?jBY=^t|;^*K$XMS0x41? z9qoNj0#wnQwMU??+1Qf+h4a)`+w1`Am4}qujHT;YfRvol4n}81;#q){oU$6Ac(A?_ zA8qP-N6^y%1qe}z%;r+kqfJ-(;`t$LogigK)|I-{M7ST;OqlrL9mt zs7`bEmYF4xjA_d?J~|A zFN7npx61(WX4qE9rH|pxu(ZVhDdMWV$2%jjyAa}>{bK|P{Not1FdrkR9}wbW1aEaj zO4}J5EdTq|b%2(9<#QNw&*1(V^EnJ0o!38y!A^0`KDB=i<6p({{3X?m-7)|G002ov JPDHLkV1gjJ$!P!p literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-2.png b/public/assets/images/pipeline/component-icon-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c955256d48bf04cf816058bf48f3201a14f21e3d GIT binary patch literal 1571 zcmV+;2Hg3HP)3w0%GWC@7#wF@=x_O+*cE3bk9<#s?#$-P!9o<4&{e zcK+_q?Cj3HFPqt!b9c|T=bpLe+_QHWl(o?u?=0lud0=oC=dge=XfD4dNyo?_hYT(N zhYP6;d_1R_4VCK8oCD5z;6E#9qn)&SyCEw6?Ng8{l7K{7rmwOJa!#D30KE-*PkC%Cb3rpJl-y_K_0kC&?m( zG=~m0lI0)ZK<-U431Qti>}8j;dWI=iSMm>!}RPn?JQ85m;9Bg;fPe&<-KI>j+V#ktGty=Gh|BYGkSc z@Z#?rKHWE2;paqDqGA2eqt)||kpj$J1^8_Lq^F+~fk-kI+wxATN<=jqjG>WE&1ka{k|?JJm)%s`0B2PuwuT~ zD+jn~!$jo%&R5Ig1sl-{RZqT^16;p$BB(x*U-vlr!etm!t89@1Y@7+O^pXD+I6Y{= z__!KX7A;9(G{RsQ6A@lFt(pf|I)rF$c>EaNY`()#?wS}#8jfq$HB5za)aUElCtQD+ zng{s){uvddC_16^)$qAOV2Vvm7D8{4zBUkS4aIJS9fm+6f%e6!Mi1Yw~l;mb+(Og8TqA572=|fq%~n?o$e~B$`hS zow8sq#|7($I2A~u^00Ynf3`W2V;b5FxuQC7)Kyd;pGSbEZ z#rfNkx&W?On}N;;)K)GiPw9WMFArya^3RNTG1dW)a*40KHADH*rgDIOY4sq+sRN)6 z>myy119U>KK1|b#T4MXc6!gB7nPN@Zmk-|+i-T!BxM!WdS{W?>9nI~kQ>=@jP%LbF zWoLt3AVe0u_r35HT{L8=Hb%A2E7wCSK6<~&}PM~GZ6K{)Wwd^U(EUac|zb92yKNtHUtkXht z_Z>?M)UCA2{tZA$ng*Z&C`mw4+*qIiC`mw4+*qIiC`mw4+*qJAz$_odEkIi(`$?vF zaRbJ0QTxY|NkCfbqs(l9EDn*jLS|!Q{EkTuzu-o+m471=?>h;S|KK*r3+;^sa39sJ z`0_>)v{t4g{)fA*h3&Bc;y(JRkt=W(4?2{6Kpl64tK8?>THs#XPrq=(!w5#Nz)n25 z8Fg3tr`q~~X>kVcw9SSc2=6+nRk1fn@o^Z>;h6>IaTqi@ryhs#D?Se6qw>dL{0C5- VKQZ3Md5i!6002ovPDHLkV1km|=db_( literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-3.png b/public/assets/images/pipeline/component-icon-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b5114e1e87d9a7f139413b6955a4d224ce57d6 GIT binary patch literal 1943 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 literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-5.png b/public/assets/images/pipeline/component-icon-5.png new file mode 100644 index 0000000000000000000000000000000000000000..fb16b1d1d7a8afa630b9e270c91f0ed7c9299bdf GIT binary patch literal 2072 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 D%cXCs literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-7.png b/public/assets/images/pipeline/component-icon-7.png new file mode 100644 index 0000000000000000000000000000000000000000..adbd7e2fb298ca2103671ee3ae0cb9af89239d54 GIT binary patch literal 1865 zcmV-P2e$Z$P)zzxyUCrocYgQG%>SG-y;qR0%ui4E2r2iFln+TEwg{s8{l`S z9v9H(3(|2$)+LkY^ZO4zw~M@TrC~81e+w1%<7+HRkgDiw7Ql`qlF5TYh+AAw0bER{ zJ6)oa_-98IjYalQ7}+E&Y#`CnGNl0COs9wN%hw`HBt*vn?%jr#mIDHFUN6S@k7&aQ z(N2`BxB%8I7E-B?NQk{rCK0;tQhqGv)9Ldt$E~3oiFUed457T`<@ zk=&akXVVBs&Xc@)sbp7V!#Z*{wh-Y{Y`|wTG7U{DpKYj}1>U$u^3nvk0L8Gx;)3SA zM;ap0NMch5IrtGBT`L0AJV1u_)3+r5x~vVXYy*JkJo==9TB~9XAckmm>~kU>qBSn! zfp&`R+($g@O&22o1?IF{@4vn*!!$Gi%#-nf{l+000qBm8k^JGS(0yO7iq4MRBp%+j zT+Icxv!(%x?az?&_znv&ECCBJEV(=N>K34!JWKA_h-UZotH)k=gJ@%`enTZ%Ffs@7 z`P|XZNKO^(!!gyp8Lq@eVPOWbuEfffL;gG zkOoMaoi^8})^>8bwi%Z#ODx?;UYG*~0do%vYRfYw*XJClgfy(qd7__0XKz`nD~QB!(1APdt)$KCb3p>p&{z==IdzWQ z)1%57>t6>pVNUA7oMbv$0;_i?0S-6Li}cj3j4A5M0VWS^j_awI9y|LOe$^B;G%=S- zSSrC%*?QfXbfDk8_5hY51)yq(7Af*3;)hj6cAUOl##duAt1zr1i)hSB7G7xX8XT(6 zXp91fKxzhJx~3Y?yJOITv0eKrT5xo4vKb5XR#41WS?Ir-iD`fn(1Nk8PZ_tooJugF z0|RcW64MudhYsX?$TE5+3~f_8exL^p$Nqw>)rbW$EY6q}%}ub-zHuF^Cq8*4g{bCF z`UjuI3Pdv{kdbS~N)B!4uu$hL-3n*si~#gx40{M-`?JMC>P|qbpuSOnx&A@_iH`2u z>Bj)KYZY(^eF?Pz=({}5=c*(*5A%E118QL!l6~BqZ|kK)OC{3tQl?TbbiWmL+_}f;hhSP{CqR zX~dgjg6xf$EJgtG1vA7fEJXhDz1H>nQ{Mmg-1OSdAR6=td}bJXadrp;dc;fQqwzeex-B1u5M z)2D=e1af$a{3v7w_#jO24?IWp?(j`TvgW^dd~}z35I6QoAHWB~zqV9L0PDuf4awwD z1rQeKEKE=TiZ9)jHW20G@YLRk#$@slKy>{tBX|>k6Pe5*(blH^ zt3eK+cf5KXhU@Oe_bv8y7#N-2>oA1)6FiRjUx)D@J{!6jTBy1L00000NkvXXu0mjf DScY`r literal 0 HcmV?d00001 diff --git a/public/assets/images/pipeline/component-icon-8.png b/public/assets/images/pipeline/component-icon-8.png new file mode 100644 index 0000000000000000000000000000000000000000..20cbaedfd314717f1a00b4f030fb59d6d3809a28 GIT binary patch literal 1892 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 eJif6Xhw(q!8}AAtv*R-W0000 '); + console.log('Example: node scripts/git-merge.js dev-zw dev-opt'); +} + +const args = process.argv.slice(2); + +let source; +let target; + +// If one arg provided: it's the target, source is current branch. +// If two args provided: first is source, second is target. +if (args.length === 1) { + target = args[0]; + let currentBranch; + try { + currentBranch = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf8' }).trim(); + if (!currentBranch || currentBranch === 'HEAD') { + throw new Error('detached HEAD or empty branch'); + } + } catch (err) { + console.error('无法检测当前 git 分支,请在一个 git 仓库的分支上运行,或者传入两个参数。'); + console.error(err.message || err); + process.exitCode = 3; + return; + } + source = currentBranch; + console.log(`Detected current branch: ${source}`); +} else if (args.length === 2) { + [source, target] = args; +} else { + usage(); + process.exitCode = 1; + return; +} +const baseUrl = 'https://www.gitlink.org.cn/ci4s/ci4sManagement-cloud/compare'; + +// For compare URLs we want `compare/{target}...{source}` so that +// the page shows changes from source into target (base...head). +const url = `${baseUrl}/${encodeURIComponent(target)}...${encodeURIComponent(source)}`; + +console.log(`Opening: ${url}`); + +function openUrl(u) { + const platform = process.platform; + let cmd; + if (platform === 'darwin') cmd = `open "${u}"`; + else if (platform === 'win32') cmd = `start "" "${u}"`; + else cmd = `xdg-open "${u}"`; + + exec(cmd, (err) => { + if (err) { + console.error('Failed to open URL in default browser:', err.message || err); + console.log('You can open it manually:', u); + process.exitCode = 2; + } + }); +} + +openUrl(url); + + + diff --git a/src/app.tsx b/src/app.tsx index 0a3e3c79..5b96c542 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -28,6 +28,7 @@ import { addAlpha } from './utils/color'; import { HomeUrl } from './utils/constant'; import { closeAllModals } from './utils/modal'; import { gotoHomePage } from './utils/ui'; +import '@/huoshi.less' export { requestConfig as request } from './requestConfig'; /** @@ -109,7 +110,7 @@ export const layout: RuntimeConfig['layout'] = ({ initialState }) => { colorTextMenuActive: themes['primaryColor'], colorTextMenuItemHover: themes['primaryColor'], colorBgMenuItemSelected: 'rgba(86, 82, 255, 0.1)', - colorBgMenuItemHover: '#F7F9FD', + colorBgMenuItemHover: themes['backgroundColor'], }, header: { colorBgHeader: '#3a3da5', @@ -245,12 +246,12 @@ export const antd: RuntimeAntdConfig = (memo) => { optionFontSize: 15, }; memo.theme.components.Table = { - headerBg: '#f7f9fd', + headerBg: themes['backgroundColor'], headerBorderRadius: 4, - rowHoverBg: '#f7f9fd', + rowHoverBg: themes['backgroundColor'], borderColor: '#e2e6f5', rowSelectedBg: '#F6F6FF', // 固定列时,横向滑动导致重叠 - rowSelectedHoverBg: '#f7f9fd', + rowSelectedHoverBg: themes['backgroundColor'], headerColor: themes['textColor'], headerSplitColor: 'transparent', colorText: themes['textColorSecondary'], diff --git a/src/assets/img/404.png b/src/assets/img/404.png index 21e861228e855c78d504532474dea186b7956bf1..bd9c51edcbd8251750d8e3b0604f04bc405750bc 100644 GIT binary patch literal 49428 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%0Av*9X36xb%95i&boP^*4aXOn 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

inZ-tAtKW2BXcM|$Q{?U2-9}_# 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%0Al4B> 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�M@@2K=1-iF;Ds97Y)D5YiC!^%}W~NFnGqu05l;obY&61KE;^P*U~7FQfl3Z zVU`V_7x1bp%!5r0$U!$-j`LK`S|LU~Auk=3j1GQFC0!EHaEz8h-a)*BZfI7^HQbq7U)RMODOIZ(!ZOR@!eL-^V6^z)JS9UAPGoDgs^WDJU=D00 zwGckqu4)0Ss*??dGYSH}hP{f1?Rv4@GSEHtS0SMyi|Qs2`=ueo&sj(=iBooPn75wb z{fU7wkKL)OTs)z(ukC46E+!?@$+XlNzx|jMZ-`ep>dGFy7ou<<2gnbSO1YWVVw*_* zOeSQ52)RQdPEIL&xMM{1j3j3FC5b2>SLHSNtM_Fd{ad4J#YNNVU4FN=8hxPWkMI6E z%iXyuz;pKbqe-aBx`SWXnS>*z5Y^y+Mjhm7guU7ST_h?t(r>0$C2HC^Y&u&5 zAzOo%Kjn|vc=^r!w9F#GLh`nuQeJI#)(G%Ms2Wz-JjmFTu^sL<=V!toz*+5$*Y~ZC zp5`2Q=xVdT!mg#It%YFQBSaw3wfBM^RQ{R7l7oJx$|qV)NIh+}d{;T`7lDGW*)7da*pJ;STu;7mCZ~rQ)Rta^X9g7~1wu9`jWQMf9 zcTcPk%AvVt*H?*mEllu6UvOUfUgsxcu)&XJW4D{9oBZc;iSbTP+s>0Oz+Km%jjOiV z_isg^7=T`Ip}79-;D;E|fGg&chnId*lNXKtFQ$BR-pKLV>PWGYv00Y5v8uGOm_K3c ziSsIDe^V2%-GzCzyB1-HF|xU6BIlRie@&x!^4$4#K9jB;I0?xTk4_CO9a!{vV)`U( z(#GqPtX4?bA?M`s+mCJGSoF$Cb*y9tE+(A{_?{WS(%U|x-K`4WuP2wR7K*=A0&NC{ zEr!WM9S*O;9dmoy(z1@P6+$ID2VKx+-UW$sx2!V66fJGGZ^#_*S`%_XYi9~iEnSp7 zlBSSRc7WQ75Ys%`0APx)0acDaOAMwKcC%R8IB$ro-L+X za|XCL+oGco_OiKF_3vYyx_Ce@pvt*M*-Yp0IWC_P_S*ILV}0c%xu*g@@_s5>0eLHn z!o46clo~YKyf&Eq{d*q9LCQ5TmQ7|jIC~{1Zr0|jCjNG+LBS9ol}G5jzmM)Af1-DR z*b(Sa_mJTeXnV##GfSMz{1)uA`1f@72(wKKMqGRXQvyL3~K9wDG3j2AlFv8~CdUKfnK#Be8nLz zC@!@>^H{}q?Jr(}b%5c2ZeIHsSD`|Kf89`_m_v=8?k+TF$5bFfs+p^scS7ofMSCu(TQx*xntlflnuxBj0tY$G8E--n4lY~ z&;zeA34t;#Zd%>p7a^MMeDmVRK|gZF1XVEt?%4%Yrb! zLF>Ztp))1I(L;4~qh%~zRd0^9)jh<%0!43Gz;mY>-9;0KPR6%^k+CjS^I9rGD zIJzp8Cy@iNk4{7GPqBywvQ+05F)bPWeQh=a(W$ONsVzm@y06rxU|)+JpXhR7nLmnA znn%*;)=FgJgXrI0votSLXZKzxy_NNHmC0W@b<@&eA0)*&Y}b}o;3-q6WtOX{E?!64 zx8K>66fC~e)VEO4n>Z>Z>-kE24$`L4@O?;l`nJx^NIppK) z3KTY2?NkKRFYcNOdN-TGmO){dnXd71qPXn@XFH)J_LahvQU63$wEa(&sNWZq1FYKS z_}CH?8xp1jKCHrfxt8}$^K zU0@GwUP+j$O>BfcT+z-;y!^F&H5%&s;lmXVN9H|!zTTKbt?MnZ~QVla}FP7L*M$@OL zX7I>u(3Ke6Zh&OE7ewSM45$;ttS*Q!e<#IJJ#GW`lZ|G+JCXSK60m-w2Nh22t_M!# zYi{gP-gz32xu+5nMoux13^MYW(5c4&QDTRF9nVw#Zn!|lIuX@`V{+u*6Xy#p<~sb? z6k?*fnR_&%c#hxD-Vd^jw~cxBzttu&cMR@D>u(P7=@9AAZ5UA3Ee`v<^Wd6J#g-0? zx#AC`dCU*0rI{!(5I3)eb&G;gg;mINlchnLYuQT9B+X7@c0 zD#u{RvepbQrZ&qlIp5W(Wtp!lWPGy6kR|9&psj;Qa_CjHgjBi=>lB--@CeV8bJ!_- ze2zEQxe0>{2fI-SgX0Fb1fUXU{&j|WgXTYlllL_rXS$nbh6uqzXuCI6z~>%ufJ9)7 z860+s5u}PdH+I{9OS!yr(4P5;Tvaio5tB^vP~&=r+WU4o>)fo_?yKf9gTD1Af0J57 zhobo`)X4S_0ucmWUiro35!a}M$z$}uO@CDfB1MsJANmj0fR(L*Q^nhI7(XrMel#~v zZl9wEf{K7_zQM2{;OX_0ZT{a2CuF%$k&V>;2iNVNF%(_%?XzYtzeGOuzUvzIdE^ca z$#i+kA2-W(qe>#bfswgxEfXV%hF3FxRP-c?x3E#2&$51vvdPxqo15I8o;`P`@p7oz zlYe^=_}jTIFr!art~59_2!v-k z$U9_dI_QM}?UX|*3t)A=T(kBaY`4#)3^Xq1mPX8{3_WO?m)j-^f8^_-L^iie5m*SJ zPX{6qQbh-aLYHjosq1!G5&C=CR>KhuIQDLtM#-~Nyq*d4Kg{>@0SRR%^#Zgj6w@+k zbI84Gr+*xg99wU3)bLK`^R1slkU&F}eT7exmPjbrP=YwIPX$P!F>qMmGxmY=yzd)W z)b@6G;1KfM|8)mtaSuCR@xVd?q~n#&n_sPwBCrE z+dW@ClCDS+Dzl7B(Z*9|=Q8GB(sNB*W>`jW`xLg*WQrbOkgh%mO;h3at01E?7H$z& z_aPDesYDpsWJ`+Kf6BAPA%_5X{c-$6@k2{Jz+Ip^6L@ZOw{JuH?zFffZG!tH(lG2Z zZ%pZ%0u)N*=S2YEZJ8fo_ctuJZux;^bG}9qfpj5UbRZmKZZ{wAh=hm+9aPCNa) zz#|w{nVFB&S!t&Fz6@?5nO)KN&_(CWDy{4M$J}W(DDm9OhG0X@S80YZAE59Di;oB{|--h@X6fk-wO_T&}3y8>&?H#IS!X+TW*shE1ms>fuJW* z43QTUw=a-S6vT#HGCU%jX~ll`z}HI#I&;e?@}YVwbatBb-JQ;|k(OFk9r)!tWg%ks zg}lxv#-yTu01wrL9Onh~kA6P9y;%nGh$1$rb_bc1w{X!cL2AM;)VqhW@N>o@5V38v z%L%G#=J$NFZJ+>@`RHDa{Nuwwd`j6HSOQ$%9{WofVXQhUQRQgxaApR*TSSD_^mcmF zW0FTOFd*i}*7r%Q=$W-|-%&hC^;sSeK=QsPaB(mJ zXq2Ias3)SUT-Qdxjtm#~`kj#Gx7yt5Jny7&N6YGwy!`{FZvwx_CS&kEK`4FEje)Pb zgKvy1NuaGW$;hNfZQ|_J{nPZu@l^`y2Q9fviCNC%AqB^!rkN`KfM^urzd|tE8m_;I z^89t^qGkaHGJjPsUptk;OY^Sn5QIhbxrc1uBGES1@O*QQp@dX76%A*`)ztb&Q=t=U z1@>2rjwXfmoV$G?0ZRItba@~>A^FKbSbx*tY=3GTgSx+Az!Y#c94b+%%`FX{F@7{c zzyzbtZZqZz;Y1hg{593$?h?o*YE@$8!0b5*vCr7zP(z!|=!nEZ$ z-CR=Ml%2G6L{qQ&hYuwLcLl;fOhM{^RlF@^sO#Pw9(-8RgrH% zAz8zl>Ch*gT{~{_UJ%yy<5j%EQ?A6#Y4+#2c?9folR-rq!Lo z)vlY!l9oVM(~K#HkLO4GK5ow278oTPUN*wSJgL1pBji#Za;P3E*1qF`6F4c0vFD4A zrizOG9V!*F1*+bXg+aW#sxy?ntC3u4FK7s>c?s;ZDd%-UZeO3PiBN|2ZnD>f4TR&e zZA%AY1)T^o`rn>_JqhFE((xbd-i*nv!;i^z;?OODU(rMV;5xeOyU2XNEZnkxA{ z(jyGFez=BkNc_1t0h-FfYa|>m84vYz7(_bmins#W-g_!OKbhcfv54#Eyo$?~oOwn^KwiZPu?l&| z=Ak8-&fLDRIUdAuc6`p~8Q z`3JRkZmk4oEsqBD=hhRmrl4f#{tY>a;#ZLj>c%Khz|`sN*^X-@>{leGEV8aWA=Hft zB10i_G2$+AF`h1Rf`rkQ{gB<2N5R93;2Y03{#7#^ph~@5Sf#xIJ3)(Wk^0RhV6T!V zFn`-o$kQR)vnsn^?EJD6RJi{^`~>F{J2ljUxZ4*qh*{rNA%@9rnzFoc$f1}Q#S0O; zY0s*_ECo5)ytk0HjxN_y$w+S^*Jw%Dcw(hV7@Ratoa(psnFsThZSnq(_}!~BYzoG1 zWnSlt=@;O0*WKG1>m9ir{u1BBQOY5FyC3{6H55>J6su4&lkW7%B37gn4>SmdL!v*l zp3H{?9kTT)%>{9BCAqwjP+-c-6);~$x1-O2jk9IDn9uCDM6B^S7u z0r{VLn6C^l4j7U94Fqta^hBT}dXRDo{|7x?)Lc9CidQpJf$*r@^U>iNC z{~=6_cfW^`WnNpvU;Zk#hoAV2H>FL^@;853#UxHl&nT|UzJ(0sXY7NWFHpCdoW(`h z+5`Kqb`Jh*1Dj=H5VxpBydrs8>d>QB32E$qZw++&!QAZx)%=?F6$Qh>0Dbf~I>MNu zetFDM3xpy}pA`)qy~2aLmDSGJ1wDmR0!36YQoqrgfAy5b(3=?C%VWXlDOl`PmAx>4&ee3QKHf59K>amaI^|8Mg9C3Y^u$aypxdo_10NvxxszvB7T)Q zNK`{BPAAQw-tKmH!nxR{g2`y2Y)8A|CNKCz66fh%o!X@Rk~MLZb3l-8wa_V5(p)bkm2Nc8+?H(Rh`^Gn}tSsy07_3RF zbJU=G4VynNgl58yb(V=uBgBsyg&;*3Szn|CI_&Jj^9BW{&a~%yz>|}y&&rKZbN|rH zOaviJ0{vIe7IwVL0j76SO0spwW~ZQ_)R%HoQQ9!H%Ww7N{=B|+rEpiy&x3p3KGE^T z>l8MOX#&7Xco-9aH3YBA!peUPXUCE&a(!maz;M5mRr%3&~_Pp~k?)MPxCQ>{$B0=1d_MiIoqPvcG zr@S$Bg_=r8Pio(ztEg`mLc}^eAD#OjzasXrV5Y~@-93=$jJ~3 zd0oX5C+P^z*Yppvtu_-c$UV}~`Kcp!aO>k9Q__g0rs?bEa*z+l-_1~mczt0B;gfGw z=C8mhdv^WePT4!ZU!y^*FClMFeisDt5O#TE80_zJ$UmbIQ{q(CD6>xQohAUCat(J_ z^zt3_;z}7BZ!eTOe&Ifrjic7z5mTBVJ5-t^Mry)NoJWr>i!{R3W!Qj>(SzQ5YuZRo z+9YiF-4tNZu;R5P3|s%h*8t@SE6u&p4k3w7pLaAY>MP+llz4W}O1r=_+i+I3&y${; z3bNtv*MJvIpX?867iYIzu&S7Ogk#BbT(n!IX{K(-W7*knIo+gW>r~b2l6e#ElPjoh z&9mYo&vQtoVQ_Zg}Ss4e>4Mk9XI^f4k z+k4@3$^hh@AnMo1Xke8GJ^XZ=0%lJabqn;IrEv(Sx1?LekEj``2G1NSX*UxRACsuv zCC~NcFy)?&mFuUp#FQndop~%At@!{r%+n7H133fkZMuIv7n=xnOwVkuugM^e!IqJd z{2v0i(F+iF3-_Fa=OE7~R=;p32Vwb%F;qgH`zwLOoL>_}XTdjgbPcPND7t`PI?8uYV+u7cR+e z(aVcRq=t|=UDKPw9|@?KP4m}Bioo+=YL9M_k5zIpSpj4E7FFl0l)SV2M9J*y(S+p^ z2oZ-^do&Vgh!jT!B`4l1-Le_Aw(;p&)Ul{%57ho}7Oa-BVVHTbv6vh1)T-NZJM79I zUR${c*ymVh3%;dw?8+VE6uRg2zc`ysLq-G(A}a%SGDy-mJyM|}jK{I4H6Rk+wSHcg z2couI2A=e%BiM4@E1w6^ydtiGD@93#+E~9Qt>IzPMr_)lUxX+@e1o$gDtSe9+AODL zT;^*C#J;J9XkJ&O^WQz2BhsJxsEd(tN!Cx6H2Tp=3{SF5$D0*Z$Ey^?8;?1cR3eF}ayNuvbk1)L0;hL^8-4YF?LfwTR@=fr+K!ADE{q!bL0(5vRWM ze|ioi7k_NT*z~<)i^i|2rq9|`*_qXWSE*%lPS3J;srKdUs!KR8{ZgrIPnK9X7fI9n z+U%gO*O?n)#5sZS0tN6JVL25Z{69J%a!$W5{c+7~d@`yv>_Q|YFZo6=WkPpXK#1!f z9S{?e2IM?|SFuCIkO6-$$Uv9b+B>Xr&4r-2`wd|RK)-HCCYf-9rVR)`7eWQL2lb=D z>*I7aI_ZS&ejjyfYuN)Il{w#(MT-K_w^;kNS1&{GJG_{$M@c$Gc0*q*fnZdu?r&_g z)L!jD=mGZ&fl$OU<#FMao%~7|M_hKx6rVwRMKb!?nhWHdzBM#-bQS2jF`wco(Pdex zs$~i^{zAuvW0FYQ#i`2J;YWQDn6(8}w{*{*Zq3pMtYp8xssCk>cxVpb>}qc|HyCh3 z{oSyeaiBcJDb6ll^wsHpUZ|%s(eXVQEmO)+pq=IuH|}Qd;R)>QKs1Q?;;>&X#+G;@Bfd^YRY8|@Sfh{E z>I*u$HfDLfQFzr*+w=1ibY>i>9tFcdwKDXewM=Y8<_$^{Z@9)Xt-`BoR9Mm2F6kM7 zqlpK9!tfj`Vut|$Zk4)z`CanX?ivCtd!HJt1|`wwg|NJ~J~=qApYq0K9b5ROHOuKM z0{Cm^&yRo4Ihwaf&b2KJWvwrjS+$FU>3e@LPv5rt_`DT2$4EeE->Kc!o`Y~8-=)nn z1(cg$fbstWauC2bl--%|>y41w`-D$bWa=N}ujwO~0bh=P_561i1cxT?WMzt+Oij5* zSBpRe2fIZJzig~BUp$Z`EzFFEgy`5hBsa?l2r_J837zG8srH%Oz3qe6ei8|jkFAv~ zJc!gh-0YlO?_696K!z8`o#UB!t;E+sPaB2SdkAFmcCA1u%{p0hDX}?ZK#hxl|=G7ikHqV;ogBT~`{~@^f zkK74f=y9F@va>*Qx6|5|!R%M3Ir{j>t$I}rFVv4!+_GO%m~>?#2*{fkA~UBDxYOVa0?}n?lD#xzPLThm!M0b9czv&(jo`iZdDX6kW>DefkX;Y5Js^fEU5l1R|`H!u6v8TLJ8KC1iF9vrvDl1=d3sfb=J^g3Ru*w zLk$qHAVTqKgr#gzVic2g@8;E@IH~s>b-%A>$CnnssnoofY;9Pj>{Gk7;Fbz`FPf`- z_LQo+<;T(07%U(1{|yYLYh;2SuL}@dy*Uj@%Wfg(qp`hjDU301GmPpwZ^&d1SUY3}hxrEVciqjr? zLwmGABI}`3|ZKm_7;wNvi0-_ooHOQCy z{!Zar-<2^>Wh*(GPJ>dxSQ`PLq-6m)uJNm*DaI`O$BgJLd;b!c_G~Howv$5K@inby zS6l-JmTch0^39}yG~=_WZCsahmI28`K(%DIf@G7HvCV)Vi&*Tcn`vjC^2;d6_WeLn z8liAjNswZNqE}2UufK9IZ&oWlXO|9f?^l{y-tK_fCE`TGp82CeTEgHq@t|B1G`atc zg@_XSFnrV+o^V~yOaUt`&LUhhCpXX9fx)gRzOX577XNN}EFtOY#=b||ab^4uZ0iSG z_WrMHB_#P7Mpn`3m7n+i^aY0|CqY<&nQ^2sNbwgZ@$NDSxdA(aAiJz0yhZOFKV-rc zZS6iSa(an&@w6Dr%aag;Q_T8l*z?+U~%5w7?GYfN*NQwD!j@QifpwAmCBeTBLYSRDbF78xylh(dQVuPb6()D=)miG$v?aw8*Li+k2D96EP81 zk32WI93I7vy@#74N64QK1SFoliK5q`UvSRzC&C>>wCK0W#ea+3oIlB-q4D<9zaMD>36!8*Grur^-`so6+{u06fK?7&F z&im01B*92&4FwPui)ql0w1}hR`!oQakr=igL39}T2txDR^v?~y?OgdhU3E+g#{$V_ zD3|U{cwYP@s-~tBzNT_Zdm-8}A)Bncy67ZRHlO1U?z3A!h=8rPXA~yQ$nc2&tJxcDO2tI^#1p2~+Dt9|gLyEAz z%id7ZVTEK!K;x~bIb4vCb1yTFG!2r4ZcTY>|ICOX zUe{L^F2(C|L2IEaTwe6fR5$F|RsSUt26bXaf9cBYOXOeEpujYJH^K=0tc5-zUG)iD z6EDF;IsDB>r%G?%wemGx^ni>SVZvSnS#`34cANGE;>7DlUw81C z?>bG28!IO>^;D|Y|Hl8UCG&L6wxp&9YedwYH|T$#L_@o#ME0TlNEm7%1-$n+!Bdpi zFIyM4==&R=jj#7*!}=RLc*x)$OOD^)Pf4?IHaW{=#Rd zcTaAVkM|GLGqd}x6W|>>3$$+qCHtoup{DwM+Z%r0L-t z9z}h56X9kTQw-w+xLb+Phnx3sq#c+tn4*0kLrFDIw!9GMquZBHu4Mp}>=$En@1)xwwqk>@5b*NWTvBC)U2?|OpvLS&JUheLE&zz;oXKC7>7@&IXklx8m>GS zW9Um7KiF?BvM{lxFY$2Qa~Oywq$x`nB_}AGStL%_zv~??$2C_O`g|L-Cz2jsM6y2r z4lN};jsRbePR58QUxg&HzeNrseWo_`@|B)=P;FyIqYjpmdXO<>cB zUd4W;E}F#-BJ?8d$1UVA%f8Zm{7v+*(JCZNWC?fDJ$Da}h zo%0F2G1=4h{=h5T1w)9$uI6mQJ;;@YC;0r=*bG()+Ixs3X^}hur`MP06XZ@Qbav?% zsK+t#C&2|h4cbyn-tL3eI9iRxiQW-?QfBqcf(}8spa_us6LRGdH)1`<`f=#T(-7F1 z>v+bRh1JxwaJ*dl%Jmn<)bZyYzgYE2Ifq`vs&f$zi9cuzu5^znu&l4_XbF(Y5f3eB zG&PywpeCW-v}}@v{9W1OBW+3!_S{}4jhE01wGLBw8BaHfE%ZA`spxuH%gP;^WafP4 z4_?7}&7MMn!$JHyC{V-dpLKJ^|8CiBX)ux07c7a9A zMym6*9h z&QBi0p1bxgi?TiE-WerNJ!wvZnWaEIi3vN;(rTp=rV-Gr(dOZz{lLWQqi@w@)Hy@z zjp_+2pp1SEd-pJ(LUq@T52*tG?|dioPKOiiUyuA+D%#}U_0AYPL_5ObcFFyp^eWy& zLsK9v>X;<`(Gy__&yQO%_q>S-b_#%fquHI)G}n&gBzs9dpw zP2P1c#tXQEJrVBOd-LOy1WP$)R)`l%IcwZm@@WJ$PiDp^Phe)BGJU0^!|%7rPVM5b zNhCJKyw)fbj@(({n>2$faQVUTsfDQTf>$~ys?kqxuDZVx?49LOW@Qejd#*NTM z+t&5HfXjwbRlvL!+^(M)U4)Ce*~YDI1sCE!vt)(HRp{cfg;zhask=C#B z5Wz_}#%;2uM_XW2B+7c?u!*Lsi_a>T8<y1l2xXoK?Yj^ad27Nw5A zXqb`5(UkTH0MxmNb*n80H^blD@QiZ3L7@W z3QrYtCoCuR<_msqH7HYD+4�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%0A%;V_jmRUzoP`Zd6PtghWYJ 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�<8Eq)*i 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 q*yGCb{|tESOk{{;=y5 zM!rtOs=kfv^HeV7M6wG?&--lU;RZCrk+= z%r!TLGaV@WEsgw-im&OAIldW%_*96a;ZwZ8N5K7Yn1aGz#UK?a+hOp$ zz~%qYOLl{|y*tn0`wm!dgMQN&M(V$Q+mwBafY^o^q$B%y&Xqi+l9XHp8tMB#8SXuK z&BPS4!GEu|2L&ZSP6^hX8V=hfnxVWBJu{=T&GVm3Q7HFsyhqk3>HyB8-xj~bEw(Ru zK=9V|+%o=AQ#SHXUiSx9dquO&o4Yx5892tb_bFnafl<))c8gRP^acEEtqAqaWM9s{ z`AF~X|KLpXJD$AfmmgzlW!?tx(4t^&>SvBSI#$|C8c?4NZCc0IfcSSDYp+C=6K)(@ zKW-!dK#6Wi=gsM(h4vr+>Lse8>9{Y;9=X9CP=7_;*H`@wl5FO0FkPJ^YI;Wh=!Jzc z2o06J1!EKQ^gU=*;O>HthouIR_~QBhLb?5WS24_Ig)RU-1*M7y*jV^}F2XG&HHSC; zYHp3JDINdUjn0V}tzKdRBBEydY>bo`qE&*l>J@P^T>Uh18xd>Je?xRE8Y++!IbDI^ zqb)lClJX_KQK7CbF6T1o=}nIqQg!0fHeCmdZ_-C<)NB56ka>Q{L*(cj!F_lun1C?c z=`doBj$;*69EuRw-)Nd9(&EX={Og}rhMbok$kv>&o#^nPzuW5@k>7j~r|M9upe2T| z{#I8H2jEkv%lh*N~7ZL7}37exZ`zxf5mwW~_SP;6&A*)b@gQ zP5-M;l`8%ZUJxF7Y$~|G5v2wn*c@QC`AEwXN)?KVhWcG0NTjz?^`FT^){IZfM88j^ z7KsNu&Wn#Opa-lsZ7m4i0ExHg=VKHz%hUyGh z$9Uly^?rOKxxt9>P~DFDV9as-^&gscK@%rpTU=coB^B_xjYZ3SL5CH0M}XS@w|~;>7;Wu+L#;?d)4pH=^$Q!AgzI&z5qKIN zeHT)#5YC^-(W+?gejEc_wEYJ_bBBRi$0P~?X7AsNn&6`5Q*NjfY}W`P*ym4#dSOWZ zR^jl@sa|^ibM@IMl|}GxT&6-9k;BHd@o#)V$$O^=_1D-|YwAZB>3780FMvdV{{Dpv zLM5H-nO0V47;q2mD?a4=)XW-YsEq&Zw>cJmnESn?Y*-wOuy$<7De!Bd@hEmCpAW7) zWGi5=-qqLiefb+zu1op+UA?din|;yGWo^8@w#%VifJbr3cuFqCTwxq-z4yuE?$Fs1 z$?GuF-;{F$LL|2bxMxw}ql1omUv(#RpyBfgJUjc%WMf<{-?Zt6!!6^(eE;mkU$!6x z0RVV~Tc&NCUfsJBogKl&wZp$>M|9KQ=Z-3?Je+(ZS9aw=q9R&8lsYJ)c?>>7e&o`! z^09I0I61U6H8I=S#}p8*U84jm05006ho=Or2K%t8=~k&sM>PX$V70Dx*!7Mw2{y`K@b-{mS#HkEB7 z#_oAFGum;ahTdP=vw+`40QJ&9D-E@~`rf)x#y2XqnFRpQ2<64g0f5z5eofNH?yRK( z0Bq9%)++E}$i==s%G+xh0{}kicLa!vFV+oBBoq{Zcf*K^CY*Is3N6zLEq$gIaI?T_ z_A!Y=0b0Vpl$OOAdR-{Sext6U8BJj(R8^Ine!U_?f4GI)r1TM1qFL<;u9S& zNU$RSlUE`d?}$<5N<5zKeJ%_uQ~v~LZM0$8X$tE_BPIz(hfz68ExQ~a34o%Vn>aD5 z-Jk*h?0CPbU$2xPG-8$o#;(yIU)siitXWO1S`$jhetRV~-(qd0)*t{};t+m8An9k@{k{>p zsW&4*V~_slSTENFyeT+Phm3&&fD;11RA9nPrMIKD;ty=OT64|3Vc>uOfL#M9VKDb` n0p|lxJ2l`%0kFIn43>2=nR$ItwL8+VmtRt1@}iZ(1_A#MHM2ub diff --git a/src/assets/img/code-select-bg.png b/src/assets/img/code-select-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..738940c61bd4f7a47d383c63fc3d68e3d0050f5d GIT binary patch literal 80747 zcmXt9WmHscxIHt}fW%PJFf`H~QUf2|-HnnGf*{Qh;vkK53nDEY3Q`UY(%s!%l3wmz z>z+Snt@G=B&w64%d+#SwOG6P4hY|+>06b+SIUN81LjeGk1HpXy(xoHX^7KOYlvUP) zJUs!BS4aSW0m^bRdOj8hfsrZHKPn0fgUBm!owUN6As@k@$IgZT>D#13@m>Wf^vYVU9ou13KF{ytY zL3`VDE|*^Sa_adBy?qna(v;~H4{=L#E6yeEEU^=tib$Cq31S$zaZNkbNox?(Z^?_W zxkBncwPT}?5~`Ss)=>kJIq_e%mTs6d1@>ak=d%iZTpq34j%MCo$*{EMK6|V9`X=hf zG{M&0(l)Z;gHZ5$fRMDe`9Tu97qQeaUplSNP!$rY7W`28Op3SiK3k&5_wEOir-+YG z4I8!o*x)b?Fp7rLO@_sGx)2D;9!D~2ghTHJU1M3}BRiwanvzXIRhCU%{%&(pcW8Z|jm#&W6heFNli!udJ^0cYf+4Pt zmp3~Iq(m5Nnf%Z z4O!k&U1hI0v~sr5Bdi*nY$JRyI?E3HqRI!7*)J4?D5RXQmFpmNyo%gg^n=_y8VR`)}*nOvk5A_L8ydg+E%EzkkRCRusi1N{AU5RV>U; z1boFWIVBo7Rj5 z47oeXAsg<+WMsWqy5BfEJ^^x3L3+`m0E{jC7YLTdTfrP{MW*FxmV&BOYD}%I!9l6#hC+h!w5j0}Usa$^ z8Cij$=S}){0imR?38%kIpL5Q&f#me)j<1RUbg?wX(W9m=G}B1vQuY>rG%!hthKLwr zh)ZSC+6@Kfc8(cwuE+|Ug;u<@an9Xm#{DE1-aAt~6)ttyTdA(1VaYdt*Gw8sjxg%q zR0uN_q@}v{1VP+}QJ>5$Q+}Gf0+8j$LWuY~NgVmAs7i9tlLvbM`T}~ug(=TsmQxh~ zd|Ama7W;J#r{--vp6e+jR5!*~kkbAYDt!Mso*}2aT;;!6l<=FEHALP+UpWAJI~A_GQu00y zVkO)xFvQrg7ZyS^qCcK=M@K}N=eOMn^Te=0hc>l{;5}-cO(?s3&KR++WhS$973Ez= zNqqT8ifHcB3Fp~Fim_m zU5{ee7y^M9R-Uph)N9j9>`2I=Y|kuazwTI%*TYK)fN=j{9{sN|ZhSx?I<7t!Shrog z60|SKUPVXK%B$uAMh|t$S})5rd8;?N_I(NQ9|9JM3lfet6ayHv%oks}eBo-Mu1+xx zNuXll(uA)}yf7UFLSfclIF2%JN{)kwH{S=6MTjnEk{DNv-$|@xy`NKv{e+Jltu5f;wtd&#VN)YK%i!fecSkmL(c1>w_FOIcfVTFoyRt^|JF>h5G03HN+Csy0VQ(k z?EB9$Qe-k8WrJpL^yOgUPP&L7*iv`OI zJ8fKYd`bSCl{evhvM~7ERvi6Xm9*j)ihLA-ak?rP`i_GguL!+av0lhI%!l{mdCS*; zM-@r;vsZm$Yw8^7PHy{=-=dXm6U=y_O_cS${M|j?m$JYIll|tI9V)s>q6ozRq4RWf zvlJblyr9Y;REoQuN7=CX7^>Y9Xsgv*jk&YvgmXR+H~50#$XC6%{99WERX8?SvEtw4 z25D2*j}E=bCXf=WyV%LyzXBWszXRxJu2DfCJ;^Zbe$jaYa=eKV_(u>5Kc>@yK3|nF zm{ZDaYnNTJ-ago`JU$!4r>4F8_U)SCxl>>(CRF^T+4ziU7AAD9yRXcXf7gsat@X{{ z#oh7eYxQ$|1I{h&%hs#ku5LfXE}e?5?Fy+UEddNR9l6C^VxPU8k3DljCEzC{h+^&e zU+pveZ*S5$kxp78j}|xG^uX!GK(*h$2YGQffbZq9D}Mu+;jpY~+2ynd4RU1E`Z*8> z;LAQ#dy3DTyX;s^0idH<0uQ$H+Jq!m6AdEi61Mzqkkv!OcoPpMMF{i3cu~fTiwBE% zZ@K`}NlK3i`t&)rHfz$va_8q3HUe3dQlf@l#2kHV_3iWFffMmN{SdaesgD@Lg$2)Z zj6XZ7y@Oa{oF|*5p8Z89MKZ_0(agJcdO~%H9OpJOKz@hn27VB)lwu{}MqbDpwIk<= zFK(%j?3pGdO>e4Va7RFv-|ku`5KjKN!-w-C8^gu%w2}X{Bt_%6mpzifD1Uvu;x=sLsum_$!`&-&rx?fO> zWoU(HGavVFl$X2J#5y-P_M(W>qOv52yF6;7-F#(fB7H=-8OQ7=s58?=xZhv}(G_!CU8Bq1_D!CUY? zK#)5h9LP_X)zLmMJCQcGrTTBRWSxa|P-m5o3*a*VX@^2B>IFGfPv?+0;g~pOD=FzK zZcSWfq}YGoo1U;U4s;bOnTS{Vt#Mf|(533b*hx{&Nq^sCFtAr2&jdB$eHVw?8*Y5s zOM1Yp72nk5;WgeIUz@upt=W1mY}>%cl=ai9szAr$`=EP4GG^8d0S949So*FK1vVcj zR>R$+KUXM#`Q|F%z-^_*2OipRNp0Dg#%=GA2LpRivuWuZQcY|Swk78nP_gp)x|?3e z`d<=kqR|GXCZmp_K>HZ^e#-ka}B^38dLV(f|N zcc)#B$39>2x#xb`yZIH#&wf)mM+-n%w^Uj|e*ihUA1*ek5$5i4v21i8*xzWzO1*}r zW=v?ClhISOYy0G<+G>w*KD1%N+wJb5h~84tC9h$+ZbEe3gCEd4xmfBtakt4RH#G|VTFnHSE(#f!BGLL!*33$2R62@DS?hI zX-xM=*QoG8ssq>>JhZu4K9&7t;8`688r1jvzfv|fT^mve2xbDnOo#-?0<8LcXEZ@3 zyCv;M_}6^^N`k7f$b+5J2&FJ+>*=*e#eGKJtj>Gb;t7FQ*h% zb)?o=f3c}oV_wbPQ@xXUH&GgVd?$Xthy_h9QU~~&cOo5}FT02ZO4;Qcuo>m0-VfFS zYe}xls^rZU7awxxLC^)z$a}&;u)1pJO=Mmm z(B!ktGa7KLqJ(h>!u3;mv=r1PJzTkIrV<5I5Yc~h__azuQMG2#pf)1MdjPRU{JhsZhTge!cVzx;M{t`E~9O4lc0 zyWl+_-4Em*F~-R6`)^%peER#8Y`rJl1ZSm$aOwPejI{{Hz$-=hG0oi{CYs(OnVVv$ zkqBal<3g7X2J@l95*TjO4*n9e&wZ_p70$B2=~F-c-1k4LzLwjX+@;{ih}Xr*9Q!Np zb*(vUKag8`)qL}{U;iq^{%xH?3%L)=>@)9)jI65fhLa8L_8G9V5zNdho^F5okRB+W zoZO-aK<;*XcdOG)9L&zv)3=vWm%$D0aE!F7Bx4ZWdrb@E%+2*O-3DQ1>_rf6DgqOF zu@R{k{!-;#Noc@YGSImgwkgK(%)+I1108i zS1o1^n^9B&t063t^bWQ3@@NfuUseOu=XfxneI=!wax<@kqi^aZK>9Ef>H2_7x{7PF ziMNLS|G0eJEENy8+CR&i`Zqkz;h?6`p#i&v`%P07lv-Rr zH1Nq>!A)O6KcwpGL3KoreC5YlKz5{6^k<~m=kFy!Jl1m2_n+&{KloQKr6t(ou?ZC~ zSYy2>p`GAHSCgxn%MiMWK|@mc)8NXy;y=GAK*NaT|JxcHU`S+Y` z@6>8%!`cf=76l4`m?m=|TRp>SJz$6#_s9FN6jZ;N(Hw;@HriJA>>32I!qDboPe>XC zvyv9&wjRW4GRH-ZSkBvci|zmAML6Vr>A?h_l6(>pBK+|*w?-rcq$uVCp*vFA;axQH zU?fX3M`Uup+{2gfY=p+p;!Wo5$Cc!V(O}7Eu(O#rCHd6rU)e@Q+>KSq!vcF1=cSOp z7|w^hd|+D3)ou&iN6|zHA-2Is6bOBtm#dOHnnpU{MA8cF(Dk0kuL0yh9uUx&y%vihM|IRt}$gi>EZu{8u(rU;m~a`{Gx#z zQN{L7H3>khsFE)f_~%Z$xrEM4JC_Siw8;|>My%3n+ZUMnG2y_<>mL>wKVO|8&8K)S z{xE-ck-|Fcy*P-V9x(dQEru8g%QL8B;qK?q*~`6|Q=xkTC*hCD6L$RLTEj=q<{{*3 z>m!6wQkRCU5^tR-_)NF`i8uS1q;{{{Cnv-pd}o&#H%>!k>HPDmtE&HDIawI!cVt9o zjEhA1+hE3lFrxlQ$kAkOk6wruH6-K%=rLyBi@sNUKU~?Iy%uZ>Bbt?{5kZJzgqX`IEYjJ+|C^QXD((%QJ+Ty3p; zd#RK9dXAU0`eMk;n;{Cbpq`tBi?$fP@FkcGzQS)*2xdxHFK~nsmwcN6ihb!B*DfXK ziQqb`FMy6E)oG>wKIe3)7DVYw6nRpzv0NpHB9z*TT9o3jn4GAvnhO@cDnC0EncpWE zeUC|bjDyZz>LVW5LrZ{hao6By3BZuHoHFI2+RIU;vNb5*vHhb4%MkZCXTSf@NRj*r zJ6~$uzM~E?KJzRs*A+h9?2V)p{_-2L=(2$h_t`;Qhu4{m6n~qffXGm+9LTK&mZn_g zwqprrUI%WuE|hH`w5zgT;{|xXYdmS7Ui%n8PGDEUcit_%V0*WTmLN!&AK7b@(-no^ zdbQ@a={>GL!i3@Qx~=aCkPW!reDwlhEB^GQ4N*HHV>E6qOhvf}wuiCv{x^pSC6Q_I z@OtaM{}GE;jF3mel!fkK78{Yr`ZwC?zpwclK^`t+g`4z1$NP7=n1rY(x8TOrzcB8F zsrPk9(&P5Ah3Z9UCndm(xYNcc<#clvxjrIyBU{ZsyU){sd0GV?v$?A=StF5x4pgpn29one0%W(YmDOK88t zC)9XCIST)!IK4428_`*gPG=<*{@--+RJ~6 z)@z?~Anl2jgDZ)vTVTK(rWS_%YHKktAfy@{}YWOw3; zIc?t&M!5_Sj@l03;WsT+;+ZMqll{vwe-Kar?kJ0plg5YPnEU#KVJ>9&4oLo5np~x= zI4coBh| z7oQi#^WFVtiJSbBT+=j3<7PYmpSm9%Hac|OIh5|p&>5M}qAld6zVR2ut;VG*mr%33 zS<1D~T%qSBwPt&XOYx`v1O8(#UW6=|m6~#lpC{O}&_UL?>hyCE-->^Wv?WVg@`WKcj^kg$6&-iMbV@3vt(Gw+XrL zn+BJ3f4}_N2T3`4DiQfn@8>_Df75^UL9_hr|;rZ!+m=l4?E+=m4*K)8o~^u>Zgd^PV4?i z{fEKuyLTvW+Yt7*Idt~VGoP$uESO!x#dkRB{_J$>iJfKUpXm)0b_e*L`5df$O|kym z*hUVQt4luT0EGr2)wr#DYf68})qs;&lfus~LvhemaK`X8{f6~mP|D+mbT@FdSvraQM-QN_GoKu3t%+3%7i{B{amR8f&dkmHaZ0@iG=`{{rik zUOpi?b$hI(V>zO?5_}rJD)W(ZHPUgX$(sYmnx`W34hoEaG!s@{8haYO`n?{yy`EKsc?+6qiJuS{3$lxb9IeO&?MU$x$6%=$2NE1%*g`hk+o$A(95lEX9s!H~j! zz>H1%)d#Uk>{qGtdp97xpb>759Y7lUrcX-!PA!NCZsz9f64dcUpnG~e!0J|`&g4Qt zx2Kqct}dy8^$C$5qa33Gf>n~SJmwfwdC~^$t>@|^NfeFmZ^dXl!?lGGM)Qt8&huF| z0vw<3euwe~Rt|j$cy+VhvhONzZo$-XS>zV!KQ3E91SW2cg(>aCFRc#lB7jPpSA6;(G^v(&=&f=JfVXFxcdb z4h)Nr?3g1liK0L_Y?tq)1>H98@xICg*?3TApdpRi{416L8%@{T{Sr+ySd)Nz2&CEbX6*os$*x$4=$;&XctdK`^>%GF!-hPd-jB0rcjMYVX&nQ@25%KOpF zeE26TOU0fee2C9sAM>VLHJNQ7BruSn1= zwHY@cbF)z74WOrTlt#VSS=;Io1alqM^S^pAelDUNaRukK%o%gyv}XYFPd!R7EjxX< z5Nz!s7Q=zEwLx@gxh)`6tx40UzcSh;_Xj0xUy&JW@!w=Z1L^=hs;(HGmK;GcQO+Cz zL-Yz^?J2U>ycD0+f3X!0KQ?%)pyqQwOEA*x;1O+SZ)MCs8RPTNvliJdA6-V1;~l61 zMp8fSEB-9)Feh&BHKha>v-bo2mEbM(<80BoE_I>G<5`cVpGS;_AL zS_Je#tw%m^=*;WpAQF2OyV48|qS{Xze2jy_&OW%7NzLH>7`S$r;R&AZa0Q@!ITnGn zuV{%$E^*;i+&&eBT-I;Yc$a|ADOD0UaK2Iqx=8nPq%_Ad!$W|Q>NQ7211f)$5KrUQ z=`PmDXwV%N0O2S0DFscL=M&8LUWLWw{*0%K#qf9LyYLGk5IR;;+xRo^=Qr%g_u8%JKhRfMRle-~)3XmA4?HLxCwL$o1VDiO{}?L@vif|L{0+LaF!| zq_#%F+fC{m(-k9qUkrrNsRJ5hYbeaN(l2RQ(SBLUPl3$`4T+x*;e@6gz?*rjt$K63fdQ3xdRK+RJ0%;XAx4p9mrxUC9sgrEc`1Cm0y@z-)DvGzDO_z20OYN*qGA$v4U2lGXaeJkRc`B(IrT%U0i zGD@)p4w-hw>k4JOe$wR11>Mi@coD?}OkQ7VKjXfPwpA-Qb)Rmu^V7HuqDSNv7$#{N z0HI|c4Pl(u&pj8Tia6JqnoVfFEG|AZiSeBnInIH?#XKg&$of(l+{Y|0sQ&7O+xNi^ zO?09=k6=o8U4p3)U$*+*am_g{{0M=Y8sN-p!!O?}6E@8ixwO3?0i=>U#9S0F#^ zGH6aV?9vAC_|XkkdYV{lQtw<4narMR%XDAbs1vz9JhAL~1_~*lg}2PV`zRL&dwlqp zUUP^^5@_$wYB+|Vmtew@M#K;+4?fCqKF#`$C+JM*%^dPK3*)t3mBDgSi;r*ArPZ6u zFj0AO$s6Z}lrU$TD^@@*Q1sW<++|-!WgelM$eG>jiP=1psUKK2WqyAT(!9p#8#l7S32D%A++1 zk%Yj?jZsQ`1^nasAQaGryKM+ps;Wnl8of9{@EP~2y=$hLz#rLq7lOg#7C<|}De`iQ znI5zvQBmsm#oCma5M)`Mqq_fE5`_jW=dXT}37g(N%kgy5w@~x)jGDFWIh0CdNe-$z=G;DJo8|X^GK^r@ z{knd`SEk7F{&a4R(zsVIxQO4YeYAhwkgAj}B0;%KNTnXdf8m{bmWe?!W>1S~-f>N2AyXU}sn45!KbG%-X!G+*TsebBjqY35P4{j55^lAM&prNN#n5Y`(Tr z<~sp1R+~T?{fj3S>37Dri>oLi6Pz+c$RYYq)F--wI@^ghX$V}<>H8@$_Qf?U0}oi$ zht-tcSb-MlD&Ya9z!%c3A&;rfe-eO=8qp?kPtjEQ4=#X}Cn`bObg*g6U-T%tR+Vdrx|M64S z<1zMLpY(+n`F7nZf<55Z*gdi}(U*?QcK9$kxA+I;G?e)j`i)q<{&h^tJb00cPsI(P zU9a4-ck=bo&ZMVX{=n-;+GMYiEfMajBy0QCljtesB((`b60gv2Uzl3V>r0Q!vP2qE zMNn!0kQlSt6=;Z7$X8I77^0VD$zmuy4`VV27k=ghbg-^U^lvZQ%M5YrI*7BWVxGdt zg#rg3eUQ5{PF`l8$3tU?3zuBu;^alJQQJcXLWFc8e~Ju4PJnPP>m;wFTU^AB8|9y} zb45%gxu$=uU97+cefXpF7>>uewDdy@%(9-xLWc>J zaf;a5iN^mNlksnFF6xpe_(<6lhyjeUdy!UEevg{V9k2pA zlkTbDh|fx2!K)p0qm@1w41uazx8@-;NSUR8YINmfl+iz|liv}iGq|la;M1tC>6U7}@%Kte8OJ>L$(Q|tnS4)o)Gm-j9??G(9nh89yEi+^-m47%bPHb?RsuGI zi2I0%eAa(kdqiFDOIGWK7=e(UdmvD_etMHSs(g;@^S?4Ll?m(hoceVU1ah`J$l3b~ z@vyP@3Mjk&YkKHHj1`vqHM*=RLovs*b|QuBW-dd9Ja~7ZiyG!Rt&IZXSL$PY{Jg<9 zF*Z4j$P(d4;xIDqqIHk=5mQ0>kKa7f$b59|5BXnZy_n?hXT&n+0KP32|IjI8>t&qU zXd#j21nAeMG@#@60-8!~c75WiJ4I0}%(WQImJC zl~@B(rCrnld91U>R?2goR$5+a)>^(COG-u;Ex?0qtPp)Ql9!%ZDl>Yj@4c{9FaiWS z^R-j7__@4PKJ3xdl5i%5*M0e6XV4rInv5AmX!KG&osO)<1leaj{qLql;s(h7nut## zdhZ4I<^3ji>5T<{XZwZ8m{_=a7SZ+hPgJLinBNOCBBZHZ&FcqT=phuLgjl!Vi{d#X zK=E4azehQ1C0hxJ&h7sU?4yCavJsFOJzNm^{I~ar=oJg_#oAlA;F=a$-v!uJgs?ZT|K1vbH@f{=jeQdB44m0qyti>Yu^TjRzl}gzJ}D z@jOFofUMcd({-wR{;SXOo_zPoNFt|N49(+Zfw}tP?dfOxaVIW_j@+*T)^^-Z^_(l2 zxID|!Pk)#l)wP$4c(o?MfX#RtCQg8@ojbF**-d6H{O=PwG?WCryRAW-aslXMJNaXz z@ejJk{>YHC2|s*TZxO#BR!T>BUA#vDv&HQjeruA`Z;#sNHoh4Te3qqE&t+6G@|7cQ zDD&1pzpKWlT=w(j+50PP^xS~2(^}5hcWg!j!8~_=+ zY1V{nkcGS-8bq%;7Z*MHKLwMv)xGdA+s?+zvC0bnFNjVmC_=?@PHJ z+Wt^+Jh%EWw}DrHEFN2nib;wN-+SuJxFPdPz{@^Y;+$3ujC_I7)H)jpR*No4l``Xq z$Dk*<@jPP%TR@P`Eq6GDT_N8AJIq~aI(Wngn~IziLa6`hn|&xjbZU2=2Ra(GWIyrZ zHYTlQnzQy}AbY!fTuK|gd-1B2*L{uf#pp<(F#6y~uHyHDxnbQMwU8{(_bSx!01 zquO89>|LO*X{@+-)l2P%2mAE!Co7t6G@8ky!#`8rJl0jc(nIjGjMa7BhoqaZ>EWef zcz~YP?{2RH&K=DeqYjPitw*DU83*k3gR~v(*XF@+T5`fV1ri~g~eF;?1EsEAx07mT)AD3KCMG@pIUe)Q& z1|3*KpDvnSKd;#RrvZe%%Dxg?kal^?!MF4sKFERR{n`dM^tA!)vsl_)T132O_=;7u zpmvK90C7%Aw-3Un<22UhlMB9 zIu|<=HIIn{pQV?QMvN$azARTj3tz+ETz-x~v=hJrmAc{5`H`@+K!L%$HI09eU--cu z3V+hqqTPWn6j|rjHz0Ih{_TBRP&n&q;f4rEu7dyzgboVbT713snFwk;;0TPy7ESTN z0By#&Cm8JiGJjRJF_;-~a?p(i{mCy==TG~@A%XxtZq@|>W+r2#h{mViV=vBY&5mTv8XA!ob0)|U{)NACDkLW+;|f0Y50ljr=W${Wf?A%fK^ck}eW zEkJ%DKc=O!Nz+?NYtx+Y)JiEZ2>r6Mfgz4+1CzI<=G)n?h@4GS?t{I@(&r zmtsdP;8C$3IXbp}MehpkWWJq3e{3t7t=C@(xk)@3Cvw;aQ)Q|@%Wg81jAiyRdI3jb zKZcfrb4l>*URf3<7sJ`|e>b@D#$e`ER)vS`B`x(M8{Dk3L-8Bm+Hy`w#0RsC*CS<_!K9yHO_hLh^?YLuX z$UCsx`78)}(8`HeqQg&U zR$kR^>UA3$cb;tNTzWds;ihl8GM$J&L02X8$y5rv9q)|emqyE+vj{Op=F5)@_YkCl z;FBAu)3CAPaef;MO0KmsHr?IhQjZ4N4cqkH&=DYk$D;@leZL;@U{JReWi}ed^5Dk% zt~c%cZ*SGmkSR^3!2!!2H&fZnt^mfX{DaXn#}eoCpkk5tR9>oGJpU1Q_w49AwAUMCA_79^ zKYQ`00DxM4=l_w1>vpyybp#3trfOTUun#o2edC)Lg9VA3|df`GB#;vXY zNYdB;_9_rs;xPKRPd@me^yKh1u*>-mTJRYW=GsC|fkRl9m>wloW*IU}(*<%)`)CS) z3+>-EbJh;NS@lWz^b-^cFkBXO7zMpMghz6}b^GUvvKsz{10Ou7VqNwy?7#tx-wZrX zC!@_`vG|)VECt-QdO(-C3ON6IvDEwgyY`jw6UBgOWHq?&da-|i1e+T&7yeXiKm9X^ zbKK(+KM`(Py;M6HNOvI-A506~9l5}R0lOvg7%P!WOw!NLAUO`R_w#-U!{~4b81Gdr z0o_h#c6ETAfkioGnKJcf!$1WI9HlG(y*lc@6y@!72n+mcINC^QW(zIcNA5^@sOaA_ z0Lg??01g2|ihV#r{O|JH>(ol`NRbnVZ%R5l^qdEzuwi=+Yzy`5MaB5j(W_jaAo08T zr2E>gihc{P85Ho2AMjxCY!8$#PM`v=09fkPce=12M#`(+8U5;c5*k9p{7Qv9drja> z6Vcw>Po{z#rknl^WLemsf&wWt8MMxcXo<_sDaDxoXh{>^J@Z;Pnvaw8%D?o@3E&M+ zvLnoS2W`MdoUx}gMPtxdfvxQQX(+EYA0g4RJ~kRnSR5f8SuEnW>0G~#bjMiLjOY>^ zhW)d8{NB82)_;Y~_;DleZat#NlS&KQCd2(Hh*+}s;%Rk?{=gRrb6fZE}YGBggmk?kn%c0yRZIT;>Nl8 zl8a0LNw%l0oUWZ(6(#(nsDe<)``ItNtdKa5XD*F~$NhV_FsEkB=>i}he_f_}7y`31 z!R`~Nmp41C58s3rV6bF0Q7jZGPJiY}&hs`v|4gRwc;w2MZ`#1Afm=Q_} zkcGH_VSZV&%ZKrI#nDLRB>5CJ#gVjKKfO<{ri1s1;I{?=8ov>zk6-`z2}={eXuo*A zCekXDDU#4S8EmzEajo{W0)XSdrobA4_Gf^6V|b**Una3aoZnMo|EFCkJYJLZNEIXW z?oI2o_4B0A^5sSsw_B2F%f^rzp8b-)Qahw)LbT&<#H*2C6;wnf#{p^R!#)y(B2~~ z9^3e+?r~D2;*JD9Oy{G|%>|>+8g{;B2R8hqoE&{cKP7{;`6U|pxA6^wIRKFJ4_3dd zKk%IXSK-fi^&?($sWD6%1MdEB>;=`eIQN4%5b6){SVoJv!-T4#X@Zav;b7>-zW`y) z-MSY=qbZ4wAD@Gx_C?csh)C7#v4iR0bY1F|{!!Qe<%nr9zcEg4 zm>KX<@y2N3qg89v)4v(HV zg?TyCF8mC_(99rs1`pU`#tj_XPuVaeh493QSKGht*lE^3n(xR3!`$-_{ZITPq`mjt zJZEh2&KC_y0EVvFFpk-v5!MH|4eepOZ>WXqQO=;{Kg8h3LE$UkbzVNtV+%%5+&rvY zKEXns4u62*lrF^I+#;?w=*yL%A&i#;Wg19=@Zqucsl;jb5^;{a>&&V2wPgfswr<21 z+CZrPfKDFz)Hg=`S9<;SqE+AjrKl(*-Pxr7lbBJ&F!TE9d1@hfHL6otlW^?kL? ze;#io+q<;e=Kl zxvWRtzY1(6m8u{Zc7i?mgBh-jIt$}ddB0M5(Y<=?OJxuloC(-y<&?I?=+u#IWPS5v zWX+iX?(Wp2|Fj}dl$^bX*6;j@-tx)0-=CH{lfECfi@|RYbP}5(e{N7U)@~V+U9wPB zzB4)TsMGa0S#G<=!FM!OQw~7wI}iG~3ks}+iw*}>igQ)3GI;P`^`Fh`h(GMuB`|o% zEI0-_JjlR1bZ@^sjHZQGALwls=GSA~3TWW;Df0{SV-5J6|e zIT^bG3y%({BHvp!z=VJyYFc;NQo)@UCHD4nstEc)mb6^0 z7GFcy)y5m@>GJq?c!*%sUWnv{2WMQT6-MXliOjr_ZB7GIQV2~y7Bxx=x#2h%e?1}6 zd4#`*f9VrI%#3N`MLx@!yTrbYVsbd|`n@FrhAuIMh;`RRW}qW+imJCnnzqe?+r3sRzZFLiNXMBB<%6I*i1J{)B_ym*I zb^4Y1dmEkf#t3$(DpuLGh@P+*Oes0yKzI86>|$wHwPny+H9M0@%^GyXL^m zU)q(;7g7p}l+%9ARrdBAKnUmg>vLlb+SXa3Zg!X?2CP?ek-|r#y$f+c139o_9ZukS zBYUI9}s2CP;V}zY5`Jn}t?BSY^j6UBoWW)|zaL9pR z4v-yYQ_Fpl#;#u{5?XbD!l5gd^8e`_cq>aW)~E7Z%96>xh-rD0#|TwdH@(}+ z1r1!*d^r+73j5wFADggl^m)4ZL(!3fk|xd1fE(uMJB3(^G?Ccr zRxINPecOqzTr8~#a(@y@6#@&t&0$Kp5;*Oqr^L?Cb*5E3lA%lGx1qxlC0^H8C~SKw zUy{RK^P6CC;piCD$X9%+^Ow5O)KisUUwU0^LOBkz?mTdQWjpvn`3e02mRoQhj zhwVL)l8Lz#@U|4=*5eM-QYgJ=!z-;zM|G=CjpyiWo30=E`9<8Nlu7KiF8@85KR#3> zzO0cVcFsvoS&$S6Q6-|PAhvs0z)zJLBlR4fW%NfB z4<@Ld6DKL`WRmu)EL&1{I@?EXu~LG=qxzkbjsc$rXe=+(?b{B9N@{nT1pQTC(|Kb1=4 z(cWnb%>`xbX5A7F_2HODEoe*Bdnr8HGP@Z|N$ceq+z z7)6bUz{I6zy00lEL?1TgPje)$%dDhNVn8~6KcUEJUAN92y`natQpKnIixz%>u?#Ux z3sm$=aW#&@Pwd~WUZ_PdE{yZ8K z^-q$*o$`p=8pQ!chpFhLrZ)JhJXP!xv0MRm^PX!OZZPcSsSyS^+n0o`RBrsJaI+v~ z`Nw>3&-XUmsjhld1ZL?AGX9zKo%BsX7M`1*Jx1a1t1LRz2$6idz=@yb`$3g0ScPKD z?<=CjZSVNUf8p%(wVLhYST?u*?%R2`As#9_{-^w`QZwpla0MZaj<1?zHOUAnG=*pB zo7q-na_UT+U$FQy(e5*Y-=Tj!rainm)ET$!QaydXyVzfZ^#-N3f)X{}h5;&9e4XP;$XeXxeD_vrK%6RN+~ z^o3L=^=iF8`O-DYnDS}*LvfZvIN zZjAr?tgQkLXvS4)dDo}wCevwYV#==3u2iayF1yVcY& zR!GABsbiK9ZBT%o#b(4@c_Bng;gB2jocEdBBB~}6Jy@+|(cPylj|W1^fButLjkA5t z)$?IRB4i*U&ets{Nvgj4x)@2(KY0`r+kJkOZb^D zELw7VTF8sM1C~o<%W=sY3FE@Z?d5Y?wRe)#FBlzdQVl8gFsKidWq_zjrL#Lt2y6;> zC8GLhKsDm#+zGd3WITB(Il;ro`M2H9{;2UYzS{qx>8#(P_`fzjyVTN4ECLb>QqnC- zt%&4Dy1To(TU}Z@loSN%lJ1n2l9cZ5j%U9=JpaI4bImpLo^#H9->)Oy7N&eyRQUFt zzWi*kaxiB@{P=dYpoM!OB~ryNbnoMtbC)4TkWrE>x+NV;vQo>a zX3h1IsY1h&xaiBi%8+zVO=`hf&BgA_m|y8wd+ynbC+3oh!-{Oe>jk%GsHQ~;9J{o3 zf``g_TH0qZ1KlzD0S>?l%G2-lKn9rDOPr9Y1%Cl@ho-!5IG?xf22e7!^sc&=fQ?rt ztOGa{6H|QEbI-~j&NPAxFO$GSsN`|YWBO0BC|oHV)sES0OKKUD2;INel4;H-vw)?F z?#vtPJtBi1X<0D6U6nYu6*acO(?tp54OLsm5J$>sOaj&(UWSiU#7gzxe)dljWc36ln-jl~G*q*ay;wT-*6Dc}gO)O4`c*7tvr$MG#eY`oX>fb%) z=x^A&o|K^8a z1N1FS0?Z@))sH=~)w0u7PM3$2HQP7PpyOoL&8%lz1^E%|pYdo|E3P|i@Ta#-CRoT` zWj1`e#D{0s$6}-`qLhdn>~^60A!AWF6aKbR3gsSC-ZGRt<3OMX;oHH}eI>d<)P?v9-aGzSco-%&rD+?+O`^k%v)1H4g z=ofSq{A0iOY$T-#02z$j@jfpMCY|W{KJcSUwV5RLa@sZ8*nxiV@`efY<0*QZ?irRl z76?*4GcGbqyI-scmn!dcyVj!OmVBT<+1Lh}z@RrvB*U4!&3}k7hX+(8%KlT}BKo=A z{Ca+zZW#%{b3CUQJ8csw>J$y3lrs<3ikg~J<$iDZ@KCP+Ak(Ee4tS?KC?X! zqrvS4p(hJTKlEK+=;+FmkIq%-hrW+}5|jU$s6vH6T2I&Nmj#8?)fn%PH{{{O>K-vh z@fq~_&|PiGlmCdTv-1`W?#63ji0i#a^=UB5Vnn?>`8SW+k=qqO0$L%PN<2~wUdY0S zXR>8w;z0lRTu+73kXXswS~GztE%J0EIv^8gzXhzkDfv*9_vQu6@@15Jr8R{rPmzB) z!Q!S#DOU-&W6M=O&L`>K82kHq;$7Jw8n0qX%&7rUt)toNfTXpM2} znz*^84}%?6y}6#SUs8ZZm11*W?9oj+tzw)PS<|NM(V$R1GXW_wV*iKSd5AXgFz_AgZ{fKN&}BL#Pf$SE@*1IPHj(11!H@9VKCeJ1CadE!xMS`CxH=kb7V5A&@ zxV`bsiyI#8iBTgxZ4hLLAeU-1$O@}ggX;Jo(|}8ff8NpcVwqfl4-04KWk3!&%4ia| zInhZ`{#w=i-FmYRf({d&`zG+7R4NfJ`HO7MjzBw*sM;dnRKiSlZb%Eiv?q?3s^KQi zH4}i|=Y{o@FLUYQn%~);PocM?LD}oKu^&bx_pn4 zl12ZD7l@MOX$Z#3=hjG`cl+P)fgr=ho_Z5#&=04uqms@pmU+F;Jdz^`E^04EYo1t| zsE#^W?zJ__4~9~@QKHuaof!GqhyQvrBKkm*nSoewC)8(rQ=Ne1t$^t(ADE6yv)|L( za?<0q^sfK@O$aLme|ZL9(QAYu!4eyzdEmHr@BJ;*gSC{O3Dl?uP8^{eCkr{+n0|8F z3>TKHP|xj+QIp08Js1*pggQdAEC?Lndj+Q2KU}|qXD(ZGm5xZmSbV2&JsL@V4v zbV|Cg!I7b5NM{S1RIe}~ZT8Cs#)Hpcd@HL<(cg1sFtX5fVT_yW=ha%910^p0g^ifq zsuGaH#z|8=s=yEL$IaF$I8XdcmM<=1j9b|I$P&}i$So%}%*oe?0q>=hY>sypjM3Go zs=7OQ?}i0PHvU(fevG>3_wkmB-uE3qNU~rRWY=7F82{_^ep2!~Z8(0cBsFtP(pUOD zb(PG$Noph(kgmzi%rkCS5mu=&CEG=!E=`$EfpAV1dr}CW5yK6}@UXI2Ln6-X z$20LX$jDtB^X+fyo*ZynwW~DY=s|_qrVVuxCr&DsKfFE>v;T-q`z5MSEpw_<5%AON zfUc@%?`C;TcaTd*TVM0{W7zoJ8IbFovj$SXAis_o>5pp&`s<30&~mlb_l}xVwl=)< z*~y}I^qu20e@gF6)hB5DO*RwABCs{!hM!@85t4Z-;wR0ecxp3NUEI_M>gF^SmYBv3 z?1!HYmAvg4)V9j0cr*GhA18dVT)#W{Rmcz|yZyfFs2UA|!*u$Oj0)jK7_P8wSoAJl zJ>dn}fPw6HJy(t}F%_|Y{c_o*!|`eNF`tL;7+3IMlkuxe{dciE^8?r+bXQri?CQ&T zk3|z{#B~GSm8TL-1kW}LI9i#MHi$d@Zc6lj@bou|W@n2}CrIlJwrofr`;23?aRga; zCAOr$!MX`!(ovY>_{)O^{rw9uMHWlHb#UYQ`o$E_%$D}akleJU>KS8HOFoW+oiM?w zSQj%Mn$@zRzdArP|6tdTjmzo59l>dRZJL2U$s9UeD;fX>R;KJIgMP~=rr_)22R`24 z#6Izk)*1YmGC!dTk`W~SRZLB7>@j+98dd&YQFq(xo~r!kmP^pNXH~cju6RJ+XvKA* z^%?WqN{Zt;3}~KSz#Kj9*B0matlAmnM=OMX8hp-B5bZ}3KbuX8{>dmxp*ng}RfD(k z2eHU4KTqh@A2En%=Rm{F^9rm^M$P^22}=<*_Nd=#fnHXqa2alSa#xDx&#oLW&#>MW z5T-uX^O{OG^WSezvY8Q9Xz@Tdb=p3M`tdTVKh!<7BsqUKwR22UpxyDD(1YP{@1Pg@U=&KqjjN7+A)q7~A5i91U9D zl&*6oDKmEaO|mIx8qXs#ddPq^oaJax1HK7J*hi6;|L{oW)*z8;XXfehoLr3_4V8Ca zUqA!kW+|73GO{jTxyTB2uPK7SaINje zmd3%0VgbEC^k|1}q3yVdt z>P2{gg-?U@v0Qjh`z3l@#!mE#XQI6dgX4MK)fvrDM79SNCY1b5n0?-7Iit`RSeeYp zZ2lp;x|%duf<;$^7jKNKHVNozOdW5;ZE99F6m(JTVV>bXClS8{LVsoSBvtoDxac_# zwB2YRRQiDKur#%gF=}qZq3R;^nZoz!@$dR=nr4^xCGlYcy@y#?yX576>pkUv(BY)= z)kUsi0%L^M<_dd!JK{qv4jE-tR;>jI9dR>IXMktClSD^mHK(`r--~IhHIMLtbT0KU za%W1@q)$^rzkqO95W-vX=2ivhOwZ4b!s*z^k2rmCD8)h^xVRw~yXt$l2|;e+sNqCM zun#(d0J>Y_2Unj@m3SuqW=92m;7l#ompXv+&WO2FuP5$7Vp!(=@3@rQVnREY$eufSg2K+N-(~)iD99Q5qLNnb zjvN1gO`<)#qdv01T%iy$RreWq?sp}vx6d$lIk(`Yr$ z=GyF+lzp8;q;M3x96DqQ8L;rMUUK`-k1dJUi-9&o&7q%S4VNXwaOXurL&Dc0bY zp!o}gSP;*xyJy?f)8WB!)ED{}0r1#li=erOO+J{qXtm?8tZP*0IVjBG;Kb~T5}OnC z{ePg#pWL(+;E|7x0wk^nQ^eo<%;BS+SUU`^sL1Y;R~BVt z4-cMS=%++p_P>#+1*7XY)91wznc1=~HKQZca_IpH4R~s0RaM^a?-#Lxf#j^v{6yxm znqP8WjZb8X27&8+?wyVp@R5Z&T70cH*SVvnjH=XfS8_jTi6+CSv>bjt5TQX|&hN`+ zAG)V@6H<3AqOPcnp=34H8vl6KR*f^A9eyW|2DLLu^?6;X=Df6d#eVQuZ-u^dfFd&) zxUcY|62Wv26&CL^B$#YpOwiYO{b^x`O+(-A=x6Vt2h~4JuZst0bPxk@uczFsbGzNZ zRVR6aRY42!lTx62x(Lx+RFq4y_HqLI!WDv84-b9z2MAF!HudT(MhvBJn=w!?HGrWS zUz>-HV6qc9=wq8y(GCUrsCvMdKg%kIs)9;3{FRc{=MXLXp(8_s~U>Lt^L z14hWNAI>*y#XZ(<^q5wXg-7a8=4CWEFU=0v7(;;;v40FDBMn@}hlgEfCX4?SC(OTk zJ0^`G@KWoxcu3=`p?bEM0_M!bbP97aw}|+OTa|9`^#ITr%b1tL^V8!v?u7vh6$)+8 zxJkDAWs4pXyw9aBd0?GFxZdy`0OP7aw9AmU&v1Swid&~}4*%`)`1M{d^+>LX<-ZE? zTzT@M_8iWvb}iyTMDI9sJW^Z5kbWR_t?kWA_Xew%d*1SjYGX!ZD=)`Fo4-r$;npcT z>#H1K;(9RKK`N{N_EvHPqflEs0MCkCcK`vLbr~{d$p{nE^&lSR4BGDUcgR}htvQIl z)A=PTNEfk<_zIEz1fYMW8C1&0L>)Nay&Qk8z5sfD3*0|tSt1rB{ zmy@j-=Tp&-W+o$;n~xskLVGyG9RAao_?tWVN4N2)mK#iXs}Luw<~obqm2i0~g~(5K zgSz!aOZP`Vd~K|m2vHC96(B$C!H(rB_k3)S`NGaret4jbh6H8S-mCX66eAXB3xK__UWY8^Vv)yF(UF0Ku4$) zV^X^VSf4ZKxBbRP>YYr9hny6A6U_Em$v4A zpHAD%Wlj`n{CyO{c@BUgFb>e4qiO}msdx-{V z>4yB1K)ZcxO??hS!h@D~=86%L*C_qQ8eJ~emqdT4@5MJG`{^}eaRGVVD+J!u=bjB^ zW>&)POzuv3td>)!E(p&oerY|oW%;Yp_o4S9SkQc4WefS6CRUbPJvBUXjpN2dTVJGu&=DDVA68CWevpL9(>_2As#0XkUif6C;^kIbw&hzAQawDthyN;GwK$mHPWW?8G%8Zmj!=Pb5)!xhy`6tSXa@5lmn~j=UaOxAB-TxgVCl19S}!Ssv~9oV=Cpz=ll5L zjATQN_7h@4A%5%@1t%zB#WAEsP+h!K4&FvhD1<6UuBO->f80|4i)oOZPWdf!vt?51;{pVrGxAT}Rb6Y#;T#z6uQo$wT zNUo`xH%f)Ae0~l<2nO=Ee59s$gX7^Krq(+>rQh=ZQSKrbfxg4x9Fo^9= zz&IL6RnYlq{CC~5Qe~swY@S`XR%dB`GvF2&*dG$LcNVoW0Nlev95dGnx|@$jm!zxH zxfZX=T@fo{9QEQirruLclUH)-m)DD0e$GaMtRqS1^82qxr-j~YDN;CakX+6@i={)A zEtGW(FqFj(fdB4$G13=afx%274Tf&m+tmbEK~()oK@?>59+_y5mD)5z6Lf63<&*qHzwS}BhBUOzba^G)7z2Katn;Y1-9Z74 z+mbHu;m7EoYWG`vKwrK^%Vo)lj)KB;LmO7h)!k5zb^;-{=C>C!r_TnR$x^lYwh$Pd za?j2&<#@sRkGeekBX}6ig@JjECe;64zFU+BfUAUwcWFZVbfMh*x#xZF9%%yX?Y0bv&}26xBK*Fv#fx=2MYx zT9zV9uGXh+?$I{4sPl)bZx5oYdokZO1>3!eDU5BfIN^mrZcon~uH#eV1lhNbY30^7 zJkL;R{r8_>&c&PAku43GefNx)h@sRmi_uqDNi5Z!UsbXTeVl0ftad+yME6 zikB=w^*yjG8^g4Tl>Ct}8m&Mys)%P< z`22BAm%?c=ps(u{VEc$`<- zB*YA!;toa-B9Qv*IT_Z6CFS_Fw!K4l`pi+v5veUJJLnIbk12Cmo0X5igH}8y+&;APGdixrs!8SczI0*iMv}}4`>h0gfBV%!@N;C|v7l}F1!6?r= zt)~dIMP&y=@{K^TS_~MWH8SfJ^CqU&w;U8DH~d`j>6Jl5pK*-Uzzmjxk<;D^$PVrb zvZ#31z4ku8Tq87fMWe@Yn$kA7Jb9rSoFY4e;s8#q6Jq~g-#5$8YDlR%Q-!RIf0@ZV zaUQXRk#7wz70=dBRzVJx(mA&pT?-M>m~fjA4j^P$e~*^m(Z*Qc|1b@m_3LcX#nr*J zciR|$W>s6J6fWWZLpw)WF0VtY@`b#0M4yAL%}y(o{5KXB#ol&*JuYPfPrI!Ka^6U` z_W|23(OR8C2O=M#Z1T1V*b%RA;JeQU6OQjqtupme}X)DF;CMoB0to$!+;R^{FUubHt3Bgne{uU03;K_X4burMO(Nnvq<_wml_H zUN6KFsO+E=73MjLrA(1axWp&HpZx2Y-+_?m`O`vz_{8tsCCy1MjLC8oGoFsz$&)i%{W}a*Z$zcxQeG}IM%hcO zhk72Q3Z}ak%0JXWpt)+v|8D+!JsCYqz6LYwM5J_&*V8tH(WN|nVT>BZg*#E(7_o`$ zwen2SJZ|H3qgc4PogL>d)tZoesT~UySe0SHS7$={FymkO^d#2)(!ks06}^TFZ+(yl z2|Dzl=3`qJD5}xU#ZYim6Q2BE5WbUvcq`Z${Kh>%fJKMHxEX|QrSe4XkSj@xN_4DI zWkhmn_4^jhwt~l&2AG+Xuy;QjG9+QijaHa`YtTO^NF(Xl-($NhzWcm@Wef)ejZDeX zEbKf>pP-?5%Of@2x9!q@h`zNnggoT|Ogv{hP1Q5uDCT&o<)h2F`f?M^Xr^m!OZ$)6 zXAxs>VUS;89S;`-Jqr$_?D!=i>QQqf0kFNU+$At{4=44xNe~XYcFW!_4-c6uPl~WN z%H}`U3tYsdHV?k@dkUvkw6nhT_P~r7_asz@mwaWh%smgwAI*NeRxYO`a#{Xe=C~;r z%$PVTX<`v*))O_k)w;K3s$|-L8U;Vq^u+4ue2I8f_76o=q+6zbftS|YJL@Ux4dO~K=ziN8FP zDr{_WGGwILlSy393>YjH$z)CEzPmm93WhisZsP|R@Q2QKc;ETDR5SEW&*nu$d&{}D zWC;Z=I}M>xZS6Fp$_0uciT^SxsSq<3_1j-rP=2WSm8_p7c_;lUvd8&S?E$4u*<8j@ z!R0#FQnijgyRK00#+2WKEPV+Xe5QIQ-EDz$m0nMNKe+m$-^kVVAUR*SjM@9YwqBxR zTgmE^3eaJO3Jlevh>fjT2uTpx)WLY53}Xp+tOjSQ&ii{>=&Yt{?7Zx5x0zF;I);Q? zU$vo4kNV_BSZI=!dzh4t0GYUtjC#aKRXT;OSaFO#ekmF++A=+K2;N%2zR5`@>u z@JqfU@((_n*8C1vju?9~xd#$nE`R&X-^6qkyP4@}kVhY1G>c&h8#C<58X6XDvmhLE z&jCpqEOf#-g3)FwROVqjtVT{r7=~2O5)As2rGpS~2-L8WKR=NRJw}7E6{qJMo1!5r zJ)6KC^X^%535;M*cye+yj=zY8))a|BFtzFYh;3g=*iTH(pmyRg&MqIkx@N1a+GAGe z>KTX?uldv*jc8KjryAm&=yY*`jV*i78P8W$qu6v=@|JHs>gVLc@~SfMmT8)0Vke&w z=Ze;b@7@1V?TP;_uvJi3cpS8miNO`u{&ME^5r+t?x?svWa#FvHgfXy5t-tQ`*w*ha zGGFg*4M32u5fnjx6c;X?aSAF7Pvy`s&}f>7`Uhqzbc&D{$Y05gQ~hUAipGiGY(LK0 zMrl&ewwu-TkADE-q%H=Gq^v2xIKSj^gx1+x6qc)ZFOH=A8l^nFddOawz=nHfKaG=5 zQdo$*9S)EO##EG)$jdX*?y~pneqOVIAv*DY0I+@$0v5PbkckCl;VSkJD&IOd8p-?w zGjyo;D6ecYZ0$2|kZ*aQ5-Y1@%-%4Vy?Tz|raf!}!yx4)w+ultUUb}Lse@g7kk6nx z?uuvVH!S6-u{BjZANlOwpF1k~U`sTBsrn2gvNl? z^=i(4snTv0-LWy&SxW3V;|WZ+=vW7}HHQx#)JiZvZE2^`8vo?qq#YduKt#`Kidd`j zqeUqXMck{wCkCBJPGhHw0_v=ONa$Uyn2^#e%~Oh zR+Yl%RMWN~8tv_xE(9*N`lBMTa+j7`ewe`#Rh=b`0EQmhjoG?Aov#^ z9w5$Vt`q@(Rs~P&otp{n!0q?EjS=-Nxj^j%&`;*3N5Q%Y7Ex@eg9pZ_*guA!#15;X zVqn+Ay)W-1ZnZNzm&5b8|3k($PCs|M-iio|7KOHaK2ebQfE~DnabWXXMss>qviB%o zbg|@U`+#(&XV|C7!a+lq9gy5RQ8>7H4u*u!H3)8FPS9%+Ki9zIh?&WHIez4*EV;n2 z*oy^iEWeIA>Bhs}l;Idv9*fK>`V$#>+gYfcw>%iwIlWiUM(wKYm+Yxqa^6+UEt3?p zUbT7gxc_y&M-_%lIw)P&%$$}dZ=U|8XswOYdeprEa~-+*m^tWb1Eoqa@V?|>tu}}u zS<5IlxWC>Kf3oFpeCn@}pTpD}2tTi!MR-2{yB*bZ7HqO=yUg$20zs-hF}* z1o3udY_V-6&%JmIjW^4yJ!m1ggmtBoMEym_O2GoUIfs#>+0~3q=P73Qk+WvX^?@B~ z1u~)W^h>KH#}3nWxZl4nW3vg8DF;f^#&z>g(N^7ZPV6QmAEf$<@B>{s|E1_HH@B>OCGT>3qw?`EZS;mHvs92=(cq~3>ZiV# zJZB~TlFw(gti0!l4&Acgp=-N*rn_n^c+{i@TG?lL&QmKi$Rc?7!7RyqKh9xtK@QAqb*h z`Edq=()j)spvSs9nH%2uO%wEo0)Q{sg`AwD$U(m|eyPRj>}b9#l>H+OLI&!?AZ98` z7SG*whyy#{hA0$NK~*V}Xm;%|UzcfTS$ikeAl^m{`?*zdT;OX5BZY!sF3ow6^x*|SVLPNzi|=tU-4VKi75`PxJ*Ylrv=moWZt0@VO&S8HMs)D+IIiWb(eFhD#}hVMYkN&!R>&cRKu4iKq(#&|CER^0_pyMf~Sh34)fB zxLW$sS#ywXhjSDbSmZ%0CyAPHFPO<_-8r$8n1_M#v?Urel^wS*MD7p?VxPYTI=_)_ zK5EF5556^=GZOjO5%g_gM9ZL0*v@%9ykz$F!uX)T&T3!0lUizt1!oZ!EK@|;GXz5K z+vUF(a*PXW>9l%ZF*w^Ye%yn~nMh~`9;$^lIviqNCf%HnP}i)ytSZ=qc~q|&U-}dJ z=BKxRIQ0AgzjrMMzx^oB>c5m@?I#!yiD2HtEvdpFVER12tS{Vkfas%s^o&iWLPRZY zoH3s3H;oXl$&(N0j-o+ISF|qBQ_Q;^4t3Zk@DnGSaU^q1kI3)z2{cBZ{`kTJ)``uX z>zC}QL!w5xJ1LFK4i5ndUn@eXS3x0t>OVe4c#57X-xPA$NA>;$p<}erDJnAfyvk11 z_swRJ(89-LGZi`!abUCst8aM9}61rl)jDqf=XQHBI-?(5onChF5QP`6j&N30>qM@51NAwyii;H0V{V)W4OTun{-fIsl!J0t+ep;%h+3SMIJW z5Y*2m@@^6jq4aygxl)m%udAF--SiC#+)v+CUK^I9U_1kZ@V=}8J8!mrcDfH{gEm_h zX}J}^fw+X8RwyWWj+C>B&Ce=S?2G0ge1F*}o=Kfp5p8T(vv<_4U21EB?NH8o72?n=g} zax6IJhOH#X3%bdIkTw|@Cc-Nwl$Lv8Ep?My+IKC4bd9d+ydxZ#wTb~D9jn4R_N_}0 z=sWZA|P^!s=?x>P3WIoTi2p8FYBRRATPJ~qyzNU>ZZ zpxSMm#%4;AstF7Yr{<+NIFo;_-keLXpF~&+D(gtrd`Qe#mk=uNvpGQnOblA*{uBuO z0C0RL!@jExg}<`$pc(UJtBE~vy)M?p+JL^tyk|gvx}(DKk6J8XS)Ptvd-K}i72A)D z*)s^K4@QWmtj4A~yxTavi_g9Bx^%4i0#j%0T#G>7^=YRB#b!1>=&!tYYY878|7%4` zuby9oW83*kdAv_2DZKV%cf$*B*MA$%UWNJHK@^j9FsXRoPka@NO~FgFZ>^6Y+B4G` zBzc-0_;7>)m-LTON|2DkM&!}zWLp=aL=YMP$6Yn-NhUtW2?NzjF{3KZv z)u0{-BEocU#$_JGpvzqIJm8{RUogOK1_T))f$#W^9Ocjw1hjGnkvH7k_oF^0L$9B!*g(fS%w@h}CRae&eChg_ z*pfYm4DJKPC`~n6TB4|1C~hDn>(4 zUsO~)e8m*xBA9LjLsA4G4mKA#yqd$B`+iCepehajgny`oN{PNb-1T8&Dcu2y+8)sx zYGsjl**7l{ceix_t>tpAm+SF;% zu$PpYTcgd=$wx;ZBr?YC>%`lnI|2hu=Pm)=&Of}biC*$6iY-4l$dmiRau7%#Z`D^! zg703681@NG&_Eu(5A7KP$}ALUhL7EaRCrv2D40|wR%EPzYy^sxQ>SfhRPA&Q1G<5h zU94{&gu?^w=cA~F8Id^)9}?#dptQ}@s}{=x^x1@kplvDwJwrl;>+RGp13TqHvMGhh(5k|So)rFXES$?0mI<(pbzjdD` z4ybElfCmT!xv~HR!q)SvH{~l<=_ysf4&yC5ush~3(NLjQ5;$L}@v7L^Kg&5E1+F4u zHRw-~eFng@zcQ-tBY(Hs?qRamp9uv)QHtn#2ZKZK(fOZEm5;0ajng?jk1Qnf%k}K) z_m84lI*(MPr{l+px1_E2r_mruF>~2!2*IgjZnqDu=O(8qtcb z9uM1VEco!UEF<uo$$sLAcHgDe;@H2le5Z+>$pgHe+bDadx}zoT=E}-6SiM*Xgg`DbIdMx2|~;k+?s< zA6pNJKWPW2f{-0wP&VV`_P&d>+mEPf-Y)A%Fs6ibS!yHI-mF4@@H4efAn+f-UzPVS zUz0J{B}H7cC<>D?pfUD4ACFBTi$lR-Zz!vJw9~S5ERHAVfHhYz6A!hS7VX+k%bbnn>Zr5IMxG^}v#TlU#`|dmsb_daFAMnK%15l18jl&!)y5@B(CuoaO^IYu?YC z%%TY$EV7Vpg`K;8^W>6le0ThA6zBD1_#r7m=u`MXun;=j0#@Cv#1V1L%&XH<UM5J zM!$RG!5OX zoR8yi2n|+;eC}2$wf7P){{04vg85ht9Yrc*g0J*2Ryi}+2KlCYD2J#eH`K(Cx*`)&>^JdC#C_2SDVn z6hljv+5iGU0CYjuzT3mn?u9EBK4<^l5Nc*YPQK5m zvU2;a;24@MzXuN%bkqPZ2_YX&wt!Y8UT3o=cd#KFTYg%Dcj)}D+^W5`uXn@a2W*QW zA0z0R>ZtbEER0!^5Mjg??8SjGLDF+T0)*_rzSp^aqqfdTg>p)D`O;D4CD2zxti)Ey~|2fH||%Oh<@Gkg7?zp zTn#mKAwlH=x_)@cSurIFR_&y+uFaYkT8l3Y?(!06Bm*Ay43p zz&D`E3y%%J3wyB0FOkq!r6KYy!uL`VlH!*nt%BkFpRz?t0jP^jvBbNuGTXZOdBi` z#VFI`ViYnAoWHeK;YZFcy$BHH>7VivucDjuN=938sN#^!JMrS;0ak)5MwTP87Eik^ zWM2}#Y5DjuqWvF5N!N{vDHc?HE=iyNlNmk_bwQgUA$)%z20S;5_cE)90^3tWMaZ@d z1AYsA3*-cWxfCLNuZ3mmKmtJEZ7PRg2n*+drC48{lR`x@sACtclGx1XnOFVTA_r25Eg&F8TQFLyF~KZ=OC@ zRbSilnHPGn@e@QTNe51L0}RQ^H+X@0%M3`=<#SKd{0ukrYXzX9jy#GVA<;4c3j&7w z{W=!gK!|OTeYR3pGGGP5ojoqgI6#ANftf5DANvh;zqF^6H%z}paUujh3g3P`?oKve zheXP%)c%WqXC*#Tp$G6WvP<*KmFCx*@6^oXCWpts0#5bh`F^aq2YN*kVn98qx!4K@ z9IzdVxcVo^Hdd-uBIMZE@wr=&kIpxn$;{X6)N#rhou6nge^t?@{l^ ze`dyY2uL$}vf<-?siD96bM?=GNjK`)Z0NXjJ+{e*cq8_y^r#bxIC4M~zWuPSF$knS zlLW%F&1aR+$?(Wns{Dt)o#Mks!2F21B_af5P<1BJ^e-`(2k1x<1S%yyaEqtAU$}!L z$KQ!lNQo?BL4QsxwaJa&-JEUxqGx&)r@F1DPyUhRPu2v>yJ!FJ1^BpEfNS`E>7M)& z1s(ZFjtw6_wWFfE7>>mjhFZzU3Y5-IF)kVQXb!}d7Sm1#V2HiJ(&h~hFb3Z4vl(@8 zd^mbV33NZT0AZOa|L`H&dChY0KeAI4b;Ec8Kuucf% zlA!XEn67h$GG5Q5(s-l55CVmeH#Kr$t}WmVUomP@Ic#E0Z0|QGs22zh`E9g9HIsTr zseR-EBxNm@9I?Ac>1@fcn$PWJu5B`hf*=X^NaB07)0qW4HopmeRYCOAtP5)N~5M*qYgJXs> zvl}j3+=dn!ai&i)Nz&ZM-#`cfhz!=x{-E~ik6Lzxi`jfh9aBQPXFdZUmUd7pJLBb8 zDOmNmWijE&tW}U|>A(XJEpZ%BrQB%jcPQ^?;MzI?AWDA;EF|#o*I!-tMFuLzcw`zb zE|MNSC&JwXK%_iUpUD8?KM6>%&6l+6^MD@0T?lO80fqW`WAUE%&-XyEvD&7l6;~9H zc!E#5u6?QMi0F-njI`!dey|IpR%GR#jsS>4Q~yy4_<{hU1s?`Lio7_l++(rCJJZSi zBs16eSS0fRM1$sTL|P_}O3Ft92rUhY4=n*PAJpJ}csBX217f0nhO{5ssAFX$-vxl^ zBwxSXpx>i;X$L%c=cxD7W$X1rWPMcXb)*KmRV3h+H4~A^@TOJ4&%B~Wq`m*ZVws|J!(Y6V*#JbR~TW; zo9`yoRRsd;Ujv18f-R;3Sw~DDPHTTGbXvm0?VP_?^3~XNY^cr3D>^9LT1U@%7W({q z9bzWo=>u8YkBuZ-V|L)!AAq-!Qx%?P?(#J*^HESG*hxKGe3kneO1`v{5GFI5`UD}% zzK07bT-_%-&hhQ~Z@MF>EN8@WK=XRiN4j8*X0}5GVl7n)d1)_10ucYrA4Fr&dK@^u z@}$U@d7{aZkrWNVVa zX|EOL(A)v=y$)F4dvxok<^aMQW3K}7BwrTf%2b+IjFt5_0L14#Z4t8xp$`%CWBo*1 zV|JiZd>usxaKjW=6$r|e^yrz>7TnM@QTjVi*!~O_lbNN70u<8ThqQ4rQKA6^En&3L zBNJ(>(r^Pnq{A_3Ipg1XQzb_=5u(Q2lY6Qa4M>*ItUYG=_W=Y2v?>e2Sey(kHVT0J z7>)o$B-dO~D1RUo2oYSbKO%Ep4-k}DyDikH@G2w9hN< z6))D<%HcK=IcA0_TTfpg86^Qa+0cUk9qlUmLk?RTs zm7Vwvl5BsZ01)(fF<^t?3^>ZqjjD{0M%c(#vW!+BDnqRV%Y2kCNvwvAevd5!;1vjA zt5C3=Q|tvdvPOCu)1P!^zi*tTsJyNAE`Siiq(A%$gzmeE|6)73gb|ZXDPymHgx41T zZAl;&*qY38P`bZaGQ#iL)--_NNjSzQ$rM@ISj*pTvF4}SUiUkzGO?xrAFC{j{Lf$4 zQU#l|=De7$ZpfLTd{L?pB`Jiq9vlJ?oa+Q2{&UfnmNR<(+SB>UCUgJIw3I&DpMJ8` z`xe&PlPzXGZvu$&H~=6hC=h=MT-4FLcUuTZKn7FMK>;r8M+d7t{RnA93|l_95<5y< zXG#G793RiV+d_zvXBlI^JLz1`L@=JVWy)2}tkhdNnu8!e(5)QQ)9f9-EYlSLqWZhA zdG-h0S3h#aFTqhuVH`lPcrvrxm~3JIV!Us^muOesMBhu$_0a%AN2nC=Xhy&&)i>+d zb0Z-FYVz!6Nokcm-WYt(p{A5fh^pqo;*FSYON|Nl`6}pW3X^hT`h!>vY6$qj; zOw|F#lZ>b3eu)2ED5Bi=<@FKoTl)qKAWVyr8>B^vR*9%~@*x1CX2^g4`@i*qDSk|ZTkYNvR}m_>!;5uEo{at2{cr`M z-F-IANA4!i8t^nwi0pMph@^oKimH+9SlePoyU}rar0Hkncn0>^04@2@5 zk4?~5_c~D5PwPg?6&0RgXI|VAb1wyfYL!vs1jjQWQ5%hL`SF;5k0$%)@eq||38-nw zB2^yJ=1G4BFSM2aXtQXtt$_p<=L8PIVmA`5v;LAFUP~Fj>ZuHs#VX=;}PSDl6Jh(a0Wp98ZM0Dxxr8M6c|Po4<7BfU{G_JCycSSHCh&Dc}II`=~_$71NTK=*S)3_TU8{JbuW zYWF*^G3oLsn*a_VRHY$3P>tx+Jt0kh)$s@tkgewLFJ=Bt_d=xo5Z4FCFPQRh5c@o8 zm#36_r~*+pc3Jx5%%{X;QSJbUD3kY-)MUgP0HQ!H=AbA2A5P934SQj2F7Zd@tA-wv z5(f}mfSr_KNN>kX1+L)H}`3HOTgntQ40=0Ix)bin|E z99ra2BH|KQLuBnUCMK0ThoYH>upAE&YqZRQAY~w4Pi>Zo9#dWi5Vd`^JB_9y%NAiH z+`R80K2Aiyy{*T(KU?c3CfrS_nI4@u zSaeyblI(csB@Q5nl0wb>(-uf_^>3yn`k8;T7-seD*^>v=`R6M!N55}2Ss(Pm7=O1# zx8t0e>p%9$QQwgXv|Jih-n2Pnf;=GKgg;UsxuF+snRXly+!lbyNwETmYpk@4@!zy3 zqJoObOsl?HehA4@0|>#_ItN*sC=UV%wuB*)e-Z>kcx?95RA>N*Qo^~8=5XI*I`411 z=r$THzjy!wv6oQE*+xsZHdONE3~@Xs$L;-NoGY0W8Ly2Ek>RWjf0L5>HDqHO{W!l9UAoAo51X`qN}{ePq>jguLiDR<0`6 zWz9?{x>Yi6X}h+?M_TEed}Oez1%U7>4JpC!N67=dC5#h1atOeIO6RESx)ieaxjPsPn@`h@3$>GP(;B*!GtbT7p9&wuh8JISd6 z1nF=?^Ua%R^QEUSW~VK(D0mK1079efL3CBnIqEA-78Kxn(% zm3?`x2r<7f>vH9^m&2RT`1!zA#ITfcgHUS&CBI>re9!_GiN$<%vqs(XQ{#)by&hMub}px763x8^xHwC$|on|%duEsXS3HQ_5|o_ zqKWQ`3Fh*yK%oRzxk$GIAhwhncnJ3$Q6udmuq+}jFlO&AXqZarTDgj|2Asgc>=6hjd|7p=@^FOHRQmG>&uE@=3ZsqTp>jmKLiWfAVKFJkz(=+q>IO z2N104md38iPdfSc1t91|MriKk0f?(*`kx0*-H)^_!LK(3>U4fokZ^Ul0(K~p>N`89gK=S0diEoGz|D${ZX&u%SE%>s;g z4ZP7%fQ&V-k5?c#fXM7JnwOyG5P%@WN8?2SM5a3%0gwI)My_RDTD$?oAgLVyu@164 ziIAh|pe-E`RUvN&B`9VpLH`s>3_Sgqv;wwu0ze>3FJ$c7<7JsqppR7`!upvgK4xbK zG~^Ws-oB^*)tLNy4~Fp1ckDWcDy6(twXBS@w9-b-JpeIs_}BHute;n)UhS{R`$h}^ z!8Z)&-fJ8B{1kwoJV;X`dkLe$=0<0iYf?+TT&ljcGs|3=o~f%L_!v1X7@%GbAcpDJ z4AhB$Nb`^w%9TmG*!K>AXwK0d1^|SPCuA|r(RN+?e(4+;xj48WIusy~F|0s^Jhuw6 zGKq-4Di8EoY*wLZLji<%&KS}%l`Nb3j}Fb;4C%W*h8$o>Ye=4(DB(DOATwjU7SP`# zILV=e(ek+`GpYM~%*O0&rbVg2aY2@Nl6{!GvZ$@?gLuEgwRqMn4-n0liXvuq2rDl&T#0 zr#9ee%JkzZK55(id9@M&2afcn&VT>Ee3p^vr#}9{ui=K7STy{hmoUusZvY|0f;ikM z1^rn7qJ-rL!nWl6gnpg|5TbuJ(>h^Cx8%V91bQ{K1t8KDeFaZMHXFyemy?{XIO9Ev)jqdr*E&G_LsPy|gzpDFx$_p>*Pp#%K z+GW+i1`yQW?|kgS9(V>IGBxTszAVBwOVZ~}e?Hc9C6KSU{!coYQPk9yEy$goRAgXB=nW>t-$^KeTZ8bH)QIy0)bkSnf=185>eB)UqVo4Y z{<@{&g0@K4nd)uBn?+P8bm!`q&0`QxAeH?ehbM|`D=V6=i1fau4VNC<0q z*1BYo(o=#3Aow}!y&C}xvAqF=5Q+sLPJsz5Y2fyxwTbmFpK8AB0JDz~}Y4qHs_(!~4HzC;&BrIQ!sRo&yr8C(f_YUxllu7HEtpBTH^Xvzz}u1wtk1hZX8 zxlW_J2$4YvId*BdT-vx8Of>yFU2%O~E|qVnY%CJv=>ul72r@C~JfTBGMmjfN0OG%8 zZvQZVAmaW%dvCg6N2;rd)?in^|BK$!eY*dgvdeYR1d@j8wJB=6I!gOw&@v}MLLF3=*D z@5V36bbPQ%FokgyKzI-s^DOGqTEeg9eX1&CB|V&mBTV!I^v!7o;z{Ptwj@A!<-luV?kx;x@NMM9f zFw#z%7}Yagtpf;P2CYz$ddKhjxoGzc(Pm!>83;UevQ1xjA0mD!2c$6wG#LxkJ(B34 zq3Z(`=XHug*jXuyadpR3o2VC0*~a607P%M7)u?U?*|~%K~mx&J!Y^AlQIqu zRw4`fpL$R4UOKeUWR!b^F$UQ&+UqoaG@#&lq|xfieaU;{5S!IWZ+l5pOIVYv1^57{ z7MrWpU#u)BmS!4~(SaEiIRL@qjVY%x>2zaw*UeUK-aM`05k$> z##9A-_XQ4(vcbTJSI1HGa$)*@D3duniu*~`OUxi&B=!Z})9X~UP2E+|ivD36jR!dG z)d0lbZAS*(=>trxTlga}uxeObZr?xFG_wnXxq1aan2~_7CDhjPXN;cQ`k-YR{#i1@Ii0EZv>u8kF0vx3;Mn{`dy{> z0fbCd>{`0}eZ8-i=nmnh%%73diPOmL5ipi=;0$}8QRP@v~}lv){)cNJx@afSN(yit8Jp-}AC+IY83cGURF zBL=(geZ8-uXO4CXcj~{k&1}llTi_osI&akgfQU{)OkIx~4jT@uKUU8pUz`O$j z4Ju+Tr~20_v)rHz1j8#j;u>%3l+Ns9;~SZjVb9*aSkANyquWx<P5OE<3`-bKfDwl7cw{dQ4DF6_OzIAQHSu{ajIPX*Yc)`Hmr;7onmVQbA0lloB z&#!s1cf7N#EU>FN$8|dz7}a!RRq9HgqWV4}fOrk>DG1un`vZuRzSd+edZq!yne#?J z#(rpIAlmAHmUS5O{MLuw_E{B^h$CM5<_bXQAS@M(zLKiQXda)ls{G68c^Fw^nx4Oa zuklc)1|Wb>TL8gzjsP_}*QZ6W&T{}Evdd($7z?wFaOZm*nE^zPQ?0THK;Wy54*+s}DT^OT2YQjoaKp({y(xuG_8YxvBZj?9@I7#<0qy8e z)fZVTASXUdG`>k7(AK3L?P!m=<8>g?iBmav%1`uclwJ52=!%J6UI$~vG8|C6q_jTm zFu-*WT(=I+_8fvsF5uQnS7ZsU<^2~zS~U9hK+8v3a)Br@itvY`^HKFQW(5Fs;i@_#rsRcqZD$OV z0FeY$WwTee_tqsuC2M^x=u_gGR`o}_Enrs#tTKcHlJLYy7OZw>zwB3mYD}DS(L(0$BRYE+BZ{t#$Cd z@e5D&IwS#hW2_H5RJb$nj|vkJm*{=@0f4d!a&AEP^|>U^?Spb$+&FZ>~$L z{-(}2MZb@lqCSm&nY%Df0mN8v6HfmwdsA}^b%v1EI)NG4#e)C%00K?$kP%e;B|K(I z>UBo|Lge(H0U*3P?*eTsX0uY`D){;2`!2kmK`cF$id~ZRK)(8w88;eXy-*?{Z6#$|G107M6Zta||ZZwJgpa7K5RBoQy@Q*TKHuQ`s<6S5EbZ#HK1&uIjBcZ697 z5I%_Xps09upPt;$%g!gZ3;ahZ2=omy5VWmRPj~ZzQ&@(ojVSnx&IQn63PCW!U#Rd#H|yVXoFiBln#uq01zuf zkEY~L{K5%8VjdgMZ~S&ipTA12j|?dFp^=fFuO7UcUuVv`CQFLg)p_K$BdmH2_3Sfp$B5 z%z;!03SymreoKgumi3`r{;e8yTBSJVbMK0p2g0Yu^hftU8o4hpU^RUyDbEHFJV zDgh9fiBM|(Q2+!5jGFyn(9$su{(!@fTwsJigjoo?Q(Te=dVt}_rm%&avda!mIFjgnSr0bLZB zG=T7Z@Thz+KASf#+Q+t-5%Ex6wj}M}<~~utv7-%*-dCwc-EP%=d)eNXt2n7d(Pf^v z_i|>Z*>!NiW-f-AA86pP~!|h!>BE=3FX_xaF`Y*_DnaA=?&HVGiXw z3D{c&UKYqR5MJUtuL$L*G6qf93& z@Q5Fo-e-#_mG?5EcC~JihGxtZ-_OG^U^yi(Z;YIHMWBnOFvK>i-k}~Bq@-Q|eLn*s z2TAc9pN*c>A?%9cris%b{X@ej?##^aspib->U7&SQ11yd)Eb2}okR^Te|B`$9R5(A za>Ekmp2%q}8a<=mco#GZKT@d#k5eApD(``(!3?wR$|-!h}>{$7H+(-}1#6JHWI*G*)cG7ZWrg#dy?i@ADe4Pu_`BoKaT0FmjR?8xxn zKLI8z*cvS?r!SN%-+3IdWc0zzFQl98#kYe&AO7EdATYuWlwcitZl3@I?aUB65~=px z7XF)L=R@DYB&$^#ZL%oROuuMC5g3loA4@+Ey^ac;2lq_BC78oSTev1dvdx>jGOFt# zqITmQROfv{xxqOQ#3EsqA0v%mYS_7KZx0}<4*$&ngq@F3?qyHuGXMhG`FK+mKvm7T zi;MBHC*7(z%vw8pc^sE`BLLAk!-lkV;5Pt-@tKpYUI!2&BN{AGJ-e0c6?xQUA8@VU z<0}9{TOi4b{%a15QoQ^~07BboWNSJD)8)4DavDGgZ`J?;S5ML!xb|y18p0edh1nbc zVhW5&oCLOp075TtaEf#XK#0C&r(04}ZwDaogi6fX41iX#n_ZbV2N2rV3}B%b&2#{| zpnX{M4Ih}-zeSBZw$k?#b2ELZRhO2UdEh~sym}1<)}8OQj@0Vk(Z2gW1}fD>ky+1l zKE#F|^^JE@LTZxHk~gs!i?Tc-@J^8bj_AxsEuz2IFlto;<#v-f2y*}?0hTNHGF7PuqhdtXp_-bQGnK>&U@ z12I%N$5=ggzk@C!xR0USb};?jv_iR%C@6ij`A&Qz8EAl zwRtL+y`7xa=rq0{hI1@r=%4b`?<}2D1hOVk{NLJUXg;af% zrIqM{9X#fMJ_vyD2E8)UQvh*NcNS>wI*oOIvY~;vg9{3x8hlDuJ|cja0)f~S-<80gY@1SKtQ|yw7C|^ULYOm&Xnf>1hi30qTjMd*&Q7_Qd@-sr!k(Y=!3v zNAPBn*=!8mSF8?c28L%^hrZdJG2)zdbDjKhj zUkOEy)_}QGb_JW|efpQO5crM^m|Y!%Uqj}T^mk(^?>i0M)IHM0cFcC82QJ#8!y&J& ziA!xqfGqTNQrH#Oa;E~|_y&ZZ6ydH;a zL7g(T2EaAifW?8|aa65A1pO`tbK$Yz=$Gl$u`Xro0@`oaq&8QeRls`(9@sI46N&)R zzM}nbw+IBNKUn>$+!h|=f=b|*-fz00rEas=fI`*>3m`Njh4**eSEEnuFs!@({I;Rzy z^1lFt4<5)KSV@PA53-A)=K1J$BLMBZfQ1jv-`)Wb)DqN9pycFp-*26?HkZu+1WjR# zi6231nomDkX>nk;>OAqpHEpd_CZdZXfy>7?PVFv3Y6~gjR`VSSDd!5 zYWXVxga_ZzP+;_%PU*y~&Xj=|oY#D!ZJjWxZp%_JCfXJ-3jtT7v(ef!M$R)3X1d9N z44Z+FGmdyF0~KKCoSt6Pxf8K8^Q?DW@xb|@9iX6=>A#SLfUFIHuIw;P5>iaScBmVzD03;ZiYx7`#6@ge~Le%{9; z2(FavZ_E)jzNa;4LFM0n|3e9tf9c4pY@J!%W*w^ShIh?ZL5KrKr$(eUZ97JF9ViU0k3IC47xQ|0J|=)z=`rb9!guk)+1CrO zzRN&pP@x9aI0X*dH6c47i}}c@4SlNWUuFxPAJ7h15-zjgKNbe`h~J8QtkPlKykWah zttbP*(>LhPK+B~cZT|PCy zRRTc_Zl9zkO$j^;H#+qp09(7UnYFHzlSp9B z%K7^B5U*J40JP<6@2rjzzvjL^C5MXSqqgQYAW$w!3?WcxW%}lcR@Q7yWpkv%uI4}<$qX;sf&-@7j|UJ|&oYCt&&h|> zjeOhbJuH8Cjl0hxaf{jbs|2Qn-# zbsm8-4NSxgAQ(j8rBRrLu)&=cuhKEscyXEUiw6*_58BIW{>=wA4F!@rJ-mmeMT<;W z`;xZY5}mlAhgEUnfim81`vyQD@x5*V78HA_Jp&+=kpqDEhC4FE^9XOWo7e-0F}SbC zOYev#0D&0@?-3XEKNSdO52>7l;l*bK5LVdhuxP)18IJ=ZA^@T1rU|HPbGZkKe5UGz zFYJHJh~lj>5ZXq}P9q54XNw0T949q_Gi(?9gFvf>!Ng4tfQ!MY1Ryk=poNn#>b3Ls+?pCm_H;a2hfQg39GOTL|20_xUUQ+} zzdMC-AR1e=tCk9rCSuZBhVawMjnVg*!m$350R(~w4Ircu%0l1~;%#RJ1lj~ch9uYw z1Pe*T7!XcN6Kx9!B4nZGN#hHqXG1W2zG?#j7o8jl=R)8KmB14-c!(O7O0}@Abta2D zn4K|G7{^){%oq7OGN@>@YSr+yPFtlVB6g|3H1)Sqj3t8loB)Elt7(6qDU3+{-hh)YT~|GTkb~V$rb!lV zs}G?K#~n~eRu81rLR~g}PenB^w0*(6{@9VBs|678?{8nf0@u#~gsw%~rl&*7WdH&? zLcC!P-B>rUl7j&d88G7tzWq&Cem@N$v~5PTt^q{5OlzrV8!aro4J~X?R^H6HWAt@Z zGZ0st`DMcmVuD@R~h8uzg&lyV;f|dk9FDS4m|7d zQ!=?%|9w3}nRVP@SJ-FzVb(oN9iVjiS3JRJzS_ALR{+9KVc0qPp>sQ+70Coa1pX&M zC81&S!%SWDJ3&mL1#oi)WM@ASDLH@`rFFkymH>X>fGL~tBtid)hfC4gl+`B-fL8&8 zwAB|>mfT+y1FX)=wR!p^PPz4!+yhLZQD6UUIv{H!^mE|VxAsG}u;xpNY^X-98#(oh zZx0~!z(acY3qZUS2%$o*CN6uheV?g{%r9y;nom_^X0mfSRr8{9IZ$BV2mjEZmdmS~ z0%@ffE|fDIR^`co=%n#y2N0fq?M&-><}(2rK=@ijqB>6M_a#gX$rFIUofk0gjUZy& zRH&2Z;S>fL777h}caY}JGZadnxFbuat~*uzJpk84`k0d5^<`v|Mpg-$kEbvc$5m$p zK*({;Hfu;A;%i$>`6upm9how3xt*7e|30ilJddU@q<+*1{HgegY!Jzw%b;I$23RR; z9raI5*y!i*9o#npEdbWS6Fu?%4mZd{9j4Dte!5513_Z~+|Dj)g0f>ce)JJX^`Xsfe zeClmgYMaZ{0E8Lhm1&QZ@fwx(t!N6vlvo<}vj9Q^{@N7A01)~x8R2j@ebt8*fEW(D zrcXPWoJ?EnWNCG4Mc;r|qfX}pU1M4!B~Viln}N`+>fiPI7+>8e9Fh+Zq<;JhIU_27 zQwnbG-LL*1^)fg_5K)&+WREhHAwJ_t8CkYwbaG$X*Si3e0f^p?(rX=n{d5N6ul7S= z!U?CrkuR{gmG2G7@EJ=k_E)N_(zYLrWO9@80C3hHX+$izhjB#{0nPqVifA6o)P$_S z=(;$zlWL$Rb@n>4amUt(7w#TNZ}pxg`#b;a(rAUDHHrQ)wig>~DtnDa@0To-wrE8|aq*#|vd%%6LB8I;>+M^=-`gPECWmOw}HITIN z)&L?j1`i-i-_8{lUVqX#8iA=)=H7to0K&HsJK=qcrzJ+a9-?X`uRHb=CwWRM%5~TW zIrPwToQ?W)70&?(&NRS+B1vbr-?wWZIN;=3pA99>?c|jT@`_82}M@450#RDgy|XHBV>c ztjS`)(dw;Uz0p_v!)q`HfAfZ9J&6`7VPLKzUo4B{9YgbB%cd6KH!gsE;S|Qt2_U?2 zX(84e{`&z4ulk}A+TnX8J$EKg1*^zhCgW{|%!zIXj_(ve=wK19b%5vt1_egz00eR| zviBvuHGQgdISX7!762J=2vLL$Dv$Jcp2FDajcSYs6;%MCYxW>>kUIn63_y@zeza)} z-o}YMq0(~tW;7Tdv$w!9e{uXqgc!Y%TxwJ_z(k# z5!&EP2$;%<@Quzuj76;>gc}UH1Rz#Elr&}z^ye}YcVS$H@XWaqg+fRPyFc@5AnMAtcUyY^v9F_2qC)d7HCU;GXo*oK-q(&?-78DItxE6LWpc-^U2pF0 zR<*xrKLWEv+TIXAYxy5Bi4k%If&*q3{H ztdpnErsmp3vAVs-cFoDAcp*GYwFKR%1GT*$@m;=ak7N3R+SY*5uRW-OO`%br2#L~= zod!6nr&0tUC}jHjf9G>DzTj!0v)*X{p~3x%M}FEO=idm?GXFp7HRE#D%azxp?<%s& zJapyxo&sCKg4w7~45-m`WROGyC9?*i(y>$Grt-$H&JE>?;XDfG$t*bzD!x;tp^iYivL&;y9U$uWfyWgw82 z)==I?G-??-b;3e#zdOA@sk^GXdW)Ktz;IHI69oV!5b&B(deX0 z>iyR*l!fT)Sj5k@NAxC5k5~;Ge`P#cA24X&$CDt5g!Xw~0HL)qz^i5RmKa6=H=4$l z+8Ic+no$gGC&^C%AT&ZgMaNagNYdDan%(y?`h3-DYac*z-t6g~v{6;2mG@NuBD4k! z%wo!F3llpNF>wtP#(2U3h>ZneSkfT#}bwh&aolk)JA)m?!_2w#%e~VQ^FbzxGO`i zW9a@9eSsWgF8=x+fUuxSFZ6_dXwOoK53F;lgR9tOcqTR&XlFJAsoJ*%5U7Fts(|kq zKtRfUd63iyKGNwbImL3?D->S2V<3g%EmRiHt>gcSfEo|Q{oS$iAtO8orPdab!6s$4j?cb?!5UehL4vs+W-I| zV?eSHaY%K0nKCKt(tHi;L!xRO?QONnVX+=;8-$d(87m~dO7q$P%-&}rykDHOB#GpW zTM}9HdM8LWg(g*A^^XJ|sKG3lh1(~Uo>`UCXGw7EXdRNRmby=pbmBhaV&_51G) z9Ds~qy$US&3{8Zmub^pvPJ-gUt#_RL;YFkechFBfEQ@`golU9hw{2r^Z_+0&sB6~Y zy{6%DDH|Ku6XC{zECVq+md#0&qzI3Wjwc%GPI6@+@Lgs4;FRHS1t3o8s+M2R>(zN5 zw&wr@wk3|JN?^5|cUB50lrj*yJlB=oZIO{w30B6?%aQzj0fcv?Ws#WCmvVv^0fcc4 zj(6FCQBPnc-G2y5xFe(e=wqe(3P21VgF|{vg8>j&XcRmF5ZS>(yZup@0R;3lu-jz@ z!tp`tOh^X=COBD<*&_VFt(&c5^o|d}#6PPFbYdnUb^4@J~9S(CPi}|K1+6b&rmtF`e2B02Nw+1n z$lLO7CHu4MZKY4tBf8ofvk;~m^hY)_2O4P+AbB{wz1X)MjZXbYoBCrHHa;qU0T6_g zrt!b;tKl!bLLYut{un{VLP*I#p#8NUC%Qp<_WBv16+N)J zG(%QSK$yVm^)CV>k(OQpB6rE=d3ri`rijY0Bt)IzU}Q(0Kz!CxYerwVt<&zK=QGJ+Hzs|)DmE<*SB(h zc`aI>&eF!lJ*d7I0HIT?*Sm7eGw2oW#^9-p(exfb=ydc7sCIibiw;yv0dUbQsM&kQ zG#>G{HfWlL8WVa;3)0&wUE-}eed{LHj#ZAJj&jv;7^g1aJ_lMnSq2capag2`QyE{r z3V_gBmHX%_?`9xm>xX(I^)H-`M(~3l1e!c$?*|}an~lKj%KSnAaeLjvrw0&L%+{zr z6M*ov?rD#drD}B9yYC4gz+&wR@Le?8J0fjl`W${-FqrE8&kP_kHyHEUZp$1D(*Qzi z>Jy`}nhtZ&$;)Hu001BWNklRGYU;9PTdI})08h)SFZx9}!1EYur4IpUr{_k(!zrkft0v=}G8tMgoC{zXu zT><3DmEYCHy63#p$frXE?3MII`XK;9`x|^iSD|DswXJqr=yf(b&$aj6By_5C1zj}J z>sDWwfq461b;{senYwkIR!Ii);t`@J>Q()acJB1&LuDY8v%4f%e#rv}8f5@d@q5s9 zE587QcbIG}#=lA|(-!zPQyAi}NKSu1fP$@^xGQ7$vTO>&o4n6LdcUB9>gwK&eNZ^n z3}I6Z}Ql4=F9dmjBdrG zfa?K7CK;{UugE~u;=vi{Py2Fd3L_h38L+lz{`1CBF(x(QS&kO3(f>ryt@J{di4{gW z#M2sW`7@)7+lp8{aaa}VzjE9)yDj)d?RarCfM)DI+S#d*o~I|0w&`~;G_yxmk0W|x z4tz`iu?uvgFP{F28;m(&00B&KaWU`Gx-H#PU%@FH$|`Oh%D{O7?Sx7^;u=;oXumPE zWtXirdZr@vye*UK%oNkuM(VfED3zf3);nGmD+W1fbu&049y=k_3~^3 z<6H-e0?cj;7N^<9pIBrCe``k}w=@#%gjR6G(F03sXz4UQGk}Pg=mA9Cc6L)3q95Hn zD+;zLGei@@On%$<6EYBV!PK8BeXj4Wr~rtOfoGJHybGaD~fc``lapO+Y;n}MUT@K z=pr>^n-n^5 zQ&KUzb?bj#o8Ii;ZI-FN!4g$^`C>W`y(w~XyZd<-y|vJ4A3@)&85u7XwLHtR7!QKv zb{|7AaIGT`c|*_y=@m!svb~2DBGo*G!vkXSm$(c1_UiXS)RvyA*^H4o6z-1? zXrqg#vIpi3Nk0ZubF$NVjdw`}ufdO6IN0sq>DOIsb%?lUkkOr9R624QZnlXJg7PQ|yM2DxMmlC_bHx)-_OsDF-qH?2EegCF2 zBZfT?1le#vhh={_tgWvh5FyJ0P^Purq6k=fP!uDo4kViGO$Y;ynY}7wuVnVMuwaep z$;+5%RU!aN^gAm;q>=xE6+w1}wRb%X$uFlT0i;^I4OQ>1YEr^;OZ7H?G4YA2@fEdH zL=&t3C%A_#&;27`7kYmEY4O3Q^N9Kbf7P#0I;FO+``6U)qX&|U3t~k84($3J!MBk$mp1U*=o~LHMa>7XLhpG)cL?2Wy7Q82rG*!LQ_ja#!FWRLgZt?eoUhe};o_XM>2% zd3^}wIt{jGd|#14+~L25kxY^D?**n?l(!VJCbH=EWQ8!rG0eou9R-Y>7XWSAN1=lL zD|5%Bv4_O)_V_Q4jU10kV3fPpF*o>2gsN~yo7}nfsv1$%4r_~-W}x*AJw3tCM+e8= zgar=UTq(}B7`)QX6DbvoC;9Ti5T>Wt4&b@+RCF4vr{^le%&3HOCM*3eZ4wH+1dl9Sm14@h%=W-LywcEnqmhN(q1QOKFY)p|QBQ zHVnZq1Cq6+lPC}jMUU%ow9-G%hEhpFrj|P2%HfMeLFXc0ZKIoGL++Au_orw5-`R1# zeN(?aP>}oAxa;|?5@cz!GxpJQJ$65P`DX~rhmzmny}b}BP|3Orz{qYQU3n9vu+sLA z)rPU4qlTeGZ1mn7fzsY9FOnp_|HG;;J~HY=Tsp?GHZYw0D8{>nYdOn)-*1TLVNK=E zSNG||%3tWX@T59pYD_?W6Ykjc54UqNicdXZUj?PlRhH?Zp|mj$h$z%Cd{PtbvH9=3 zdsW$(F1?(>DIzx$E0zl-?^1(ztq$M2uYc_iuRTPWedAmuZbneLT$au4h3_?yymk@t zYp}YysiAqC46cgdpeH~3XZrRH{BDu%*C(Lw^W@r&Qc_5c?9>=teLLUq1HZV<;us)R z^<>xS^B+8#IYGo{Bf`3{hSyOQ1u(jz->K2d=#|PCT@|`;n^as zsXVqIh{`BfJ4mfd__0_F0T^IUzXC(GJy1iK{Rfg9;5Ea1jgIffw{q@}GCH_ngDsw$ z44IGPE%x_{$cAO^C_=H>!dutKgbL+&@Rp!N^~e`u(2XYIVW<1G&n8-H8$rzg4vSUQ(;;rR)-&_W=>FMZ-UEjvtQkO&@tGTBz$okK6%?Vz zRkZVR`xIG`TeNzvtNZ*>9G_Q2qW2vhtPswBS>vlSw}I@yP?=j#D4IRrr~7k$iqOiD zPt=WA{E&0-NTrW{f0;bTED#8RM=O?^Q!FlG0MLX0s7AgQix?)1>tPBP_(5O2v;b9a z-s3<-ggIEegkm*U^j0Tsqvai%OpZ75K{>+J4S{b= zw*DgrnwqbmT)q9$xmtL1ZTVgMIM8S<5rmE+|83ixXd*A0XQDsHR8KA?-?lr}+bJ;F zr=YG1a0+^L-3ny6es6(agzm1VJ!r!hLb8sH;GC-xM%+$}gMYKBKir?y@va0cO^O&? zP5=934(n_B-d&@Ye4kWmH+ne`asEENYqot((WDej-?p()eB4Im)CRrRv3=^w2zzj) zq)U~0yTku!o4PZ*0a@jzIu9FhO6fG<*F9W3{kc-tDMJ2PknS(wrHS(X2K@@>T*k)3 zUQU=I>Af|22pp`ax8D4FfMWu*4z|!v`Y4(b3|&`-K;|UY(}}tS?N4#BUa|m^u`T(9 znPPkuRV}KMXj7!6s(&P!4P)aSn0y>HWTGV> znM7pzT<>WqT{^!8?7ku1`Aa~$?kTbxK^dSS;@o&+@|_Nwn$5cpDdaT3fFX-KY1idK za7j$hX{OKkoPk*x1fHsJ(-Cc*%0rwPj9|ve96+c`rHwFEsGSeJEqHX=9)FdEkxlm{ zI1E~b>L z6bd*$d3dfkNx+E&Nte-n&rz-|ElLg)b*^Uq)vod267>*v)jb`*yHmh18Xq>(9CmqRZ_@o{)!Fx{g7p)1@0-pq_SH#I5vhwG#XK~y%M_QLhXCI;^^QF#> zZD|F}=FRmxm_7c6bcm(x-_uJl=k~AMUB`r!oMd0?wm0yy{N_AP9t#Hy*FzNM10Ns= z(j*U+=)C&JmpwRMbBMEB?!OZ5PS*rA*O+9S$3Vsvmi1}$Os;I<>(IO$Qh3L+M!zP& zjlDuiS3$WV?A-ZYh(F21FKweo3CMfN#QKAE^d&#}->l2v2`Fjj&DK|PZweqUMx3sJ zOhhJA!mV9ao6Q zO9m#m&nAN3+41>wFoL4R;X0H~e}&ZA?s^lmEY#mRtP$muJD7llq_f-#Ci9XS?hgM0 zp#CkQ!jWhk)0lR+R%OfB^aE(IXopboJmo(=Fyp)(G(1}!>P(mLLEn4?^(k+Atol;| zc{5B}%rl1>K<{+T^E|h}ogoH!tD2kZ`-AU>OEd0R-7O>K(_+T+;1_ZQDEt9`$snBl zZhvA!^O&;Tqb+-feLBx%(u>??K3tt8EWP7FjJbk%)>M918_ykm4c44c3TEVHcFnT^9S zH;t5z^nF+Hd1_Pzuclc0wl9#*NUDrQ?2F6mTWh_{*~2!TO1&CIlRf;QJ7% z{Jv2h3cEYFb8m^ASV&h71YP6ph?&htnNPQPbvz8TL4L2r+^aBt)i9$?`wks;)xz#G z2)~^{NS4LC%)B6~>^*D8WSulk{PwPFY#GP99gh!QdZa~MsMFrXP3LTTFJxK#haXgY zCG)_Jfz$0=M|$Mtk}ea;L{4UU(0lX9;MivwkeP+=0Z4!nP%3lUxqW%P)LxMN6YGtn zs$;`3>OhLm?RCpFZh808Qp>e($-~PQ&4lWj4rmtM`3|aCq6a$i! zOUX%Uv%zDT!Dj)#vUZwq!m7LfMBK>uC(Zc)@FV6nEmH;dPy%3=H5Anu!u3VIqQvQJ zpicz_R?154txzihE=*^?;e~nt@m3~{*f)}Tpc!ryhUX+-@~05Ty4yp}`2qPk*)bZQ z!DkkruJ}#qXUzXPM*!4IsPf=4D8gD7%AeaHS3@Kb%ard*6?_CwvK5w+nyCUoB7WEYZ>c~&q9xHg`e4H`)Jh70nZpLHB?}8c`@TT` zs(Cy1R`EKoZ0Di()k6**Jc5aSx<*#O%F-DNHbR;9pUj?ey@U}eEZSH*wzC{G_sinn z_=ZNi*jj&`@ahSj&ko^$yo&6z);%FwL`QNOhQ@UOZuH;Wtr6aa#+!(c5^_zn-+}*+yw+39P-^Gtxvk5^q?z2|wLs9SqRE#y%hfy3L3I1}xuAP*O z!~v5#Yi%i5t?`-`z&^!-$^E3gK*+}ba7Vu=GgV=on{Dq0dUXhRRCrTUIT$Lic~A0Tyn~z`_Y4Q?%te9jrL^G`b>=Y z-QsH8nP_H1w0CGvkzt?=E#TJbcu%(oX_YT=gV>e1`DVWG-aQ{)>JJ zTF=+_ow&I%U-X-6ob@|uKhg@}r>j)|Ho1{siR?)UjejqCsIFi-lB8~(ZV|1Y`y9Bu znCUv&dqxI>zct@sR41ZAgOB&V$&)#}Z89J|#e*@x@r9Ga+0_Oyd!2 z%c*I0^3ypfJ<_h=)^~iSAnV=VWkhmZ!>q*339mU!6qWEr^{@bcd=9erqY#?fh{J#l z3dI8cRPf3XW`MmE@schD_v&x=;L3psGoag1ci-Q12uq@XqpX|So{f{ zJsrh&v_h;x)9bvP*RCs!On}<@pOCd1sw>^prh6l7ST^+5Dy{c68lY?Y(_Z|VbtREG zI)0~uGB2QLh4uc*Hh{+$xG0wRHcQ~>_m%Q%>G`2OR)N-Tw&|B)n%WB#Tn5`(XnIfsBuW}KC;?2Hek;qQlU)w+G-uEOHI z4GY{fx?0`-dYWmJWv>PhAxihgrcW)NPYx3&LcK7c`8vo8`Asw~KfBH@ovw$M26i!? zzpe?GwA@(=HRxcw8>x=DY?ybbL$VK#2M76+!*xbeG(s5W&|W)CR!5=N%)?mTvX>Oj;)t1O!C!NZ*L9jYW3F%IU%2V zS#);GrucRY9;bBVO+r`qF_}7O5D`UU%|-ZlWpL^d3LkmAa>Rqe|DvXA&6Sk1 zr#5Z9noVWKp}$ePF-SZYP=2In`j!1WPgog~(MHE=uy_lh@lK~LMC5g3OAfN-Y!coP zCI=4!VN~I<;;C08BcE`S^teAjWna8V#dUY}=OKJW*U$+W(WbEvznN>~;W9gaY}Xb1 ze7X`vD=F9St_UYiZ+VJ0k7N!2!klTzO(YvWG)?8TG1!)ZP*aw|k~iLdj*>HdK-+Ag zya|}I>>z)NYW_2bcugYkA9pX!J>c*O@NgV~q-lzdKblwUgw=9zTob!>o>%t*JZnmH3 zpO?QR8eGc4e2p$k5wqvZ)3I(!?T}kNkLufO=Bz~SZqc9o43GhqdNNgpdKM)-#g>US zj4FK7iR9)3@xv(qvh?z}e)K&za;er(Vdz?AEZOZ5Tj6%wIaSHz9KMK5fYR`WD`tE z3ef(3@!D~dkjEO`67~n?bVPu{!K=`coTZ_Q0kT7l^ybP2<^U)_-O7 zAp<6g*`G?3jJWWZ4_b>mX%M-oprZ$)V=1-Nbl-OXC??oK^4UUmAluIa=`a8Ow%_@_ z_ifH=bf{IV{n$qXObXHfE27Lp8T$cgJ&S6g8mi=n)48%8E_D`@A02q(At-wygd80K@%clJ&(7Oo zhZ~Q}*j`&NCtcrFd6%>h@sYJ51vyb`YbJypH84n7LiShmaLvN>7}Py%#h&wn?$jQG`A-U7kb&%B*F=S=MET^Ydpwh znYU_uIGbbvOY|>=C;$=OeNChRBs@g>uGBAb}E284FWRFN{;fzO0V>*5(Nv#P?G(p&R89sdzoR9|lKFup(-PibuX z`OJ;g<&?>gC$meN9f|xKcUw;GParemKF+wEX}2wr;A;DR(pQCQkzQjeq#9@F&0?Hz z9Xll(+f8&l!%>AoNoQCU952Z!M*1J3^bXqo^s)t%s9y{TshBg_MFT}R@0ioS)K&c) zDh{G#8KmFAA(XOg3OwUO;nA-u+-(cLx!>DxVengtV+%m73yZCgfzrlbk$aQ+zN=b2 z$7H2Yd8-t{q5*nzOC7SHIUd@U6StjxG=LB{d#y&t)b^>IdQu?$z?WXIkCVXYwjT2eI# zLW3H$s&9ee`X4<<&w+=o`6pbOClVM#fKz1k8#E|1>;>&iAP%rG=Eo&4e04+Z@+Fgp zL3l{w4qUqt6!tB7ivd~?KVHM%K0Bl?~m`~2>1uy*zp9RePsU}vGJl- z8AhmFTBxHvhxr?KMO(01H@0#X>V=q{_^4-iA&NNTS;F2?{q?`i+Xj0(2cl(v7#B`D zH}!m$mJ^|*y+08KOE!}O&`)I?^J9E-_RBq3rQ3L9$ zR3TF>MTuaW`f^@8iNV}3iw%GfDqvR+YM_msD8StZ)pQiNy( z>6fzYN&QCOu)S^`Kr7*qdBc!&Sf_T-bc>zec8=lxiU+q!HquaE?(}K=DfpB~SKVRixR{DK|CkTiL`|L{ z;D5O)b+xwg(scy6j0}7&R`aklW@vrvH0Gf?N*IHDM02oUF^mu(66yTf)B26xl-uI5elVw9(Rz(j-&D1!Ch(gfi{f8B%pVVWXd zM0CIkTx2=%d{?{PWr-PLAs(o>z{W@uejGQT9 zSw;GUZFrv+K@n4S-*yT6b*Tr`FxuHy@!&^S%wTA8K^ZSLTj_^yAmcI z18*=mGYeNp_I%!RwV}Vf<-j0H`VXOe82HtmFEDB>5qLt5e+1s+L%s@KEj_O{qD3dr z`}o@f-1iE4&s)W5}Ag)(jh3z{Siv}?%WyCc**B6~FW z(d!(}%jSZd^hsn?HiobsPg3jn7zB1rKM?%^Nl}HpYa-rZ1fc6_c7xA>=qRT!??jxw z&*AJc?4u4cQ7^SqUTIA0|H{2{vw&F>D$R*cRfYRz-%I_6Dx9jvM*Qy`az(WRA!+!> z#M_(3fhM&liYc-vmgj^COO;`_)4c%#CbRJAu3@KGK>K7)fD9KH8V0P#5_C8uYvY=Y zY1~9VF#`D~pZ-wO<$mfzr{oDY`YBB7bRZXE_gY7L@6M0|KTfvAb~ca#zN}P2VV2>0 zi4C_-Sthf|BHh-wrUFpMot?0@(m@vfzB$Y|r!3X-+{18V+w_X*lv$sks@A933Z(H4 zF*c7jLeoMYYq0|EPx@QJQ$A;*`l>R&;)0f|bM(duB1Fe}`+83*-S7Xj0KzWyiteNm zf|qbu=-t2TQ!kyH@fUE~G}E^Ny&a9N+Lkh!C9+)PEO7UYq5#UcmQs1T5q4 zhg9g#p+x*59H62SM$%1@zkmpu)PP$oSpwH(@0W;L1YwA0cJLV>XXOSMpXp+XN#0`FWv8!OGp%}6jVRzdQL%~Xeo4C}?E{r~4K(#_J<>`xMvnEj6h1-@`i_xJ0d$yb8>D ze8;h~;#1DaPCfQ3Tm>Dt=NR>-X7(lB<@A$53CDPNFlSsX8*ZV8D>QGi9J+DtuT^iC z?hNwy%0eIJTIXMV70KT7vQ?#W-Q1q>z*`hHt?7+TePM+LE6iz3jkC@6(%aLDWpA(f znfq-J{-17Qc!9Hy##{C^J@owa;L6)D{ZDuSAv`ZY!2rX)SAa@Fa~@VsL=6DDZyuHZ z7X6BF{Qx8EbES?el}6bt+IGigZ6!(Z6Q99v=0k6CvNRwzN zEEQ2&B?NS){H4KwmeW0X#TBStW0y_Kb~c3rB#-An+=tk}P)9&iJD ztYmfF>nqGQ2g+XXoU|`Syt^ssKKP9KMB?tRG$}9YJ2FnwT>B%^4h`>j4~#L>=l#_Y zmLtq<;16s76tYJKAE)?XYm&#gcK$K!(*Cn{PY=-_z_gk9l(Dft5DMhUPj1g<4I6Vj z4=6^f52uC9jBrwO|7sVv&%vl~!O|aIWjTHKpUIEjq2T`bimLXHU{x-!{q9m*~08T?OV_x}OG zjo&$d`DV5vK&bms03?|!ml#%xy@Zic`y?MfE+Iqm z?K*yIvnj6#VzO7PjE;}x;+}U&z^K`og+|dpIt42LzYTN?zt{E6is!L|*~YH7q3pfh zg;j=Ei{!@qz}U@9ftYk!W(!As5vIh-^0%#y zUJH1PRAi>JSDf&v?r`s+9m$TmMUn@{o!59+QK)>b!&?9q5NNTIWq806k5oWS<85mW zE*S7_&#LZL8NY!6D}N#?a%mCH+d|nEnN4`K$po7^SB|Q@?`I(YF;Wln!%rB{59C)5 z8_LkVpu{P~LFJ1pQR+>@8y8Rb(ddwB0_x-XvO}I6g=0AUjEf*O$&BT7nj-6vo;*|S zy~Tx}y>ms6@T5So|6w+%#^HVgQ5sUsxy+(<4)`hP@;5p@;X{HA{(mlwj$r|ioVOuC zW%Fl(i1A>*nIcwTlfePGLCBou3|M0Q%k_8naP325f0Znl2m{9T{s!nCg&%>w=VkX0YCmCK%3@G+D%`pCdy?Z|PMCl@gYB%|v$7 zBPt?SoiXU)xaJv6gj25D;%3xfxoay84Qe)2(}gQRBg$VBJm2&sh_jld;NNe zqLO)?M>Rv)QMO4hTP&z0+|ljS%db$qMiWF5?zt?vq_I_lPWO*iBW;amtaYb|(!`gG zG+GWFntims`>x(+K1+n=CK2!G(VrKBno!YR%vP$F7pd9EO$sObXkDk*KQ^ zO$*p`C_NT0e~L9W(#L2Ta;Q8dKJ~KA>xx?%iWvSpi-3PRWI-5Tlebd4gQG@+wJ}fX z+cU~ae+{Gp1SMXE>-Ym)NryiB3pd{U!keFm5AE7Sth|+}o(D>+&2a<@-B%lb6Q!Ov zYsU>D$v*%U1n&H?;1Oktxb{f`2Z_hP$iT-FMUYxle{9X1VgyVTMYQ%wbwfpX$Pu|z zWH@Y<+O#cwHJ6F93!mkq3}o1bS5bh7lf{p@MbxNxTt$5#qvB@sjqPSxd7N=QMmaEq zVQAJ-r3E4T1|qHtcENfzm?!nEpY@}sm+YSpmCu#R%mxJp%O_e%1o&6?H4{d@*!^!C zhkYJQp~49SxYRNBo@v56Q2GgeK=s6%zTrx#-LVyUk1iN&}o5bkuztf0fRNBqOV& znHo8-I!D9cH(6q}XRNdyw3OmGNBtzHQJnYiK1N+6ex3yV}?F-U5tXbrlU zmgUY|(wtMJSKbKD1&xKRtFwr_!6E2V7Z7(XH>#!xjn;C)2zbRr(=UBqCMmdbuYf{% z^@ZbU_`zF3Y~*_KMUF*zNOTZWT}sL5WRTw;Pdjh`auK#zvMS! zuA!^tb3xS;S8Z!Qg|cs$ybA!BIi7HNGwR0m&(w0@#qN5ctV+4i);caoN?3CuIp9=E z?!&dZut!>sTesnjN5CR`%5+L`)}W1(EnwRDE`QQ8%gW7R#X#XwYHq&SwYl451#FN> zNDqDio4s$@569wbE+QozA9PF7&vtV|gUk6tfW8(dcg@$M;q;3oTOBXKbQ%EyK)k$l zjb8otD_IfaBRo;_=x-=fScXpXmP81I=f(>V_7j71UWJ`x#rtcJ$#DG%@S@4ak(Y50 z9$nFPL(HH~w9SI?JIz7{Func!!Kwu?RoQF{vv3FE{Gd9pV`&1vm)}-HeOKnFo;(hy zeH)Oc25FzZe7l>cQ~NCe<&pJFyX}rEg+2gJCs?Q@HTG zbQO@)Z|ZvD>YM%8;)e2iYJ9IAOnOAm+X9VmTK5tT^^QWVS2kVM7w<4;x{(3jK~vFk zvGQ9@NrL^bD5erEx&SQwO6Tk?=oMKg(bbvkAvE(2z>q~E9CQ=-p_h9|WAwzDi&hwl z?XtzOlKZ#tAL(adzc%)`dg9_tJ4#27(kM}4jAanep`X*9%&tOVyWpTf62w?;+So~WYr+X`9X1Vxd z&$U72naE$10&%W2W8!n zIKEs}GO-7b7sFq`;V-+3xlaDxPd=albveDM$qQ4a|0Zb>xrDC8G#JWZOVVZpr+bhp z(tEO;PrUk8TgY8ywtRc*9~)03P$?ZVJ4(5qK4WCaZgI^A>#el#;_w=7bZ_fXUA}=) zi;{0M2)g*y?CuI#>Rm2-zme6~y!j8H^{ugohJ1f++{ebj6;plm2TcFU*Ww0yFf55z zS($I#bT4kaucbzr9XA(en2bm;QVXnJ`8eTbmgJPm&wlY=a`UV@>2xTm=;YP0`&+vV zTz_)7cW@=rj*!l8);C&b&N@;q?0?F%<-<|-JMNWL7%6k5sNY{jERo3f6}~IBj!Hfq zOQupf-PmvOl8R^EaHK%Q0+L>Vmbk+Pj9JXEF!jscHMnuZ_RAVSKL(5Xi>bx`{G`o$ z9%@O~^ZN6?UGeX){eNR~evIFJ<0LLvb^v+YvU~SFL^>R)7f2?1irl9u_`I?+=Mg@c zZz-a9J@9yaHJszVhW2mmJhe0j)Q8%LGScSuM?A{zKuWiI-)=Vpi;*CoIIw8;u=IrurghN5=0-t=oc_tueamQqGUcv_4ff4%2z zW$k}3X>jwCanewDTN9e+sbK`VJxg4BP2zaR^pel+@xdUtva1^yYi8cAy67Fz(>HX$K3`<2u_!jmlcA^f%x&TRf-J{lmehFfrjG45V!3h zNE^px6$rJ~@$2O%4hsN!GI9E^>qcbEQI@<01t(Ea0pTU>_hf(tBgbFl))yl!x5U$Z zKZYde!UtMiqE;prKh-$kQ{v9^1*R${b{*08T#F%HR@qcwNZ5G?fqBi3imol7;1j`O zLfPg*W~5`d$-H7K1HYfIEmi?tA?t<&UxC&$e@yk97#L!!7IrI&D81Yx0_c9jr52AP2=#txES>3* zw1qWXkIs>Y2_|D%)qE}6pGKk+qP_;KEXHWf!jF74OAJ~ni@LskF3Fqy6Z^MJ%e}vL z2_^0^ywy%%4mSuHG7-doqLr2`?Ks;H4*N4&PEA>WMZ@S4>&I*qsIJ&-WM0;AYk`F48=Sbqt16(+ z$LQd=nrb%@$QR+So>nnA;(`9;cxq<5@qhjX&~0fUIryF^&u}fSa{Ff~K=SZsm!uxu zoSM>>0@#6cbTQ}`abpn7YOx;gn{z_*+sM!tLX|S^jd(%cJ|FaLJcV>iv{9jyjWeGU zZLN%*9c~Owd)vi32ixGb+)n*rK91z_3Q1T4i|Wv-Ar}<~{oc0V$|`=<(#FTI>^$mo z%;ZNleD9A(%c05EEokG8IeL@?76dV9*EW#NkhDOv0gV>BQ8Gw5(DUP_`N_l{;7~Nt zc)w@p9RDR>D5K&cP=zVD>9KRX?B4@Q#E5_N12veUU4b+wu^@N5>?B@vm!tO$2qY889|x0Re~ErMaD zDoJfIU`L&l=-DMrTO!A@R<4DG4neAT80=9UqA-LnxuSfJ8N5pd$t!ajBGB%&<2J_6 z!13QHlzi2jVD+hL3mIXBU?8@6K8Gh9d?jEsK@+2i>zI$)3l*-eibp?qWyo?j0qQH% zj=@U}N2s%Gq}pvijFYopEC?YY&>6;a%_td?0SGl`1XfJ++auWubyCTKnxdM#5Dy;b zei4q8;K#AT=p`Jfevmi%Z}CsW*uTeAGM}w?s~D%X+WATb1}v2)JN_22>eMM2VUA z8<_gItCilJ;=ncfQos>IZ8Nw`*>;(drU`tZ z7t8JmL@3)~cx=CZ``<4+SSgLUonr9K8!RT$k)EKvX%EI2WSF*E%9ty1F9M;IzkcB0 zgStEU{G99-zwr=x_~#CU(BID093#qbm51&QKR?#@+*!Rq2K zVEN}GES5?CBw522%8PluJKI%t(V&SBOhuVZ?=1}?G|LYZJ+VIA1?FVWG-6-a4qQYA zdfWCQQ)w2;_}Hp!RBg#`IgTmcY-#jotuvh33KWTQ!D3o8XyKMtxq(K9ChHvp71z0^ z=Ve&O{pPxb?E+K-jT!#|YIV(Oe==3B?q49R(f=mnMU#t-10m?(S8^Cpla0f}AXFUq z4F}m?C_bwtxa~#kjk}hB2!>>~R}g$q8gfYH|^394#ak~E=Hpi!x-7|+~65o8Ny=zN&bwfh1jtfz>$ImOC zS`Px&ttaQq1xpxm6*DugLlCVQTwgtD>|wFQI#u0g9mQVT4Wqm50rKNhPOb0>MgF)1 zfg-X5#*wbriLCl)7%@PnVzr6^Z7rI)7r8fCE+DsD`VQy^v&XV6h8o&jB`aqi6kA6! zV)WYjjQydm>0D_D^~@Sye_=Q0C#*R#jKtV01Fygl;;HZI`AmvIl915wNUzB!!t}cV zb&{>vFeYC8c+*bBm6C3B5UIioUFq`2j-VbB@UE;I`WvGziKmND_Hdmf*TSJ zK|h>11g5?nTv+cDJ#yi0^&`QSM{Q&KjKp2Dx8g$Ky`|0vMt^=5=8{`0I8Q8P6`Q$! z2;S7_KAeleLH**z&ufx_Hb$G(1fa+sb-qC&yS7bi4fvQ&X}lL1ssrGRqlO*{YnTYt zG?IC|F^~Q56k3FFP@Fk8J0E+g5987%483&MkmQyXnSXxb`}q=>ItV#VUt5ZwapmXh zd~ib&y;ta2IOrNutWGcO>6MbdYYfnQYkQCRn<@J@?IMv71s>~^Ivpp6c;gog@y9#h zrLg5lN{1s!G22;eQu7H2&g+rJf0V|Iqc&GgKk+H5@3e#N%vNAwBJPGw{niFAY0DU- zg>t}p&kc^?U#shI6Lv#TsRXVv<8c0nM76WXpKurBvQ0E>*}byCAXLthHmCp3xI={e zFsEXH!CycW80zCEW>@6W~Nvy-0$Fr8GMH|cb!dp z-*|tHScWCMOu^3|j5`bYKvg6|8HN=Py*RCNS8UC)x@K(;$chy$qfNzINKa2u{-&ZY zpcMV@Uf9k^3S;dc)%4DsI%%lZ3QgVyMJ7S7cE^(F(0Gmmdat&9@&+ONNb0sv&cl)3 z>n|f9`D-?*)sYX>d7xIvAed_NJfRHRtOOvH;NhvC^9j^StX3oLLXxO_Pma$}>Lc!JZF}h}#nC zOz>9u&VZ8cdm-{M5-x=dLQ&akZ`5rpSUFPH59F_BXBwGP$=3A?J6@$b(mzesLxY;% z((O6yID@+@>{b?vXSGo17AP8GH6JAi=boQv#OvFxl#4km$fYlLUm>80^CAiLP*&AC z-82Y?&axJTv~)=MRg)v1n-yx6Ol-co1}e1enhi%$o_O{-f(Kuv-(~OS^vtZd;1&2t zrdS1w4Xrt_)MPsLn}rL^cDcQ@X7(!^*hSHLBb*-*!N*c_iG?T~{qUgmedzlT!g-Uy zv1*D(D-r!CvI2k(yeIM}!e8mq@RzfCLa^jmdMJ8u5j8_>5|LY=Li$1dh{!5kg09hYY&!v*De;`f<@MVywy~t&Z9n zDoi!KyyLE0F(`?LW1W7uv{qHr98nL>H}s$dt9jkJr275V#h_L>E3GH*`G(@n_~(N`EF58i?}Kl{CkA{2%1v{EOAnRewU0V7?XnE3TZaDtQPkl- zFO2gvx>a81d%6}~pM-gjkhE0#hfxcj%d2U z96QeULii6jQpGB~W7%LVO-|SM)s`e~F|Lv?^&2hbq_P@Mz`lU#cB(PaxO|gcXgn2v zqjfzydOvmp%7?Osx05(hS)W(GN5eu5SPBuIRPX;pbt~xJBhyMI&TW$dDB$i(3>w{F z=(v$vu%@No$Istyr5;eN)1oqemz=!RoXe0j_@&9?zWp`->D=>|MN=r|S;n%H>V|}% z=0=Mhi;J!wwZLXx`RQjT#vidN(T=(7BbjWwJ8RhRdFpfq_%|hD8AM}IEUu3RD~Z(H zLVs-AUR2~#%)cKBGx;M?>~Z7~aeMB=*@P$ke7i+_^T%fx@x-O8eEB9D+sMS0o+D+4 z_E#-^C;Ov(dZRfgh;jPT+Z($yv_&tzeDt($Ntr z+3NnbOTk(>8tuNFW868(QzUt+cJeULa}%=J;#~h&s93W$S8<7M#{X9v|wjB^=+gSql?!pOn3NZac04q5jmP z%X?&;yztd~psrDvUNnI%J_Ub6!)CF-dhvtnk~U4j0O@~ZMTce|SOKW!R9!!^NRE3e z?{WbU8yo4~(!K#HFFl{~Y;~1sN?%y|mlNiY4u|hyuc!PRqT7m$<_MTB!YY-1=>?B*a*L5hC!B+?~Sjt0i(;$Zw6kxc?r zsNjm~;WyNUZ^Y;o-go%NZKexdANejMF2_UUM4i`9t(V;&WY*ymeBNS((7kIAw2 zLcD~yO|o+QsfP2(wgpe*!G#6CT+~r|C43g;mw?isIB*sQE*#7Y;cku47=oL#t%4!k z|FS-e;@&A%&M9;w2T6Hs@8gk4aR-;eJxJ7?Hl-;M>3#J$2fE1LL0`T!%mY8acGC;S zkoOij=urH!hzv@^_;z($$^MeZ1a9;-uo+36i@o#F)(+-5NmCLSk_+PdhnDt<*!tn> z7mjGj)0VY!PB7O$r8Fw1cP-%0WsJ8q@+k-k|M%qgt^jhukJv*o>2c2v9?v2k zl2K55otcg}DQ!S!l?rko8TgQ)eV_O9!~FpNitFGIHqeW@bRFm+k%|jgkM(yRX$FoI zxCTgJQTWqErdrjYL#0O6*Tm0k|8`bH_7(wI3hQ=03I06SoUmp{w?7c;e_Hn|x4j8_CbB#MJE+ISy|#pIND@{Kt(ufpcqn+hCj^Xi`yQ|M34R{Z3YOdOddBBu9vNe zc=+qvBRFON&M!6~*&1iMbUgBQkrIIHccTNQ$7lVdJYFqdoX<4*zh%yp-`mKDM$(Eg zvyF|$>@qKkF&+w0ObqcKzdAl7ZSA8$D}M6>EXi@I= z>J0eA!0NHwckbWPEc78L1g(RC<@xWmsXy4(3*&jNj4@uc6P0^eM0ma^XmsS0eW6Sq zTRCvpMudkWLOhoBWc_Si9CuH0;fUHhMbAq2&kz}|_-X-{xv*%x9A+b7M?*fx6)XYD zzx=CA`gZ+elE3UY$2U!iLRWq<@rtQ~S`0A$qcAR=rhY#qjf*xkQ#xd(68t<)3;J); zC|@3(^HTISFh4*7;>m&&1Pf}!}2XK*YS1G*O*)X^mBtxRroC1cly-(xdWdT8^ zqEYA0ky?3ba?*KMQgtgK!Q7}(lKPAvYndmK$TEEn?M1Zvg(6!lgUJC(izhs|zyuRr z7y@g+DeR zv~Vj$7I~CNCU(2cgV^1)T;7TUGQ{mSvWRM~m`*Z8EsFsL^pjy9VGh{eL!;d;`O;?8 zc|Op@Ii~HNwwTK^U^(b{givNx`S;0z=aF9dO!w|v4Y~>nSuf{j;IxZ$+6tg^e1kTL zi5T>iC|kR4!&u_1T2|}A(~SX#%)hG6|LJ4D*tVcOPSX&82Rry1_zsx3kp3wqbK)qg zp(}&sUCiN)({Aljle{tbmoj1LAYS^j?T)PO;bo{wEAK^T?n^88Fx>EqQSd(q^v_(6JPP02sh-M5{sueUK6U zs{x2{`(fW}5Rk9{5Gb+n=~?6UO16j+-@qziSQi0;oC`6iqdLeQXF#p(O@k2$5n`Tj zWHp^QDedp&xsq4z>8t+ltpLQi)_Fay*~o&QVOW8aKq-FWItV0Fc&By@EvK2JVgeBL zX{iAqcHDvcE=d2>C4k^sx#=Z<_}~A9`+T$skzw>%S*?uc3i)c#@EI}nuY4KQQQ_lEY><) z$u#&}WL-|D3+srR_4;S-?|@qkKnz=ewFrN;+Ye!Wd3dD@{;5?N0R_-RcutPL{jaMC zC@=rP>kMd=S#5h4RCfSkv?Cz`+J~JN-&+Pk4vkv73m;r4$oUU1;lo&f-vU@teILdv z@#3zp(sby--&H6b>EQ)Ox_pIw!~`ISdpi8*gB{O5{g&2F{d}iy7UbzJPzKp{$_|D# zSXnOs{rzVF5X276RL!BYKp?EW<1kOvR7_fW(R-r0F@xN-5=nZtYSwf8`@j*qp3!@) znAk_RcqdS0(q{k=-hQR8 zGFrM0Aau<}Vt@^}83Q07y{n#^AllwRKhfv87mnF1u( zpghuF?kLiugOYtN0HUAD;sHboCPtgOg_Tbv6C^(J#J!|sPF?A`JjhF{lI#8qq;@t1 z^eP!C$33m?3aj#fG6EBkuF!iv3+_8VPs7qhbHZ+2eoS@jz=@Kt00=uG)1A;EqF%8y zVN*qOV7aRumAS;L^MP*-AT%#B0HIZhPW{h6KAi2+{aN@6`5<-IXsf@gG4uP~c}-uf_?rQUP>O8qzjj+>(yQ6p;Q5%sIL|;>aH`&CrK1?8!QRL~ zU{GZ;`~iL0g7pCwb#Q+UK>Wi;Rzpwn3$tu{7(x_avgb?yoicu=SOEW}z$0N1K&Zf8 zxWJ5l|G~?@vAn_qaRECo+7DzQB>RA5 zw;vr;rr#mZ^6Gqu^cYmJX$eT(vgsMvH)kM-f6P3zdtqds?4TgbicaN+-^Yv2Qa%*= z&vgqYY2^|1S3n*7F3+JxeIa2xeymT$;HX<%fkJ=+BA{N9Yc4md9}KW`@$A*kN9McX ziG69t9)MKr)7q3Z)eGA;L1#$h(%TyEbtyN6Aw-MA*92Z`#5;qt`NDmNVrSz6)-$vV zHNN&8l@ajN!Nb3A%B#SPhN$#P0E90u^<@CU)1y^YyN#8r(*QyoaNehkWAl;KV#^s% zYXRQAT?xSJde{0C)gSZN0tnsL*8zw~ik}HUjAN@QFpvJg7S2CmD<_;HrM{`y<78us zO*AC|w#E;Y4N^nAn5`ob3Sj?o#LPy61j<)dwWFNBhj@-L{omid@fJMU#)%;u;v)<) z;a_eJ{}DjM28%(JSxWp+eDubQ0Aet?PsK405JYiI>;3Qf^#Lp}b_1_i01>bBx+xjX zd#>3G#PEyZMO-YuD5|9#=XaEdZBfl1SO3X$WIDcfp?8#1U*NAqNDVx2cBH)rSu5DF zLoZ*8kJx&A7skBEqNv*CVpjq|t#V-~iBV@&s=E%tc0}QU-%`LCS=J}7ggbGW^6d`| z6fA&X`HK!ff4#F49npFRhR)A-nFc5podc1{BA-%<-{^g1>)!FE)^1Hxbg5mIB1{Fc z!;D&+cbssLQH7`7KC5pUz@{%Dz;Yb0i8J6G7tL2x`DzwYKT^;WRO0!Qdh4ql?E=5&T{U)heSdmNWJqv}=}{L;z)q4QGU8fMB+% z(NGmcz#DK&E9el)i5>iv__$a^dD`LEO1I{Wbohx}c-*I2-Q+mX{emGLSlCklLOV6= zDYN`^s-jX}cmjQutAw%d2|yvv<_(^4*!!sq*IM z0T2Tlc$u`3bc-^urE{G4N6K&tAhIB4RI63m*G$-`NYfaR9;#p{@~%m60F~}H0MIvO z`OW}>8f3i%-~c$GXCEM%H~#!fdLYvbLM3sMYSvj8eC|QOp?w*Dqw7~~(j*LhRsdq< zD_3OIrnjxG*lDu7cDqUQ^#EeW{#n-}t_^NOdAxM3Wg_I#wK2W6Yi)e5rZ8-S)pSU` zDO>V6z@azBY3DLbRM6R#6wR)G&-G)plmUp07Azk)DPzRSV^size)pAA7(4z}zrQbs z%(b(F4LtrzpZ-&)Fz(AiOWXrG`A$!<0)S`>D!lYmlXsnV-_L6`G=MPUqQjc0_-CHNIB`~&n4@0G+ZryJ%48>ea^P$Mly2rE zIaUV?+7{rw-4wq87ki!%^V{KTK_eTei=crf@XyFri#UKopz zsMjrNxuWeK7)5pJVJDZ|pJ`$&SJ|xi{uEgYK{{6byg7h?j{4(VD+I3rgjnx80SKq< zS`SyEF#3uk4Eh+Sh6XoA!6$~5*@FfsvLC#AUC|tNi~=A!VY8o9x|SpSszQ$Dp97@( zxkT^U&j3VJzXlLm2fTC9GT%EwGVb*#M)NJ2!tm~nb?(K0ZQnPqJ03ttT0Nj2d`hz# z+?CPRLdXI_-z5ym_0U!B6{_5Zt(( zR>QY;XcXO^$bJETgNwW%PE-H;hZjrgE>Nr-IxhZKYI{NzOuw+=!Jv`l$pOS2e=#2y z{!swL92sg;4}%+Nmd8{S+xWy&CI=Vf!X<2NIs@}uel1ZTjLy;13`EueKWCQBq3r-f zUcUrUdu(iuyy6Ump4%V4YXM!D{}X#3eud)kGT6$vf!o$Vp*_lWTj=dmF*s4^8r%vO z%6Dg|^5|ITqqj-bjk%6orOq9)uD2bRtkpkDsyu=Xye)#R_MFVo4orJ$oa5z+V>Q~f zrit{ZWxFtJ&B=OOdx@+7+YEpPP@tN{iSb{R)yfRM5k$0YonP7=8FM;d*jty0IM750 z-9K>s9K(lAK`Zc`*ge;$t22R=>%qm02^+`sBCWN+>4(+;taZbMZ%u(@^}JL8?ZXcw zUuX@4r+`{BnFeN&)=_!u4uI(AJ3t>b8j~|8AaA1l<$y7L7G|$tu0*7}7DRXeG4zb8 z%B^r^7eIStPaZLL_F2kgD5VqVCevb|TX3y+w4k!T#y(4PjCWz| zLfz=-t|L3?Uj-1mdWRy2GSmS?t?ossz#xRl%K*U&h&2}ggqfGc^7BW7BE7==6hK^A zF}^ayjC*(WX(zi{{dN8K?PbnO0E9L+9p2Ttx3mj2+O?()*QFiGy$s)M`x*p9bzcV% z3d}NasL+nP5-|+G;NsukzWx=DqBIuSPE~+ON)}E<1pHM%IkXu72%(3~+N2hHkk*Q! zG{B#9DFC7+9dMK=AVRKamS_xF2fW%G!NeXwK$Cojl3BpGv!~tnA%H-!%K8)qAT%!p zTy>_YmNw&(J%F$_Lgn*I?{ptmHmD;^wp>|R&p=2Jr$b=;z5s&s3z44@^M?Wudj-s} z`R+}vB%*}|-(m$(24YpSre;3&NQNF%gV`I5CKH5Ig93e~f$Gx;R@aej?+=0SGu7f~GOXyE^bg0~G+# zsgmPEosFYyMgT%AK?ZbEk#TK0Vh-EUn*(|CCDukKPPR02bMp4YN!qT700P%DjEsop zs+r=4GVEuh%r$%Wp2xJ9W+3zehi(TC0Eh_K4qX#ZN@sWs)leSRhaQNfi*$^Q4Qz9c zuY)7v)!D~~Veah#L|0AFRnRfKkj?t?h}0fa{`Y^y9IB;oIapou?WMP30p^S@Rmz1b z4qA)dE{C#AmUg#GHx-;SPObg1+nuk=i}TV7(EARG4}W+cwPDUMEOIYaGvXk11vF%2 zROE3YUthLX|Cw&300PfA7DapZV79y;E2voKoOQ4cLf^sn%I@Zcdr#0#)(XM&3oNMA zsr(ipjV<@c1?QaDj|7)-)UO#lP8kT#S)BkF(@5f&yT$g`A`dL*J%|z^c;M*^d=bGR z7&!G8`ih#1jgKKnG;LwBUj=#UDVl6*nn@bi;BaB4_h&V2?FOcJNgc9NWm>nS!|<=u zIrf*zMWje_kKC4;xwm2)bbt&V6W(-HbR0DE!&B zuS(Vd_n~zFL4BSU#EA$Adp!EFYOeTI2r+)jRO@&?ja3B@+8Zyt^aB9G*S=%$D*y!f za1U6Cl9lfO9j6m2>1>E3f|)LT5&+>9%6$+zj$O{a% z9f=su&moNU6M}b#F5)*P7{Ycp%Stj302<)T2XyMV`jT2i+S?DD`|vx@$7ldymO)7M z@VcnSO#q?wUOT~le~9Xm0R#HE`u!S!nE6I+5paxy^8lIjHZyW%PJt;QxYYEEk4Y>u zv&IU5sQ9hYB1)hw0(0CET>Om-b?JI|IjdCd9nzvE?o~1nl@4SKsytt(WbZpHO+)1H zyL|;sW#IW_s-io42Oun6RvX89-Tg>G4@@eHAMeYP7}Y^4gPE12?zg$tq2MwOO z(~*e0zqSQ&c)E7s`njFlP!$CGkz|d@Kn@8Pv?nj4>HCylE0Is z)<0-T*NM|?tlUsHT(kv;OAP?QG^zO2z0NNHF~m8*g*fWiwtR31!%sI%$93~ux2=Ac zk%Bmcosok=uta|Wh<$9BOFR!CPMpZvq3Cag&XNXh8BukV+lrC`7C;b3-V#8-5(qh& z5w9VQy6;yK>?dO zf(tY^enkS!YNyR=p=!it?Vnx`AhyH2P!lS4;Vp2#3nPgog*6a!mO|=!2tY8h9$72O zLda>SaP1l^jTsB09=$Dqh&48!B0F>J1;0?(g`tKTnPXJ`gp9EdPR1KI0ECPbr0(q~ zf$6D^MJoof<|Vasg75FQxu)n|{bzdSvsfy&bRxZjspzIS?7VCQAgWRyqYghZuF`f| zE}q+$xmnG%`pBtH14#gChFux3CgL`Lkc>h!$(R8PMX(tgD_4lgZ~y^fRP0gUz6)45 ziTb9}8+bt$UuE8#CEf*T35=8@E^i5ZTzL+6Qz>OP#DaiLAXkk4`Ag%T}D@GcBb(#t;Y2 z98ReG19xRuyU)_|Foj`9=yQ@<20mlKUhQxqPi@;@!8nGe739nZ%sya*rdPnZx4zJQ z7ZSJ0;YZsw#qC3s?^jXil)(ecKLHS+4?wFN&41c_O@Gfb5LW=iTW27UcfrcorvXIE zH?Tg@#aehmC9lCjC4DOZq0_tyGle>{UO_sKTD-td6w#-jPu`WXkqu5%MgYPzX5YAo zWv-Ba890r`&PS3p(`op7e|J!Qe6xBbC-e8T)FC}=YHs#?g5BBK&kV;QgU|8 z=Xz6VN0%9TVV=_25N#?$G7$2uamvhmy53mvUGGmsRKefz$#I<27|(G&V%OJEzm_mL zZQgZ(BTSMxI`&p4WK!_bENo)X5})?~4xhK7GC5E989iVnU_+G~c`NoCTL3Uq5NhP( zXCERw&TPb6;Z7z*m~Y3|j%Adzkp=wYpBK8CWD#m-EIkh(EFh&F83bgb(=*K)h$o$V z1R(PI&m3a~Ks*5yD#B087yuEMdcv4jG~(*oZZkE7wDr{tE^^>kd6yw=sqb8ev`JsT zA41pic2gCWcH+U?%Va0ZJk#I<+_ML2MRZvJA-sa%OVb#b_BVG$j9O^nB>&yY%VkIl-_xGebcfd`z;JFq)1hI~I@47-KSI+JyL)wQ zw@Qtl)}8ky8|R$K@s3O?E#&}WyHco9{ZW|=K#(tB5W!b|`-%ZTwDZ5{gP4Jh82?dI z7_yTAPJ`5dE*Prjyr1cUI21VAXz0@(%t5a7@7&JUp|QG0#Q1+URO;^V5Y1`uhv zR>(~HjCi@tK-BbAcYNsCm{!^Y?MgeD1y-Nud?fma2CX=QYnAwL0w5$NPW}miL2#Oy z9(=+@TmLqtdNTmA)7IJPWN+*hA$s%8G7u3q0g?j%VGufwDlFv`=y#l}e{bu$Qt>(O zD@IxG!CZ2kfspc=?#R?RLTm^r0f>v8+4n<~$Va7nGI?6Zh7-(qub-dOev!TIwV?xa z-S>QF1jqx={!$qT%XxPAZU=^*&yOt3fZ~ZN4N$=N+h~sggo!KaxN4vsrzHU62s`Oj z`ZyNjpI1yj;9!5G+e-w5^r`M$*=D|8(5L}~hxh09z0$Kvra`Fj-e#x2G z(m8I-wwBh1&Cl7vk%^!T1RZEbJ?a!^+c-~%-!Uose&2?N*WQ`dT7D^*FqX@ITmTSy zb$5JITdl9U)Skb)I-hg+_i34Fjp`g*6vypa67Q{WQ-Vapu0YqAe?p2b)=NyPY_7iz|XRCOAl=uz((L$O~Tobca~9;E;R=-vPt zklQ|U9Rmn@?|iCkrNdpO%rap^mR~zL118VjS^4a2>{dM!fEWV8^F;`=;sH~zwHR_s zJ-huhfQX#oQvkv`gnDrM3;+VGeXLoi_ig0{c1pK*A zHs^?oCjlqIbQE9-H4Pgb6qJpDDY(zUIvq2^{4?LQId0n-`U{6f!I9i!;UwvT2M`^`%`6^8mQxC000`cNklQJN>;C z_)}k)+gjAmaqmU9=m8MeMnKo_gi1W(`p=IBAQpj2!Ct*Gx-!q~9o)$t-<{z5_bLM+ z^x?7jJsFYrEuUhD-`S0RJk2%7zUt|McI6x@q3u2`Go3RgiBf@nxU&XD8ISdO54wiU zV5+1>YXIS^I0tpl@jm8GOh3@Ax$|BCf@sje6PzLJ$bi872QP+%MT**yQcw9^3fEYV zz0=b^mqVJ!_UVmGpG;tatOH~qT8enINUh0%7nV}ncks=dX(!Fva7=;oe z)%rGiyN^bl$Tfu5?d&voJurxBI5RccMrV2!)d0n2S z%dA(^>*oY$(~b-n=zzfBm$St2|h~x9d2)oH&;i&$z#}`d`vDwjQY)MlGy_ z>^Z1c=jpVJ+6>9x=fSzDcL#`l<)t-GMAM-2=b47o zyaw#NF5|#R_DM;o%)^Zx{FpVSY8TOz71Z{`R0UBbI<(U2492i#BuuLSh&dz2;Lphn zn!rc=96+pOUIFBO2cQc_mq2#nV*m)CHb^c10uV;i?f?iqjWet7eE`vY-pV#Ees>Na z5`8MPp8<%IdCjbusv~=9s-n={qar^GfFK|IgU?iea}@vtu(QEP489&tUKoz^H`&&Z ztVo$A=fzrtSfR4e~QsvYCS{K*j@* zGXOEb+gP6mNcFehzWoh%W$+Z>#{dwE5tsDC^Xd&U5YnW^!IMZkUH{=3h=Y;GsS`T~ z5Va9}WURk35V>^5D19{w)V!a<>Z#~&mXDNjWE)^qg+BrmOeT~v5E$?sa?e!Vj2(GF z)8w|4GZ6rR+v5aq-~z%%6Q49m*L7na6NiK{5=5%C7$mAO$FMr}tU7K78AGbNPx*8S z@LeM6ZyB3YI-5GiA(9)1!klU0GK4#*yku}}R!cYrH6ete-l_hy#Xz01Bq!S-2Vq z4t!n(99Mx0Cy}JwiI~Nd0z?@1VD0RSD$)ktz`;QhnWWWyu-CzB{yhrdIw%e_M04ze zsg{RVG7wq62jATB=Ipmo^o?*#4kfYwIz5pR&6LhlP1^HTY_0Coclv?6Xu9$38{g3a zfbnBwAb|91tK(}L_pf-fJKdyPg2Iin={gaMV@yJ%XC5H!vMz3MIQ3(FrC_WZeUJM9Gq@00hQ29FYzR zJ1*gFRK~vWHqL+Jk1QAEoI==-HE56&$Y}`MjfbuWZRU@fsvzFEdy#k%0QQ`B+eWu?aTfja6&YXUCT0sui%ZZ7~3ey)99+>xOY$H*@y*LaMRWIgJvX%Bb z0FlYtI#60fMS7Nvif$;z1FtSKS6zif7SxTCL)=cm!MaOC$N%5nwQk3e;@~8k?EAmy z?(cPC$BPgG2_z&as@-v>&&e526$L`q4{?L-n)%4>wDY2_c_4pKR2*kCp!|x?`<7by zmF7)g8lwV;1G3Pn@bpY?*79LD5y`5x0K{rP8UW8;V3Bak*6y=G%1XVZGa!Ebg8f4| zH|Iwm@8l{^d}N?Rh%@0x=GAll9jJ$$!$SqjGS z##eV+a0(*R88Lg<1Jtp)ZC>mG2w9`Wk-a{}B^NIl0uX%rP*&u)Lq887-qV3maN{QF zb6GUm0f?^vt}`3rw9<5f$GsdZ%3vhVc}JAptJHWO4ZN)!f>!*+hb{Zl1)av1w)^^` z{h-?J0TB017lIzVr5ichNt9&c6+pBR(XLU%of=pAxB<-Tmm|_ueWtIq1W>Ju>8ltu zmmu2KNw?PP2pSBM5v3pH$|64)F>?;pWM&zNQvdvz*uwyVxv;o7kJ8b<%}gk6k`xvn z@bc~NHq{f6KL-$WvtgO~to09=rt~+`SMKy0J^hz^!8UGdLhB-ILH>rEfR&Tk>rF8B z*W_%WZfl-BW(;;I(O%siM#*xd-7=*}+Zup?@90W|Y!BsM-&Ul49Y9b`RD-8!dP{NH zTSw!_MR#6*^!A<~K=6JI!K#{CXN;TvFH3gS1@@!pa^og!-Gr;h#V`U~O;-Elv}uuF z0TiD6BJb-l7lLVctvIEy*D@Y{t0RDD!7vIU9t9vMK2oo&tj4Kq$HX(TXyw}=O}Eo- zqOjL5x{R`a|MHU0eju;d{+p*T-pd`fG$*^GC~>F8S+h5tAss{HbiBDT^FY)G4(-b* zfB@8x1;+pc2OLrvar;*OW#P?vv&V1Vo3JXW%)8#cBa_}6)86#FDtZJEKF4Hx!(vHD z3zrqwBaWA+(fO{CkK&2X7!bN#6evfeI#DLZ`@XGxTk`?Led*I><`^HC0AezQ!BsF4 z&{hG23^r)^`TU1^`XtXol3Pgn0=9r|WdpP*41y|EzTp4~u7Pe-8QqSBOvkzo=iUm2 z$zZrytUK!BBnh&(?+SPc%Ihibfp6$|u(9Bo)q3NN3f={27(i` z*HtSWg|%^L&btuqj!9I^nYPchQL7j@P%?nK`{Mg~rU7eg^iz1SG7yylb(Eq#obyKO zH_rz6&gB~KSNXoGRcimx#R|TAnrme#A_qoU_&(B?F$3{v01=@wRz?O!&3X0uJL(qk zV>j5uDD6ryvWA-u>N}hE#{&pZZCpeN$5(&L2U&GLX4t-s+gua!U;skG-Ew?Y*^$Bd z0pDMhWm|yTeCY|`aF?z{fWpUSAh^6~kR@ZU>h)6*dY(%cU<$`pLk0=}MB0E+eq2K; zfY>t6$y}-BdZqLCTD>DkxnrfuZ~bIRK1WJhzo;Lym=UVTJypSi*K6PC{TlYRHd^)G zA&1Jd)nQu)AUs}N0SXZS!JU=%H`2$UXAh=rAa^I@mq}8kcxEfkRqIeB`Nxtx&-_i042S%0MI1S25K3v*`F?VqCM7KtCJe7Kf z1HBbMlup_+&-+5oK5r6i`H0tEsl1nUxI+&600O>@>(DBIh#belrTEbR;?#)eZUAvj z^W$Gn0R&+=Hb{uqj3t-x?qUOY1IK$_1Ce)Rz%kZ2h~I}?YDf~9Rylye+d}KmXsK6G z0HIZSe?Xphg)%KY9iJ6Iys_DWm;a@yt9(Oj@wZBP=q3Qsk6O5p$RK-INj2b6(%U7wP@G}?4_!x283+PS03aHU ziTjdW0KtRy2_3)Uo*xe&tf{s8GZ3(l9I{Pt;v{6A8YQF59{?amu|<_3WHgIf0axx4 zX22_VX8=NGI<+$v&J7H%1Bk}gxN%3=cZVFP-SxUZ20&Qb;XgV9k%2G|1QCHMWj;NC z=;srk6+je+0+&s}^aW%fzJG^#3=TXEAuDs)a{U>7hyFp^d6BJ)#V&pcX})qi(T5~< z_eV??FGK)De;Q;TuutfC)HEVl4=eL`DkCTtT%VanwEEBG4Wfl<3p{bMU0H8_d*v>S znA7pa77>PDi!5Q`w+tZ4FT)4EZL6g4@HO3km;bExD~becdX?^3`FODXd;kKRR-2c^ z{)su$j&a0+Xa)kjBGf0hcQ!s+31m$s8mISN~riQb(itPDK_KIVTu*@MUi^|v10I?zGfFaMRqz_ z*KaJ}0yUO8m-S-qY9LMLCZB%!V*x~FB2xy#xoEpEPV(Ld5V)-~Pi1_E1(ih~GXT+<<6&m)o)8&OS%x49NL{>|iexuM zB8LC(oGoUD#|(tEZHqY2)1Jp^aF#@_--56s|7_l1*%|Gt(%8u~$W30&+k7N|2-`>n z3e3iZ?du#o2^6#zqVz+&2jKAI2b@relF+b1L=Un?(x@~2txi>x=hRLQAn;s>l-{mH zNE>W)w4g_sljdLOGNyLYChGYbAc^#Or;KO!eVyL+&VFzdqbcq`V)dcCYi2eH5?W~f z3jIu;x)ArE%wx$mfEX2pcNpHrSITn+L=DSh+MNKR_Ow{pVj{^SJ+@$KT8j@LywQ&a zCS1ZN1>$n$2~=L;yibv-3X42mv*nyE5G|i`O$cdV0SLPxVO=6~Ie2N(^G6N#ARZr?{m}pO<>6JOGH-e5NrGga5T{ zp^pu%6TCl<0uWw6KMf%Ebo@*_6&{o+Lpz}o2RwOwOI|pcCi%-06@GgYfRO3rF$3W> zY%x_T5jl%>5ro{gHaby|H5!LP!bJJf zYR~&nNYumt1k%#_%IPOMLId+YQjA0ZCuo3)BijG z0)05_!~g&RYa--&3@($gKehX%-$GM)KuMnxB+!?nhdk&4{~Afgh}^@en59gs@A z-tHlpg+eQodVL_;+y4A(07B~4E>#}YD&r_=j_O{L4ce2!`@Sb6nW@AvK9 zZgJJFzor|s07O70qKx-Tx(WcD-v(^9-;0NJjg@iRYrn+O);Equ`oZ(AR4K0={zY2BBDy z8_)p+H@U2>8}evkr1MN7M^D8KG9qtJ0$z%?$)FED>)8{JmfPO*(X%iDE&4S_%WXG0 z`rWa2uixu({{7_}94?i%bi(#dx~)^TBcVl=b5VSe*MlHbLQwCyJ#8fb@eYSe!RWQH z+ybP}1Ry-Q@b}LHAe#TPeAWOX#e)%KasWZwHeb{9MfS606GVhphXI6Of294P%&K9{ zMwl)&B74%4ayGq*VFm?>1{y<;5q^w3h}GTq_~QXY4@g}J)&f=r0t)mYUc{RXEsbX& z;`CQ%uS6^E$RgVb;{bwlf`<(YmTxfYu223t0D%!77E=C5AOfZ`#^sa@Krj~|rXR{z zeWn4}x#l%+7X|hzECQ;^rXpL!u z2_PbY3!C!rs?NN4{d4A903sx^3Lq>RL$$btDvd>=75VcKa94{qjv5;xhmlf*Mc%m5 zb}sx=y!SdjZ)bP>(^~E8_trXi^!D#<`uku@()w6iu=@8WPgP815Hpgg*zd?L#N^PI z;@Kbmu6v#g{NDf|)CHCJUG_K31!z+hP>w&J+lI(ph@voGjteTabz8QBWPJOGqc0##*g-VHX$4oSLBB7QkwLw?%zlXr`&Zm!AkAtSql(BT&s>2Oxyc zaf0nB=kgE$QM4nH-G~5)69)H405Qu%?Z%lHfCx>NIYDer;Z<400EF#8mVMvB5B>oV zEUS=L9+btD2|z$Lq7TXyK;#$YJti+&Na~)iii^txG#4@uc_AKGot zG#iSZ$uqOR`_@9N4UIYL0T>cadrNB_a(0QI|55(N`%Uo3YQ%u!z;hM@4*&>iFqZD% ziW&)GQN`xW^C%JS{w4sSjU{rsH)SBeHAo&@&p<>{<(_=z0hlpF+zp{Cvewq$l7YA? zix_~|%bs{TaP_^bL%Zm(5O!*i5b386s9T_I^)Ube*L%aLFZDTJ`TYY!v^EG9=hRTO z>02Hr@?yyi{*C$sAR+~$^iSN{2t-s@gbnqydf<2kBoNP{_7W*40naGqdjSM*&++N3 zCF-&u=30zi%x4V!Tx55dfm6Cz64f_aT_xtd(2`5Gy>j z%K8pdjEhP&@j!MGKxmFEmVsCsDMWzK3EuNMJ}rRQ2!4ZY9;jm`FD=;m<@v&K4j@VZ zhFt{th-=)|i3=*_j{pQb-Q8^wvum_hSd<6T8F;`{Kd_VsMxEAgt-eTh!7GE{z?z=H zR__B4`&_cF=cXF-!g!EX0uVnFfPh^WaO0-dmzy&Xq%8LV2r$5FM}k%z$ov}<&UoiV z|I4a#$hou-Q&4y|F?kg1R9z~Pw=xYYIhf!fJp1}vzZ{)sPv;0A=oCuJFoj5%fcn7{ z*GQ3BE#E};Za4ayBPni!ImxC`9_=xQe4X(<7>WT1Xm{`Mx9b$!HJqNp=yze9vT@!6 zH)}FsSX&)0gK+PP@?~3jK_zA*dVTLR4SP_%v`UqgMl5}TECl=;N3)Ly5GQmpvIFfI z0R$aI4m_X(qcT58*%SJNn^ob|$=7_h2?`d@gwTFlYapni(HUt?tOJN1*;(nN(*R;H zLQJoFGo` z;2x7->9VZ6^CAyq2|(z5nF5Ia{->R4&S}@q`S;XKM=!dCd+8$%V9sP9Y(ZB5QDFKm zfUq+ei(Za1l87tdkO$Dux7$L$(p;OW(86601ZVnaW;lek@K$*3dazxY&(-}zpXpfh zCNW^R)~7WJ&X=C{i4C(sY_kRN*9HUpE*3vv_)~W|92v}t*AH0;xMb^J>3j&-l_3Iq zs)kyK@3!bjqGkGQN&?q7K*GCaGT&)YUTW|)ujYrJniDaDZcKMe&A07*kp2HtfDVEi zKgPh+M&31(rY_!I5lA$nk$M-X4rOTph*7)uMktYvop(FEA@m9@-=72!)u(|&D`s?w z2NE&VYzZ!=a>fr)Ex0HE-(gZ<)bc!ji#f=60D#E+>Q~3t zP~)-Z;qOh|s;VS!{k3At6;t3eM1qQM54OW!sUH9Yo=}MgOjUn_SYlYTy)3*6Ah0q7 z4}eVaxHVUYHiv!)MzZN7WaZZ^GX~s!N+W!tTCC|xua%WHyt?jwABr(~-NQRx)%~81 hu&#$jHR@LFtJGAwY`_RGLFopJzy{d zjKBzdk~TW`eC{1d6jVaRNs$uA_iR5u8`GpDs2%t52A~QA`x(sZe269~7YOjmHulN# z;iBswK;hKTh{`@RR924I>T z3Qo5dm{s%aW3Y{YlD3o}M)i0upyPSz{Ab7VnfuydKyJXffKt)Tf&n9!bq@anc!I;r zGdu}MdT@_bnRyvm+@Z2len+5*NGtGt@MVUQBVe0DBANr@h_%Q6JWp1w5XlhY4gfQ0 zU=uKM*wtkuJ6pdGO#ocycV5uxv&&q;3P|nQ2ara`41WW6HO0J?#?|uRr^eFQ>1@S- z=848}g7jc1)JT`F*OYe2m+H{Zy4wNQ7d8P!)&D&)$ULVfIg}OE^Ju-zGTe7Ir6*Lw zy#d$+q7Cb=zKvxA*-6;gypY>IGBs|&*0-()cH_pnYuGENLtTyI#_sa*msRlt*3^iO Ttof*D00000NkvXXu0mjfj>_9$ literal 0 HcmV?d00001 diff --git a/src/assets/img/dev/default.png b/src/assets/img/dev/default.png new file mode 100644 index 0000000000000000000000000000000000000000..26edf313f9f744fc879f908e5710b2c56094c7a9 GIT binary patch literal 25123 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 R3M2pk002ovPDHLkV1k4ZxR?L{ literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline-canvas-bg.png b/src/assets/img/pipeline-canvas-bg.png index c7e9864e01df86acda6118bbd28a5907b62f0336..cbd5a985a4f37606b9f028eed99c644c4e6454de 100644 GIT binary patch literal 189540 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 literal 350395 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%0DT_K*JWVfal3fkF-JIkG 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�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 literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/Running.png b/src/assets/img/pipeline/Running.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7a06f1da02fbf5ef7bc6311b54d59c4228c7bf GIT binary patch literal 469 zcmV;`0V@89P)X00004b3#c}2nYxW zdHNTeGB8%Qt#9T^a1Kw_iJ2u1`F z5-CcV%Z6Cs2?#4?fTgGn)aEXt6m@DHTZ&L`Nh0~~KL5WRn=ll?d{Tm^7XdvBP>F!) z;W0M9HSo^89=TT&it6D_f!_zg{Ra{FolOGOYyyl^>j$t&5@@cOp3V7N$plNM{I4CW!!by%(ON` z?orwAG}-AH(;{y3^sOlPX5&}ld4N)Oam8j}yPX0G`}j&&nnlrIG2F381NR{k(~S|6ajwx9HNJaMk8e00000 LNkvXXu0mjfB>T`I literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/Skipped.png b/src/assets/img/pipeline/Skipped.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbdc7854abbd1712d61257878d3e6f7730a5ce4 GIT binary patch literal 520 zcmV+j0{8uiP)X00004b3#c}2nYxW zd=JGPu{YN}TFjKt(yu0D4N&UdU6JjkB6|Q%2fz%fMcFYDms8z5sXeKur}8 z@Ko~4xXLqNXQ(KtCLnHeRgj&;*b^#h`f~wC3Gb&E1Z2F~i^y|CqN&mY2IFoII43aw{d8j=eb46eb|$jD;BJ1A{&htDM&6LNoJ9C z6G+_@9o#^I`29XOF_)UK6tpMLFK%Ht90_we0+NE3IhRWS?MsTc-n-Swo_Q4!j)4s`l2VL+15(UZ$2rYI4^BNQlOc!UH08lF~5x0akIqyQ(wLlYhf zty?bM<(3At4^JTAgJQADb^J&N@+_-8#|63_blL%@`R*Qc+QAX00004b3#c}2nYxW zdQpSg4LLK z2R{MRPhkBB&~j0b#hV%vswJi;i5Klb5`$<=Bx)~qq3!t2mg3Ta>CEmbhwiCq=6&AZ zJkL9`%TW4E@=kzVg%G_E=mcX2%GS8~hY&x&ut0t005OYUzF?PUn|ejVBeXc;W`89u z2@A#%8hcQz`vVx|Gqj6qN`hW37Q#S?_e=Q#V2qE_&--5W)6*6AaFa(E}$l`;zV9{^r#X~)BJ12pqK^t~8Ia^-Wyke&lxIdT-y?tTPn>n*6;uMJErzTFvs zmkBO*_BsN)>nxzzPbmx}rm&XF{eQr%;09k!VKrYlT;WZkID?1k_aZOy_-6jv)`c>- zr4$CqIaN4iz>|%K5%0T$bT)(G`5DB&ek_Bu;A}G|W7To4D6Hh*t@aZb?<#yxq}NQV z@zXCKHXyfx3(^`>F;@Gol>q%UwMbsNi{pW2OXKINiD2RpK`x>Uj$#c`tWMyRBbEhi z4Sqbo5JJZWWCoE`5~CewHl5aBVj5;HTk&b#ZlRKcMG*=4j3A3n+QkiWZit-AIEYm{ zVtZlRo^>bp7vh$WvGg88^N*2n!8xr%QW`^R!#)_jH*or3E1oRVCHzwFD*4+SXhm!n ztlL$CQ;jY3eqBbE?nk#D$AE4FmFiUiojP1~uw2b|XL_!;~SHiq{me8f6800000 LNkvXXu0mjfA>S;y literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/Terminated.png b/src/assets/img/pipeline/Terminated.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbdc7854abbd1712d61257878d3e6f7730a5ce4 GIT binary patch literal 520 zcmV+j0{8uiP)X00004b3#c}2nYxW zd=JGPu{YN}TFjKt(yu0D4N&UdU6JjkB6|Q%2fz%fMcFYDms8z5sXeKur}8 z@Ko~4xXLqNXQ(KtCLnHeRgj&;*b^#h`f~wC3Gb&E1Z2F~i^y|CqN&mY2IFoII43aw{d8j=eb46eb|$jD;BJ1A{&htDM&6LNoJ9C z6G+_@9o#^I`29XOF_)UK6tpMLFK%Ht90_we0+NE3IhRWS?MsTc-n-Swo_Q4!j)4s`l2VL+15(UZ$2rYI4^BNQlOc!UH08lF~5x0akIqyQ(wLlYhf zty?bM<(3At4^JTAgJQADb^J&N@+_-8#|63_blL%@`R*Qc+QAX00004b3#c}2nYxW zd=i*$)Lx8M zSwR*hF4Lf_bd*RXEr&%xVMP%|kVfBIL0d$G&bO_ymRi&H^7QORE9=Yd-Bw?G;KDu6 zJ?DRZoaa1;OYp~fZO|J6z#4!qqaX%Ckn*QbENx2RA)q#Zbc=!83v71w{%eunjaP=8 zJ(Q4^SOW0T3c-p%O$%)f^Ut_2pxuzuMF=V4BN#7VO6e`V&9OG5&jB*HY6jOFuY^K$ z8RT9D*+RIUBX}l6B%U#$<4ypU6Nf=>Vs)&GXEMRs6h|3gPB#e26)Y0ZKuUXv-Jt&z zt5K4?vH&8v9G~xW#RQuhL5{_G8Vfab-7zQ%3PD1ux4Ymz(HIL^!~`%oFCQ88$1!&A z4yZo}MbSD8*B->!qlZyLMh!?3WteN}1jJ%Ex0Q2)OLyLa;Dndi6`+$7Q9(uxs4Oi< z+72V!r%%Fj<2pB5Q#NdZYX1R@w4K9<)$;!UrJ5{cwY4MY@u0V~nCrm=sWz$Dkw(K4g!wK6Et*AG3l1 z<%xu7Zv2Gq4%AxT%k zxnnDQ1N}b$EmuIKQuLN=p*~{5NXI37INushtT|;y zLV7y-HW!EYW>*=ZEGvhrz7C`J@A8J^T|u#87If{G*}MzDS+SWr%AZR%FB?=Q!=&S7 zcuzEA26PuYKqL}4D@zd=8|4Mb8!*jS4P{9whH4M7LHuA!GS&VXh>{g>nGR3cSLCmP z`e*|_bz1ShHT*9c5hyP}>HKVH&YVTS&3cO6)G3P%>a3<_h!W-8tq%IWP5G?7V1ZPX zj{a&RzV*J12rlHr3vg!ca%451gS*iLufzUV5+Y(h?CgQx|JOHJjvng6CJgK~V!Y>Z zd;leCH8f3TNZIWSei@HANyt%@l!Qrk+XwgUhX0*A;#gi4P000>X1^@s6#OZ}&00004b3#c}2nYxW zdoHxezdG4U4!vDV-MG*}cri2*UeU;q&@d{m&BPTP6j7F(HqhM&G< zHus))&%O7Zci#|@Sb4@yL$o&PxXa@x6DV(RxqoQ9a7L!`$YiP+8Bz2yvgj*K9Vxe^ z;*fC8QgiQGfpIi&&e5$D++i_u_sLo9lv1I;)c7pvT)2240rq6|RXh04wI0gJq_PX= zQ_BrsluA?b-8M2k*DoU3o6~px*G%6j%zm-)19+BM!4ZCSlJ#B6fZrG(*_F{##<>RW zEQi1!lx1Tk9(U&GL?rpC9eSdg85RVNU2+LQ8Q{4;NIJSZG23m+JIfj8cvX6^K%F9o>T`{V#-K_{32uI0;&H*XCar*T7h?ZLhuSj zToc*3rP&J)S^tVerHF4Q`}4+l)R;V&#kg4oS=)W1D*Otn#By~4TzqK0gfjJ{s*ny6 z0wHIToCaXpCLxC)l3UjSNy6YMoc5B~k;EMAPFM$!f<)fM;1$*B#R!)ZU~>Ggt+ffj z9cCI)0m{k2LV6L~by6Z{h|vO+mWvUicn@v&rFPBw1b}!_SxC(?0`~tz^2%Z*={Qy> zRs(OanoW_2mQhI+lGOWVS9KvRr34zKs*x+iUhH+)Gw`EO7ySuVSbqkH@MqLh6aciK z0E*`C@`4Zoc%Z=Yggo`41Mf+BKGn!s=t5iag2G6tTY$mm~lH literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/arrow-down.png b/src/assets/img/pipeline/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..4f810c142165d80ac24f4a78c4a2c44c85154f64 GIT binary patch literal 408 zcmV;J0cZY+P)`ZX;DPWL%0gaYsR9E7*5gkgF6JgZ9ydmPY(gRUXUQ-r34Z^u%o_L~i^A96+XC>3>^Ww*@Ea<@eo%5N&YFk);B!A5 z9|OI$Eq{EX;pju&fC|%1ixmpYO`2y}9O{Z)HyoiMfwqXR0VmsAvjG*4nrSk=S~zSJ z<1A03ybrh+s(dspxBy@yU`CPWQPHPR#lHaN`Jzo|!L<+o0000R8urW08tXpCruEl57%Be>VaGV;JJnf((N~n(^O=KpaxXgb~x-0WQu^7 zMQcM6$4MeSs!$1((5V!>-d!QeegLmtVzDvM9$=b|7tDClgMq3J)&ffCc%hF#OLGWA z6J>iNV9YonzL#-O;zcX4bCBM0%jxl70Faz^uG9m1<->=1LfcCD&#Z`fog`kcdo|VM zkdht&ZQ>)qbprv2_j#V^6T$M=Yrz@YRXL$}7djG3{EL=djYJuZJaqKLq~9ghEA5>O z^uGPF?7CQ&6F6uq4jMnvZn2)ASL(xvbD!2(eAxQ~eBGf%Wsar-00000NkvXXu0mjf D5r3^W literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/code-icon.png b/src/assets/img/pipeline/code-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4cebc10e8db9f136ed0b030f3d8c787c0fd73302 GIT binary patch literal 744 zcmVP)P0018d1^@s660l}|00004b3#c}2nYxW zdp7$Ky!yp*;9j_Z9EnW^q7A!hV={Q$P9d}0SrbN=28fgEn$+l?Be<2+9Yyjg) za0z;i>5a?`or6!zBl+s&BspN6JRVVeXTlL*d0rvJtJ9W!mZg%eTaO#AWy7YCaAvo@ z?1@A?&Zx3jq_)fSb&b5ruaQ^x4n5j(HhFD{#9lXLV8+13VAR{LC;?5O#nbUCq~f4X zYjn-e7*CAORevYt&)vb$mnM#|YJUnPm!MVj+BG-XKFjUoZWdZc70)2^WlmCFVZdhd zT2(930k0-L!siX7e9mc?xnUg+9@<(k$w2=Yrr*#1ClPb*-`aK9#xpKsO)apeNlbk* z>i!V$=|gHB6<=V>o5WNB?6uRJ(2H9Zq&s+Tki78<+7*ZCbU@=yptc@hQf{)C0=#_z zOgsf5;Y?i4o+LxdOu+WtKxI{Cfw@`W*+anZ%Pm5PB#~aT39wj!VgvB)D=_weP7;x* z#S%$}jgQl`+NK7Mugfy9ej_mZ4v5<%6dc3s9Jn;ojH41mHyBEU5(PkX`#g-{RNq~= zeve#-jaSm2EA(p>sF4>!77fHg=M8 aP000{Z1^@s6i6JCt00004b3#c}2nYxW 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 z bPz&%kh3{#dz=uKj00000NkvXXu0mjfFY?$< literal 0 HcmV?d00001 diff --git a/src/assets/img/pipeline/task-bg.png b/src/assets/img/pipeline/task-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9eda6d3d384d05a568d68f19eb0f95a17b5ac3fe GIT binary patch literal 64121 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 literal 0 HcmV?d00001 diff --git a/src/components/BasicInfo/BasicInfoItem.tsx b/src/components/BasicInfo/BasicInfoItem.tsx index 86e63891..811a3e2f 100644 --- a/src/components/BasicInfo/BasicInfoItem.tsx +++ b/src/components/BasicInfo/BasicInfoItem.tsx @@ -20,6 +20,8 @@ type BasicInfoItemProps = { labelEllipsis?: boolean; /** 标签对齐方式 */ labelAlign?: 'start' | 'end' | 'justify'; + /** 自定义样式 */ + style?: React.CSSProperties; }; function BasicInfoItem({ @@ -28,6 +30,7 @@ function BasicInfoItem({ classPrefix, labelEllipsis = true, labelAlign = 'start', + style, }: BasicInfoItemProps) { const { label, value, format, ellipsis } = data; const formatValue = format ? format(value) : value; @@ -66,7 +69,7 @@ function BasicInfoItem({ ); } return ( -

    +
    0) { - for (let i = 0; i < 4 - remainder; i++) { - array.push({ - label: '', - value: false, // 用于区分是否是空数据,不能是空字符串、null、undefined - }); - } + let width = '25%'; + switch (remainder) { + case 1: + width = '100%'; + break; + case 2: + width = '75%'; + break; + case 3: + width = '50%'; + break; + default: + width = '25%'; + break; } - const showDatas = [...datas, ...array]; return (
    - {showDatas.map((item, index) => ( + {datas.map((item, index) => ( ))}
    diff --git a/src/components/CodeConfigItem/index.less b/src/components/CodeConfigItem/index.less index ee3edffb..189d5c19 100644 --- a/src/components/CodeConfigItem/index.less +++ b/src/components/CodeConfigItem/index.less @@ -1,75 +1,69 @@ .code-config-item { position: relative; - width: calc(33.33% - 7px); - height: fit-content; + width: 100%; + min-width: 0; padding: 15px; - background-color: .addAlpha(@primary-color, 0.04) []; - border: 1px solid transparent; - border-radius: 4px; + background: linear-gradient(180deg, #f7f9fd 0%, #fafaff 100%); + border: 1px solid rgba(81, 76, 249, 0.09); + border-radius: 6px; - &__checkbox { - flex: 1; - min-width: 0; + &:hover { + border-color: @primary-color; + .backgroundFullImage(url(@/assets/img/code-select-bg.png)); + } - :global { - .ant-checkbox + span { - flex: 1; - min-width: 0; - } - } + &--active { + border-color: @primary-color; + .backgroundFullImage(url(@/assets/img/code-select-bg.png)); } &__name { - margin-right: 8px; - margin-bottom: 0 !important; + margin-bottom: 10px !important; color: @text-color; - font-size: 14px; + font-size: 15px; } - &__tag { - flex: none; - padding: 2px 11px; - font-size: 12px; - border-radius: 1000px; - - &--public { - color: @primary-color; - background-color: .addAlpha(@primary-color, 0.08) []; - border-color: .addAlpha(@primary-color, 0.5) []; - } - - &--private { - color: @warning-color; - background-color: .addAlpha(@warning-color, 0.08) []; - border-color: .addAlpha(@warning-color, 0.5) []; - } + &:hover &__name, + &--active &__name { + color: @primary-color; } &__url { - height: 40px; - margin-bottom: 10px !important; + height: 38px; + margin-bottom: 14px !important; color: @text-color-secondary; font-size: 13px; word-break: break-all; cursor: pointer; } + &__branch-container { + min-width: 0; + height: 22px; + padding: 0 10px; + background-color: rgba(81, 76, 249, 0.04); + border-radius: 4px; + } + &__branch { margin-bottom: 0 !important; - color: @text-color-tertiary; - font-size: 12px; + margin-left: 6px; + color: @text-color-secondary; + font-size: 13px; } - &:hover { - background-color: .addAlpha(@primary-color, 0.08) []; + &__check-icon { + flex: none; + margin-left: 10px; + color: rgba(136, 149, 168, 0.1); + cursor: pointer; } - &--active { - border-color: @primary-color; - box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.1); + &:hover &__check-icon { + color: rgba(136, 149, 168, 0.3); } - &--active &__name { - color: @primary-color; + &--active &__check-icon { + color: @primary-color !important; } } diff --git a/src/components/CodeConfigItem/index.tsx b/src/components/CodeConfigItem/index.tsx index c60d19d2..0d598092 100644 --- a/src/components/CodeConfigItem/index.tsx +++ b/src/components/CodeConfigItem/index.tsx @@ -1,9 +1,9 @@ import { type CodeConfigData } from '@/pages/CodeConfig/List'; import { getGitUrl } from '@/utils'; -import { Checkbox, Flex, Typography } from 'antd'; -import { type CheckboxChangeEvent } from 'antd/es/checkbox'; +import { Flex, Typography } from 'antd'; import classNames from 'classnames'; import { useState } from 'react'; +import KFIcon from '../KFIcon'; import styles from './index.less'; type CodeConfigItemProps = { @@ -22,8 +22,8 @@ function CodeConfigItem({ item, checked, onChange }: CodeConfigItemProps) { window.open(url, '_blank'); }; - const handleChange = (e: CheckboxChangeEvent) => { - onChange?.(item, e.target.checked); + const handleChange = () => { + onChange?.(item, !checked); }; return ( @@ -33,30 +33,12 @@ function CodeConfigItem({ item, checked, onChange }: CodeConfigItemProps) { [styles['code-config-item--active']]: checked, })} > - - - - {item.code_repo_name} - - - {/*
    - {item.is_public ? '公开' : '私有'} -
    */} -
    + + {item.code_repo_name} + {item.git_url} - - {item.git_branch} - + + + + + {item.git_branch} + + + + +
    ); } diff --git a/src/components/CodeSelect/index.tsx b/src/components/CodeSelect/index.tsx index 2ea28ccb..ca4f10fb 100644 --- a/src/components/CodeSelect/index.tsx +++ b/src/components/CodeSelect/index.tsx @@ -4,10 +4,8 @@ * @Description: 流水线选择代码配置表单 */ -import CodeSelectorModal, { CodeConfigData } from '@/components/CodeSelectorModal'; -import KFIcon from '@/components/KFIcon'; +import CodeSelectorModal, { SelectCodeData } from '@/components/CodeSelectorModal'; import { openAntdModal } from '@/utils/modal'; -import { Button } from 'antd'; import classNames from 'classnames'; import ParameterInput, { type ParameterInputProps } from '../ParameterInput'; import './index.less'; @@ -19,7 +17,7 @@ export { } from '../ParameterInput'; export interface CodeSelectProps extends ParameterInputProps { - value?: CodeConfigData; + value?: SelectCodeData; } /** 代码配置选择表单组件 */ @@ -34,7 +32,7 @@ function CodeSelect({ }: CodeSelectProps) { // 选择代码配置 const selectResource = () => { - const defaultSelected: CodeConfigData | undefined = + const defaultSelected: SelectCodeData | undefined = value && typeof value === 'object' ? value : undefined; const { close } = openAntdModal(CodeSelectorModal, { defaultSelected: defaultSelected, @@ -71,16 +69,6 @@ function CodeSelect({ onClick={selectResource} onRemove={handleRemove} > -
    ); } diff --git a/src/components/CodeSelectorModal/CodeConfigTabs/index.less b/src/components/CodeSelectorModal/CodeConfigTabs/index.less new file mode 100644 index 00000000..275197ee --- /dev/null +++ b/src/components/CodeSelectorModal/CodeConfigTabs/index.less @@ -0,0 +1,49 @@ +.code-config-tabs { + display: flex; + align-items: center; + width: fit-content; + height: 32px; + background-color: #ffffff; + border-radius: 4px; + + &__item { + position: relative; + display: flex; + align-items: center; + height: 100%; + padding: 0 20px; + color: @text-color; + font-size: 14px; + cursor: pointer; + transition: background-color 0.3s ease-in-out; + + &:hover { + color: @primary-color; + } + + &:active { + color: @primary-color; + } + + &--active { + color: @primary-color; + background-color: rgba(81, 76, 249, 0.1); + } + + &__label { + position: relative; + z-index: 10; + } + + &__indicator { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: transparent; + border: 1px solid @primary-color; + border-radius: 4px; + } + } +} diff --git a/src/components/CodeSelectorModal/CodeConfigTabs/index.tsx b/src/components/CodeSelectorModal/CodeConfigTabs/index.tsx new file mode 100644 index 00000000..aa649941 --- /dev/null +++ b/src/components/CodeSelectorModal/CodeConfigTabs/index.tsx @@ -0,0 +1,63 @@ +/* + * @Author: 赵伟 + * @Date: 2024-04-17 16:59:42 + * @Description: 自定义 Tabs + */ + +import { KFRadioItem } from '@/components/KFRadioGroup'; +import classNames from 'classnames'; +import { LayoutGroup, motion } from 'motion/react'; +import { useState } from 'react'; +import './index.less'; + +type CodeConfigTabsProps = { + /** 选项 */ + items: KFRadioItem[]; + /** 当前选中项 */ + value?: string; + /** 自定义样式 */ + style?: React.CSSProperties; + /** 自定义类名 */ + className?: string; + /** 选中回调 */ + onChange?: (value: string) => void; +}; + +/** + * 代码选择用的 Tabs + */ +function CodeConfigTabs({ items, value, style, className, onChange }: CodeConfigTabsProps) { + const [id] = useState(Date.now() + ''); + return ( +
    + {items.map((item) => { + return ( +
    { + if (value === item.value) return; + onChange?.(item.value); + }} + > + {value === item.value && ( + + + + )} +
    {item.label}
    +
    + ); + })} +
    + ); +} + +export default CodeConfigTabs; diff --git a/src/components/CodeSelectorModal/index.less b/src/components/CodeSelectorModal/index.less index 266e0989..b83e1d08 100644 --- a/src/components/CodeSelectorModal/index.less +++ b/src/components/CodeSelectorModal/index.less @@ -1,7 +1,7 @@ .kf-code-selector-modal.kf-modal .ant-modal-body { - height: 610px; - max-height: none; // 580px - overflow-y: hidden; + height: 424px; + padding: 0; + overflow-y: visible; } .kf-code-selector-modal { @@ -12,31 +12,41 @@ height: 100%; } - &__tabs-container { + &__top { + display: flex; flex: none; + align-items: center; + justify-content: space-between; margin-bottom: 20px; - - .ant-tabs-tab { - padding-top: 0; - } + padding: 0 25px; } &__search { - flex: none; - width: 100%; + width: 205px; + + // 覆盖 antd 样式 + .ant-input-affix-wrapper { + border-radius: 16px !important; + .ant-input-prefix { + margin-inline-end: 10px; + } + .ant-input-clear-icon { + font-size: 12px; + } + } } &__content { - display: flex; - flex: 1; - flex-direction: row; - flex-wrap: wrap; + display: grid; + flex: 1 1 0%; + grid-auto-rows: max-content; + grid-template-columns: repeat(3, 1fr); gap: 10px; + align-content: start; width: 100%; - height: 100px; - margin-top: 24px; - margin-bottom: 30px; - padding-bottom: 10px; + min-height: 0; + margin-bottom: 20px; + padding: 0 25px; overflow-x: hidden; overflow-y: auto; } @@ -49,26 +59,13 @@ padding-top: 40px; } - // 覆盖 antd 样式 - .ant-input-affix-wrapper { - border-radius: 23px !important; - .ant-input-prefix { - margin-inline-end: 12px; - } - .ant-input-suffix { - margin-inline-end: 12px; - } - .ant-input-clear-icon { - font-size: 16px; - } - } - .ant-input-group-addon { display: none; } .ant-pagination { flex: none; + padding-right: 25px; .ant-select-single { height: 32px !important; } diff --git a/src/components/CodeSelectorModal/index.tsx b/src/components/CodeSelectorModal/index.tsx index b5f2b1fa..ba7260db 100644 --- a/src/components/CodeSelectorModal/index.tsx +++ b/src/components/CodeSelectorModal/index.tsx @@ -12,9 +12,10 @@ import { type CodeConfigData } from '@/pages/CodeConfig/List'; import { getCodeConfigListReq, getCodeConfigPageNumReq } from '@/services/codeConfig'; import { CustomPartial } from '@/types'; import { to } from '@/utils/promise'; -import { Input, ModalProps, Pagination, PaginationProps, Tabs, TabsProps } from 'antd'; +import { Input, ModalProps, Pagination, PaginationProps, TabsProps } from 'antd'; import { useEffect, useState } from 'react'; import CodeConfigItem from '../CodeConfigItem'; +import CodeConfigTabs from './CodeConfigTabs'; import './index.less'; export { type CodeConfigData }; @@ -29,7 +30,9 @@ export type SelectCodeData = CustomPartial< | 'git_password' | 'ssh_key' | 'is_public' ->; +> & { + activeTab: CommonTabKeys; // 是我的还是公开的 +}; export interface CodeSelectorModalProps extends Omit { defaultSelected?: SelectCodeData; @@ -38,7 +41,7 @@ export interface CodeSelectorModalProps extends Omit { /** 选择代码配置的弹窗,推荐使用函数的方式打开 */ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModalProps) { - const DefaultPageSize = 18; + const DefaultPageSize = 9; const [dataList, setDataList] = useState([]); const [total, setTotal] = useState(0); const [searchText, setSearchText] = useState(undefined); @@ -49,13 +52,16 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal current: defaultSelected?.id ? 0 : 1, // 为 0 时,不请求,等待接口返回选中的代码配置在第几页 pageSize: DefaultPageSize, }); - const [activeTab, setActiveTab] = useState(CommonTabKeys.Public); + const [activeTab, setActiveTab] = useState( + defaultSelected?.activeTab ?? CommonTabKeys.Public, + ); useEffect(() => { const getCodeConfigPageNum = async (id: number, size: number) => { const [res] = await to( getCodeConfigPageNumReq(id, { size, + is_public: activeTab === CommonTabKeys.Public, }), ); if (res) { @@ -73,7 +79,7 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal if (defaultSelected?.id) { getCodeConfigPageNum(defaultSelected?.id, DefaultPageSize); } - }, [defaultSelected?.id]); + }, [defaultSelected?.id, activeTab]); useEffect(() => { // 获取数据请求 @@ -86,7 +92,7 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal page: pagination.current! - 1, size: pagination.pageSize, code_repo_name: searchText || undefined, - is_public: activeTab === CommonTabKeys.Public ? true : false, + is_public: activeTab === CommonTabKeys.Public, }; const [res] = await to(getCodeConfigListReq(params)); if (res && res.data && res.data.content) { @@ -119,7 +125,10 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal const handleChange = (item: CodeConfigData, checked: boolean) => { if (checked) { - setSelected(item); + setSelected({ + ...item, + activeTab: activeTab, + }); } else { setSelected(undefined); } @@ -135,18 +144,18 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal const tabItems = [ { - key: CommonTabKeys.Public, + value: CommonTabKeys.Public, label: '公共代码', }, { - key: CommonTabKeys.Private, + value: CommonTabKeys.Private, label: '个人代码', }, ]; // 切换 Tab,重置数据 const hanleTabChange: TabsProps['onChange'] = (value) => { - setActiveTab(value); + setActiveTab(value as CommonTabKeys); setPagination((prev) => ({ ...prev, current: 1, @@ -157,29 +166,28 @@ function CodeSelectorModal({ defaultSelected, onOk, ...rest }: CodeSelectorModal onOk?.(selected)} className="kf-code-selector-modal" destroyOnClose >
    -
    - +
    + + setInputText(e.target.value)} + suffix={null} + value={inputText} + prefix={ + + } + />
    - setInputText(e.target.value)} - suffix={null} - value={inputText} - prefix={ - - } - /> + {dataList?.length !== 0 ? ( <>
    diff --git a/src/components/ErrorBoundary/index.tsx b/src/components/ErrorBoundary/index.tsx index 2483c9e9..a708ba31 100644 --- a/src/components/ErrorBoundary/index.tsx +++ b/src/components/ErrorBoundary/index.tsx @@ -1,5 +1,5 @@ import KFEmpty, { EmptyType } from '@/components/KFEmpty'; -import { HomeUrl } from '@/utils/constant'; +import { PageEnum } from '@/enums/pagesEnums'; import { Button } from 'antd'; import { Component, ReactNode } from 'react'; @@ -56,8 +56,7 @@ function ErrorBoundaryFallback({ error }: { error: Error | null }) { {isEdit && ( -
    - ), - }, - ]; + const [tableData, setTableData] = useState(trialList); + const timerId = useRef | null>(null); + + useEffect(() => { + const getTypicalTrailList = async (id: number) => { + const [res] = await to( + getTypicalTrailListReq({ + id, + }), + ); + if (res && res.data && Array.isArray(res.data.trial_list)) { + setTableData(res.data.trial_list); + } + }; + if (scene === TaskScenario.Typical && experimentStatus === ExperimentStatus.Running) { + getTypicalTrailList(instanceId); + timerId.current = setInterval(() => { + getTypicalTrailList(instanceId); + }, 5 * 1000); + } + return () => { + if (timerId.current) { + clearInterval(timerId.current); + timerId.current = null; + } + }; + }, [scene, instanceId, experimentStatus]); + + // 创建数据标注项目 + const createLabelTask = (record: ActiveLearnTrial) => { + if (!record.waiting_label_dataset_path) { + return; + } + + const { close } = openAntdModal(CreateLabelModal, { + datasetName, + experimentName, + instanceId, + file_path: record.waiting_label_dataset_path, + trail_id: record.id, + onOk: () => { + close(); + }, + }); + }; + + // 上传数据集 + const uploadDataset = (markDatasetPath: string) => { + const { close } = openAntdModal(DatasetPickerModal, { + markDatasetPath: markDatasetPath, + onOk: () => { + close(); + }, + }); + }; + + const columns: TableProps['columns'] = + scene === TaskScenario.Custom + ? [ + { + title: '序号', + dataIndex: 'index', + key: 'index', + width: 100, + render: tableCellRender(false, TableCellValueType.Index), + }, + { + title: '查询数据量', + dataIndex: 'n_instances', + key: 'n_instances', + render: tableCellRender(false), + }, + { + title: '总数据量', + dataIndex: 'data_num', + key: 'data_num', + render: tableCellRender(false), + }, + { + title: isClassification ? '准确率' : '均方误差', + dataIndex: isClassification ? 'accuracy' : 'mse', + key: 'accuracy', + render: tableCellRender(false), + }, + { + title: '查询数据 id', + dataIndex: 'query_idx', + key: 'query_idx', + render: (query_idx: string) => ( +
    + +
    + ), + }, + ] + : [ + { + title: '序号', + dataIndex: 'index', + key: 'index', + width: 100, + align: 'center', + render: tableCellRender(false, TableCellValueType.Index), + }, + { + title: '已标注样本数', + dataIndex: 'inquired_data_number', + key: 'inquired_data_number', + align: 'center', + render: tableCellRender(false), + }, + { + title: '未标注样本数', + dataIndex: 'candidate_pool_size', + key: 'candidate_pool_size', + align: 'center', + render: tableCellRender(false), + }, + { + title: '状态', + dataIndex: 'status', + key: 'status', + align: 'center', + render: statusTableCell(activeLearnTrialStatusOptions), + }, + { + title: '待标注的数据集', + dataIndex: 'waiting_label_dataset_path', + key: 'waiting_label_dataset_path', + align: 'center', + render: (waiting_label_dataset_path: string, record: ActiveLearnTrial) => ( +
    + + {record.label_studio_project ? ( + + ) : ( + + )} +
    + ), + }, + { + title: '标注的数据集', + dataIndex: 'mark_dataset_path', + key: 'mark_dataset_path', + align: 'center', + render: (mark_dataset_path: string, record: ActiveLearnTrial) => ( +
    + +
    + ), + }, + ]; // 自定义展开视图 const expandedRowRender = (record: ActiveLearnTrial) => { @@ -94,11 +280,11 @@ function ExperimentHistory({ trialList, isClassification }: ExperimentHistoryPro )} > { + return new Date(a.startedAt).getTime() - new Date(b.startedAt).getTime(); + }); + // const cloneNodes = sortedNodes.filter((node) => node.displayName.startsWith('git-clone')); - Object.keys(nodes) - .sort((key1, key2) => { - const node1 = nodes[key1]; - const node2 = nodes[key2]; - return new Date(node1.startedAt).getTime() - new Date(node2.startedAt).getTime(); - }) - .forEach((key) => { - const node = nodes[key]; - if (node.displayName.startsWith(NodePrefix)) { - hpoNodeStatus = node; - } else if (node.displayName.startsWith('git-clone') && !frameworkCloneNodeStatus) { - frameworkCloneNodeStatus = node; - } else if ( - node.displayName.startsWith('git-clone') && - frameworkCloneNodeStatus && - node.displayName !== frameworkCloneNodeStatus?.displayName - ) { - trainCloneNodeStatus = node; - } - }); + const hpoNodeStatus: NodeStatus | undefined = sortedNodes.find((node) => + node.displayName.includes(NodePrefix), + ); + // const frameworkCloneNodeStatus: NodeStatus | undefined = cloneNodeLength >= 2 ? cloneNodes[0] : undefined; + // const trainCloneNodeStatus: NodeStatus | undefined = + // cloneNodes.length >= 2 ? cloneNodes[1] : cloneNodes[0]; - const tabItems = [ - // { - // key: 'git-clone-framework', - // label: '框架代码日志', - // // icon: , - // children: ( - //
    - // {frameworkCloneNodeStatus && ( - // - // )} - //
    - // ), - // }, - { - key: 'git-clone-train', - label: '系统日志', - // icon: , - children: ( -
    - {trainCloneNodeStatus ? ( - - ) : ( - - )} -
    - ), - }, - { - key: 'active-learn', - label: '主动学习日志', - // icon: , - children: ( -
    - {hpoNodeStatus ? ( - - ) : ( - - )} -
    - ), - }, - ]; + // const tabItems = [ + // // { + // // key: 'git-clone-framework', + // // label: '框架代码日志', + // // // icon: , + // // children: ( + // //
    + // // {frameworkCloneNodeStatus && ( + // // + // // )} + // //
    + // // ), + // // }, + // { + // key: 'git-clone-train', + // label: '系统日志', + // // icon: , + // children: ( + //
    + // {trainCloneNodeStatus ? ( + // + // ) : ( + // + // )} + //
    + // ), + // }, + // { + // key: 'active-learn', + // label: '主动学习日志', + // // icon: , + // children: ( + //
    + // {hpoNodeStatus ? ( + // + // ) : ( + // + // )} + //
    + // ), + // }, + // ]; return (
    - +
    + {hpoNodeStatus ? ( + + ) : ( + + )} +
    ); } diff --git a/src/pages/ActiveLearn/components/ExperimentResult/index.less b/src/pages/ActiveLearn/components/ExperimentResult/index.less index 342817c3..3b60059e 100644 --- a/src/pages/ActiveLearn/components/ExperimentResult/index.less +++ b/src/pages/ActiveLearn/components/ExperimentResult/index.less @@ -1,10 +1,9 @@ .experiment-result { - height: calc(100% - 10px); - margin-top: 10px; - padding: 20px @content-padding; + height: 100%; + padding: 24px @content-padding; overflow-y: auto; background-color: white; - border-radius: 10px; + border-radius: 0 10px 10px 10px; &__download { padding-top: 16px; diff --git a/src/pages/ActiveLearn/components/ExperimentResult/index.tsx b/src/pages/ActiveLearn/components/ExperimentResult/index.tsx index e1268907..720bf841 100644 --- a/src/pages/ActiveLearn/components/ExperimentResult/index.tsx +++ b/src/pages/ActiveLearn/components/ExperimentResult/index.tsx @@ -11,26 +11,23 @@ type ExperimentResultProps = { function ExperimentResult({ fileUrl, modelPath }: ExperimentResultProps) { return (
    - - {fileUrl && ( + {fileUrl && ( +
    - )} -
    - + + )} + + {modelPath && (
    @@ -157,7 +159,7 @@ export const getParamComponent = ( name={[name, item.name]} rules={[{ required: item.required, message: `${item.description}必填` }]} > - {getParamComponent(item, versionId)} + {getParamComponent(item, versionId, disabled)} ))}
    @@ -229,7 +231,7 @@ const ExecuteParameter = forwardRef( }, ]} > - {getParamComponent(item, versionId)} + {getParamComponent(item, versionId, disabled)} ))} diff --git a/src/pages/Application/Execute/components/ExecuteResult/index.tsx b/src/pages/Application/Execute/components/ExecuteResult/index.tsx index 114a8797..ec549fe6 100644 --- a/src/pages/Application/Execute/components/ExecuteResult/index.tsx +++ b/src/pages/Application/Execute/components/ExecuteResult/index.tsx @@ -84,11 +84,10 @@ function ExecuteResult({ files, status }: ExecuteResultPros) { const [fileRes] = await to(previewTaskFileReq(url)); if (fileRes) { try { - const blob = fileRes.data; - const content = await blob.text(); - if (content) { + const blob = fileRes.data as Blob; + if (blob) { const { close } = openAntdModal(FilePreviewModal, { - text: content, + blob: blob, onOk: () => { close(); }, diff --git a/src/pages/Application/Execute/components/FilePreviewModal/index.less b/src/pages/Application/Execute/components/FilePreviewModal/index.less index 8e37fefa..439d248e 100644 --- a/src/pages/Application/Execute/components/FilePreviewModal/index.less +++ b/src/pages/Application/Execute/components/FilePreviewModal/index.less @@ -1,6 +1,36 @@ .file-preview-modal { - min-height: 400px; - padding: 15px; - background-color: rgba(207, 213, 235, 0.18); - border-radius: 15px; + width: 100%; + &__image { + width: 100%; + height: 400px; + } + + &__video { + width: 100%; + height: 400px; + } + + &__audio { + width: 100%; + height: 400px; + } + + &__pdf { + width: 100%; + height: 400px; + border: 0; + } + + &__text { + min-height: 400px; + padding: 15px; + white-space: pre-wrap; + word-break: break-all; + background-color: rgba(207, 213, 235, 0.18); + border-radius: 15px; + + &--json { + overflow-x: auto; + } + } } diff --git a/src/pages/Application/Execute/components/FilePreviewModal/index.tsx b/src/pages/Application/Execute/components/FilePreviewModal/index.tsx index 0b3d7c0a..dcf8d76f 100644 --- a/src/pages/Application/Execute/components/FilePreviewModal/index.tsx +++ b/src/pages/Application/Execute/components/FilePreviewModal/index.tsx @@ -1,13 +1,105 @@ import KFModal from '@/components/KFModal'; +import { getBlogCategory } from '@/utils'; import { type ModalProps } from 'antd'; +import classNames from 'classnames'; +import { useEffect, useMemo, useState } from 'react'; import styles from './index.less'; interface FilePreviewModalProps extends Omit { - text: string; + blob: Blob; onOk?: () => void; } -function FilePreviewModal({ text, onOk, ...rest }: FilePreviewModalProps) { +function FilePreviewModal({ blob, onOk, ...rest }: FilePreviewModalProps) { + const category = useMemo(() => getBlogCategory(blob), [blob]); + const isText = category === 'json' || category === 'text'; + const url = useMemo(() => { + if (isText) return null; + return URL.createObjectURL(blob); + }, [blob, isText]); + const [text, setText] = useState(''); + + useEffect(() => { + return () => { + if (url) { + URL.revokeObjectURL(url); + } + }; + }); + + useEffect(() => { + if (!isText) return; + + let cancelled = false; + blob.text().then((content) => { + if (cancelled) return; + + // 后台返回的类型是 application/octet-stream,即类型未知 + // 暂时先都当json一样处理,转换失败当成普通文本 + // 但是需要多测试 + if (category === 'json' || blob.size < 1024 * 50) { + try { + const json = JSON.parse(content); + setText(JSON.stringify(json, null, 2)); + } catch { + setText(content); + } + } else { + setText(content); + } + }); + + return () => { + cancelled = true; + }; + }, [blob, isText, category]); + + let component = null; + switch (category) { + case 'image': + { + component = ( + + ); + } + break; + case 'video': + { + component = ( + + ); + } + break; + case 'audio': + { + component = ( + + ); + } + break; + case 'pdf': + { + component = ; + } + break; + default: { + component = ( +
    + {text || '文件不支持预览'} +
    + ); + } + } + return ( -
    {text}
    +
    {component}
    ); } diff --git a/src/pages/Application/Execute/components/FileUpload/index.less b/src/pages/Application/Execute/components/FileUpload/index.less index c31078a9..0a8ced9b 100644 --- a/src/pages/Application/Execute/components/FileUpload/index.less +++ b/src/pages/Application/Execute/components/FileUpload/index.less @@ -35,4 +35,16 @@ color: @text-color-secondary; font-size: 12px; } + + &__link { + font-size: 14px; + &:hover { + text-decoration: underline; + } + } + + &__empty-text { + color: @text-color-tertiary; + font-size: 14px; + } } diff --git a/src/pages/Application/Execute/components/FileUpload/index.tsx b/src/pages/Application/Execute/components/FileUpload/index.tsx index f196fddf..1cfbf510 100644 --- a/src/pages/Application/Execute/components/FileUpload/index.tsx +++ b/src/pages/Application/Execute/components/FileUpload/index.tsx @@ -1,5 +1,9 @@ import { getAccessToken } from '@/access'; +import { TaskUploadFile } from '@/pages/Application/types'; +import { downloadTaskFileReq } from '@/services/modelDeployment'; import { convertBytesToObject } from '@/utils'; +import { downloadFileWithUrl } from '@/utils/downloadfile'; +import { to } from '@/utils/promise'; import { Upload, message, type UploadFile, type UploadProps } from 'antd'; import { useState } from 'react'; import styles from './index.less'; @@ -11,6 +15,7 @@ interface FileUploadProps extends Omit { allowedTypes?: string[]; versionId: number; onChange?: (url?: string) => void; + value?: TaskUploadFile; } interface limitFileUploadParam { @@ -46,15 +51,18 @@ export const limitFileUpload = ({ allowedTypes, maxSize }: limitFileUploadParam) }; function FileUpload({ + value, onChange, allowedTypes, tips, sizeTips, maxSize, versionId, + disabled, ...rest }: FileUploadProps) { const [fileList, setFileList] = useState([]); + const handleChange: UploadProps['onChange'] = ({ fileList, file }) => { setFileList(fileList); @@ -77,6 +85,27 @@ function FileUpload({ } }; + const downloadFile = async (file: TaskUploadFile) => { + const [res] = await to( + downloadTaskFileReq({ + url: file.direct_url, + }), + ); + if (res) { + downloadFileWithUrl(res.data, file.filename); + } + }; + + if (disabled) { + return value && value.filename ? ( + downloadFile(value)}> + {value.filename} + + ) : ( + 暂无文件 + ); + } + return ( = { - composition: { - default: null, - description: '材料成分', - items: { - element: { - default: null, - description: '元素符号', - required: true, - type: 'str', - file_field: false, - }, - percentage: { - default: null, - description: '百分比', - required: true, - type: 'float', - file_field: false, - }, - }, - required: true, - type: 'list', - file_field: false, - }, - prediction_type: { - default: 'all', - description: '预测类型:(formation_energy, bandgap, all)', - required: false, - type: 'str', - file_field: false, - }, - int_type: { - default: 'all', - description: '整型', - required: false, - type: 'int', - file_field: false, - }, - date_type: { - default: 'all', - description: '时间', - required: false, - type: 'datetime', - file_field: false, - }, - boolean_type: { - default: 'all', - description: '布尔值', - required: false, - type: 'bool', - file_field: false, - }, - number_file: { - allowed_types: ['text/plain', 'text/csv', 'application/octet-stream'], - default: null, - description: '包含数字的文本文件(每行一个数字)', - file_field: true, - input_method: '文件上传', - max_size: 1048576, - required: true, - size_limit: '最大文件大小: 1048576 bytes (1.0 MB)', - supported_formats: '支持的文件类型: text/plain, text/csv, application/octet-stream', - type: 'str', - usage: - '此字段需要上传文件,可以通过以下方式提供:\n1. 直接上传文件到该字段\n2. 先使用/upload接口上传文件,然后通过文件ID引用', - }, - bandgap: { - default: null, - description: '带隙预测结果', - properties: { - bandgap: { - default: null, - description: '带隙(eV)', - required: false, - type: 'float', - file_field: false, - }, - bandgap_type: { - default: null, - description: '带隙类型(直接/间接)', - required: false, - type: 'str', - file_field: false, - }, - confidence: { - default: null, - description: '预测置信度', - required: false, - type: 'float', - file_field: false, - }, - }, - required: false, - type: 'object', - file_field: false, - }, -}; +enum TaskTabKey { + Result = 'Result', + Log = 'Log', +} + +// const testData: Record = { +// composition: { +// default: null, +// description: '材料成分', +// items: { +// element: { +// default: null, +// description: '元素符号', +// required: true, +// type: 'str', +// file_field: false, +// }, +// percentage: { +// default: null, +// description: '百分比', +// required: true, +// type: 'float', +// file_field: false, +// }, +// }, +// required: true, +// type: 'list', +// file_field: false, +// }, +// prediction_type: { +// default: 'all', +// description: '预测类型:(formation_energy, bandgap, all)', +// required: false, +// type: 'str', +// file_field: false, +// }, +// int_type: { +// default: 'all', +// description: '整型', +// required: false, +// type: 'int', +// file_field: false, +// }, +// date_type: { +// default: 'all', +// description: '时间', +// required: false, +// type: 'datetime', +// file_field: false, +// }, +// boolean_type: { +// default: 'all', +// description: '布尔值', +// required: false, +// type: 'bool', +// file_field: false, +// }, +// number_file: { +// allowed_types: ['text/plain', 'text/csv', 'application/octet-stream'], +// default: null, +// description: '包含数字的文本文件(每行一个数字)', +// file_field: true, +// input_method: '文件上传', +// max_size: 1048576, +// required: true, +// size_limit: '最大文件大小: 1048576 bytes (1.0 MB)', +// supported_formats: '支持的文件类型: text/plain, text/csv, application/octet-stream', +// type: 'str', +// usage: +// '此字段需要上传文件,可以通过以下方式提供:\n1. 直接上传文件到该字段\n2. 先使用/upload接口上传文件,然后通过文件ID引用', +// }, +// bandgap: { +// default: null, +// description: '带隙预测结果', +// properties: { +// bandgap: { +// default: null, +// description: '带隙(eV)', +// required: false, +// type: 'float', +// file_field: false, +// }, +// bandgap_type: { +// default: null, +// description: '带隙类型(直接/间接)', +// required: false, +// type: 'str', +// file_field: false, +// }, +// confidence: { +// default: null, +// description: '预测置信度', +// required: false, +// type: 'float', +// file_field: false, +// }, +// }, +// required: false, +// type: 'object', +// file_field: false, +// }, +// }; function AppExecute() { const params = useParams(); @@ -117,8 +130,10 @@ function AppExecute() { const [searchParams] = useSearchParams(); const isView = searchParams.get('from') === 'view'; // 查看任务详情 const taskId = searchParams.get('id'); // 任务详情 + const source = searchParams.get('source'); // 来源 const [inputParameters, setInputParameters] = useState>(); - const [tasskName, setTaskName] = useState(); + const [taskName, setTaskName] = useState(); + const [activeTab, setActiveTab] = useState(TaskTabKey.Result); const [taskInfo, setTaskInfo] = useState(); const parameterRef = useRef(null); const intervalIdRef = useRef | null>(null); @@ -163,25 +178,6 @@ function AppExecute() { [closeTimer], ); - // 执行任务请求 - const executeTask = async (parameters: any) => { - const params: Record = { - service_id: appId, - service_version_id: versionId, - task_info: parameters, - task_name: tasskName, - task_param: inputParameters, - }; - const [res] = await to(createTaskReq(params)); - if (res && res.data) { - getTaskInfo(res.data.id); - - intervalIdRef.current = setInterval(() => { - getTaskInfo(res.data.id); - }, 1000 * 5); - } - }; - useEffect(() => { if (!isView) { getTaskParameters(); @@ -201,6 +197,25 @@ function AppExecute() { }; }, [isView, taskId, getTaskInfo, closeTimer]); + // 执行任务请求 + const executeTask = async (parameters: any) => { + const params: Record = { + service_id: appId, + service_version_id: versionId, + task_info: parameters, + task_name: taskName, + task_param: inputParameters, + }; + const [res] = await to(createTaskReq(params)); + if (res && res.data) { + getTaskInfo(res.data.id); + + intervalIdRef.current = setInterval(() => { + getTaskInfo(res.data.id); + }, 1000 * 5); + } + }; + // 判断文件上传状态 const validateFileFields = ( parameters: Record, @@ -262,28 +277,47 @@ function AppExecute() { parameterRef.current?.resetFields(); }; + // 参数下载 + const handleResultDownload = async () => { + const file = taskInfo?.task_result?.batch_download; + if (file) { + const [res] = await to( + downloadTaskFileReq({ + url: file.direct_url, + }), + ); + if (res) { + downloadFileWithUrl(res.data, file.filename); + } + } + }; + const tabItems = [ { - key: 'result', + key: TaskTabKey.Result, label: '任务结果', children: ( <> - {taskInfo && ( + {taskInfo ? ( + ) : ( + )} ), }, { - key: 'log', + key: TaskTabKey.Log, label: '任务日志', children: ( <> - {taskInfo && ( + {taskInfo ? ( + ) : ( + )} ), @@ -313,17 +347,32 @@ function AppExecute() { > )} -
    - - -
    + {!isView && ( +
    + + +
    + )}
    - + setActiveTab(value as TaskTabKey)} + /> + {activeTab === TaskTabKey.Result && taskInfo?.task_result?.batch_download && ( + + )}
    diff --git a/src/pages/Application/Featured/index.less b/src/pages/Application/Featured/index.less index fdb64551..1f98a2d8 100644 --- a/src/pages/Application/Featured/index.less +++ b/src/pages/Application/Featured/index.less @@ -3,7 +3,7 @@ display: flex; flex-direction: column; height: 100%; - padding: @page-padding-bottom 0; + padding: @page-padding-top 0 @page-padding-bottom; &__header { flex: none; @@ -21,20 +21,7 @@ } &__search { - width: 320px; - height: 36px; margin-left: auto; - padding-right: 17px; - padding-left: 17px; - background-color: rgba(255, 255, 255, 0.3) !important; - border: 1px solid #ffffff; - border-radius: 18px; - - :global { - .ant-input-prefix { - margin-right: 9px; - } - } } &__tab-item { diff --git a/src/pages/Application/Featured/index.tsx b/src/pages/Application/Featured/index.tsx index e3c5b658..0ec70983 100644 --- a/src/pages/Application/Featured/index.tsx +++ b/src/pages/Application/Featured/index.tsx @@ -1,12 +1,13 @@ import KFEmpty, { EmptyType } from '@/components/KFEmpty'; import KFIcon from '@/components/KFIcon'; +import KFSearch from '@/components/KFSearch'; import { useCacheState } from '@/hooks/useCacheState'; import { ServiceData } from '@/pages/Application/types'; import { getServiceListReq, getServiceTypesReq } from '@/services/modelDeployment'; import { openAntdModal } from '@/utils/modal'; import { to } from '@/utils/promise'; import { useNavigate } from '@umijs/max'; -import { Button, Flex, Input } from 'antd'; +import { Button, Flex } from 'antd'; import classNames from 'classnames'; import { useCallback, useEffect, useRef, useState } from 'react'; import CreateAppModal from '../components/CreateAppModal'; @@ -102,7 +103,7 @@ function FeaturedApps() { service_name: searchText || undefined, is_selected, is_public, - orderBy, + order_by: orderBy, }; const [res] = await to(getServiceListReq(params, currentTab === AppTabValue.Favorite)); loadingMoreRef.current = false; @@ -174,9 +175,11 @@ function FeaturedApps() { }; // 搜索 - const handleSearch = () => { - setSearchText(inputText); - setPage(0); + const handleSearch = (value: string) => { + if (value !== searchText) { + setSearchText(value); + setPage(0); + } }; // 查看详情 @@ -203,20 +206,15 @@ function FeaturedApps() { className={styles['apps__header__icon']} > 应用广场 - setInputText(e.target.value)} + onSearch={handleSearch} value={inputText} - prefix={ - - } + onChange={(e) => setInputText(e.target.value)} allowClear /> {currentTab === AppTabValue.Mine && ( diff --git a/src/pages/Application/Info/components/Comment/index.less b/src/pages/Application/Info/components/Comment/index.less index dd1abdfd..407140f7 100644 --- a/src/pages/Application/Info/components/Comment/index.less +++ b/src/pages/Application/Info/components/Comment/index.less @@ -47,7 +47,7 @@ height: 26px; margin-right: 10px; color: @text-color; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 6px; cursor: pointer; @@ -68,7 +68,7 @@ padding: 0 10px; color: @text-color; font-size: 12px; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 6px; cursor: pointer; @@ -85,7 +85,7 @@ position: relative; margin-top: 20px; padding: 25px; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 8px; &__triangle { @@ -93,7 +93,7 @@ top: -10px; left: 32px; z-index: 10; - .triangle-up(20px, 16px, #f7f9fd); + .triangle-up(20px, 16px, @background-color); } &__input { diff --git a/src/pages/Application/Info/components/Intro/commands.tsx b/src/pages/Application/Info/components/Intro/commands.tsx deleted file mode 100644 index 753eb590..00000000 --- a/src/pages/Application/Info/components/Intro/commands.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import UploadImageModal, { type UploadImageData } from '@/components/UploadImageModal'; -import { openAntdModal } from '@/utils/modal'; -import { image } from '@uiw/react-md-editor/commands-cn'; - -export const imageCommand = { - ...image, - execute: (_state: any, api: any) => { - const { close } = openAntdModal(UploadImageModal, { - onOk: (data: UploadImageData) => { - api.replaceSelection(`![${data.description}](${data.url})`); - close(); - }, - }); - }, -}; diff --git a/src/pages/Application/Info/components/Intro/index.less b/src/pages/Application/Info/components/Intro/index.less deleted file mode 100644 index b58741aa..00000000 --- a/src/pages/Application/Info/components/Intro/index.less +++ /dev/null @@ -1,18 +0,0 @@ -.app-intro { - height: 100%; - min-height: 100%; - max-height: 100%; - overflow: hidden; - - &__edit-btn { - display: block; - padding: 10px 25px; - .backgroundFullImage(url(@/assets/img/app/intro-edit-bg.png)); - - :global { - .ant-btn { - border-color: white; - } - } - } -} diff --git a/src/pages/Application/Info/components/Intro/index.tsx b/src/pages/Application/Info/components/Intro/index.tsx deleted file mode 100644 index d891c52f..00000000 --- a/src/pages/Application/Info/components/Intro/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import KFEmpty, { EmptyType } from '@/components/KFEmpty'; -import { useDomSize } from '@/hooks/useDomSize'; -import { useMdEditorImageUpload } from '@/hooks/useMdEditorImageUpload'; -import MDEditor from '@uiw/react-md-editor'; -import { getCommands, getExtraCommands } from '@uiw/react-md-editor/commands-cn'; -import { Button } from 'antd'; -import { useEffect, useState } from 'react'; -import { imageCommand } from './commands'; -import styles from './index.less'; - -type AppIntroProps = { - title: string; - isMine: boolean; - defaultValue?: string; - noDataTitle: string; - onChange?: (value?: string) => void; -}; - -function AppIntro({ isMine, defaultValue, noDataTitle, onChange }: AppIntroProps) { - const [value, setValue] = useState(defaultValue); - const [isEdit, setEdit] = useState(false); - const [ref, { height }] = useDomSize(0, 0, []); - const editorHeight = height - 52; - const commands = getCommands(); - const index = commands.findIndex((item) => item.keyCommand === 'image'); - if (index !== -1) { - commands.splice(index, 1, imageCommand); - } - const { editorRef, handlePaste } = useMdEditorImageUpload(value ?? '', setValue); - - useEffect(() => { - setValue(defaultValue); - }, [defaultValue]); - - const handleEditAndSave = () => { - if (isEdit) { - onChange?.(value); - setEdit(false); - } else { - setEdit(true); - } - }; - - return ( -
    - {isMine && ( -
    - -
    - )} - - {isEdit && isMine ? ( -
    - setValue(value)} - height={editorHeight} - visibleDragbar={false} - preview={'live'} - commands={[...commands]} - extraCommands={[...getExtraCommands()]} - autoFocusEnd={true} - enableScroll - textareaProps={{ - onPaste: handlePaste, - }} - > -
    - ) : defaultValue || isMine ? ( - - ) : ( - - )} -
    - ); -} - -export default AppIntro; diff --git a/src/pages/Application/Info/components/PublishModal/index.less b/src/pages/Application/Info/components/PublishModal/index.less index f52b3f2b..9dcf147c 100644 --- a/src/pages/Application/Info/components/PublishModal/index.less +++ b/src/pages/Application/Info/components/PublishModal/index.less @@ -16,14 +16,14 @@ &__title { margin-bottom: 15px; - color: #494a6f; + color: @text-color-secondary; font-size: 15px; } &__versions { width: 100%; padding: 15px; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 4px; &__item { diff --git a/src/pages/Application/Info/components/PublishModal/index.tsx b/src/pages/Application/Info/components/PublishModal/index.tsx index 13372a81..7bea7e30 100644 --- a/src/pages/Application/Info/components/PublishModal/index.tsx +++ b/src/pages/Application/Info/components/PublishModal/index.tsx @@ -1,20 +1,21 @@ import KFDefaultEmpty from '@/components/KFDefaultEmpty'; import KFModal from '@/components/KFModal'; import { ServiceRunStatus } from '@/enums'; +import { ApplicationSource, ServiceVersionData } from '@/pages/Application/types'; import { getServiceVersionsReq } from '@/services/modelDeployment'; import { to } from '@/utils/promise'; import { Flex, type ModalProps } from 'antd'; import classNames from 'classnames'; import { useCallback, useEffect, useState } from 'react'; -import { ServiceVersionData } from '../../../types'; import styles from './index.less'; interface PublishModalProps extends Omit { serviceId: number; + serviceSource: ApplicationSource; // 应用来源 onOk?: (id: number) => void; } -function PublishModal({ serviceId, onOk, ...rest }: PublishModalProps) { +function PublishModal({ serviceId, serviceSource, onOk, ...rest }: PublishModalProps) { const [versions, setVersions] = useState([]); const [selectedVersion, setSelectedVersion] = useState(); @@ -24,13 +25,14 @@ function PublishModal({ serviceId, onOk, ...rest }: PublishModalProps) { size: 100, run_state: ServiceRunStatus.Running, service_id: serviceId, + source: serviceSource, }; const [res] = await to(getServiceVersionsReq(params)); if (res && res.data) { const { content = [] } = res.data; setVersions(content); } - }, [serviceId]); + }, [serviceId, serviceSource]); useEffect(() => { getVersions(); diff --git a/src/pages/Application/Info/components/TaskList/index.less b/src/pages/Application/Info/components/TaskList/index.less index 0f8f5eef..198f75e4 100644 --- a/src/pages/Application/Info/components/TaskList/index.less +++ b/src/pages/Application/Info/components/TaskList/index.less @@ -2,11 +2,17 @@ display: flex; flex-direction: column; height: 100%; - padding: 25px; + padding: 25px 25px 0; background-color: white; border-radius: 0px 10px 10px 10px; box-shadow: 0px 3px 12px rgba(151, 150, 180, 0.08); + :global { + .ant-table-pagination.ant-pagination { + padding-right: 0 !important; + } + } + &__filter { display: flex; flex: none; diff --git a/src/pages/Application/Info/components/TaskList/index.tsx b/src/pages/Application/Info/components/TaskList/index.tsx index 1de7382b..7918aa87 100644 --- a/src/pages/Application/Info/components/TaskList/index.tsx +++ b/src/pages/Application/Info/components/TaskList/index.tsx @@ -6,7 +6,7 @@ import KFIcon from '@/components/KFIcon'; import { AppRunStatus, appStatusOptions } from '@/enums'; -import { ServiceTaskData } from '@/pages/Application/types'; +import { ApplicationSource, ServiceTaskData } from '@/pages/Application/types'; import { deleteTaskInfoReq, getTaskListReq } from '@/services/modelDeployment'; import { elapsedTime } from '@/utils/date'; import { to } from '@/utils/promise'; @@ -31,11 +31,13 @@ import styles from './index.less'; const allServiceStatusOptions = [{ label: '全部', value: '' }, ...appStatusOptions]; type VersionListProps = { + isMine: boolean; serviceId: number; + serviceSource: ApplicationSource; // 应用来源 onNavigate: (url: string) => void; }; -function VersionList({ serviceId, onNavigate }: VersionListProps) { +function VersionList({ isMine, serviceId, serviceSource, onNavigate }: VersionListProps) { const { message } = App.useApp(); const [searchstatus, setSearchStatus] = useState(); // 查询状态 const [searchTaskName, setSearchTaskName] = useState(); // 查询版本 @@ -55,6 +57,7 @@ function VersionList({ serviceId, onNavigate }: VersionListProps) { task_name: searchTaskName || undefined, status: searchstatus || undefined, service_id: serviceId, + source: serviceSource, }; const [res] = await to(getTaskListReq(params)); if (res && res.data) { @@ -62,7 +65,7 @@ function VersionList({ serviceId, onNavigate }: VersionListProps) { setTableData(content); setTotal(totalElements); } - }, [pagination, searchstatus, searchTaskName, serviceId]); + }, [pagination, searchstatus, searchTaskName, serviceId, serviceSource]); useEffect(() => { getTaskList(); @@ -118,9 +121,11 @@ function VersionList({ serviceId, onNavigate }: VersionListProps) { }); }; - // 查看详情 + // 查看任务详情 const toDetail = (record: ServiceTaskData) => { - onNavigate(`execute/${record.service_version_id}?id=${record.id}&from=view`); + onNavigate( + `execute/${record.service_version_id}?source=${serviceSource}id=${record.id}&from=view`, + ); }; // 分页切换 @@ -152,18 +157,29 @@ function VersionList({ serviceId, onNavigate }: VersionListProps) { key: 'task_name', render: tableCellRender(true), }, + ...(isMine + ? [ + { + title: '版本', + dataIndex: 'version', + key: 'version', + width: '13%', + render: tableCellRender(true), + }, + ] + : []), { title: '状态', dataIndex: 'status', key: 'status', - width: '15%', + width: '13%', render: TaskstatusCell, }, { title: '运行时长', dataIndex: 'update_time', key: 'duration', - width: '15%', + width: '13%', render: tableCellRender(false, TableCellValueType.Custom, { format: (_value: string, record?: ServiceTaskData) => { if (!record) { @@ -189,7 +205,7 @@ function VersionList({ serviceId, onNavigate }: VersionListProps) { { title: '操作', dataIndex: 'operation', - width: 240, + width: 200, key: 'operation', render: (_: any, record: ServiceTaskData) => (
    diff --git a/src/pages/Application/Info/components/TaskStatusCell/index.less b/src/pages/Application/Info/components/TaskStatusCell/index.less index ee5d30c5..765f2147 100644 --- a/src/pages/Application/Info/components/TaskStatusCell/index.less +++ b/src/pages/Application/Info/components/TaskStatusCell/index.less @@ -19,7 +19,7 @@ } &--pending { - color: #d59245; - background-color: .addAlpha(#d59245, 0.07) []; + color: @pending-color; + background-color: .addAlpha(@pending-color, 0.07) []; } } diff --git a/src/pages/Application/Info/components/VersionList/index.less b/src/pages/Application/Info/components/VersionList/index.less index 0f8f5eef..d949eb9c 100644 --- a/src/pages/Application/Info/components/VersionList/index.less +++ b/src/pages/Application/Info/components/VersionList/index.less @@ -2,11 +2,17 @@ display: flex; flex-direction: column; height: 100%; - padding: 25px; + padding: 25px 25px 0; background-color: white; border-radius: 0px 10px 10px 10px; box-shadow: 0px 3px 12px rgba(151, 150, 180, 0.08); + :global { + .ant-table-pagination { + padding-right: 0 !important; + } + } + &__filter { display: flex; flex: none; diff --git a/src/pages/Application/Info/components/VersionList/index.tsx b/src/pages/Application/Info/components/VersionList/index.tsx index ec07a2d0..ccfc13fe 100644 --- a/src/pages/Application/Info/components/VersionList/index.tsx +++ b/src/pages/Application/Info/components/VersionList/index.tsx @@ -1,7 +1,7 @@ /* * @Author: 赵伟 * @Date: 2024-04-16 13:58:08 - * @Description: 模型部署列表 + * @Description: 应用版本列表 */ import KFIcon from '@/components/KFIcon'; @@ -9,10 +9,14 @@ import { ServiceRunStatus, serviceStatusOptions } from '@/enums'; import { useSystemResource } from '@/hooks/useComputingResource'; import { useResponsiveColumns } from '@/hooks/useResponsiveColumns'; import CreateAppVersionModal from '@/pages/Application/components/CreateAppVersionModal'; -import { ServiceOperationType, ServiceVersionData } from '@/pages/Application/types'; +import ServiceRunStatusCell from '@/pages/Application/components/ServiceRunStatusCell'; +import VersionCompareModal from '@/pages/Application/components/VersionCompareModal'; +import { + ApplicationSource, + ServiceOperationType, + ServiceVersionData, +} from '@/pages/Application/types'; import { ModelData } from '@/pages/Dataset/config'; -import ServiceRunStatusCell from '@/pages/ModelDeployment/components/ModelDeployStatusCell'; -import VersionCompareModal from '@/pages/ModelDeployment/components/VersionCompareModal'; import { deleteServiceVersionReq, getServiceVersionsReq, @@ -35,7 +39,7 @@ import { type TableProps, } from 'antd'; import classNames from 'classnames'; -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import styles from './index.less'; const allServiceStatusOptions = [{ label: '全部', value: '' }, ...serviceStatusOptions]; @@ -43,6 +47,7 @@ const allServiceStatusOptions = [{ label: '全部', value: '' }, ...serviceStatu type VersionListProps = { serviceId: number; serviceName: string; + serviceSource: ApplicationSource; // 应用来源 isPublic: boolean; publicVersionId?: number; onNavigate: (url: string) => void; @@ -51,6 +56,7 @@ type VersionListProps = { function VersionList({ serviceId, serviceName, + serviceSource, isPublic, publicVersionId, onNavigate, @@ -66,43 +72,46 @@ function VersionList({ pageSize: 10, }); const [form] = Form.useForm(); - const [tableRef, widths] = useResponsiveColumns({ - checkbox: { - fixedWidth: 48, - }, - index: { - fixedWidth: 100, - }, - version: { - percent: 0.1, - minWidth: 100, - }, - model: { - percent: 0.2, - minWidth: 100, - }, - image: { - percent: 0.3, - minWidth: 100, - }, - replicas: { - percent: 0.1, - minWidth: 100, - }, - computing_resource_id: { - percent: 0.2, - minWidth: 100, - }, - run_state: { - percent: 0.1, - minWidth: 100, - }, - operation: { - fixedWidth: 280, - }, - }); - const getResourceDescription = useSystemResource(); + const columnSettings = useMemo( + () => ({ + checkbox: { + fixedWidth: 48, + }, + index: { + fixedWidth: 100, + }, + version: { + percent: 0.1, + minWidth: 100, + }, + model: { + percent: 0.2, + minWidth: 100, + }, + image: { + percent: 0.3, + minWidth: 100, + }, + replicas: { + percent: 0.1, + minWidth: 100, + }, + computing_resource_id: { + percent: 0.2, + minWidth: 100, + }, + run_state: { + percent: 0.1, + minWidth: 100, + }, + operation: { + fixedWidth: 280, + }, + }), + [], + ); + const [tableRef, widths] = useResponsiveColumns(columnSettings); // 获取服务版本列表 const getServiceVersions = useCallback(async () => { @@ -112,6 +121,7 @@ function VersionList({ version: searchVersion || undefined, run_state: searchStatus || undefined, service_id: serviceId, + source: serviceSource, }; const [res] = await to(getServiceVersionsReq(params)); if (res && res.data) { @@ -124,7 +134,7 @@ function VersionList({ setTableData(content); setTotal(totalElements); } - }, [pagination, searchStatus, searchVersion, serviceId]); + }, [pagination, searchStatus, searchVersion, serviceId, serviceSource]); useEffect(() => { getServiceVersions(); @@ -132,7 +142,7 @@ function VersionList({ // 删除模型部署 const deleteServiceVersion = async (record: ServiceVersionData) => { - const [res] = await to(deleteServiceVersionReq(record.id)); + const [res] = await to(deleteServiceVersionReq(serviceSource, record.id)); if (res) { message.success('删除成功'); // 如果是一页的唯一数据,删除后,请求第一页的数据 @@ -148,7 +158,7 @@ function VersionList({ // 停止模型部署 const stopServiceVersion = async (record: ServiceVersionData) => { - const [res] = await to(stopServiceVersionReq(record.id)); + const [res] = await to(stopServiceVersionReq(serviceSource, record.id)); if (res) { message.success('操作成功'); getServiceVersions(); @@ -206,6 +216,7 @@ function VersionList({ operationType: type, serviceId: serviceId, serviceName: serviceName, + serviceSource: serviceSource, versionInfo: record, onOk: () => { close(); @@ -219,12 +230,12 @@ function VersionList({ // 查看详情 const toDetail = (record: ServiceVersionData) => { - onNavigate(`versionInfo/${record.id}`); + onNavigate(`versionInfo/${record.id}?source=${serviceSource}`); }; // 测试运行 const toRun = (record: ServiceVersionData) => { - onNavigate(`execute/${record.id}`); + onNavigate(`execute/${record.id}?source=${serviceSource}`); }; // 分页切换 @@ -249,6 +260,7 @@ function VersionList({ openAntdModal(VersionCompareModal, { version1: selectedRowKeys[0] as string, version2: selectedRowKeys[1] as string, + serviceSource: serviceSource, }); }; @@ -263,7 +275,7 @@ function VersionList({ }, }; - // 去模型 + // 去模型页 const gotoModel = (record: ServiceVersionData, e: React.MouseEvent) => { e.stopPropagation(); @@ -274,7 +286,7 @@ function VersionList({ } }; - const columns: TableProps['columns'] = [ + const columnsForPlatform: TableProps['columns'] = [ { title: '序号', dataIndex: 'index', @@ -286,14 +298,14 @@ function VersionList({ }), }, { - title: '服务版本', + title: '应用版本', dataIndex: 'version', key: 'version', width: widths.version, render: tableCellRender(), }, { - title: '模型版本', + title: '模型', dataIndex: ['model', 'showValue'], key: 'model', width: widths.model, @@ -302,7 +314,7 @@ function VersionList({ }), }, { - title: '镜像版本', + title: '运行镜像', dataIndex: ['image', 'showValue'], key: 'image', width: widths.image, @@ -414,6 +426,207 @@ function VersionList({ }, ]; + // 超算列表 + const columnsForSuper: TableProps['columns'] = [ + { + title: '序号', + dataIndex: 'index', + key: 'index', + width: '10%', + render: tableCellRender(false, TableCellValueType.Index, { + page: pagination.current! - 1, + pageSize: pagination.pageSize!, + }), + }, + { + title: '应用版本', + dataIndex: 'version', + key: 'version', + width: '20%', + render: tableCellRender(), + }, + { + title: '应用模板', + dataIndex: 'template', + key: 'template', + width: '20%', + render: () =>
    {}
    , + }, + { + title: '应用描述', + dataIndex: 'description', + key: 'description', + render: tableCellRender(true), + }, + + { + title: '操作', + dataIndex: 'operation', + width: 260, + key: 'operation', + render: (_: any, record: ServiceVersionData) => ( +
    + + + +
    + ), + }, + ]; + + const columnsForIntelligent: TableProps['columns'] = [ + { + title: '序号', + dataIndex: 'index', + key: 'index', + width: widths.index, + render: tableCellRender(false, TableCellValueType.Index, { + page: pagination.current! - 1, + pageSize: pagination.pageSize!, + }), + }, + { + title: '应用版本', + dataIndex: 'version', + key: 'version', + width: widths.version, + render: tableCellRender(), + }, + { + title: '资源类型', + dataIndex: 'replicas', + key: 'replicas', + render: tableCellRender(), + width: widths.replicas, + }, + { + title: '资源规格', + dataIndex: 'computing_resource_id', + key: 'computing_resource_id', + width: widths.computing_resource_id, + render: tableCellRender(true, TableCellValueType.Custom, { + format: getResourceDescription, + }), + }, + { + title: '运行镜像', + dataIndex: ['image', 'showValue'], + key: 'image', + width: widths.image, + render: tableCellRender(true), + }, + { + title: '模型', + dataIndex: ['model', 'showValue'], + key: 'model', + width: widths.model, + render: tableCellRender(true, TableCellValueType.Link, { + onClick: gotoModel, + }), + }, + { + title: '状态', + dataIndex: 'run_state', + key: 'run_state', + width: widths.run_state, + render: ServiceRunStatusCell, + }, + { + title: '操作', + dataIndex: 'operation', + width: widths.operation, + key: 'operation', + render: (_: any, record: ServiceVersionData) => ( +
    + + + {(record.run_state === ServiceRunStatus.Failed || + record.run_state === ServiceRunStatus.Stopped) && ( + + )} + {(record.run_state === ServiceRunStatus.Running || + record.run_state === ServiceRunStatus.Init || + record.run_state === ServiceRunStatus.Pending) && ( + + )} + + + + +
    + ), + }, + ]; + + const columns = + serviceSource === ApplicationSource.Platform + ? columnsForPlatform + : serviceSource === ApplicationSource.SuperCompute + ? columnsForSuper + : columnsForIntelligent; + return (
    diff --git a/src/pages/Application/Info/index.tsx b/src/pages/Application/Info/index.tsx index cff478b1..480db3a1 100644 --- a/src/pages/Application/Info/index.tsx +++ b/src/pages/Application/Info/index.tsx @@ -7,7 +7,7 @@ import KFIcon from '@/components/KFIcon'; import KFMdEditor from '@/components/KFMdEditor'; import { useCacheState } from '@/hooks/useCacheState'; -import { ServiceData } from '@/pages/Application/types'; +import { ApplicationSource, appSourceOptions, ServiceData } from '@/pages/Application/types'; import { cancelFavoriteServiceReq, deleteServiceReq, @@ -16,6 +16,7 @@ import { updateServiceReq, } from '@/services/modelDeployment'; import { formatDate } from '@/utils/date'; +import { formatEnum } from '@/utils/format'; import { openAntdModal } from '@/utils/modal'; import { to } from '@/utils/promise'; import SessionStorage from '@/utils/sessionStorage'; @@ -160,6 +161,7 @@ function AppInfo() { if (is_public) { const { close } = openAntdModal(PublishModal, { serviceId: serviceId, + serviceSource: serviceInfo!.source, onOk: (publishVersion) => { close(); updateService({ @@ -176,6 +178,7 @@ function AppInfo() { onOk: () => { updateService({ is_public, + public_version_id: serviceInfo?.public_version_id, }); }, }); @@ -243,6 +246,7 @@ function AppInfo() { ), }, - { - key: AppInfoTab.Task, - label: '任务列表', - children: , - }, + serviceInfo!.source !== ApplicationSource.IntelligentCompute + ? { + key: AppInfoTab.Task, + label: '任务列表', + children: , + } + : undefined, { key: AppInfoTab.Discussion, label: `讨论区 ${commentCnt > 999 ? '999+' : commentCnt}`, @@ -281,6 +287,39 @@ function AppInfo() { }, ].filter((v) => v !== undefined); + const categories = [ + { + label: '关注数:', + icon: 'icon-guanzhushu', + value: serviceInfo.mark_count, + }, + { + label: '类别:', + icon: 'icon-leibiebiaoqian', + value: serviceInfo.service_type, + }, + { + label: '标签:', + icon: 'icon-biaoqian', + value: serviceInfo.tag?.replaceAll(',', '、') || '--', + }, + { + label: '来源:', + icon: 'icon-laiyuan', + value: formatEnum(appSourceOptions)(serviceInfo.source ?? 0), + }, + { + label: '创建者:', + icon: 'icon-chuangjianzhe', + value: serviceInfo.create_by, + }, + { + label: '创建时间:', + icon: 'icon-a-zu16001', + value: formatDate(serviceInfo.create_time), + }, + ]; + return (
    @@ -428,32 +467,13 @@ function AppInfo() {
    -
    - - 关注数: - {serviceInfo.mark_count} -
    -
    - - 类别: - {serviceInfo.service_type} -
    - {} -
    - - 标签: - {serviceInfo.tag?.replaceAll(',', '、') || '--'} -
    -
    - - 创建者: - {serviceInfo.create_by} -
    -
    - - 创建时间: - {formatDate(serviceInfo.create_time)} -
    + {categories.map((category) => ( +
    + + {category.label} + {category.value} +
    + ))}
    diff --git a/src/pages/Application/IntelligentExec/index.tsx b/src/pages/Application/IntelligentExec/index.tsx new file mode 100644 index 00000000..a66ce42c --- /dev/null +++ b/src/pages/Application/IntelligentExec/index.tsx @@ -0,0 +1,10 @@ +import IframePage from '@/components/IFramePage'; +import themes from '@/styles/theme.less'; +import SessionStorage from '@/utils/sessionStorage'; + +function IntelligentResult() { + const url = SessionStorage.getItem(SessionStorage.intelligentComputingUrl); + return url && ; +} + +export default IntelligentResult; diff --git a/src/pages/Application/VersionInfo/index.less b/src/pages/Application/VersionInfo/index.less index 90248f34..cde05a72 100644 --- a/src/pages/Application/VersionInfo/index.less +++ b/src/pages/Application/VersionInfo/index.less @@ -5,5 +5,8 @@ &__content { height: 100%; + padding: 24px; + background-color: white; + border-radius: 10px; } } diff --git a/src/pages/Application/VersionInfo/index.tsx b/src/pages/Application/VersionInfo/index.tsx index cebee3f5..d814eb7d 100644 --- a/src/pages/Application/VersionInfo/index.tsx +++ b/src/pages/Application/VersionInfo/index.tsx @@ -3,30 +3,25 @@ * @Date: 2024-04-16 13:58:08 * @Description: 服务版本详情 */ -import VersionBasicInfo from '@/pages/ModelDeployment/components/VersionBasicInfo'; +import VersionBasicInfo from '@/pages/Application/components/VersionBasicInfo'; import { getServiceVersionInfoReq } from '@/services/modelDeployment'; import { to } from '@/utils/promise'; -import { useParams } from '@umijs/max'; +import { useParams, useSearchParams } from '@umijs/max'; import { useEffect, useState } from 'react'; import { ServiceVersionData } from '../types'; import styles from './index.less'; -export enum ModelDeploymentTabKey { - Basic = 'Basic', // 基本信息 - Predict = 'Predict', // 预测 - Guide = 'Guide', // 调用指南 - Log = 'Log', // 服务日志 -} - function ServiceVersionInfo() { const [versionInfo, setVersionInfo] = useState(undefined); const params = useParams(); const id = params.versionId; + const [searchParams] = useSearchParams(); + const source = searchParams.get('source'); useEffect(() => { // 获取服务版本详情 const getServiceVersionInfo = async () => { - const [res] = await to(getServiceVersionInfoReq(id)); + const [res] = await to(getServiceVersionInfoReq(Number(source), id!)); if (res && res.data) { setVersionInfo(res.data); } @@ -35,7 +30,7 @@ function ServiceVersionInfo() { if (id) { getServiceVersionInfo(); } - }, [id]); + }, [id, source]); return (
    diff --git a/src/pages/Application/components/CreateAppModal/index.tsx b/src/pages/Application/components/CreateAppModal/index.tsx index c2b23a29..fbd587d9 100644 --- a/src/pages/Application/components/CreateAppModal/index.tsx +++ b/src/pages/Application/components/CreateAppModal/index.tsx @@ -1,14 +1,17 @@ import ImagePicker, { ImagePickerServerType } from '@/components/ImagePicker'; import KFModal from '@/components/KFModal'; import { CardCoverType } from '@/enums'; +import { useTags } from '@/hooks/useTags'; +import { ApplicationSource, appSourceOptions, ServiceTemplate } from '@/pages/Application/types'; import { createServiceReq, getServiceInfoReq, + getServiceTemplatesReq, getServiceTypesReq, updateServiceReq, } from '@/services/modelDeployment'; import { to } from '@/utils/promise'; -import { Form, Input, Select, message, type ModalProps } from 'antd'; +import { Form, Input, message, Radio, Select, type ModalProps } from 'antd'; import { useEffect, useState } from 'react'; import styles from './index.less'; @@ -24,14 +27,18 @@ type FormData = { imageType: CardCoverType; img_url_select?: string; img_url_upload?: string; + template?: string; tag: string[]; + source: number; }; function CreateAppModal({ serviceId, onOk, ...rest }: CreateAppModalModalProps) { const [form] = Form.useForm(); const [types, setTypes] = useState<{ id: number; type: string }[]>([]); + const [templates, setTemplates] = useState([]); const [uuid] = useState(Date.now()); const MAX_LENGTH = 10; + const { lenValidator } = useTags(MAX_LENGTH); useEffect(() => { // 获取服务详情 @@ -63,6 +70,17 @@ function CreateAppModal({ serviceId, onOk, ...rest }: CreateAppModalModalProps) getAppTypes(); }, []); + useEffect(() => { + const getServiceTemplates = async () => { + const [res] = await to(getServiceTemplatesReq()); + if (res && res.data) { + setTemplates(res.data); + } + }; + + getServiceTemplates(); + }, []); + // 创建、更新服务 const createService = async (formData: FormData) => { const request = serviceId ? updateServiceReq : createServiceReq; @@ -90,70 +108,6 @@ function CreateAppModal({ serviceId, onOk, ...rest }: CreateAppModalModalProps) createService(formData); }; - const handleTagInputKeyDown = (e: React.KeyboardEvent) => { - const input = e.target as HTMLInputElement; - const value = input.value; - - // 特殊按键白名单 - const specialKeys = [ - 'Backspace', - 'Delete', - 'Tab', - 'Escape', - 'ArrowLeft', - 'ArrowRight', - 'ArrowUp', - 'ArrowDown', - 'Home', - 'End', - 'PageUp', - 'PageDown', - ]; - - // 控制键白名单 (Ctrl, Alt, Meta 组合键) - const controlKeys = ['Control', 'Alt', 'Meta']; - - // 功能键白名单 - const functionKeys = [ - 'F1', - 'F2', - 'F3', - 'F4', - 'F5', - 'F6', - 'F7', - 'F8', - 'F9', - 'F10', - 'F11', - 'F12', - ]; - - // 允许的按键 - const allowedKeys = [ - ...specialKeys, - ...controlKeys, - ...functionKeys, - 'Enter', // 允许回车确认输入 - ]; - - // 如果是允许的按键,直接放行 - if (allowedKeys.includes(e.key)) { - return; - } - - // 如果是 Ctrl + A (全选) 等组合键,放行 - if (e.ctrlKey || e.altKey || e.metaKey) { - return; - } - - // 限制普通字符输入长度 - if (value.length >= MAX_LENGTH) { - e.preventDefault(); - message.warning(`每个标签最多${MAX_LENGTH}个字符,当前已输入${value.length}个字符`); - } - }; - return ( + + ) + ); + }} + + { + const propsConfig = paramSelectConfig['remote-resource']; + const { getLabel, getValue } = propsConfig; + return { + ...v, + label: getLabel!(v), + value: getValue!(v), + }; + }); + const imageOptions = jccResourceSnap.images?.map((v: any) => { + const propsConfig = paramSelectConfig['remote-image']; + const { getLabel, getValue } = propsConfig; + return { + ...v, + label: getLabel!(v), + value: getValue!(v), + }; + }); + + useEffect(() => { + if (jccResourceSnap.types.length === 0) { + getResourceTypes(); + } + }, [jccResourceSnap.types]); + + const handleTypeChange = (value: string) => { + setCurrentType(value); + form.resetFields(['resource', 'image']); + }; + + return ( + <> + + + + { + // 接收时 + if (typeof value === 'object') { + return value.value; + } + return value; + }} + normalize={(value) => { + // 提交时 + if (value && (typeof value === 'number' || typeof value === 'string')) { + return imageOptions.find((v) => v.value === value); + } + return value; + }} + > + + + + + + {(fields, { add, remove }) => ( + <> + {fields.map(({ key, name, ...restField }, index) => ( + + ['env_variables', i, 'key'])} + rules={[ + { + validator: (_, value) => { + if (!value) { + return Promise.reject(new Error('请输入变量名')); + } + if (!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(value)) { + return Promise.reject( + new Error( + '变量名只支持字母、数字、下划线、中横线并且必须以字母或下划线开头', + ), + ); + } + // 判断不能重名 + const list = form + .getFieldValue('env_variables') + .filter( + (item: FormEnvVariable | undefined) => + item !== undefined && item !== null, + ); + + const names = list.map((item: FormEnvVariable) => item.key); + if (new Set(names).size !== names.length) { + return Promise.reject(new Error('名称不能重复')); + } + return Promise.resolve(); + }, + }, + ]} + > + + + = + + + + + + {index === fields.length - 1 && ( + + )} + + + ))} + {fields.length === 0 && ( + + + + )} + + )} + + + + ); +} + +export default PlatformForm; diff --git a/src/pages/Application/components/CreateAppVersionModal/SuperComputeForm.tsx b/src/pages/Application/components/CreateAppVersionModal/SuperComputeForm.tsx new file mode 100644 index 00000000..638316ec --- /dev/null +++ b/src/pages/Application/components/CreateAppVersionModal/SuperComputeForm.tsx @@ -0,0 +1,56 @@ +import { getServiceTemplatesReq } from '@/services/modelDeployment'; +import { to } from '@/utils/promise'; +import { Form, Select } from 'antd'; +import { useEffect, useState } from 'react'; + +export interface ServiceTemplate { + id: number; + name: string; + description: string; + params: string; + createBy: string; + createTime: string; + updateBy: string; + updateTime: string; + state: number; +} + +function SuperComputeForm() { + const [templates, setTemplates] = useState([]); + + useEffect(() => { + const getServiceTemplates = async () => { + const [res] = await to(getServiceTemplatesReq()); + if (res && res.data) { + setTemplates(res.data); + } + }; + + getServiceTemplates(); + }, []); + + return ( + <> + + + - - - - - - - - - - - - - - - - - - - - - - - {(fields, { add, remove }) => ( - <> - {fields.map(({ key, name, ...restField }, index) => ( - - ['env_variables', i, 'key'])} - rules={[ - { - validator: (_, value) => { - if (!value) { - return Promise.reject(new Error('请输入变量名')); - } - if (!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(value)) { - return Promise.reject( - new Error( - '变量名只支持字母、数字、下划线、中横线并且必须以字母或下划线开头', - ), - ); - } - // 判断不能重名 - const list = form - .getFieldValue('env_variables') - .filter( - (item: FormEnvVariable | undefined) => - item !== undefined && item !== null, - ); - - const names = list.map((item: FormEnvVariable) => item.key); - if (new Set(names).size !== names.length) { - return Promise.reject(new Error('名称不能重复')); - } - return Promise.resolve(); - }, - }, - ]} - > - - - = - - - - - - {index === fields.length - 1 && ( - - )} - - - ))} - {fields.length === 0 && ( - - - - )} - - )} - - + {serviceSource === ApplicationSource.Platform ? ( + + ) : serviceSource === ApplicationSource.IntelligentCompute ? ( + + ) : null} ); diff --git a/src/pages/Application/components/FeaturedItem/index.less b/src/pages/Application/components/FeaturedItem/index.less index 9f49e341..b0cada0b 100644 --- a/src/pages/Application/components/FeaturedItem/index.less +++ b/src/pages/Application/components/FeaturedItem/index.less @@ -17,7 +17,7 @@ color: white; font-size: 13px; line-height: 26px; - background-image: linear-gradient(105.56deg, #514cf9 0%, #ff8756 100%); + background-image: linear-gradient(105.56deg, @primary-color 0%, #ff8756 100%); border-radius: 0px 8px 0px 8px; } @@ -42,15 +42,36 @@ } &__title { - margin-bottom: 10px !important; + margin-bottom: 0 !important; color: @text-color; font-size: 16px; + line-height: 25px; } &:hover &__title { color: @primary-color; } + &__source { + flex: none; + height: 25px; + margin-left: 8px; + padding: 0 10px; + font-size: 12px; + line-height: 25px; + border-radius: 8px 0px 8px 0px; + &--super { + color: #068dbf; + background-color: rgba(6, 141, 191, 0.1); + border: 1px solid #068dbf; + } + &--intelligent { + color: #d59245; + background-color: rgba(213, 146, 69, 0.1); + border: 1px solid #d59245; + } + } + &__desc { margin-bottom: 10px !important; color: @text-color-secondary; @@ -73,7 +94,7 @@ color: #646a73; font-size: 12px; line-height: 27px; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 4px; } } @@ -122,7 +143,7 @@ margin-right: 0; color: transparent; font-size: 14px; - background: linear-gradient(155.5deg, #9941f1 0%, #514cf9 100%); + background: linear-gradient(155.5deg, #9941f1 0%, @primary-color 100%); -webkit-background-clip: text; background-clip: text; } diff --git a/src/pages/Application/components/FeaturedItem/index.tsx b/src/pages/Application/components/FeaturedItem/index.tsx index 82c17307..ffc1f8af 100644 --- a/src/pages/Application/components/FeaturedItem/index.tsx +++ b/src/pages/Application/components/FeaturedItem/index.tsx @@ -1,5 +1,7 @@ -import { ServiceData } from '@/pages/Application/types'; +import { ApplicationSource, appSourceOptions, ServiceData } from '@/pages/Application/types'; +import { formatEnum } from '@/utils/format'; import { Flex, Typography } from 'antd'; +import classNames from 'classnames'; import styles from './index.less'; export type FeaturedItemProps = { @@ -9,7 +11,17 @@ export type FeaturedItemProps = { }; function FeaturedItem({ app, isMine, onClick }: FeaturedItemProps) { - const { id, service_name, service_type, img_url, create_by, mark_count, description, tag } = app; + const { + id, + service_name, + service_type, + img_url, + create_by, + mark_count, + description, + tag, + source, + } = app; const tagList = tag?.split(',') ?? []; return (
    - - {service_name} - + + + {service_name} + + {(source === ApplicationSource.SuperCompute || + source === ApplicationSource.IntelligentCompute) && ( +
    + {formatEnum(appSourceOptions)(source)} +
    + )} +
    + = { + [ServiceRunStatus.Init]: { + text: '启动中', + classname: styles['model-deployment-status-cell--launch'], + }, + [ServiceRunStatus.Running]: { + classname: styles['model-deployment-status-cell--running'], + text: '运行中', + }, + [ServiceRunStatus.Stopped]: { + classname: styles['model-deployment-status-cell--stopped'], + text: '已停止', + }, + [ServiceRunStatus.Failed]: { + classname: styles['model-deployment-status-cell--error'], + text: '失败', + }, + [ServiceRunStatus.Pending]: { + classname: styles['model-deployment-status-cell--pending'], + text: '挂起中', + }, +}; + +function ServiceRunStatusCell(status?: ServiceRunStatus | null) { + if (status === null || status === undefined || !statusInfo[status]) { + return --; + } + return ( + + {statusInfo[status].text} + + ); +} + +export default ServiceRunStatusCell; diff --git a/src/pages/Application/components/VersionBasicInfo/index.less b/src/pages/Application/components/VersionBasicInfo/index.less new file mode 100644 index 00000000..0995b6c7 --- /dev/null +++ b/src/pages/Application/components/VersionBasicInfo/index.less @@ -0,0 +1,6 @@ +.basic-info { + a:hover { + text-decoration: underline @underline-color; + text-underline-offset: 3px; + } +} diff --git a/src/pages/Application/components/VersionBasicInfo/index.tsx b/src/pages/Application/components/VersionBasicInfo/index.tsx new file mode 100644 index 00000000..7e8fc939 --- /dev/null +++ b/src/pages/Application/components/VersionBasicInfo/index.tsx @@ -0,0 +1,111 @@ +import BasicInfo, { type BasicInfoData } from '@/components/BasicInfo'; +import { ServiceRunStatus } from '@/enums'; +import { useSystemResource } from '@/hooks/useComputingResource'; +import { ServiceVersionData } from '@/pages/Application/types'; +import { formatDate } from '@/utils/date'; +import { formatMirror, formatModel } from '@/utils/format'; +import { Flex } from 'antd'; +import ServiceRunStatusCell from '../ServiceRunStatusCell'; + +type BasicInfoProps = { + info?: ServiceVersionData; +}; + +// 格式化状态 +const formatStatus = (status?: ServiceRunStatus) => { + if (!status) { + return undefined; + } + + return ( + + {ServiceRunStatusCell(status)} + + ); +}; + +// 格式化环境变量 +const formatEnvText = (env?: Record) => { + if (!env || Object.keys(env).length === 0) { + return undefined; + } + + return Object.entries(env).map(([key, value]) => ({ + value: `${key}: ${value}`, + })); +}; + +function VersionBasicInfo({ info }: BasicInfoProps) { + const getResourceDescription = useSystemResource(); + + const datas: BasicInfoData[] = [ + { + label: '应用名称', + value: info?.service_name, + }, + { + label: '应用版本', + value: info?.version, + }, + // { + // label: '代码配置', + // value: info?.code_config, + // format: formatCodeConfig, + // }, + { + label: '运行镜像', + value: info?.image, + format: formatMirror, + }, + { + label: '状态', + value: info?.run_state, + format: formatStatus, + }, + { + label: '模型', + value: info?.model, + format: formatModel, + }, + { + label: '资源规格', + value: info?.computing_resource_id, + format: getResourceDescription, + }, + { + label: '挂载路径', + value: info?.mount_path, + }, + { + label: '文档地址', + value: info?.doc_path, + }, + { + label: '副本数量', + value: info?.replicas, + }, + { + label: '创建时间', + value: info?.create_time, + format: formatDate, + }, + { + label: '更新时间', + value: info?.update_time, + format: formatDate, + }, + { + label: '环境变量', + value: info?.env_variables, + format: formatEnvText, + }, + { + label: '版本描述', + value: info?.description, + }, + ]; + + return ; +} + +export default VersionBasicInfo; diff --git a/src/pages/Application/components/VersionCompareModal/index.less b/src/pages/Application/components/VersionCompareModal/index.less new file mode 100644 index 00000000..b15428d3 --- /dev/null +++ b/src/pages/Application/components/VersionCompareModal/index.less @@ -0,0 +1,116 @@ +@left-color: #1664ff; +@right-color: #514cf9; + +.title(@color, @background) { + width: 100%; + margin-bottom: 20px; + padding: 0 15px; + color: @color; + font-weight: 500; + font-size: @font-size; + line-height: 42px; + text-align: center; + background: @background; + border-radius: 4px 4px 0 0; +} + +.text(@padding: 0, @align: left) { + margin-bottom: 20px !important; + padding: @padding; + color: @text-color-secondary; + font-size: 13px; + line-height: 22px; + text-align: @align; + word-break: break-all; +} + +.version-container(@background) { + flex: 1; + min-width: 0; + background: @background; + border-radius: 4px; +} + +.version-compare-modal { + :global { + .ant-modal-body { + max-height: none !important; + } + } +} + +.version-compare { + position: relative; + display: flex; + flex-wrap: nowrap; + gap: 0 6px; + align-items: stretch; + // margin-top: 24px; + // padding: 15px; + // background-color: @background-color; + // border: 1px solid rgba(81, 76, 249, 0.1); + // border-radius: 4px; + + // &__triangle { + // position: absolute; + // top: -14px; + // left: 18px; + // z-index: 10; + // .triangle-up-with-border(@width: 20px, @height: 14px, @color: @background-color, @border-color: rgba(81, 76, 249, 0.1), @border-width: 1px); + // } + + &__fields { + flex: none; + width: 110px; + padding: 0 15px; + background: white; + background-color: @background-color; + border-radius: 4px; + + &__title { + margin-bottom: 20px; + color: @text-color; + font-size: @font-size; + line-height: 42px; + } + &__text { + .text(); + + &--different { + color: @text-color; + font-weight: 500; + } + } + } + + &__left { + .version-container(.addAlpha(@left-color, 0.04) []); + + &__title { + .title(@left-color, linear-gradient(159.9deg,rgba(138, 177, 255, 0.5) 0%,rgba(22, 100, 255, 0.5) 100%)); + } + + &__text { + .text(0 15px, center); + + &--different { + color: @left-color; + } + } + } + + &__right { + .version-container(.addAlpha(@right-color, 0.04) []); + &__title { + .title(@right-color, linear-gradient(159.9deg,rgba(193, 138, 255, 0.5) 0%,rgba(81, 76, 249, 0.5) 100%)); + } + + &__text { + .text(0 15px, center); + + &--different { + color: @right-color; + } + } + } +} diff --git a/src/pages/Application/components/VersionCompareModal/index.tsx b/src/pages/Application/components/VersionCompareModal/index.tsx new file mode 100644 index 00000000..21389d9b --- /dev/null +++ b/src/pages/Application/components/VersionCompareModal/index.tsx @@ -0,0 +1,208 @@ +import KFModal from '@/components/KFModal'; +import { ServiceRunStatus } from '@/enums'; +import { useSystemResource } from '@/hooks/useComputingResource'; +import { ApplicationSource, type ServiceVersionData } from '@/pages/Application/types'; +import { getServiceVersionCompareReq } from '@/services/modelDeployment'; +import { isEmpty } from '@/utils'; +import { to } from '@/utils/promise'; +import { Typography, type ModalProps } from 'antd'; +import classNames from 'classnames'; +import { useEffect, useMemo, useState } from 'react'; +import { statusInfo } from '../ServiceRunStatusCell'; +import styles from './index.less'; + +type CompareData = { + differences: Record; + version1: ServiceVersionData; + version2: ServiceVersionData; +}; + +type ServiceVersionDataKey = keyof ServiceVersionData; + +type FiledType = { + key: ServiceVersionDataKey; + text: string; + format?: (data: any) => any; +}; + +interface VersionCompareModalProps extends Omit { + version1: string; + version2: string; + serviceSource: ApplicationSource; // 应用来源 +} + +// 格式化环境变量 +const formatEnvText = (env: Record) => { + if (!env || Object.keys(env).length === 0) { + return '--'; + } + return Object.entries(env) + .map(([key, value]) => `${key} = ${value}`) + .join(','); +}; + +function VersionCompareModal({ + version1, + version2, + serviceSource, + ...rest +}: VersionCompareModalProps) { + const [compareData, setCompareData] = useState(undefined); + const getResourceDescription = useSystemResource(); + + const fields: FiledType[] = useMemo( + () => [ + { + key: 'service_name', + text: '服务名称', + }, + { + key: 'run_state', + text: '状态', + format: (data: any) => { + return data ? statusInfo[data as ServiceRunStatus].text : '--'; + }, + }, + { + key: 'image', + text: '镜像', + format: (data: any) => { + return data?.showValue; + }, + }, + // { + // key: 'code_config', + // text: '代码配置', + // format: (data: any) => { + // return data?.showValue; + // }, + // }, + { + key: 'model', + text: '模型', + format: (data: any) => { + return data?.showValue; + }, + }, + { + key: 'computing_resource_id', + text: '资源规格', + format: getResourceDescription, + }, + { + key: 'replicas', + text: '副本数', + }, + { + key: 'mount_path', + text: '挂载路径', + }, + { + key: 'url', + text: '服务URL', + }, + { + key: 'env_variables', + text: '环境变量', + format: formatEnvText, + }, + { + key: 'description', + text: '描述', + }, + ], + [getResourceDescription], + ); + + useEffect(() => { + // 获取对比数据 + const getServiceVersionCompare = async () => { + const params = { + id1: version1, + id2: version2, + source: serviceSource, + }; + const [res] = await to(getServiceVersionCompareReq(params)); + if (res && res.data) { + setCompareData(res.data); + } + }; + + getServiceVersionCompare(); + }, [version1, version2, serviceSource]); + + const { + version1: v1 = {} as ServiceVersionData, + version2: v2 = {} as ServiceVersionData, + differences = {}, + } = compareData || {}; + + const isDifferent = (key: ServiceVersionDataKey) => { + const keys = Object.keys(differences); + return keys.includes(key); + }; + + return ( + +
    +
    +
    基础版本号
    + {fields.map(({ key, text }) => ( +
    + {text} +
    + ))} +
    +
    +
    {v1.version}
    + {fields.map(({ key, format }) => { + const text = format ? format(v1[key]) : v1[key]; + return ( +
    + + {isEmpty(text) ? '--' : text} + +
    + ); + })} +
    +
    +
    {v2.version}
    + {fields.map(({ key, format }) => { + const text = format ? format(v2[key]) : v2[key]; + return ( +
    + + {isEmpty(text) ? '--' : text} + +
    + ); + })} +
    +
    +
    + ); +} + +export default VersionCompareModal; diff --git a/src/pages/Application/types.ts b/src/pages/Application/types.ts index 22c21de7..6760fca3 100644 --- a/src/pages/Application/types.ts +++ b/src/pages/Application/types.ts @@ -21,6 +21,7 @@ export type ServiceData = { public_version_id?: number; // 发布的版本id tag?: string; comment_count: number; + source: ApplicationSource; // 来源 }; // 服务版本数据类型 @@ -110,6 +111,7 @@ export interface ServiceTaskResult { result_path: string; status: string; task_id: string; + batch_download: TaskUploadFile; } export interface TaskResultFile { @@ -117,3 +119,46 @@ export interface TaskResultFile { fileName: string; fileSize: string; } + +export interface TaskUploadFile { + size: number; + file_id: string; + filename: string; + direct_url: string; + content_type: string; + storage_type: string; +} + +export enum ApplicationSource { + Platform = 0, + SuperCompute = 1, // 超算 + IntelligentCompute = 2, // 智算 +} + +export const appSourceOptions = [ + { + label: 'MatrAIx', + value: ApplicationSource.Platform, + }, + { + label: '超算', + value: ApplicationSource.SuperCompute, + }, + { + label: '智算', + value: ApplicationSource.IntelligentCompute, + }, +]; + +// 超算应用模板 +export interface ServiceTemplate { + id: number; + name: string; + description: string; + params: string; + createBy: string; + createTime: string; + updateBy: string; + updateTime: string; + state: number; +} diff --git a/src/pages/Authorize/index.less b/src/pages/Authorize/index.less deleted file mode 100644 index e69de29b..00000000 diff --git a/src/pages/Authorize/index.tsx b/src/pages/Authorize/index.tsx index 8c3b4d90..d9b71f8f 100644 --- a/src/pages/Authorize/index.tsx +++ b/src/pages/Authorize/index.tsx @@ -1,12 +1,12 @@ import { setSessionToken } from '@/access'; import { loginByOauth2Req } from '@/services/auth'; +import { HomeUrl } from '@/utils/constant'; import { to } from '@/utils/promise'; import SessionStorage from '@/utils/sessionStorage'; import { history, useModel, useSearchParams } from '@umijs/max'; import { message } from 'antd'; import { useCallback, useEffect } from 'react'; import { flushSync } from 'react-dom'; -import styles from './index.less'; function Authorize() { const { initialState, setInitialState } = useModel('@@initialState'); @@ -30,7 +30,7 @@ function Authorize() { const loginByOauth2 = useCallback(async () => { const { origin } = location; const sessionRedirectUrl = SessionStorage.getItem(SessionStorage.redirectUrl); - const redirectUrlParam = redirect || sessionRedirectUrl || '/workspace'; + const redirectUrlParam = redirect || sessionRedirectUrl || HomeUrl; const params = { code, redirectUrl: origin + redirectUrlParam, @@ -57,7 +57,7 @@ function Authorize() { loginByOauth2(); }, [loginByOauth2]); - return
    ; + return
    ; } export default Authorize; diff --git a/src/pages/AutoML/Create/index.less b/src/pages/AutoML/Create/index.less index 5d0ec854..72dcc7f3 100644 --- a/src/pages/AutoML/Create/index.less +++ b/src/pages/AutoML/Create/index.less @@ -1,12 +1,12 @@ .create-automl { height: 100%; - padding-top: @page-padding-top; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); &__content { - height: calc(100% - 60px); - margin-top: 10px; - padding: 30px 30px 10px; - overflow: auto; + height: 100%; + padding: 24px; + overflow-y: auto; color: @text-color; font-size: @font-size-content; background-color: white; diff --git a/src/pages/AutoML/Create/index.tsx b/src/pages/AutoML/Create/index.tsx index 53cdf8bb..ae8e5065 100644 --- a/src/pages/AutoML/Create/index.tsx +++ b/src/pages/AutoML/Create/index.tsx @@ -3,7 +3,6 @@ * @Date: 2024-04-16 13:58:08 * @Description: 创建实验 */ -import PageTitle from '@/components/PageTitle'; import { AutoMLEnsembleClass, AutoMLTaskType, AutoMLType } from '@/enums'; import { addAutoMLReq, getAutoMLInfoReq, updateAutoMLReq } from '@/services/autoML'; import { convertEmptyStringToUndefined, parseJsonText, trimCharacter } from '@/utils'; @@ -160,21 +159,10 @@ function CreateAutoML() { navigate(-1); }; - let buttonText = '新建'; - let title = '新建实验'; - if (id) { - if (isCopy) { - title = '复制实验'; - buttonText = '确定'; - } else { - title = '编辑实验'; - buttonText = '更新'; - } - } + const buttonTitle = id ? (isCopy ? '确定' : '更新') : '新建'; return (
    -
    )}
    @@ -196,7 +195,7 @@ function ExperimentInstanceList({ item.status === ExperimentStatus.Failed || item.status === ExperimentStatus.Terminated } - icon={} + //icon={} onClick={() => handleTerminate(item)} > 终止 @@ -212,11 +211,12 @@ function ExperimentInstanceList({ type="link" size="small" key="batchRemove" + danger disabled={ item.status === ExperimentStatus.Running || item.status === ExperimentStatus.Pending } - icon={} + // icon={} onClick={() => handleRemove(item)} > 删除 diff --git a/src/pages/AutoML/components/ExperimentList/config.ts b/src/pages/AutoML/components/ExperimentList/config.ts index 647b5c8c..0a65febd 100644 --- a/src/pages/AutoML/components/ExperimentList/config.ts +++ b/src/pages/AutoML/components/ExperimentList/config.ts @@ -72,7 +72,7 @@ export const experimentListConfig: Record { - setSearchText(value); - setPagination((prev) => ({ - ...prev, - current: 1, - })); + const handleSearch = (value: string) => { + if (searchText !== value) { + setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); + } }; // 类型改变 @@ -278,11 +277,16 @@ function ExperimentList({ type }: ExperimentListProps) { expandedRowKeys, }); + const searchParams = new URLSearchParams(); + if (record?.scene) { + searchParams.set('scene', record?.scene); + } + if (record) { if (isCopy) { - navigate(`copy/${record.id}`); + navigate(`copy/${record.id}?${searchParams.toString()}`); } else { - navigate(`edit/${record.id}`); + navigate(`edit/${record.id}?${searchParams.toString()}`); } } else { navigate(`create`); @@ -297,7 +301,12 @@ function ExperimentList({ type }: ExperimentListProps) { expandedRowKeys, }); - navigate(`info/${record.id}`); + const searchParams = new URLSearchParams(); + if (record?.scene) { + searchParams.set('scene', record?.scene); + } + + navigate(`info/${record.id}?${searchParams.toString()}`); }; // 启动自动机器学习 @@ -388,7 +397,24 @@ function ExperimentList({ type }: ExperimentListProps) { }, ]; - const diffColumns = type === ExperimentListType.AutoML ? typeColumns : []; + const sceneColumns = [ + { + title: '场景', + dataIndex: 'scene', + key: 'scene', + width: '15%', + render: tableCellRender(false, TableCellValueType.Enum, { + options: taskScenarioOptions, + }), + }, + ]; + + const diffColumns = + type === ExperimentListType.AutoML + ? typeColumns + : type === ExperimentListType.ActiveLearn + ? sceneColumns + : []; const columns: TableProps['columns'] = [ { @@ -396,7 +422,7 @@ function ExperimentList({ type }: ExperimentListProps) { dataIndex: config.nameProperty, key: 'name', width: '30%', - render: tableCellRender(false, TableCellValueType.Link, { + render: tableCellRender(true, TableCellValueType.Link, { onClick: gotoDetail, }), }, @@ -405,7 +431,10 @@ function ExperimentList({ type }: ExperimentListProps) { dataIndex: config.descProperty, key: 'description', render: tableCellRender(true), - width: type === ExperimentListType.AutoML ? '35%' : '50%', + width: + type === ExperimentListType.AutoML || type === ExperimentListType.ActiveLearn + ? '35%' + : '50%', }, ...diffColumns, { @@ -449,55 +478,50 @@ function ExperimentList({ type }: ExperimentListProps) { { title: '操作', dataIndex: 'operation', - width: 360, + width: 260, key: 'operation', render: (_: any, record: AutoMLData) => ( -
    +
    + + - - + - + 删除 +
    ), }, @@ -505,15 +529,14 @@ function ExperimentList({ type }: ExperimentListProps) { return (
    -
    - setInputText(e.target.value)} - style={{ width: 300 }} + setInputText(e.target.value)} allowClear /> {type === ExperimentListType.AutoML && ( @@ -523,15 +546,16 @@ function ExperimentList({ type }: ExperimentListProps) { onChange={handleTypeChange} options={allAutoMLTypeOptions} value={experimentType} + variant="filled" > )}
    - 文件名 - {modelPath.split('/').pop()} - -
    + +
    + 文件名 + {modelPath.split('/').pop()} + +
    +
    )}
    ); diff --git a/src/pages/AutoML/components/ExperimentVisualResult/index.less b/src/pages/AutoML/components/ExperimentVisualResult/index.less index 2cf61f91..20dede38 100644 --- a/src/pages/AutoML/components/ExperimentVisualResult/index.less +++ b/src/pages/AutoML/components/ExperimentVisualResult/index.less @@ -1,6 +1,9 @@ .experiment-visual { width: 100%; height: 100%; + padding: 24px; + background-color: white; + border-radius: 0 10px 10px 10px; &__empty { height: 100%; diff --git a/src/pages/AutoML/components/ExperimentVisualResult/index.tsx b/src/pages/AutoML/components/ExperimentVisualResult/index.tsx index afdbdaff..910a235d 100644 --- a/src/pages/AutoML/components/ExperimentVisualResult/index.tsx +++ b/src/pages/AutoML/components/ExperimentVisualResult/index.tsx @@ -4,13 +4,12 @@ * @Description: 可视化 */ -import IframePage, { IframePageType } from '@/components/IFramePage'; +import IframePage from '@/components/IFramePage'; import KFEmpty, { EmptyType } from '@/components/KFEmpty'; import KFSpin from '@/components/KFSpin'; import { TensorBoardStatus } from '@/enums'; import { getTensorBoardStatusReq, runTensorBoardReq } from '@/services/experiment/index.js'; import { to } from '@/utils/promise'; -import SessionStorage from '@/utils/sessionStorage'; import { LoadingOutlined } from '@ant-design/icons'; import { useCallback, useEffect, useState } from 'react'; import styles from './index.less'; @@ -51,7 +50,6 @@ function ExperimentVisualResult({ namespace, path }: TensorBoardProps) { const [res] = await to(runTensorBoardReq(params)); if (res && res.data) { const url = res.data; - SessionStorage.setItem(SessionStorage.tensorBoardUrlKey, url); setTensorboardUrl(url); getTensorBoardStatus(); } else { @@ -86,7 +84,7 @@ function ExperimentVisualResult({ namespace, path }: TensorBoardProps) { } else if (status === TensorBoardStatus.Running) { return (
    - +
    ); } diff --git a/src/pages/AutoML/types.ts b/src/pages/AutoML/types.ts index 89bc05e8..0f6ae797 100644 --- a/src/pages/AutoML/types.ts +++ b/src/pages/AutoML/types.ts @@ -71,6 +71,7 @@ export type AutoMLData = { update_time?: string; status_list: string; // 最近五次运行状态 param: string; // 参数json字符串 + scene?: string; } & Omit< FormData, 'metrics|dataset|include_classifier|include_feature_preprocessor|include_regressor|exclude_classifier|exclude_feature_preprocessor|exclude_regressor' diff --git a/src/pages/CodeConfig/List/index.less b/src/pages/CodeConfig/List/index.less index 6ffc6d41..4d164550 100644 --- a/src/pages/CodeConfig/List/index.less +++ b/src/pages/CodeConfig/List/index.less @@ -1,43 +1,54 @@ .code-config { + display: flex; + flex-direction: column; height: 100%; - padding-top: @page-padding-top; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); &__tabs-container { - height: 50px; - padding-left: 27px; - background-image: url(@/assets/img/page-title-bg.png); - background-repeat: no-repeat; - background-position: top center; - background-size: 100% 100%; + flex: none; + .customCardTabs(); } &__list { display: flex; + flex: 1; flex-direction: column; - height: calc(100% - 60px); - margin-top: 10px; - padding: 30px 30px 0; + min-height: 0; + padding: 24px 0; background: white; - border-radius: 10px; - box-shadow: 0px 2px 12px rgba(180, 182, 191, 0.09); + border-radius: 0 10px 10px 10px; &__header { display: flex; align-items: center; height: 32px; - color: @text-color; - font-size: 15px; + padding: 0 20px; + color: @text-color-secondary; + font-size: 16px; + + &__total { + color: @text-color; + } } &__content { - display: flex; - flex: 1 1 0%; - flex-wrap: wrap; + display: grid; + flex: 1; + grid-auto-rows: max-content; + grid-template-columns: repeat(4, 1fr); gap: 20px; - align-content: flex-start; + align-content: start; width: 100%; - margin: 25px 0; + margin-top: 16px; + padding: 4px 20px; overflow-y: auto; + + @media screen and (max-width: 1680px) { + & { + grid-template-columns: repeat(3, 1fr); + } + } } &__empty { @@ -46,11 +57,12 @@ align-items: center; justify-content: center; } + } - :global { - .ant-pagination { - margin-bottom: 25px; - } + :global { + .ant-pagination { + flex: none; + margin-top: 20px; } } } diff --git a/src/pages/CodeConfig/List/index.tsx b/src/pages/CodeConfig/List/index.tsx index 5241cb38..4dea8445 100644 --- a/src/pages/CodeConfig/List/index.tsx +++ b/src/pages/CodeConfig/List/index.tsx @@ -5,14 +5,14 @@ */ import KFEmpty, { EmptyType } from '@/components/KFEmpty'; -import KFIcon from '@/components/KFIcon'; +import KFSearch from '@/components/KFSearch'; import { CommonTabKeys } from '@/enums'; import { deleteCodeConfigReq, getCodeConfigListReq } from '@/services/codeConfig'; import { getGitUrl } from '@/utils'; import { openAntdModal } from '@/utils/modal'; import { to } from '@/utils/promise'; import { modalConfirm } from '@/utils/ui'; -import { App, Button, Input, Pagination, PaginationProps, Tabs, TabsProps } from 'antd'; +import { App, Button, Pagination, PaginationProps, Tabs, TabsProps } from 'antd'; import { useCallback, useEffect, useState } from 'react'; import AddCodeConfigModal, { OperationType } from '../components/AddCodeConfigModal'; import CodeConfigItem from '../components/CodeConfigItem'; @@ -91,17 +91,20 @@ function CodeConfigList() { // 搜索 const handleSearch = (value: string) => { - setSearchText(value); - setPagination((prev) => ({ - ...prev, - current: 1, - })); + if (value !== searchText) { + setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); + } }; // 删除 const handleRemove = (record: CodeConfigData) => { modalConfirm({ - title: '确定删除这个代码配置吗?', + title: '确定删除当前代码配置吗?', + content: '删除后将不可恢复,请谨慎操作!', onOk: () => { deleteRecord(record.id); }, @@ -132,8 +135,13 @@ function CodeConfigList() { const { close } = openAntdModal(AddCodeConfigModal, { opType: OperationType.Create, onOk: () => { - getDataList(); close(); + setInputText(undefined); + setSearchText(undefined); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }, }); }; @@ -150,12 +158,12 @@ function CodeConfigList() { { key: CommonTabKeys.Public, label: '公共代码', - icon: , + // icon: , }, { key: CommonTabKeys.Private, label: '个人代码', - icon: , + // icon: , }, ]; @@ -171,69 +179,65 @@ function CodeConfigList() { return (
    - +
    - 代码配置总数:{total} 个 - + 全部:{total} 个 +
    + setInputText(e.target.value)} value={inputText} + onChange={(e) => setInputText(e.target.value)} + allowClear />
    - - {dataList && dataList.length !== 0 && ( - <> -
    - {dataList.map((item) => ( - - ))} -
    - - - )} - {dataList && dataList.length === 0 && ( + {dataList && dataList.length > 0 ? ( +
    + {dataList.map((item) => ( + + ))} +
    + ) : dataList && dataList.length === 0 ? ( - )} + ) : null}
    + {dataList && dataList.length > 0 && ( + + )}
    ); } diff --git a/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx b/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx index c250547a..db1a77a9 100644 --- a/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx +++ b/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx @@ -93,8 +93,7 @@ function AddCodeConfigModal({ opType, codeConfigData, onOk, ...rest }: AddCodeCo onClick?.(item)}> - - + {/* + /> */} {item.code_repo_name} - {/*
    + + + + {item.git_url} + + + + {item.git_branch} + + + + - {item.is_public ? '公开' : '私有'} -
    */} + {item.create_by} + + + + {timeAgo} +
    -
    - - {item.git_url} - - - {item.git_branch} - -
    - -
    - - {item.create_by} -
    -
    - - 最近更新: {formatDate(item.update_time, 'YYYY-MM-DD')} -
    -
    + {/* */}
    ); } diff --git a/src/pages/Dataset/components/AddBigDatasetVersionModal/index.tsx b/src/pages/Dataset/components/AddBigDatasetVersionModal/index.tsx index 6b1983df..e1bcfc7f 100644 --- a/src/pages/Dataset/components/AddBigDatasetVersionModal/index.tsx +++ b/src/pages/Dataset/components/AddBigDatasetVersionModal/index.tsx @@ -1,5 +1,5 @@ -import KFIcon from '@/components/KFIcon'; import KFModal from '@/components/KFModal'; +import UploadBlock from '@/components/UploadBlock'; import { BigDataMarkStatus, BigDataPremarkStatus, @@ -25,7 +25,6 @@ import { to } from '@/utils/promise'; import { getFileListFromEvent, limitUploadFileType, validateUploadFiles } from '@/utils/ui'; import { QuestionCircleOutlined } from '@ant-design/icons'; import { - Button, Form, Input, Radio, @@ -131,7 +130,11 @@ function AddBigDatasetVersionModal({ customRequest: dataType === BigDataType.Pretraining ? sliptUploadRequest : uploadSmallFileRequest, defaultFileList: [], - beforeUpload: limitUploadFileType(rule.accept, rule.fleSize, rule.fleSizeUnit), + beforeUpload: limitUploadFileType({ + extensions: rule.accept, + size: rule.fleSize, + unit: rule.fleSizeUnit, + }), onRemove: BigDataType.Pretraining ? cancelUpload : undefined, accept: rule.accept, maxCount: 1, @@ -219,7 +222,11 @@ function AddBigDatasetVersionModal({ onFinish={onFinish} autoComplete="off" form={form} - scrollToFirstError + scrollToFirstError={{ + behavior: 'smooth', + block: 'center', + scrollMode: 'if-needed', + }} > - - - {resourceType === ResourceType.Dataset && ( -
    - {pattern === 'PDF' ? rule.tips_pdf : rule.tips} -
    - )} + +
    diff --git a/src/pages/Dataset/components/AddBigDatasetVersionModal/useSplitUpload.ts b/src/pages/Dataset/components/AddBigDatasetVersionModal/useSplitUpload.ts index 35f84a91..0badf8df 100644 --- a/src/pages/Dataset/components/AddBigDatasetVersionModal/useSplitUpload.ts +++ b/src/pages/Dataset/components/AddBigDatasetVersionModal/useSplitUpload.ts @@ -15,7 +15,7 @@ const useSplitUpload = () => { // 使用 useRef 来持久化存储队列对象,避免重新渲染时丢失 const fileUploadChunkQueue = useRef>({}); // 分片大小 - const DEFAULT_SIZE = 10 * 1024 * 1024; + const DEFAULT_SIZE = 5 * 1024 * 1024; // 重试次数 const RETRY_COUNT = 2; // 并发数 diff --git a/src/pages/Dataset/components/AddBigDatasetVersionModal/utils.ts b/src/pages/Dataset/components/AddBigDatasetVersionModal/utils.ts index cd1f0341..8b49a9ce 100644 --- a/src/pages/Dataset/components/AddBigDatasetVersionModal/utils.ts +++ b/src/pages/Dataset/components/AddBigDatasetVersionModal/utils.ts @@ -102,7 +102,14 @@ export const uploadSmallFileRequest: UploadProps['customRequest'] = async ({ } }; -// 生成分片上传的地址 +// 生成数据集分片上传的地址 export const generateTargetDir = (tenantId: string, username: string) => { - return `${tenantId}/${username}/flint_model_eval/${generateUUID()}/checkpoints/`; + return `${tenantId}/${username}/tmp/${generateUUID()}/checkpoints/`; +}; + +// 生成模型分片上传的地址 +export const generateModelTargetDir = (tenantId: string, username: string, fileName?: string) => { + return `s3://${tenantId}/public/system/flint_model_eval/${generateUUID()}/checkpoints/${ + fileName ?? '' + }`; }; diff --git a/src/pages/Dataset/components/AddBigModelVersionModal/index.tsx b/src/pages/Dataset/components/AddBigModelVersionModal/index.tsx index c172c8d4..03c3aa0b 100644 --- a/src/pages/Dataset/components/AddBigModelVersionModal/index.tsx +++ b/src/pages/Dataset/components/AddBigModelVersionModal/index.tsx @@ -1,21 +1,12 @@ -import KFIcon from '@/components/KFIcon'; import KFModal from '@/components/KFModal'; -import { bigModelTypeOptions } from '@/enums'; -import useSplitUpload from '@/pages/Dataset/components/AddBigDatasetVersionModal/useSplitUpload'; +import UploadBlock from '@/components/UploadBlock'; import { DataSource, ResourceType, resourceConfig } from '@/pages/Dataset/config'; -import { - createBigModelVersionReq, - getBasicModelReq, - getBigModelNextVersionReq, -} from '@/services/bigModel'; +import { createBigModelVersionReq, getBigModelNextVersionReq } from '@/services/bigModel'; import { to } from '@/utils/promise'; import { getFileListFromEvent, limitUploadFileType, validateUploadFiles } from '@/utils/ui'; import { - Button, Form, Input, - Radio, - Select, Upload, message, type ModalProps, @@ -23,8 +14,8 @@ import { type UploadProps, } from 'antd'; import { omit } from 'lodash'; -import { useEffect, useState } from 'react'; -import styles from '../AddDatasetModal/index.less'; +import { useEffect } from 'react'; +import useSplitUpload from './useSplitUpload'; interface AddModelVersionModalProps extends Omit { resourceType: ResourceType; @@ -58,16 +49,18 @@ function AddBigModelVersionModal({ }: AddModelVersionModalProps) { const [form] = Form.useForm(); const config = resourceConfig[resourceType]; - const [profiles, setProfiles] = useState([]); const [sliptUploadRequest, cancelUpload] = useSplitUpload(); // 上传组件参数 const uploadProps: UploadProps = { customRequest: sliptUploadRequest, defaultFileList: [], - beforeUpload: limitUploadFileType('.bin,.data', 5, 'GB'), + beforeUpload: limitUploadFileType({ + size: 5, + unit: 'GB', + }), onRemove: cancelUpload, - accept: '.bin,.data', + // accept: '.bin,.data', maxCount: 1, data: { tenantId, @@ -86,16 +79,6 @@ function AddBigModelVersionModal({ getNextVersion(); }, [resourceId, form]); - const getBasicModelOptions = async (value: string) => { - const [res] = await to(getBasicModelReq(value === '预训练' ? 'pretrain' : 'SFT')); - if (res && res.data && Array.isArray(res.data)) { - setProfiles(res.data.filter((v: any) => v.queryName !== 'trainingMethod')); - } else { - setProfiles([]); - } - form.resetFields(['baseModel']); - }; - // 上传请求 const createDatasetVersion = async (params: any) => { const [res] = await to(createBigModelVersionReq(params)); @@ -117,11 +100,11 @@ function AddBigModelVersionModal({ const params = { ...omit(formData, 'fileList'), modelManagerId: resourceId, - name: `${resoureName}(${formData.taskType})}`, + name: resoureName, modelPath: uploadedFiles[0], + information: uploadedFiles[0], source: DataSource.Create, - modelCategory: 'LANGUAGE_MODEL', - baseModelProvider: 'Spark', + trainType: 1, }; createDatasetVersion(params); } @@ -149,7 +132,11 @@ function AddBigModelVersionModal({ onFinish={onFinish} autoComplete="off" form={form} - scrollToFirstError + scrollToFirstError={{ + behavior: 'smooth', + block: 'center', + scrollMode: 'if-needed', + }} > - - - - - - + {process.env.UMI_APP_HUO_SHI && ( - + 小模型数据 大模型数据 )} - + {({ getFieldValue }) => { - const datasetType = getFieldValue('dataset_type'); + const datasetType = getFieldValue('type'); if (datasetType === ModelType.Big) { return ( ); @@ -176,50 +243,74 @@ function AddDatasetModal({ typeList, onOk, ...rest }: AddDatasetModalProps) { multiple showSearch virtual={false} + popupClassName={'kf-tree-select'} + treeExpandAction="click" /> - - - - {/* - + {process.env.UMI_APP_HUO_SHI && ( - + 小模型 大模型 @@ -127,52 +185,75 @@ function AddModelModal({ typeList, onOk, ...rest }: AddModelModalProps) { multiple showSearch virtual={false} + popupClassName={'kf-tree-select'} + treeExpandAction="click" /> - + - */} - - {/* - - */} + + {({ getFieldValue }) => { + const type = getFieldValue('type'); + return type === ModelType.Big ? ( + + + + ) : ( + + + + ); + }} + ); diff --git a/src/pages/Dataset/components/AddVersionModal/index.tsx b/src/pages/Dataset/components/AddVersionModal/index.tsx index 790bf6ce..6754c766 100644 --- a/src/pages/Dataset/components/AddVersionModal/index.tsx +++ b/src/pages/Dataset/components/AddVersionModal/index.tsx @@ -8,7 +8,6 @@ import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; import { Form, Input, Upload, UploadFile, message, type ModalProps, type UploadProps } from 'antd'; import { omit } from 'lodash'; import { useEffect, useState } from 'react'; -import styles from '../AddDatasetModal/index.less'; interface AddVersionModalProps extends Omit { resourceType: ResourceType; @@ -119,7 +118,11 @@ function AddVersionModal({ onFinish={onFinish} autoComplete="off" form={form} - scrollToFirstError + scrollToFirstError={{ + behavior: 'smooth', + block: 'center', + scrollMode: 'if-needed', + }} > - {/* - */} + - + - onSearch(inputText)} - onPressEnter={() => onSearch(inputText)} - className={styles['category-list__search']} - onChange={(e) => setInputText(e.target.value)} + scene="transparent" + style={{ width: '100%' }} + onSearch={onSearch} value={inputText} - prefix={ - - } + onChange={(e) => setInputText(e.target.value)} allowClear />
    @@ -97,8 +90,8 @@ function CategoryList({ { const [versionInfo, setVersionInfo] = useState({} as ResourceData); // 版本详情 const locationParams = useParams(); @@ -83,14 +69,14 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { const typeName = config.name; // 数据集/模型 const { message } = App.useApp(); const [resourceInfo, setResourceInfo] = useState({} as UniResourceData); // 数据集、模型详情 - const { initialState } = useModel('@@initialState'); const { currentUser } = initialState || {}; const description = resourceInfo.description; const typePropertyName = config.typeParamKey; - // const tagPropertyName = config.tagParamKey; - const dataTypeList = resourceInfo[typePropertyName]?.split(',') ?? []; - // const dataTag = resourceInfo[tagPropertyName]; + const tagPropertyName = config.tagParamKey; + const dataTypeList = resourceInfo[typePropertyName]?.split(',')?.filter((v) => !!v) ?? []; + const dataTagList = resourceInfo[tagPropertyName]?.split(',')?.filter((v) => !!v) ?? []; + const allTags = [...dataTypeList, ...dataTagList]; const isMine = currentUser?.userName === resourceInfo.create_by; // 获取小模型详情(没传版本时)/版本详情 @@ -136,8 +122,6 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { const data = changePropertyName(res.data, { modelType: 'model_type', modelTag: 'model_tag', - modelDescription: 'description', - modelName: 'name', praisesCount: 'praises_count', isPraised: 'praised', userName: 'create_by', @@ -182,16 +166,17 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { const request = config.getBigVersions; const [res] = await to(request(resourceIdStr)); if (res && res.data) { - const content = resourceType === ResourceType.Dataset ? res.data : res.data.content; + const content = + resourceType === ResourceType.Dataset ? res.data : res.data.flintModelRepoDTOList; if (Array.isArray(content) && content.length > 0) { - const versionList = content.map((v: any) => ({ - version: - resourceType === ResourceType.Dataset ? v.id : v.flintModelRepoDTOList?.[0]?.id, - name: resourceType === ResourceType.Dataset ? v.version : v.versionNum, + const versions = content.map((v: any) => ({ + version: v.id, + name: v.version, deleteId: v.id, - })); - setVersionList(versionList); - setInitVersion(versionList); + })) as ResourceVersionData[]; + + setVersionList(versions); + setInitVersion(versions); } else { setVersionList([]); setVersion(undefined); @@ -414,11 +399,17 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { resourceInfo.praised === true ? isBigModel ? config.unpraiseBigModel - : unpraiseResourceReq + : config.unpraiseReq : isBigModel ? config.praiseBigModel - : praiseResourceReq; - const [res] = await to(request(resourceInfo.id)); + : config.praiseReq; + const params = isBigModel + ? resourceInfo.id + : { + id: resourceInfo.id, + identifier: identifier, + }; + const [res] = await to(request(params)); if (res) { message.success('操作成功'); setResourceInfo((prev) => ({ @@ -429,6 +420,25 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { } }; + // 处理编辑 + const hanldeEdit = () => { + const Modal = resourceType === ResourceType.Dataset ? AddDatasetModal : AddModelModal; + const { close } = openAntdModal(Modal, { + info: { + ...resourceInfo, + type: isBigModel ? ModelType.Big : ModelType.Small, + }, + onOk: () => { + close(); + if (isBigModel) { + getBigModelResourceDetail(); + } else { + getResourceDetail(); + } + }, + }); + }; + // 处理发布 const handlePublish = async () => { modalConfirm({ @@ -445,7 +455,7 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { const publishResource = async () => { const request = config.publish; const params = { - id: resourceId, + id: isBigModel ? resourceIdStr : resourceId, owner, name, identifier, @@ -561,45 +571,54 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { />
    {name}
    - {dataTypeList?.map((item) => ( + {allTags.map((item) => (
    {item}
    ))}
    -
    - - 点赞 - - {resourceInfo.praises_count} - -
    - {isMine && versionList && versionList.length > 0 && resourceInfo?.is_public === false && ( - + )} + {isMine && + versionList && + versionList.length > 0 && + resourceInfo?.is_public === false && ( + + )} +
    - 发布 - - )} + + {resourceInfo.praises_count} +
    + {version ? ( @@ -671,6 +690,8 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { {activeTab === ResourceInfoTabKeys.Evolution && }
    + ) : isBigModel ? ( +
    {description ?? '暂无介绍'}
    ) : ( void; }; -const getDatasetDatas = (isBigModel: boolean, data: DatasetData, name: string): BasicInfoData[] => { +const getDatasetDatas = ( + isBigModel: boolean, + data: DatasetData, + markSevices: EnumOptions[], +): BasicInfoData[] => { const arr: BasicInfoData[] = [ - { - label: '数据集名称', - value: name, - }, + // { + // label: '数据集名称', + // value: name, + // }, { label: '数据集版本', value: data.version, @@ -56,16 +73,6 @@ const getDatasetDatas = (isBigModel: boolean, data: DatasetData, name: string): value: data.dataset_source, format: formatSource, }, - { - label: '训练任务', - value: data.train_task, - format: formatTrainTask, - }, - { - label: '处理代码', - value: data.processing_code, - format: formatCodeConfig, - }, ]; if (isBigModel) { const bigData = data as any as BigDatasetVersionInfo; @@ -75,23 +82,74 @@ const getDatasetDatas = (isBigModel: boolean, data: DatasetData, name: string): value: bigData.dataType, format: formatEnum(bigDataTypeOptions), }, + { + label: '数据样式', + value: bigData.pattern, + format: formatEnum([ + ...bigDataPatternOptions_sft, + ...bigDataPatternOptions_rewardmodel, + ...bigDataPatternOptions_learning, + ...bigDataPatternOptions_pretraining, + ]), + }, + { + label: '题型', + value: bigData.questionType, + format: formatEnum(bigQuestionTypeOptions), + }, + { + label: '标注工具', + value: bigData.markToolId, + format: formatEnum(bigMarkToolOptions), + }, + { + label: '是否启用预标', + value: bigData.premarkStatus, + format: formatEnum(bigDataPremarkOptions), + }, + { + label: '预标服务', + value: bigData.serviceId, + format: formatEnum(markSevices), + }, { label: '标注状态', value: bigData.markStatus, format: formatEnum(bigDataMarkStatusOptions), }, + { + label: '提示', + value: bigData.prompt, + }, + ); + } else { + arr.push( + { + label: '训练任务', + value: data.train_task, + format: formatTrainTask, + }, + { + label: '处理代码', + value: data.processing_code, + format: formatCodeConfig, + }, ); } + arr.push({ + label: '版本描述', + value: data.version_desc, + }); return arr; }; -const getModelDatas = (isBigModel: boolean, data: ModelData, name: string): BasicInfoData[] => { +const getModelDatas = (isBigModel: boolean, data: ModelData): BasicInfoData[] => { const arr: BasicInfoData[] = [ - { - label: '模型名称', - value: name, - ellipsis: true, - }, + // { + // label: '模型名称', + // value: name, + // ellipsis: true, + // }, { label: '模型版本', value: data.version, @@ -107,68 +165,77 @@ const getModelDatas = (isBigModel: boolean, data: ModelData, name: string): Basi value: data.update_time, ellipsis: true, }, - { - label: '训练镜像', - value: data.image, - ellipsis: true, - }, - { - label: '训练代码', - value: data.project_depency, - format: formatCodeConfig, - ellipsis: true, - }, - { - label: '训练数据集', - value: data.train_datasets, - format: formatDatasets, - ellipsis: true, - }, - { - label: '测试数据集', - value: data.test_datasets, - format: formatDatasets, - ellipsis: true, - }, { label: '模型来源', value: data.model_source, format: formatSource, ellipsis: true, }, - { - label: '训练任务', - value: data.train_task, - format: formatTrainTask, - ellipsis: true, - }, ]; - if (isBigModel) { - const bigData = data as any as BigModelVersionInfo; + if (!isBigModel) { arr.push( { - label: '虚拟任务名称', - value: bigData.taskType, + label: '训练镜像', + value: data.image, + ellipsis: true, }, { - label: '训练类型', - value: bigData.modelType, + label: '训练代码', + value: data.project_depency, + format: formatCodeConfig, + ellipsis: true, }, { - label: '基础模型', - value: bigData.baseModel, + label: '训练数据集', + value: data.train_datasets, + format: formatDatasets, + ellipsis: true, }, { - label: 'cpu架构', - value: bigData.systemStructure, + label: '测试数据集', + value: data.test_datasets, + format: formatDatasets, + ellipsis: true, }, { - label: '加速卡', - value: bigData.acceleratorCard, + label: '训练任务', + value: data.train_task, + format: formatTrainTask, + ellipsis: true, }, ); } + + // if (isBigModel) { + // const bigData = data as any as BigModelVersionInfo; + // arr.push( + // { + // label: '虚拟任务名称', + // value: bigData.taskType, + // }, + // { + // label: '训练类型', + // value: bigData.modelType, + // }, + // { + // label: '基础模型', + // value: bigData.baseModel, + // }, + // { + // label: 'cpu架构', + // value: bigData.systemStructure, + // }, + // { + // label: '加速卡', + // value: bigData.acceleratorCard, + // }, + // ); + // } + arr.push({ + label: '版本描述', + value: data.version_desc, + }); return arr; }; @@ -177,18 +244,37 @@ function ResourceIntro({ info, resourceId, identifier, - name, + // name, description, isBigModel, isMine, version, onEditIntro, }: ResourceIntroProps) { + const [markSevices, setMarkServices] = useState([]); const config = resourceConfig[resourceType]; - const basicDatas: BasicInfoData[] = - resourceType === ResourceType.Dataset - ? getDatasetDatas(isBigModel, info as DatasetData, name) - : getModelDatas(isBigModel, info as ModelData, name); + const basicDatas: BasicInfoData[] = useMemo(() => { + return resourceType === ResourceType.Dataset + ? getDatasetDatas(isBigModel, info as DatasetData, markSevices) + : getModelDatas(isBigModel, info as ModelData); + }, [resourceType, isBigModel, info, markSevices]); + + useEffect(() => { + const getBigDatasetMarkList = async () => { + const [res] = await to(getBigDatasetMarkListReq()); + if (res && res.data && Array.isArray(res.data)) { + setMarkServices( + res.data.map((v: any) => ({ + label: v.name, + value: v.id, + })), + ); + } + }; + if (isBigModel && resourceType === ResourceType.Dataset) { + getBigDatasetMarkList(); + } + }, [isBigModel, resourceType]); return (
    @@ -225,14 +311,19 @@ function ResourceIntro({ >
    )} - onEditIntro?.(resourceId, identifier, value)} - > + {isBigModel ? ( +
    {description ?? '暂无介绍'}
    + ) : ( + onEditIntro?.(resourceId, identifier, value)} + > + )}
    ); } diff --git a/src/pages/Dataset/components/ResourceItem/index.less b/src/pages/Dataset/components/ResourceItem/index.less index 4a37031b..a24f7fd4 100644 --- a/src/pages/Dataset/components/ResourceItem/index.less +++ b/src/pages/Dataset/components/ResourceItem/index.less @@ -3,7 +3,7 @@ width: 100%; min-width: 0; padding: 10px 10px 20px; - background-color: #f7f9fd; + background-color: @background-color; border-radius: 8px; cursor: pointer; @@ -53,6 +53,7 @@ } &__name { + flex: 0 1 content; margin-bottom: 0 !important; color: @text-color; font-size: 16px; @@ -62,8 +63,19 @@ color: @primary-color; } + &__version { + flex: none; + color: @text-color-secondary; + font-size: 14px; + } + + &:hover &__version { + color: @primary-color; + } + &__arrow-right { display: none; + flex: none; margin-left: 5px; color: @primary-color; } @@ -84,6 +96,7 @@ display: flex; gap: 8px; align-items: center; + min-height: 22px; margin-bottom: 20px; &__item { @@ -96,44 +109,64 @@ background-color: rgba(81, 76, 249, 0.04); border-radius: 4px; } + + &__tooltip { + max-width: none; + :global { + .ant-tooltip-inner { + display: flex; + gap: 8px; + align-items: center; + padding: 10px; + } + } + } } &__create-by { min-width: 0; color: @text-color; - font-size: 14px; + font-size: 12px; } &__divider { flex: none; margin: 0 8px; - background-color: #d7d9e1; + background-color: @divider-color; } &__time { min-width: 0; color: @text-color-secondary; - font-size: 13px; + font-size: 12px; } &__praise { display: flex; flex: none; align-items: center; - height: 22px; - margin-right: 0; - margin-left: auto; - padding: 0 8px; - color: @text-color; - font-size: 13px; - background-color: rgba(81, 76, 249, 0.04); - border-radius: 4px; + // margin-right: 8px; + // height: 22px; + // margin-right: 0; + // margin-left: auto; + // padding: 0 8px; + color: @text-color-secondary; + font-size: 12px; + // background-color: rgba(81, 76, 249, 0.04); + // border-radius: 4px; + + :global { + .anticon { + margin-right: 6px; + } + } } &__delete-btn { width: 22px; height: 22px; - margin-left: 15px; + margin-right: 0; + margin-left: auto; padding: 4px; background-color: rgba(81, 76, 249, 0.04) !important; } diff --git a/src/pages/Dataset/components/ResourceItem/index.tsx b/src/pages/Dataset/components/ResourceItem/index.tsx index 9b5996f2..a73620ec 100644 --- a/src/pages/Dataset/components/ResourceItem/index.tsx +++ b/src/pages/Dataset/components/ResourceItem/index.tsx @@ -1,6 +1,6 @@ import KFIcon from '@/components/KFIcon'; -import { formatDate } from '@/utils/date'; -import { Button, Divider, Flex, Typography } from 'antd'; +import { ago } from '@/utils/date'; +import { Button, Divider, Flex, Tooltip, Typography } from 'antd'; import classNames from 'classnames'; import { DatasetData, ModelData, ResourceData, ResourceType } from '../../config'; import styles from './index.less'; @@ -14,24 +14,32 @@ type ResourceItemProps = { }; function ResourceItem({ resourceType, item, isPublic, onClick, onRemove }: ResourceItemProps) { - const timeAgo = `${formatDate(item.full_last_update_time, 'YYYY-MM-DD')}`; + const timeAgo = `${ago(item.full_last_update_time)}更新`; const create_by = item.create_by ?? ''; const types = resourceType === ResourceType.Dataset ? (item as DatasetData)['data_type'] : (item as ModelData)['model_type']; + const tags = + resourceType === ResourceType.Dataset + ? (item as DatasetData)['data_tag'] + : (item as ModelData)['model_tag']; const typeList = types?.split(',').filter((item) => !!item) ?? []; + const tagList = tags?.split(',').filter((item) => !!item) ?? []; + const allTags = [...typeList, ...tagList]; return (
    onClick(item)}> -
    - {item.is_hot_stone ? '大模型' : '小模型'} -
    + {process.env.UMI_APP_HUO_SHI && ( +
    + {item.is_hot_stone ? '大模型' : '小模型'} +
    + )}
    {item.name} + + {item.max_version && ( + <> + +
    {item.max_version}
    + + )} +
    - {typeList.map((item) => ( + {allTags.slice(0, 2).map((item) => ( ))} +
    + {allTags.length > 2 && ( + + {allTags.slice(2).map((item) => ( +
    + {item} +
    + ))} + + } + > +
    +{allTags.length - 2}
    +
    + )} +
    - {timeAgo} -
    - -
    赞 {item.praises_count}
    + + {item.model_size && ( + <> + +
    + +
    {item.model_size}
    +
    + + )} + + + +
    + +
    {item.praises_count}
    {!isPublic && (
    - setInputText(e.target.value)} + } + onChange={(e) => setInputText(e.target.value)} allowClear /> {!isPublic && ( diff --git a/src/pages/Dataset/components/ResourcePage/index.tsx b/src/pages/Dataset/components/ResourcePage/index.tsx index 9608129b..403c76d8 100644 --- a/src/pages/Dataset/components/ResourcePage/index.tsx +++ b/src/pages/Dataset/components/ResourcePage/index.tsx @@ -32,9 +32,7 @@ function ResourcePage({ resourceType }: ResourcePageProps) { }; const [res] = await to(getAssetIcon(params)); if (res && res.data) { - setTypeList( - res.data.map((v: any) => ({ ...v, checkable: false, disabled: false, seleckable: true })), - ); + setTypeList(res.data); } }, [config.typeValue, typeSearchText]); @@ -81,7 +79,6 @@ function ResourcePage({ resourceType }: ResourcePageProps) { ([]); + const [progress, setProgress] = useState(0); const config = resourceConfig[resourceType]; const filePropKey = config.filePropKey as keyof ResourceData; const fileList = useMemo(() => { @@ -38,6 +40,7 @@ function ResourceVersion({ resourceType, info, isBig }: ResourceVersionProps) { () => (isBig && resourceType === ResourceType.Dataset ? bigDatasetFiles : fileList), [isBig, resourceType, bigDatasetFiles, fileList], ); + const downloaderRef = useRef(); // 获取大模型文件列表 const getBigDatasetVersionFiles = useCallback(async () => { @@ -62,6 +65,15 @@ function ResourceVersion({ resourceType, info, isBig }: ResourceVersionProps) { } }, [isBig, resourceType, getBigDatasetVersionFiles]); + useEffect(() => { + return () => { + if (downloaderRef.current) { + downloaderRef.current.cancel(); + downloaderRef.current = undefined; + } + }; + }, []); + // 全部导出 const handleExport = async () => { const url = config.downloadAllAction; @@ -77,9 +89,20 @@ function ResourceVersion({ resourceType, info, isBig }: ResourceVersionProps) { // 单个导出 const downloadAlone = async (record: ResourceFileData) => { - if (record.url.startsWith('s3')) { + if (isBig) { // 大模型文件 - downloadFileWithUrl(getBigModelFileUrl(record.url), record.file_name); + downloaderRef.current = await downloadFileWithChunks( + record.url, + (progress) => { + setProgress(Math.round(progress.percentage)); + }, + () => { + setProgress(100); + }, + () => { + setProgress(0); + }, + ); } else { const request = config.getFileUrl; const [res] = await to(request({ url: record.url })); @@ -102,9 +125,7 @@ function ResourceVersion({ resourceType, info, isBig }: ResourceVersionProps) { title: '文件名称', dataIndex: 'file_name', key: 'file_name', - render: tableCellRender(true, TableCellValueType.Link, { - onClick: downloadAlone, - }), + render: tableCellRender(true), }, { title: '文件大小', @@ -121,13 +142,18 @@ function ResourceVersion({ resourceType, info, isBig }: ResourceVersionProps) { { title: '操作', dataIndex: 'option', - width: 160, + width: 200, key: 'option', - render: (_: any, record: ResourceFileData) => [ - , - ], + render: (_: any, record: ResourceFileData) => ( + + + {progress > 0 && progress < 100 && ( + + )} + + ), }, ]; diff --git a/src/pages/Dataset/components/VersionCompareModal/index.less b/src/pages/Dataset/components/VersionCompareModal/index.less index e20c8bfc..72ff2a88 100644 --- a/src/pages/Dataset/components/VersionCompareModal/index.less +++ b/src/pages/Dataset/components/VersionCompareModal/index.less @@ -1,5 +1,5 @@ -@purple-color: #514cf9; -@primary-color: #1664ff; +@left-color: #1664ff; +@right-color: #514cf9; .title(@color, @background) { width: 100%; @@ -47,7 +47,7 @@ align-items: stretch; margin-top: 24px; padding: 15px; - background-color: #f7f9fd; + background-color: @background-color; border: 1px solid rgba(81, 76, 249, 0.1); border-radius: 4px; @@ -56,7 +56,7 @@ top: -14px; left: 18px; z-index: 10; - .triangle-up-with-border(@width: 20px, @height: 14px, @color: #f7f9fd, @border-color: rgba(81, 76, 249, 0.1), @border-width: 1px); + .triangle-up-with-border(@width: 20px, @height: 14px, @color: @background-color, @border-color: rgba(81, 76, 249, 0.1), @border-width: 1px); } &__fields { @@ -83,32 +83,32 @@ } &__left { - .version-container(.addAlpha(@primary-color, 0.04) []); + .version-container(.addAlpha(@left-color, 0.04) []); &__title { - .title(@primary-color, linear-gradient(159.9deg,rgba(138, 177, 255, 0.5) 0%,rgba(22, 100, 255, 0.5) 100%)); + .title(@left-color, linear-gradient(159.9deg,rgba(138, 177, 255, 0.5) 0%,rgba(22, 100, 255, 0.5) 100%)); } &__text { .text(0 15px, center); &--different { - color: @primary-color; + color: @left-color; } } } &__right { - .version-container(.addAlpha(@purple-color, 0.04) []); + .version-container(.addAlpha(@right-color, 0.04) []); &__title { - .title(@purple-color, linear-gradient(159.9deg,rgba(193, 138, 255, 0.5) 0%,rgba(81, 76, 249, 0.5) 100%)); + .title(@right-color, linear-gradient(159.9deg,rgba(193, 138, 255, 0.5) 0%,rgba(81, 76, 249, 0.5) 100%)); } &__text { .text(0 15px, center); &--different { - color: @purple-color; + color: @right-color; } } } diff --git a/src/pages/Dataset/components/VersionCompareModal/index.tsx b/src/pages/Dataset/components/VersionCompareModal/index.tsx index 7a6d1759..c905be47 100644 --- a/src/pages/Dataset/components/VersionCompareModal/index.tsx +++ b/src/pages/Dataset/components/VersionCompareModal/index.tsx @@ -74,7 +74,7 @@ function VersionCompareModal({ diff --git a/src/pages/Dataset/components/VersionSelector/index.less b/src/pages/Dataset/components/VersionSelector/index.less index 7ff8b77f..fd9efd21 100644 --- a/src/pages/Dataset/components/VersionSelector/index.less +++ b/src/pages/Dataset/components/VersionSelector/index.less @@ -8,21 +8,25 @@ &__list { display: flex; flex-direction: row; + flex-wrap: wrap; gap: 15px; - padding-bottom: 1px; - overflow-x: auto; + width: 100%; + max-height: 126px; + overflow-y: auto; &__item { display: flex; align-items: center; - max-width: 100px; + justify-content: center; + width: 80px; height: 32px; padding: 0 14px; color: @text-color; font-size: 14px; text-align: center; - background-color: white; - border-radius: #f7f9fd; + background-color: @background-color; + border-radius: 4px; + cursor: pointer; &:hover { color: @primary-color; diff --git a/src/pages/Dataset/components/VersionSelector/index.tsx b/src/pages/Dataset/components/VersionSelector/index.tsx index 76c6f6bf..36d4cc37 100644 --- a/src/pages/Dataset/components/VersionSelector/index.tsx +++ b/src/pages/Dataset/components/VersionSelector/index.tsx @@ -17,7 +17,7 @@ function VersionSelector({ versions = [], onChange }: VersionSelectorProps) { setSelVersions(newVersions); onChange?.(newVersions); } else if (selVersions.length === 2) { - message.error('只能选择两个版本,请取消前面选择的版本'); + message.error('只能选择两个版本,请先取消已选择的版本'); } else { const newVersions = [...selVersions, version]; setSelVersions(newVersions); diff --git a/src/pages/Dataset/config.tsx b/src/pages/Dataset/config.tsx index ff4a0c6e..3b2db2ae 100644 --- a/src/pages/Dataset/config.tsx +++ b/src/pages/Dataset/config.tsx @@ -13,9 +13,9 @@ import { getBigModelListReq, getBigModelVersionInfoReq, getBigModelVersionsReq, - praiseBigDatesetReq, + praiseBigDatasetReq, praiseBigModelReq, - unpraiseBigDatesetReq, + unpraiseBigDatasetReq, unpraiseBigModelReq, } from '@/services/bigModel'; import { @@ -41,8 +41,12 @@ import { getModelList, getModelNextVersionReq, getModelVersionList, + praiseDatasetReq, + praiseModelReq, publishDatasetReq, publishModelReq, + unpraiseDatasetReq, + unpraiseModelReq, } from '@/services/dataset/index.js'; import { Response } from '@/types'; import { formatDate } from '@/utils/date'; @@ -71,6 +75,8 @@ type ResourceTypeInfo = { getInfo: (params: any) => Promise; // 获取详情 compareVersion: (params: any) => Promise; // 版本对比 getNextVersion: (params: any) => Promise; // 获取下一个版本 + praiseReq: (params: any) => Promise; // 点赞 + unpraiseReq: (params: any) => Promise; // 取消点赞 getBigList: (params: any) => Promise; // 获取大模型列表 getBigInfo: (params: any) => Promise; // 获取大模型详情 getBigVersions: (params: any) => Promise; // 获取大模型版本列表 @@ -94,7 +100,7 @@ type ResourceTypeInfo = { prefix: string; // 图片资源、详情 url 的前缀 deleteModalTitle: string; // 删除弹框的title addBtnTitle: string; // 新增按钮的title - uploadAction: string; // 上传接口 url + uploadAction: string; // 上传接口 url,deprecated uploadAccept?: string; // 上传文件类型 beforeUpload?: (file: UploadFile) => boolean | string; downloadAllAction: string; // 批量下载接口 url @@ -112,14 +118,16 @@ export const resourceConfig: Record = { getInfo: getDatasetInfo, compareVersion: compareDatasetVersion, getNextVersion: getDatasetNextVersionReq, + praiseReq: praiseDatasetReq, + unpraiseReq: unpraiseDatasetReq, getBigList: getBigDatasetListReq, getBigInfo: getBigDatasetInfoReq, getBigVersions: getBigDatasetVersionsReq, getBigVersionInfo: getBigDatasetVersionInfoReq, deleteBigVersion: deleteBigDatasetVersionReq, deleteBigModel: deleteBigDatasetReq, - praiseBigModel: praiseBigDatesetReq, - unpraiseBigModel: unpraiseBigDatesetReq, + praiseBigModel: praiseBigDatasetReq, + unpraiseBigModel: unpraiseBigDatasetReq, publish: publishDatasetReq, getFileUrl: getDatasetFileUrlReq, editIntro: editDatasetIntroReq, @@ -146,7 +154,9 @@ export const resourceConfig: Record = { addBtnTitle: '新建数据集', uploadAction: '/api/mmp/newdataset/upload', uploadAccept: '.zip,.tgz', - beforeUpload: limitUploadFileType('.zip,.tgz'), + beforeUpload: limitUploadFileType({ + extensions: '.zip,.tgz', + }), downloadAllAction: '/api/mmp/newdataset/downloadAllFiles', downloadSingleAction: '/api/mmp/newdataset/downloadSingleFile', }, @@ -160,6 +170,8 @@ export const resourceConfig: Record = { getInfo: getModelInfo, compareVersion: compareModelVersion, getNextVersion: getModelNextVersionReq, + praiseReq: praiseModelReq, + unpraiseReq: unpraiseModelReq, getBigList: getBigModelListReq, getBigInfo: getBigModelInfoReq, getBigVersions: getBigModelVersionsReq, @@ -235,7 +247,9 @@ export interface ResourceData { praised: boolean; // 是否点赞 full_last_update_time: string; // 完整的更新时间 is_hot_stone: number; // 0 小模型, 1 大模型 - preview_pic?: string; + preview_pic?: string; // 预览图 + model_size?: string; // 文件大小 + max_version?: string; // 最新版本 } // 数据集数据 @@ -305,7 +319,7 @@ export interface BigModelVersionInfo { createdDate: Date; deleted: number; description: string; - flintItemVoList: FlintItemVoList[]; + flintItemVoList: { content: FlintItemVoList[] }; id: string; lastModifiedBy: string; lastModifiedDate: string; @@ -395,13 +409,29 @@ export interface BigDatasetVersionInfo { userName: string; } +// 统一大模型和小模型详情数据 +export type UniResourceData = { + id: number | string; + name: string; + description: string; + data_type?: string; + data_tag?: string; + model_type?: string; + model_tag?: string; + praises_count: number; + praised: boolean; + tenantId?: string; + create_by: string; + is_public: boolean; +}; + // 转换火石模型版本详情 export const convertModelVersionInfo = ( res: Response, ): Response => { const { code, data } = res; const { flintItemVoList } = data; - const model_version_vos = flintItemVoList.map( + const model_version_vos = flintItemVoList?.content.map( (v): ResourceFileData => ({ file_name: v.name, file_size: v.fileSize, @@ -419,7 +449,7 @@ export const convertModelVersionInfo = ( name: data.name, version: data.versionNum, version_desc: data.description, - update_time: data.lastModifiedDate, + update_time: formatDate(data.lastModifiedDate), model_source: data.source, model_version_vos, create_by: data.userName, diff --git a/src/pages/DatasetPreparation/mark/index.less b/src/pages/DatasetPreparation/mark/index.less index cd9454f2..8839b9a6 100644 --- a/src/pages/DatasetPreparation/mark/index.less +++ b/src/pages/DatasetPreparation/mark/index.less @@ -1,8 +1,9 @@ .resource-page { - width: 100%; - height: 100%; display: flex; flex-direction: column; + width: 100%; + height: 100%; + padding-top: @page-padding-top; &__tabs-container { height: 50px; padding-left: 27px; @@ -11,8 +12,8 @@ background-position: top center; background-size: 100% 100%; } - &__content{ - width: 100%; + &__content { flex: 1; + width: 100%; } } diff --git a/src/pages/DevelopmentEnvironment/Create/index.less b/src/pages/DevelopmentEnvironment/Create/index.less index 3ddbbbba..0f9410c8 100644 --- a/src/pages/DevelopmentEnvironment/Create/index.less +++ b/src/pages/DevelopmentEnvironment/Create/index.less @@ -1,17 +1,13 @@ .editor-create { height: 100%; - padding-top: @page-padding-top; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); + &__content { - height: calc(100% - 60px); - margin-top: 10px; - padding: 30px 30px 10px; + height: 100%; + padding: 24px; overflow: auto; background-color: white; border-radius: 10px; - - &__type { - color: @text-color; - font-size: @font-size-input-lg; - } } } diff --git a/src/pages/DevelopmentEnvironment/Create/index.tsx b/src/pages/DevelopmentEnvironment/Create/index.tsx index 2d1683b8..a87f77ab 100644 --- a/src/pages/DevelopmentEnvironment/Create/index.tsx +++ b/src/pages/DevelopmentEnvironment/Create/index.tsx @@ -6,7 +6,6 @@ import CodeSelect from '@/components/CodeSelect'; import KFIcon from '@/components/KFIcon'; import KFRadio, { type KFRadioItem } from '@/components/KFRadio'; -import PageTitle from '@/components/PageTitle'; import ParameterSelect from '@/components/ParameterSelect'; import ResourceSelect, { requiredValidator, @@ -73,7 +72,6 @@ function EditorCreate() { return (
    -
    - +
    @@ -196,7 +189,7 @@ function EditorCreate() { - + diff --git a/src/pages/DevelopmentEnvironment/Editor/index.tsx b/src/pages/DevelopmentEnvironment/Editor/index.tsx index d4689e8c..8ff82cce 100644 --- a/src/pages/DevelopmentEnvironment/Editor/index.tsx +++ b/src/pages/DevelopmentEnvironment/Editor/index.tsx @@ -4,9 +4,12 @@ * @Description: 开发环境 */ -import IframePage, { IframePageType } from '@/components/IFramePage'; +import IframePage from '@/components/IFramePage'; +import themes from '@/styles/theme.less'; +import SessionStorage from '@/utils/sessionStorage'; function DevEditor() { - return ; + const url = SessionStorage.getItem(SessionStorage.editorUrlKey); + return url && ; } export default DevEditor; diff --git a/src/pages/DevelopmentEnvironment/List/index.less b/src/pages/DevelopmentEnvironment/List/index.less index d29e8a2d..f8809d6c 100644 --- a/src/pages/DevelopmentEnvironment/List/index.less +++ b/src/pages/DevelopmentEnvironment/List/index.less @@ -1,22 +1,60 @@ .develop-env { + display: flex; + flex-direction: column; height: 100%; - &__header { - display: flex; - align-items: center; - justify-content: flex-end; - height: 50px; - margin-bottom: 10px; - padding: 0 30px; - background-image: url(@/assets/img/page-title-bg.png); - background-repeat: no-repeat; - background-position: top center; - background-size: 100% 100%; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); + + :global { + .ant-pagination { + margin-top: 20px; + } } - &__table { - height: calc(100% - 60px); - padding: 20px 30px 0; + &__container { + display: flex; + flex: 1; + flex-direction: column; + height: 100%; + padding: 24px 0; background-color: white; border-radius: 10px; } + + &__title { + color: @text-color-secondary; + font-size: 16px; + + &__total { + color: @text-color; + } + } + + &__content { + display: grid; + flex: 1; + grid-template-columns: repeat(4, 1fr); + gap: 15px; + align-content: start; + width: 100%; + margin-top: 16px; + padding: 4px 24px; + overflow-y: auto; + + @media screen and (min-width: 2300px) { + & { + grid-template-columns: repeat(5, 1fr); + } + } + + @media screen and (max-width: 1800px) { + & { + grid-template-columns: repeat(3, 1fr); + } + } + } + + &__empty { + flex: 1; + } } diff --git a/src/pages/DevelopmentEnvironment/List/index.tsx b/src/pages/DevelopmentEnvironment/List/index.tsx index ed5ae701..e5427f77 100644 --- a/src/pages/DevelopmentEnvironment/List/index.tsx +++ b/src/pages/DevelopmentEnvironment/List/index.tsx @@ -5,10 +5,9 @@ */ import { CodeConfigData } from '@/components/CodeSelectorModal'; +import KFEmpty, { EmptyType } from '@/components/KFEmpty'; import KFIcon from '@/components/KFIcon'; -import { DevEditorStatus } from '@/enums'; import { useCacheState } from '@/hooks/useCacheState'; -import { useSystemResource } from '@/hooks/useComputingResource'; import { DatasetData, ModelData } from '@/pages/Dataset/config'; import { MirrorVersionData } from '@/pages/Mirror/Info'; import { @@ -17,27 +16,17 @@ import { startEditorReq, stopEditorReq, } from '@/services/developmentEnvironment'; -import themes from '@/styles/theme.less'; import { parseJsonText } from '@/utils'; import { formatCodeConfig, formatDataset, formatModel } from '@/utils/format'; import { openAntdModal } from '@/utils/modal'; import { to } from '@/utils/promise'; import SessionStorage from '@/utils/sessionStorage'; -import tableCellRender, { TableCellValueType } from '@/utils/table'; import { modalConfirm } from '@/utils/ui'; import { useNavigate } from '@umijs/max'; -import { - App, - Button, - ConfigProvider, - Table, - type TablePaginationConfig, - type TableProps, -} from 'antd'; -import classNames from 'classnames'; +import { App, Button, Flex, Pagination, PaginationProps, type TablePaginationConfig } from 'antd'; import { useCallback, useEffect, useState } from 'react'; import CreateMirrorModal from '../components/CreateMirrorModal'; -import EditorStatusCell from '../components/EditorStatusCell'; +import DevCard from '../components/DevCard'; import styles from './index.less'; export type EditorData = { @@ -46,28 +35,27 @@ export type EditorData = { status: string; computing_resource: string; update_by: string; - create_time: string; + update_time: string; url: string; computing_resource_id: number; dataset?: DatasetData & { showValue: string }; model?: ModelData & { showValue: string }; image?: MirrorVersionData & { showValue: string }; - code_config?: string | CodeConfigData; + code_config?: CodeConfigData & { showValue: string }; }; function EditorList() { const navigate = useNavigate(); const [cacheState, setCacheState] = useCacheState(); const { message } = App.useApp(); - const [tableData, setTableData] = useState([]); + const [tableData, setTableData] = useState(undefined); const [total, setTotal] = useState(0); const [pagination, setPagination] = useState( cacheState?.pagination ?? { current: 1, - pageSize: 10, + pageSize: 20, }, ); - const getResourceDescription = useSystemResource(); // 获取编辑器列表 const getEditorList = useCallback(async () => { @@ -87,6 +75,9 @@ function EditorList() { }); setTableData(content); setTotal(totalElements); + } else { + setTableData([]); + setTotal(0); } }, [pagination]); @@ -104,15 +95,15 @@ function EditorList() { setPagination((prev) => { return { ...prev, - current: tableData.length === 1 ? Math.max(1, prev.current! - 1) : prev.current, + current: tableData?.length === 1 ? Math.max(1, prev.current! - 1) : prev.current, }; }); } }; // 启动编辑器 - const startEditor = async (id: number) => { - const [res] = await to(startEditorReq(id)); + const startEditor = async (record: EditorData) => { + const [res] = await to(startEditorReq(record.id)); if (res) { message.success('操作成功'); getEditorList(); @@ -120,13 +111,13 @@ function EditorList() { }; // 停止编辑器 - const stopEditor = async (id: number) => { + const stopEditor = async (record: EditorData) => { modalConfirm({ title: '停止后,该编辑器将不可使用', content: '是否确认停止?', isDelete: false, onOk: async () => { - const [res] = await to(stopEditorReq(id)); + const [res] = await to(stopEditorReq(record.id)); if (res) { message.success('操作成功'); getEditorList(); @@ -136,9 +127,9 @@ function EditorList() { }; // 制作镜像 - const createMirror = (id: number) => { + const createMirror = (record: EditorData) => { const { close } = openAntdModal(CreateMirrorModal, { - envId: id, + envId: record.id, onOk: () => { close(); }, @@ -158,28 +149,24 @@ function EditorList() { // 创建编辑器 const createEditor = () => { - navigate(`/developmentEnvironment/create`); + navigate(`create`); setCacheState({ pagination, }); }; // 跳转编辑器页面 - const gotoEditorPage = (record: EditorData, e: React.MouseEvent) => { - e.stopPropagation(); - + const gotoEditorPage = (record: EditorData) => { setCacheState({ pagination, }); SessionStorage.setItem(SessionStorage.editorUrlKey, record.url); - navigate(`/developmentEnvironment/editor`); + navigate(`editor`); }; // 去数据集 - const gotoDataset = (record: EditorData, e: React.MouseEvent) => { - e.stopPropagation(); - + const gotoDataset = (record: EditorData) => { const dataset = record.dataset as DatasetData; const link = formatDataset(dataset)?.link; if (link) { @@ -191,9 +178,7 @@ function EditorList() { }; // 去模型 - const gotoModel = (record: EditorData, e: React.MouseEvent) => { - e.stopPropagation(); - + const gotoModel = (record: EditorData) => { const model = record.model as ModelData; const link = formatModel(model)?.link; if (link) { @@ -205,9 +190,7 @@ function EditorList() { }; // 打开代码配置仓库 - const gotoCodeConfig = (record: EditorData, e: React.MouseEvent) => { - e.stopPropagation(); - + const gotoCodeConfig = (record: EditorData) => { const codeConfig = record.code_config as CodeConfigData; const url = formatCodeConfig(codeConfig)?.url; if (url) { @@ -216,199 +199,73 @@ function EditorList() { }; // 分页切换 - const handleTableChange: TableProps['onChange'] = ( - pagination, - _filters, - _sorter, - { action }, - ) => { - if (action === 'paginate') { - setPagination(pagination); - } + const handlePageChange: PaginationProps['onChange'] = (page, pageSize) => { + setPagination({ + current: page, + pageSize: pageSize, + }); }; - const columns: TableProps['columns'] = [ - { - title: '编辑器名称', - dataIndex: 'name', - key: 'name', - width: '12%', - render: (text, record, index) => - record.url && record.status === DevEditorStatus.Running - ? tableCellRender(true, TableCellValueType.Link, { - onClick: gotoEditorPage, - })(text, record, index) - : tableCellRender(true, TableCellValueType.Text)(text, record, index), - }, - { - title: '计算资源', - dataIndex: 'computing_resource', - key: 'computing_resource', - width: '11%', - render: tableCellRender(), - }, - { - title: '资源规格', - dataIndex: 'computing_resource_id', - key: 'computing_resource_id', - width: '11%', - render: tableCellRender(true, TableCellValueType.Custom, { - format: getResourceDescription, - }), - }, - { - title: '数据集', - dataIndex: ['dataset', 'showValue'], - key: 'dataset', - width: '11%', - render: tableCellRender(true, TableCellValueType.Link, { - onClick: gotoDataset, - }), - }, - { - title: '模型', - dataIndex: ['model', 'showValue'], - key: 'model', - width: '11%', - render: tableCellRender(true, TableCellValueType.Link, { - onClick: gotoModel, - }), - }, - { - title: '代码配置', - dataIndex: ['code_config', 'showValue'], - key: 'code_config', - width: '11%', - render: tableCellRender(true, TableCellValueType.Link, { - onClick: gotoCodeConfig, - }), - }, - { - title: '镜像', - dataIndex: ['image', 'showValue'], - key: 'image', - width: '11%', - render: tableCellRender(true), - }, - { - title: '创建者', - dataIndex: 'update_by', - key: 'update_by', - width: '11%', - render: tableCellRender(true), - }, - { - title: '创建时间', - dataIndex: 'create_time', - key: 'create_time', - width: '11%', - render: tableCellRender(true, TableCellValueType.Date), - }, - { - title: '状态', - dataIndex: 'status', - key: 'status', - width: 100, - render: EditorStatusCell(), - }, - { - title: '操作', - dataIndex: 'operation', - width: 270, - key: 'operation', - render: (_: any, record: EditorData) => ( -
    - {record.status === DevEditorStatus.Pending || - record.status === DevEditorStatus.Running ? ( - - ) : ( - - )} - {record.status !== DevEditorStatus.Running ? ( - - ) : null} - - - -
    - ), - }, - ]; - return (
    -
    - - +
    + +
    + 全部:{total} 个 +
    + + +
    + {tableData && tableData.length > 0 ? ( +
    + {tableData?.map((item) => ( + + ))} +
    + ) : tableData && tableData.length === 0 ? ( + + ) : null}
    -
    -
    `共${total}条`, - }} - onChange={handleTableChange} - rowKey="id" + {tableData && tableData.length > 0 && ( + - + )} ); } diff --git a/src/pages/DevelopmentEnvironment/components/CreateMirrorModal/index.tsx b/src/pages/DevelopmentEnvironment/components/CreateMirrorModal/index.tsx index 7155bc30..33bdf761 100644 --- a/src/pages/DevelopmentEnvironment/components/CreateMirrorModal/index.tsx +++ b/src/pages/DevelopmentEnvironment/components/CreateMirrorModal/index.tsx @@ -34,8 +34,7 @@ function CreateMirrorModal({ envId, onOk, ...rest }: CreateMirrorModalProps) { span { + flex: none; + } + + :global { + .ant-typography { + flex: 1; + + &:hover a { + text-decoration: underline; + } + } + } + } + } +} + +.popover-cmd { + margin-bottom: 5px; + padding: 8px 20px; + color: @text-color-secondary; + font-size: 15px; + border-radius: 6px; + cursor: pointer; + &:hover { + color: @text-color; + font-weight: 500; + background-color: rgba(136, 149, 168, 0.08); + } +} diff --git a/src/pages/DevelopmentEnvironment/components/DevCard/index.tsx b/src/pages/DevelopmentEnvironment/components/DevCard/index.tsx new file mode 100644 index 00000000..2331ff41 --- /dev/null +++ b/src/pages/DevelopmentEnvironment/components/DevCard/index.tsx @@ -0,0 +1,224 @@ +import KFIcon from '@/components/KFIcon'; +import { DevEditorStatus } from '@/enums'; +import { useSystemResource } from '@/hooks/useComputingResource'; +import { EditorData } from '@/pages/DevelopmentEnvironment/List'; +import { ago } from '@/utils/date'; +import { Button, Divider, Flex, Popover, Typography } from 'antd'; +import EditorStatusCell from '../EditorStatusCell'; +import styles from './index.less'; + +type ResourceItemProps = { + item: EditorData; + onRemove: (item: EditorData) => void; + onStart: (item: EditorData) => void; + onStop: (item: EditorData) => void; + onCreateImage: (item: EditorData) => void; + onGotoDataset: (item: EditorData) => void; + onGotoModel: (item: EditorData) => void; + onGotoCode: (item: EditorData) => void; + onOpenEditor: (item: EditorData) => void; +}; + +function DevCard({ + item, + onStart, + onStop, + onRemove, + onCreateImage, + onGotoDataset, + onGotoModel, + onGotoCode, + onOpenEditor, +}: ResourceItemProps) { + const timeAgo = `${ago(item.update_time)}更新`; + const create_by = item.update_by ?? ''; + const getResourceDescription = useSystemResource(); + const resourceStr = getResourceDescription(item.computing_resource_id); + const components = resourceStr?.split(',')?.filter((v) => !!v) ?? []; + const icons = [ + require('@/assets/img/dev/gpu.png'), + require('@/assets/img/dev/cpu.png'), + require('@/assets/img/dev/memory.png'), + ]; + const resources = components + .map((item, index) => ({ + icon: icons[index], + label: item, + })) + .slice(0, 3); + + return ( +
    + + + + + + {item.name} + + + + {item.url && item.status === DevEditorStatus.Running && ( +
    { + e.stopPropagation(); + onOpenEditor(item); + }} + > + 打开 +
    + )} +
    { + e.stopPropagation(); + if ( + item.status === DevEditorStatus.Pending || + item.status === DevEditorStatus.Running + ) { + onStop(item); + } else { + onStart(item); + } + }} + > + {item.status === DevEditorStatus.Pending || item.status === DevEditorStatus.Running + ? '停止' + : '启动'} +
    + {item.status === DevEditorStatus.Running && ( +
    { + e.stopPropagation(); + onCreateImage(item); + }} + > + 制作镜像 +
    + )} + +
    { + e.stopPropagation(); + onRemove(item); + }} + > + 删除 +
    +
    + } + trigger="click" + placement="bottom" + > + + + + +
    + {resources.map((item) => ( +
    + + {item.label} +
    + ))} +
    + + + + {create_by} + + + + {timeAgo} + + + +
    +
    + 数据集: + {item.dataset?.showValue ? ( + { + e.stopPropagation(); + onGotoDataset(item); + }} + > + {item.dataset?.showValue} + + ) : ( + -- + )} +
    +
    + 模型: + {item.model?.showValue ? ( + { + e.stopPropagation(); + onGotoModel(item); + }} + > + {item.model?.showValue} + + ) : ( + -- + )} +
    +
    + 代码配置: + {item.code_config?.showValue ? ( + { + e.stopPropagation(); + onGotoCode(item); + }} + > + {item.code_config?.showValue} + + ) : ( + -- + )} +
    +
    + 镜像: + + {item.image?.showValue ?? '--'} + +
    +
    + + ); +} + +export default DevCard; diff --git a/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.less b/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.less index 856c9be4..743d8796 100644 --- a/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.less +++ b/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.less @@ -1,17 +1,27 @@ .model-deployment-status-cell { - padding: 0 4px; - color: @text-color; - background-color: .addAlpha(@text-color, 0.07) []; - border-radius: 4px; + position: absolute; + top: 0px; + right: 0px; + z-index: 100; + height: 26px; + padding: 0 12px; + font-size: 14px; + line-height: 26px; + border-radius: 0 8px 0 8px; + + &--unknown { + color: @text-color; + background-color: .addAlpha(@text-color, 0.07) []; + } &--running { - color: @primary-color; + color: #1664ff; background-color: .addAlpha(@primary-color, 0.07) []; } &--terminated { - color: @abort-color; - background-color: .addAlpha(@abort-color, 0.07) []; + color: @pending-color; + background-color: .addAlpha(@pending-color, 0.07) []; } &--error { @@ -20,7 +30,7 @@ } &--pending { - color: @warning-color; - background-color: .addAlpha(@warning-color, 0.07) []; + color: @primary-color; + background-color: .addAlpha(@primary-color, 0.07) []; } } diff --git a/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.tsx b/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.tsx index 4eda7e2b..3ddcdbfb 100644 --- a/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.tsx +++ b/src/pages/DevelopmentEnvironment/components/EditorStatusCell/index.tsx @@ -3,6 +3,7 @@ * @Date: 2024-04-18 18:35:41 * @Description: 编辑器状态组件 */ + import { DevEditorStatus } from '@/enums'; import classNames from 'classnames'; import styles from './index.less'; @@ -15,7 +16,7 @@ export type DevEditorStatusInfo = { export const statusInfo: Record = { [DevEditorStatus.Unknown]: { text: '未启动', - classname: '', + classname: styles['model-deployment-status-cell--unknown'], }, [DevEditorStatus.Running]: { classname: styles['model-deployment-status-cell--running'], @@ -35,23 +36,17 @@ export const statusInfo: Record = { }, }; -function EditorStatusCell(className: string | undefined = '') { - return (status?: DevEditorStatus | null) => { - if (status === null || status === undefined || !statusInfo[status]) { - return --; - } - return ( - - {statusInfo[status].text} - - ); - }; +function EditorStatusCell({ status }: { status?: DevEditorStatus | null }) { + if (status === null || status === undefined || !statusInfo[status]) { + return --; + } + return ( + + {statusInfo[status].text} + + ); } export default EditorStatusCell; diff --git a/src/pages/Experiment/Aim/index.tsx b/src/pages/Experiment/Aim/index.tsx index 01a054da..2959ed7f 100644 --- a/src/pages/Experiment/Aim/index.tsx +++ b/src/pages/Experiment/Aim/index.tsx @@ -4,9 +4,12 @@ * @Description: 实验对比 Aim */ -import IframePage, { IframePageType } from '@/components/IFramePage'; +import IframePage from '@/components/IFramePage'; +import themes from '@/styles/theme.less'; +import SessionStorage from '@/utils/sessionStorage'; function AimPage() { - return ; + const url = SessionStorage.getItem(SessionStorage.aimUrlKey); + return url && ; } export default AimPage; diff --git a/src/pages/Experiment/Comparison/index.less b/src/pages/Experiment/Comparison/index.less index 2752d777..f274afee 100644 --- a/src/pages/Experiment/Comparison/index.less +++ b/src/pages/Experiment/Comparison/index.less @@ -1,21 +1,26 @@ .experiment-comparison { height: 100%; - padding-top: @page-padding-top; - &__header { + height: 100%; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); + + &__container { display: flex; - align-items: center; - height: 50px; - margin-bottom: 10px; - padding: 0 30px; - background-image: url(@/assets/img/page-title-bg.png); - background-repeat: no-repeat; - background-position: top center; - background-size: 100% 100%; + flex-direction: column; + gap: 24px; + height: 100%; + padding: 24px 24px 4px; + background-color: white; + border-radius: 10px; + } + + &__header { + flex: none; } &__table { - height: calc(100% - 60px); - padding: 20px 30px 0; + flex: 1; + min-height: 0; background-color: white; border-radius: 10px; @@ -27,14 +32,29 @@ .ant-table-cell { border-color: #e2e6f5; - &:last-child:not(:only-child) { - border-right-width: 0 !important; - } - &[rowspan='2'] { border-bottom-width: 0 !important; } + + &:last-child { + border-right-width: 0 !important; + } + + &:has(+ .ant-table-cell-scrollbar) { + border-right-width: 0 !important; + } } + + .ant-table-cell.ant-table-cell-fix-left.ant-table-cell-fix-left-last { + border-right-width: 1px !important; + } + + .ant-table-cell[rowspan='2'] + .ant-table-cell[rowspan='2'] { + border-right-width: 0 !important; + } + } + .ant-table-expanded-row-fixed::after { + border: none !important; } .ant-table-tbody { .ant-table-cell { diff --git a/src/pages/Experiment/Comparison/index.tsx b/src/pages/Experiment/Comparison/index.tsx index d10e8069..607b8a92 100644 --- a/src/pages/Experiment/Comparison/index.tsx +++ b/src/pages/Experiment/Comparison/index.tsx @@ -195,27 +195,31 @@ function ExperimentComparison() { return (
    -
    - -
    -
    -
    record.run_id || record.experiment_ins_id} - /> +
    +
    + +
    +
    +
    record.run_id || record.experiment_ins_id} + /> + ); diff --git a/src/pages/Experiment/Info/index.jsx b/src/pages/Experiment/Info/index.jsx index 296dbfe3..8c3b347d 100644 --- a/src/pages/Experiment/Info/index.jsx +++ b/src/pages/Experiment/Info/index.jsx @@ -3,8 +3,8 @@ import { ExperimentStatus } from '@/enums'; import { useStateRef } from '@/hooks/useStateRef'; import { useVisible } from '@/hooks/useVisible'; import { getExperimentIns } from '@/services/experiment/index.js'; -import themes from '@/styles/theme.less'; import { fittingString, parseJsonText } from '@/utils'; +import { WorkflowCategoryColors } from '@/utils/constant'; import { formatDate } from '@/utils/date'; import { getExperimentInstanceStatus } from '@/utils/experiment'; import { to } from '@/utils/promise'; @@ -32,8 +32,8 @@ function ExperimentText() { useVisible(false); const navigate = useNavigate(); const evtSourceRef = useRef(); - const width = 110; - const height = 36; + const NodeWidth = 154; + const NodeHeight = 52; const status = getExperimentInstanceStatus(experimentIns?.status, workflowStatus); const statusInfo = experimentStatusInfo[status]; @@ -234,9 +234,11 @@ function ExperimentText() { workflowNode.experimentStatus = phase; workflowNode.workflowId = id; workflowNode.message = message; - workflowNode.img = phase - ? `${workflowNode.imgName}-${phase}.png` - : `${workflowNode.imgName}.png`; + workflowNode.img = `${workflowNode.imgName}.png`; + + // workflowNode.img = phase + // ? `${workflowNode.imgName}-${phase}.png` + // : `${workflowNode.imgName}.png`; } // 根据数据,渲染图 @@ -282,35 +284,37 @@ function ExperimentText() { afterDraw(cfg, group) { const image = group.addShape('image', { attrs: { - x: -45, - y: -10, - width: 20, - height: 20, + x: -71, + y: -20, + width: 40, + height: 40, img: cfg.img, cursor: 'pointer', }, + name: 'custom-image-shape', draggable: true, }); if (cfg.label) { group.addShape('text', { attrs: { - text: fittingString(cfg.label, 70, 10), - x: -20, + text: fittingString(cfg.label, 92, 13), + x: -21, y: 0, - fontSize: 10, + fontSize: 13, textAlign: 'left', textBaseline: 'middle', - fill: '#000', + fill: '#494a6f', cursor: 'pointer', }, - name: 'text-shape', + name: 'custom-label-shape', draggable: true, }); } - const hasRightImg = + + if ( cfg.experimentStatus === ExperimentStatus.Pending || - cfg.experimentStatus === ExperimentStatus.Running; - if (hasRightImg) { + cfg.experimentStatus === ExperimentStatus.Running + ) { const image = group.addShape('image', { attrs: { x: -10, @@ -334,7 +338,7 @@ function ExperimentText() { [1, 0, 0, 0, 1, 0, 0, 0, 1], [ ['r', ratio * Math.PI * 2], - ['t', width / 2 - 14 + 10, -height / 2 - 6 + 10], + ['t', NodeWidth / 2 - 14 + 10, -NodeHeight / 2 - 6 + 10], ], ); return { @@ -350,11 +354,33 @@ function ExperimentText() { } else if (cfg.experimentStatus === ExperimentStatus.Pending) { const toMatrix = Util.transform( [1, 0, 0, 0, 1, 0, 0, 0, 1], - [['t', width / 2 - 14 + 10, -height / 2 - 6 + 10]], + [['t', NodeWidth / 2 - 14 + 10, -NodeHeight / 2 - 6 + 10]], ); image.setMatrix(toMatrix); } } + else if ( + cfg.experimentStatus === ExperimentStatus.Error || + cfg.experimentStatus === ExperimentStatus.Failed || + cfg.experimentStatus === ExperimentStatus.Succeeded || + cfg.experimentStatus === ExperimentStatus.Terminated || + cfg.experimentStatus === ExperimentStatus.Omitted || + cfg.experimentStatus === ExperimentStatus.Skipped + ) { + group.addShape('image', { + attrs: { + x: 47, + y: -41.5, + width: 20, + height: 15, + img: require(`@/assets/img/pipeline/${cfg.experimentStatus}.png`), + cursor: 'pointer', + }, + name: 'custom-error-image', + draggable: false, + capture: false, + }); + } const bbox = group.getBBox(); const anchorPoints = this.getAnchorPoints(cfg); anchorPoints.forEach((anchorPos, i) => { @@ -379,11 +405,19 @@ function ExperimentText() { setState(name, value, item) { const group = item.getContainer(); const shape = group.get('children')?.[0]; + const textLabel = group.find((item) => item.get('name') === 'custom-label-shape'); + const model = item.getModel(); + const { category_id = 1 } = model; + const color = WorkflowCategoryColors[category_id - 1] ?? WorkflowCategoryColors[1]; if (name === 'hover') { if (value) { - shape?.attr('stroke', themes['primaryColor']); + shape.attr('stroke', color); + shape.attr('lineWidth', 2); + textLabel.attr('fill', color); } else { - shape?.attr('stroke', 'transparent'); + shape.attr('stroke', '#CFD5EB'); + shape.attr('lineWidth', 1); + textLabel.attr('fill', '#494a6f'); } } }, @@ -420,30 +454,20 @@ function ExperimentText() { defaultNode: { type: 'rect-node', - size: [width, height], + size: [NodeWidth, NodeHeight], labelCfg: { style: { - fill: '#000', - fontSize: 10, - cursor: 'pointer', - x: -20, - y: 0, - textAlign: 'left', - textBaseline: 'middle', + fill: 'transparent', }, }, style: { - fill: '#fff', - stroke: 'transparent', + fill: 'white', + stroke: '#CFD5EB', cursor: 'pointer', - radius: 8, - shadowColor: 'rgba(75, 84, 137, 0.4)', - shadowBlur: 6, - shadowOffsetX: 0, - shadowOffsetY: 0, + radius: 6, overflow: 'hidden', - lineWidth: 0.5, + lineWidth: 1, }, }, defaultEdge: { @@ -452,12 +476,13 @@ function ExperimentText() { // 设置终点箭头 path: G6.Arrow.triangle(3, 3, 3), // 使用内置箭头路径函数,参数为箭头的 宽度、长度、偏移量(默认为 0,与 d 对应) d: 4.5, - fill: '#a2a6b5', + fill: '#CDD0DC', }, cursor: 'pointer', - lineWidth: 1, + lineWidth: 2, + lineAppendWidth: 4, opacity: 1, - stroke: '#a2a6b5', + stroke: '#CDD0DC', radius: 1, }, labelCfg: { @@ -471,14 +496,14 @@ function ExperimentText() { }); // 修改历史数据样式问题 - graph.node((node) => { - return { - style: { - stroke: 'transparent', - radius: 8, - }, - }; - }); + // graph.node((node) => { + // return { + // style: { + // stroke: 'transparent', + // radius: 8, + // }, + // }; + // }); // 绑定事件 bindEvents(); @@ -515,42 +540,47 @@ function ExperimentText() { }; return ( -
    -
    -
    - 启动时间:{formatDate(workflowStatus?.startedAt)} +
    +
    +
    +
    + 启动时间:{formatDate(workflowStatus?.startedAt)} +
    +
    + 执行时长: + +
    +
    + 状态: + {statusInfo ? ( + <> + + {statusInfo.label} + + ) : ( + '--' + )} +
    +
    -
    - 执行时长: - -
    -
    - 状态: - {statusInfo ? ( - <> - - {statusInfo.label} - - ) : ( - '--' - )} -
    - +
    -
    + {experimentIns && experimentNodeData ? ( ; + const url = SessionStorage.getItem(SessionStorage.tensorBoardUrlKey); + return url && ; } export default TensorboardPage; diff --git a/src/pages/Experiment/components/AddExperimentModal/index.tsx b/src/pages/Experiment/components/AddExperimentModal/index.tsx index 4d576819..6aa81421 100644 --- a/src/pages/Experiment/components/AddExperimentModal/index.tsx +++ b/src/pages/Experiment/components/AddExperimentModal/index.tsx @@ -1,5 +1,3 @@ -import createExperimentIcon from '@/assets/img/create-experiment.png'; -import editExperimentIcon from '@/assets/img/edit-experiment.png'; import KFModal from '@/components/KFModal'; import { PipelineGlobalParamType, type PipelineGlobalParam } from '@/types'; import { to } from '@/utils/promise'; @@ -82,7 +80,6 @@ function AddExperimentModal({ initialValues = {}, }: AddExperimentModalProps) { const modalTitle = isAdd ? '新建实验' : '配置实验'; - const modalIcon = isAdd ? createExperimentIcon : editExperimentIcon; const workflowDisabled = isAdd ? false : true; const [globalParam, setGlobalParam] = useState( initialValues.global_param || [], @@ -143,11 +140,10 @@ function AddExperimentModal({ diff --git a/src/pages/Experiment/components/ExperimentDrawer/index.less b/src/pages/Experiment/components/ExperimentDrawer/index.less index 41cb8a19..f0f34eba 100644 --- a/src/pages/Experiment/components/ExperimentDrawer/index.less +++ b/src/pages/Experiment/components/ExperimentDrawer/index.less @@ -1,14 +1,13 @@ .experiment-drawer { line-height: var(--ant-line-height); + :global { - .ant-drawer-body { - overflow-y: hidden; + .ant-drawer-header { + padding: 0 !important; } - .ant-drawer-close { - position: absolute; - top: 16px; - right: 16px; + .ant-drawer-body { + overflow-y: hidden; } } @@ -51,4 +50,27 @@ padding: 8px; background: white; } + + &__close { + position: absolute; + top: calc(50% - 18px); + left: -22px; + z-index: 100; + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + background-color: @background-color; + border-radius: 50%; + box-shadow: 0px 3px 6px rgba(151, 150, 180, 0.46); + cursor: pointer; + + &:hover { + color: @primary-color; + } + &:active { + color: @primary-color-hover; + } + } } diff --git a/src/pages/Experiment/components/ExperimentDrawer/index.tsx b/src/pages/Experiment/components/ExperimentDrawer/index.tsx index 7a52060a..e85a8c53 100644 --- a/src/pages/Experiment/components/ExperimentDrawer/index.tsx +++ b/src/pages/Experiment/components/ExperimentDrawer/index.tsx @@ -1,9 +1,11 @@ +import KFIcon from '@/components/KFIcon'; import RunDuration from '@/components/RunDuration'; import { ExperimentStatus } from '@/enums'; import { experimentStatusInfo } from '@/pages/Experiment/status'; +import DrawerTitle from '@/pages/Pipeline/components/DrawerTitle'; import { PipelineNodeModelSerialize, type PipelineGlobalParam } from '@/types'; import { formatDate } from '@/utils/date'; -import { CloseOutlined, DatabaseOutlined, ProfileOutlined } from '@ant-design/icons'; +import { DatabaseOutlined, ProfileOutlined } from '@ant-design/icons'; import { Drawer, Tabs, Typography } from 'antd'; import { useMemo } from 'react'; import ExperimentParameter from '../ExperimentParameter'; @@ -102,13 +104,13 @@ const ExperimentDrawer = ({ return ( } placement="right" - closeIcon={} + closeIcon={false} onClose={onClose} open={open} - width={520} + width={700} className={styles['experiment-drawer']} destroyOnClose={true} mask={false} @@ -157,6 +159,9 @@ const ExperimentDrawer = ({ height: instanceNodeData.message ? 'calc(100% - 169px - 39px)' : 'calc(100% - 169px)', }} /> +
    + +
    ); }; diff --git a/src/pages/Experiment/components/ExperimentInstanceList/index.less b/src/pages/Experiment/components/ExperimentInstanceList/index.less index 5dea8f64..aae6d1df 100644 --- a/src/pages/Experiment/components/ExperimentInstanceList/index.less +++ b/src/pages/Experiment/components/ExperimentInstanceList/index.less @@ -33,12 +33,16 @@ } .status { - width: 160px; + width: 220px; } .operation { position: relative; - width: 344px; + width: 244px; + + & > button:first-child { + margin-left: -8px; + } } } @@ -54,7 +58,7 @@ .statusBox { display: flex; align-items: center; - width: 160px; + width: 220px; } } diff --git a/src/pages/Experiment/components/ExperimentInstanceList/index.tsx b/src/pages/Experiment/components/ExperimentInstanceList/index.tsx index 2d387e66..9511573c 100644 --- a/src/pages/Experiment/components/ExperimentInstanceList/index.tsx +++ b/src/pages/Experiment/components/ExperimentInstanceList/index.tsx @@ -1,4 +1,3 @@ -import KFIcon from '@/components/KFIcon'; import { ExperimentStatus } from '@/enums'; import { useCheck } from '@/hooks/useCheck'; import { @@ -153,13 +152,13 @@ function ExperimentInstanceList({ {selectedIns.length > 0 && ( )}
    @@ -209,7 +208,7 @@ function ExperimentInstanceList({ item.status === ExperimentStatus.Failed || item.status === ExperimentStatus.Terminated } - icon={} + // icon={} onClick={() => handleTerminate(item)} > 终止 @@ -225,11 +224,12 @@ function ExperimentInstanceList({ type="link" size="small" key="batchRemove" + danger disabled={ item.status === ExperimentStatus.Running || item.status === ExperimentStatus.Pending } - icon={} + // icon={} onClick={() => handleRemove(item)} > 删除 diff --git a/src/pages/Experiment/components/ExperimentParameter/index.less b/src/pages/Experiment/components/ExperimentParameter/index.less index 339ef362..e43e49e9 100644 --- a/src/pages/Experiment/components/ExperimentParameter/index.less +++ b/src/pages/Experiment/components/ExperimentParameter/index.less @@ -1,19 +1,18 @@ .experiment-parameter { height: 100%; - padding-top: 8px; overflow-y: auto; &__title { - display: flex; - align-items: center; - height: 43px; - margin-right: 8px; - margin-bottom: 20px; - margin-left: 8px; + width: 100%; + margin-top: 30px; + margin-bottom: 25px; padding: 0 24px; - color: @text-color; - font-size: @font-size; - background: #f8fbff; + + :global { + .kf-subarea-title { + font-weight: 500; + } + } } &__form-list { diff --git a/src/pages/Experiment/components/ExperimentParameter/index.tsx b/src/pages/Experiment/components/ExperimentParameter/index.tsx index 80c6d25d..efdd377a 100644 --- a/src/pages/Experiment/components/ExperimentParameter/index.tsx +++ b/src/pages/Experiment/components/ExperimentParameter/index.tsx @@ -121,17 +121,11 @@ function ExperimentParameter({ nodeData, globalParams }: ExperimentParameterProp span: 24, }} initialValues={nodeData} - style={{ - maxWidth: 600, - }} autoComplete="off" className={styles['experiment-parameter']} >
    - +
    0 && (
    - +
    )} @@ -177,10 +168,7 @@ function ExperimentParameter({ nodeData, globalParams }: ExperimentParameterProp {inParametersList.length > 0 && ( <>
    - +
    {inParametersList.map((item) => getFormComponent(item, 'in_parameters'))} @@ -190,10 +178,7 @@ function ExperimentParameter({ nodeData, globalParams }: ExperimentParameterProp {outParametersList.length > 0 && ( <>
    - +
    {outParametersList.map((item) => ( diff --git a/src/pages/Experiment/components/ViewParamsModal/index.tsx b/src/pages/Experiment/components/ViewParamsModal/index.tsx index 2000d556..ea92227b 100644 --- a/src/pages/Experiment/components/ViewParamsModal/index.tsx +++ b/src/pages/Experiment/components/ViewParamsModal/index.tsx @@ -3,7 +3,6 @@ * @Date: 2024-04-09 15:59:14 * @Description: 查看实验使用的参数 */ -import parameterImg from '@/assets/img/modal-parameter.png'; import KFEmpty, { EmptyType } from '@/components/KFEmpty'; import KFModal from '@/components/KFModal'; import { type PipelineGlobalParam } from '@/types'; @@ -21,12 +20,11 @@ function ParamsModal({ open, onCancel, globalParams = [] }: ParamsModalProps) { return ( {Array.isArray(globalParams) && globalParams.length > 0 ? (
    diff --git a/src/pages/Experiment/index.jsx b/src/pages/Experiment/index.jsx index d0f4b955..34c5907d 100644 --- a/src/pages/Experiment/index.jsx +++ b/src/pages/Experiment/index.jsx @@ -16,13 +16,12 @@ import { runTensorBoardReq, } from '@/services/experiment/index.js'; import { getWorkflow } from '@/services/pipeline/index.js'; -import themes from '@/styles/theme.less'; import { ExperimentCompleted } from '@/utils/constant'; import { to } from '@/utils/promise'; import SessionStorage from '@/utils/sessionStorage'; import tableCellRender, { TableCellValueType } from '@/utils/table'; import { modalConfirm } from '@/utils/ui'; -import { App, Button, ConfigProvider, Dropdown, Input, Space, Table, Tooltip } from 'antd'; +import { App, Button, Dropdown, Input, Space, Table, Tooltip, Divider } from 'antd'; import classNames from 'classnames'; import { useCallback, useEffect, useRef, useState } from 'react'; import { useNavigate } from 'react-router-dom'; @@ -31,6 +30,7 @@ import AddExperimentModal from './components/AddExperimentModal'; import ExperimentInstanceList from './components/ExperimentInstanceList'; import styles from './index.less'; import { experimentStatusInfo } from './status'; +import KFSearch from '@/components/KFSearch'; // 定时器 const timerIds = new Map(); @@ -276,12 +276,14 @@ function Experiment() { }, [experimentInsList, editExperimentIns]); // 搜索 - const onSearch = (value) => { - setSearchText(value); - setPagination((prev) => ({ - ...prev, - current: 1, - })); + const handleSearch = (value) => { + if (value !== searchText) { + setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); + } }; // 运行 TensorBoard @@ -508,14 +510,14 @@ function Experiment() { title: '实验名称', dataIndex: 'name', key: 'name', - render: tableCellRender(false), + render: tableCellRender(true), width: '16%', }, { title: '关联流水线名称', dataIndex: 'workflow_name', key: 'workflow_name', - render: tableCellRender(false, TableCellValueType.Link, { + render: tableCellRender(true, TableCellValueType.Link, { onClick: gotoPipeline, }), width: '16%', @@ -530,7 +532,7 @@ function Experiment() { title: '最近五次运行状态', dataIndex: 'status_list', key: 'status_list', - width: 160, + width: 220, render: (text) => { const newText = text && text.replace(/\s+/g, '').split(','); return ( @@ -556,76 +558,68 @@ function Experiment() { { title: '操作', key: 'action', - width: 360, + width: 260, render: (_, record) => ( - +
    + + - e.preventDefault()}> - - - 实验对比 - + e.preventDefault()} style={{padding: '0 7px'}}> + 实验对比 - + - - + 删除 + +
    ), }, ]; return (
    -
    - setInputText(e.target.value)} - style={{ width: 300 }} + setInputText(e.target.value)} allowClear /> -
    { + const { data_type, data_tag } = item; + const typeList = data_type?.split(',').filter((item) => !!item) ?? []; + const tagList = data_tag?.split(',').filter((item) => !!item) ?? []; + return [...typeList, ...tagList]; + }; + return (
    {item.name}
    {index < 3 &&
    HOT
    } -
    {item.description}
    + {/*
    {item.description}
    */} +
    + {allTags(item).map((item) => ( + + {item} + + ))} +
    - - 智能材料科研平台 + + MatrAIx
    关于我们
    diff --git a/src/pages/Home/components/Intro/index.less b/src/pages/Home/components/Intro/index.less index 6adf597c..4c5b053e 100644 --- a/src/pages/Home/components/Intro/index.less +++ b/src/pages/Home/components/Intro/index.less @@ -18,7 +18,6 @@ flex-direction: column; align-items: center; padding: 1.25rem @home-padding-x 0; - // background-image: url(@/assets/img/home/header-bg.png); background-repeat: no-repeat; background-position: left top; background-size: 100% 100%; diff --git a/src/pages/Home/components/Intro/index.tsx b/src/pages/Home/components/Intro/index.tsx index 7ea944c1..fa2a16a6 100644 --- a/src/pages/Home/components/Intro/index.tsx +++ b/src/pages/Home/components/Intro/index.tsx @@ -1,6 +1,7 @@ import miniHeaderImage from '@/assets/img/home/header-bg-mini.png'; import headerImage from '@/assets/img/home/header-bg.png'; import { convertRemToPx } from '@/utils'; +import { HomeUrl } from '@/utils/constant'; import { gotoPageIfLogin } from '@/utils/ui'; import { motion, @@ -16,8 +17,8 @@ import StatisticsBlock from '../Statistics'; import styles from './index.less'; function IntroBlock() { - const [backgroundImage1, setBackgroundImage1] = useState(undefined); - const [backgroundImage2, setBackgroundImage2] = useState(headerImage); + const [minBgImage, setMinBgImage] = useState(undefined); + const [largeBgImage, setLargeBgImage] = useState(headerImage); const { scrollY } = useScroll(); const springValue = useSpring(scrollY, { stiffness: 100, @@ -28,16 +29,17 @@ function IntroBlock() { const initialHeight = convertRemToPx(35); const minHeight = convertRemToPx(4.7); const height = useTransform(() => `max(calc(35rem - ${springValue.get()}px), 4.7rem)`); - const left = useTransform(springValue, [0, initialHeight], [0.0, 16.25]); - const leftRem = useMotionTemplate`${left}rem`; + const inline = useTransform(springValue, [0, initialHeight], [0.0, 16.25]); + const inlineRem = useMotionTemplate`${inline}rem`; + const minWidth = useMotionTemplate`calc(1440px - ${inline}rem - ${inline}rem)`; const radius = useTransform(springValue, [0, initialHeight], [0.0, 2.5]); const radiusRem = useMotionTemplate`${radius}rem`; const top = useTransform(springValue, [0, initialHeight], [0, 10]); - const paddingX = useTransform(springValue, [0, initialHeight], [16.25, 10]); - const paddingXRem = useMotionTemplate`1.25rem ${paddingX}rem 0`; + const paddingInline = useTransform(springValue, [0, initialHeight], [16.25, 10]); + const padding = useMotionTemplate`1.25rem ${paddingInline}rem 0`; useMotionValueEvent(scrollY, 'change', (value) => { - setBackgroundImage1(value > initialHeight - minHeight ? miniHeaderImage : undefined); - setBackgroundImage2(value > initialHeight - minHeight ? undefined : headerImage); + setMinBgImage(value > initialHeight - minHeight ? miniHeaderImage : undefined); + setLargeBgImage(value > initialHeight - minHeight ? undefined : headerImage); }); return ( @@ -45,11 +47,12 @@ function IntroBlock() { className={styles.intro} style={{ height: height, - left: leftRem, - right: leftRem, + left: inlineRem, + right: inlineRem, borderRadius: radiusRem, - top: top, - backgroundImage: backgroundImage1 ? `url(${backgroundImage1})` : undefined, + minWidth, + top, + backgroundImage: minBgImage ? `url(${minBgImage})` : undefined, }} transition={{ type: 'spring', @@ -59,17 +62,17 @@ function IntroBlock() { -
    智能材料科研平台
    +
    MatrAIx
    - 智能材料科研平台是用于材料研究和开发的技术平台,它旨在提供实验数据收集、分析和可视化等功能, + MatrAIx 是用于材料研究和开发的技术平台,它旨在提供实验数据收集、分析和可视化等功能, 以支持材料工程师、科学家和研究人员在材料设计、性能评估和工艺优化方面的工作。
    -
    gotoPageIfLogin('/workspace')}> +
    gotoPageIfLogin(HomeUrl)}> 开始使用
    diff --git a/src/pages/Home/components/Model/index.less b/src/pages/Home/components/Model/index.less index ffe17121..6b72869c 100644 --- a/src/pages/Home/components/Model/index.less +++ b/src/pages/Home/components/Model/index.less @@ -54,7 +54,7 @@ } &__title { - margin-bottom: 0.625rem; + margin-bottom: 1rem; color: @home-text-color; font-size: 1rem; .singleLine(); @@ -72,6 +72,30 @@ .multiLine(2); } + &__tags { + display: flex; + gap: 0.5rem; + align-items: center; + min-height: 1.375rem; + margin-bottom: 1.25rem; + + &__item { + height: 1.375rem; + margin-bottom: 0 !important; + padding: 0 0.625rem; + color: @text-color-secondary; + font-size: 0.8125rem; + line-height: 1.375rem; + background-color: rgba(81, 76, 249, 0.04); + border-radius: 0.25rem; + .singleLine(); + } + } + + &:hover &__tags__item { + color: white; + } + &__user { .singleLine(); } diff --git a/src/pages/Home/components/Model/index.tsx b/src/pages/Home/components/Model/index.tsx index f322b7f2..fc7fa575 100644 --- a/src/pages/Home/components/Model/index.tsx +++ b/src/pages/Home/components/Model/index.tsx @@ -1,3 +1,4 @@ +import { useScrollDirection } from '@/hooks/useScrollDirection'; import { ModelData } from '@/pages/Dataset/config'; import { getPublicModelsReq } from '@/services/home'; import { to } from '@/utils/promise'; @@ -9,8 +10,16 @@ import BlockTitle from '../BlockTitle'; import styles from './index.less'; const modelVariants: Variants = { - offscreen: { - y: 100, + offscreenDown: { + y: 200, + opacity: 0, + transition: { + ease: 'linear', + duration: 0.5, + }, + }, + offscreenUp: { + y: -200, opacity: 0, transition: { ease: 'linear', @@ -23,13 +32,20 @@ const modelVariants: Variants = { transition: { ease: 'easeOut', duration: 0.5, - // times: [0, 0, 1], }, }, }; function ModelBlock() { const [modelData, setModelData] = useState([]); + const direction = useScrollDirection(); + + const allTags = (item: ModelData) => { + const { model_type, model_tag } = item; + const typeList = model_type?.split(',').filter((item) => !!item) ?? []; + const tagList = model_tag?.split(',').filter((item) => !!item) ?? []; + return [...typeList, ...tagList]; + }; useEffect(() => { const getPublicModels = async () => { @@ -55,7 +71,7 @@ function ModelBlock() { return (
    }
    {item.name}
    -
    {item.description}
    + {/*
    {item.description}
    */} +
    + {allTags(item).map((item) => ( + + {item} + + ))} +
    {item.create_by}
    { if (page === 'login') { - navigate('/user/login'); + navigate(NavigationPageEnum.LOGIN); return; } @@ -50,11 +51,8 @@ function NavBar() { return (
    - - 智能材料科研平台 + + MatrAIx
    gotoPage('app')}> 应用
    @@ -68,7 +66,7 @@ function NavBar() { 镜像
    gotoPage('codeConfig')}> - 代码配置 + 代码仓库
    diff --git a/src/pages/Home/components/Statistics/index.tsx b/src/pages/Home/components/Statistics/index.tsx index 1357532a..92a094dc 100644 --- a/src/pages/Home/components/Statistics/index.tsx +++ b/src/pages/Home/components/Statistics/index.tsx @@ -14,30 +14,30 @@ function StatisticsBlock() { { title: string; value: number | undefined; icon: string }[] >([ { - title: '数据集', + title: '应用', value: undefined, - icon: DatasetIcon, + icon: ServiceIcon, }, { title: '模型', value: undefined, icon: ModelIcon, }, + { + title: '数据集', + value: undefined, + icon: DatasetIcon, + }, { title: '镜像', value: undefined, icon: ImageIcon, }, { - title: '代码配置', + title: '代码仓库', value: undefined, icon: CodeIcon, }, - { - title: '服务', - value: undefined, - icon: ServiceIcon, - }, ]); useEffect(() => { const getAssetPublicCount = async () => { @@ -46,30 +46,30 @@ function StatisticsBlock() { const { dataset, image, model, codeConfig, service } = res.data; const items = [ { - title: '数据集', - value: dataset, - icon: DatasetIcon, + title: '应用', + value: service, + icon: ServiceIcon, }, { title: '模型', value: model, icon: ModelIcon, }, + { + title: '数据集', + value: dataset, + icon: DatasetIcon, + }, { title: '镜像', value: image, icon: ImageIcon, }, { - title: '代码配置', + title: '代码仓库', value: codeConfig, icon: CodeIcon, }, - { - title: '服务', - value: service, - icon: ServiceIcon, - }, ]; setAssetCounts(items); } diff --git a/src/pages/HyperParameter/Aim/index.tsx b/src/pages/HyperParameter/Aim/index.tsx deleted file mode 100644 index 01a054da..00000000 --- a/src/pages/HyperParameter/Aim/index.tsx +++ /dev/null @@ -1,12 +0,0 @@ -/* - * @Author: 赵伟 - * @Date: 2025-03-31 16:38:59 - * @Description: 实验对比 Aim - */ - -import IframePage, { IframePageType } from '@/components/IFramePage'; - -function AimPage() { - return ; -} -export default AimPage; diff --git a/src/pages/HyperParameter/Create/index.less b/src/pages/HyperParameter/Create/index.less index 51cf8eb0..e1548012 100644 --- a/src/pages/HyperParameter/Create/index.less +++ b/src/pages/HyperParameter/Create/index.less @@ -1,11 +1,11 @@ .create-hyper-parameter { height: 100%; - padding-top: @page-padding-top; + padding: @page-padding-top @content-padding @page-padding-bottom; + .backgroundPageImage(url(@/assets/img/app/app-bg-2.png)); &__content { - height: calc(100% - 60px); - margin-top: 10px; - padding: 30px 30px 10px; + height: 100%; + padding: 24px; overflow: auto; color: @text-color; font-size: @font-size-content; diff --git a/src/pages/HyperParameter/Create/index.tsx b/src/pages/HyperParameter/Create/index.tsx index 3276a94e..d1258987 100644 --- a/src/pages/HyperParameter/Create/index.tsx +++ b/src/pages/HyperParameter/Create/index.tsx @@ -3,7 +3,6 @@ * @Date: 2024-04-16 13:58:08 * @Description: 创建实验 */ -import PageTitle from '@/components/PageTitle'; import { addRayReq, getRayInfoReq, updateRayReq } from '@/services/hyperParameter'; import { safeInvoke } from '@/utils/functional'; import { to } from '@/utils/promise'; @@ -105,21 +104,10 @@ function CreateHyperParameter() { navigate(-1); }; - let buttonText = '新建'; - let title = '新建实验'; - if (id) { - if (isCopy) { - title = '复制实验'; - buttonText = '确定'; - } else { - title = '编辑实验'; - buttonText = '更新'; - } - } + const buttonTitle = id ? (isCopy ? '确定' : '更新') : '新建'; return (
    -
    - +
    + +
    ); } diff --git a/src/pages/HyperParameter/components/ExperimentResult/index.less b/src/pages/HyperParameter/components/ExperimentResult/index.less index 239a3abf..6d6e14d2 100644 --- a/src/pages/HyperParameter/components/ExperimentResult/index.less +++ b/src/pages/HyperParameter/components/ExperimentResult/index.less @@ -1,10 +1,9 @@ .experiment-result { - height: calc(100% - 10px); - margin-top: 10px; - padding: 20px @content-padding; + height: 100%; + padding: 24px @content-padding; overflow-y: auto; background-color: white; - border-radius: 10px; + border-radius: 0 10px 10px 10px; &__table { height: 400px; diff --git a/src/pages/HyperParameter/components/HyperParameterBasic/index.less b/src/pages/HyperParameter/components/HyperParameterBasic/index.less index f365aa66..689d4813 100644 --- a/src/pages/HyperParameter/components/HyperParameterBasic/index.less +++ b/src/pages/HyperParameter/components/HyperParameterBasic/index.less @@ -1,6 +1,6 @@ .hyper-parameter-basic { height: 100%; - padding: 20px @content-padding; + padding: @content-padding; overflow-y: auto; background-color: white; border-radius: 10px; diff --git a/src/pages/LLM/components/ChatArea.less b/src/pages/LLM/components/ChatArea.less index 85bf5ac3..572c344f 100644 --- a/src/pages/LLM/components/ChatArea.less +++ b/src/pages/LLM/components/ChatArea.less @@ -134,7 +134,7 @@ color: @text-color; } &:active { - background-color: #f7f9fd; + background-color: @background-color; } } } diff --git a/src/pages/LLM/components/ChatArea.tsx b/src/pages/LLM/components/ChatArea.tsx index 8046b4f8..edeb81ee 100644 --- a/src/pages/LLM/components/ChatArea.tsx +++ b/src/pages/LLM/components/ChatArea.tsx @@ -31,7 +31,7 @@ export default function ChatArea({ session, onSessionCreated, currentModel }: Ch const inputRef = useRef(null); const abortControllerRef = useRef(null); const [hotQuestions, setHotQuestions] = useState([]); - const { message } = App.useApp(); + const { message: antMessage } = App.useApp(); const cleanup = useCallback(() => { if (abortControllerRef.current) { @@ -158,7 +158,7 @@ export default function ChatArea({ session, onSessionCreated, currentModel }: Ch (error) => { // Streaming error console.error('Streaming error:', error); - message.error('生成消息失败'); + antMessage.error('生成消息失败'); setStreaming(false); setStreamingContent(''); abortControllerRef.current = null; @@ -167,7 +167,7 @@ export default function ChatArea({ session, onSessionCreated, currentModel }: Ch ); } catch (error) { console.error('Failed to send message:', error); - message.error('生成消息失败'); + antMessage.error('生成消息失败'); setStreaming(false); setStreamingContent(''); abortControllerRef.current = null; @@ -237,6 +237,7 @@ export default function ChatArea({ session, onSessionCreated, currentModel }: Ch const handleMessageFeedback = async (message: Message, feedback: 'like' | 'dislike' | 'none') => { const [res] = await to(sendMessageFeedback(message.id, feedback)); if (res) { + antMessage.success('谢谢您的反馈'); setMessages((prev) => prev.map((m) => { if (m.id === message.id) { @@ -290,7 +291,7 @@ export default function ChatArea({ session, onSessionCreated, currentModel }: Ch src={require('@/assets/img/workspace/search-icon.png')} className={styles['chat-area__prompt__icon']} > - 今天你想问一些什么科学的问题 + 今天你想问一些什么问题
    void; +} + +const ToolCard: React.FC = ({ tool, onSelect }) => { + const handleClick = () => { + onSelect(tool); + }; + + const params = tool.inputSchema?.properties ? Object.keys(tool.inputSchema.properties) : []; + + return ( +
    + {tool.type &&
    {tool.type}
    } + + +
    {tool.name || '未命名工具'}
    + +
    + +
    {tool.description || '暂无描述'}
    + +
    + 参数: + + {params.length > 0 + ? params.slice(0, 3).join('、') + (params.length > 3 ? '...' : '') + : '无'} + +
    +
    + ); +}; + +export default ToolCard; diff --git a/src/pages/MCP/components/ToolDetail/index.less b/src/pages/MCP/components/ToolDetail/index.less new file mode 100644 index 00000000..135e1605 --- /dev/null +++ b/src/pages/MCP/components/ToolDetail/index.less @@ -0,0 +1,139 @@ +// ToolDetail 组件样式 - BEM 规范 +.tool-detail { + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + padding: 0 @content-padding; + + &__header { + display: flex; + flex: none; + gap: 16px; + align-items: center; + margin-bottom: 30px; + + &__back { + margin-bottom: 0; + } + + &__title { + margin: 0 !important; + color: @text-color; + font-size: 20px; + } + } + + &__content { + display: flex; + flex: 1; + gap: 20px; + width: 100%; + min-height: 0; + + &__left { + display: flex; + flex: 1; + flex-direction: column; + min-width: 0; + height: 100%; + overflow-y: auto; + } + + &__right { + flex: 1; + min-width: 0; + height: 100%; + } + + &__info { + flex: none; + margin-bottom: 20px; + } + + &__params { + flex: 1 0 0%; + + :global { + .ant-card-body { + position: relative; + height: calc(100% - var(--ant-card-header-height)); + padding-bottom: 80px; + } + } + } + + &__form { + margin-bottom: 16px; + } + + &__json { + margin-top: 16px; + margin-bottom: 16px; + } + + &__json-input { + font-size: 14px; + font-family: 'Courier New', monospace; + } + + &__run { + position: absolute; + right: 24px; + bottom: 24px; + left: 24px; + } + + &__no-params { + padding: 30px; + text-align: center; + } + + &__result { + height: 100%; + + :global { + .ant-card-body { + height: calc(100% - var(--ant-card-header-height)); + } + } + + &__loading { + display: flex; + flex-direction: column; + gap: 16px; + align-items: center; + justify-content: center; + height: 100%; + } + + &__error { + height: 100%; + } + + &__success { + height: 100%; + pre { + height: 100%; + margin: 0; + padding: 16px; + overflow-x: auto; + overflow-y: auto; + font-size: 14.4px; + font-family: 'Courier New', monospace; + line-height: 1.5; + background: @background-color; + border-radius: 0.375rem; + } + } + + &__none { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + text-align: center; + } + } + } +} diff --git a/src/pages/MCP/components/ToolDetail/index.tsx b/src/pages/MCP/components/ToolDetail/index.tsx new file mode 100644 index 00000000..31dc4668 --- /dev/null +++ b/src/pages/MCP/components/ToolDetail/index.tsx @@ -0,0 +1,338 @@ +import type { Tool } from '@/services/mcp'; +import { generateDefaultParams, getExampleParams } from '@/utils/paramGenerator'; +import { ArrowLeftOutlined, PlayCircleOutlined } from '@ant-design/icons'; +import { + Alert, + Button, + Card, + Descriptions, + Form, + Input, + InputNumber, + Space, + Spin, + Switch, + Tag, + Typography, +} from 'antd'; +import React, { useEffect, useState } from 'react'; +import styles from './index.less'; + +const { TextArea } = Input; +const { Text, Paragraph } = Typography; + +interface ToolDetailProps { + tool: Tool; + onBack: () => void; + onRun: (toolName: string, arguments_: Record) => Promise; +} + +const ToolDetail: React.FC = ({ tool, onBack, onRun }) => { + const [form] = Form.useForm(); + const [params, setParams] = useState>({}); + const [result, setResult] = useState(null); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [jsonInput, setJsonInput] = useState(''); + + useEffect(() => { + // 初始化参数 + const defaultParams = generateDefaultParams(tool.inputSchema); + setParams(defaultParams); + setJsonInput(JSON.stringify(defaultParams, null, 2)); + form.setFieldsValue(defaultParams); + setResult(null); + setError(null); + }, [tool, form]); + + const handleLoadExample = () => { + const example = getExampleParams(tool); + if (example) { + const cloned = JSON.parse(JSON.stringify(example)); + setParams(cloned); + setJsonInput(JSON.stringify(cloned, null, 2)); + form.setFieldsValue(cloned); + } + }; + + const handleFormChange = (changedValues: any, allValues: any) => { + setParams(allValues); + setJsonInput(JSON.stringify(allValues, null, 2)); + }; + + const handleJsonChange = (value: string) => { + setJsonInput(value); + try { + const parsed = JSON.parse(value); + setParams(parsed); + form.setFieldsValue(parsed); + } catch (err) { + // 忽略无效 JSON + } + }; + + const handleRun = async () => { + setLoading(true); + setError(null); + setResult(null); + + try { + const formValues = form.getFieldsValue(); + const finalParams = Object.keys(formValues).length > 0 ? formValues : params; + const response = await onRun(tool.name, finalParams); + setResult(response); + } catch (err: any) { + setError(err.message); + } finally { + setLoading(false); + } + }; + + const renderParamInput = (key: string, schema: any) => { + const type = schema.type || 'string'; + const description = schema.description || ''; + const required = tool.inputSchema?.required?.includes(key) || false; + + switch (type) { + case 'number': + case 'integer': + return ( + + {key} {required && *} + + } + tooltip={description} + rules={required ? [{ required: true, message: `请输入 ${key}` }] : []} + > + + + ); + case 'boolean': + return ( + + {key} {required && *} + + } + tooltip={description} + valuePropName="checked" + rules={required ? [{ required: true, message: `请选择 ${key}` }] : []} + > + + + ); + case 'array': + case 'object': + return ( + + {key} {required && *} + + } + tooltip={description} + rules={required ? [{ required: true, message: `请输入 ${key}` }] : []} + > +