<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="1011px" preserveAspectRatio="none" style="width:3260px;height:1011px;background:#FFFFFF;" version="1.1" viewBox="0 0 3260 1011" width="3260px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="Verdana" font-size="22" font-weight="bold" lengthAdjust="spacing" textLength="347" x="1452.245" y="37.1182">UML MCP 渲染服务 - 组件架构图</text><!--cluster MCP???--><g id="cluster_MCP协议层"><path d="M1255.99,178.9373 L1331.99,178.9373 A3.75,3.75 0 0 1 1334.49,181.4373 L1341.49,201.952 L1516.99,201.952 A2.5,2.5 0 0 1 1519.49,204.452 L1519.49,275.4473 A2.5,2.5 0 0 1 1516.99,277.9473 L1255.99,277.9473 A2.5,2.5 0 0 1 1253.49,275.4473 L1253.49,181.4373 A2.5,2.5 0 0 1 1255.99,178.9373 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1253.49" x2="1341.49" y1="201.952" y2="201.952"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="75" x="1257.49" y="195.0125">MCP协议层</text></g><!--cluster ?????--><g id="cluster_应用服务层"><path d="M1126.99,326.9473 L1197.99,326.9473 A3.75,3.75 0 0 1 1200.49,329.4473 L1207.49,349.962 L1539.99,349.962 A2.5,2.5 0 0 1 1542.49,352.462 L1542.49,423.4673 A2.5,2.5 0 0 1 1539.99,425.9673 L1126.99,425.9673 A2.5,2.5 0 0 1 1124.49,423.4673 L1124.49,329.4473 A2.5,2.5 0 0 1 1126.99,326.9473 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1124.49" x2="1207.49" y1="349.962" y2="349.962"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="1128.49" y="343.0225">应用服务层</text></g><!--cluster ?????--><g id="cluster_核心业务层"><path d="M486.99,637.0573 L557.99,637.0573 A3.75,3.75 0 0 1 560.49,639.5573 L567.49,660.072 L1060.99,660.072 A2.5,2.5 0 0 1 1063.49,662.572 L1063.49,733.5773 A2.5,2.5 0 0 1 1060.99,736.0773 L486.99,736.0773 A2.5,2.5 0 0 1 484.49,733.5773 L484.49,639.5573 A2.5,2.5 0 0 1 486.99,637.0573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="484.49" x2="567.49" y1="660.072" y2="660.072"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="488.49" y="653.1325">核心业务层</text></g><!--cluster ?????--><g id="cluster_缓存管理层"><path d="M2734.99,486.0573 L2805.99,486.0573 A3.75,3.75 0 0 1 2808.49,488.5573 L2815.49,509.072 L3250.99,509.072 A2.5,2.5 0 0 1 3253.49,511.572 L3253.49,582.5673 A2.5,2.5 0 0 1 3250.99,585.0673 L2734.99,585.0673 A2.5,2.5 0 0 1 2732.49,582.5673 L2732.49,488.5573 A2.5,2.5 0 0 1 2734.99,486.0573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2732.49" x2="2815.49" y1="509.072" y2="509.072"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="2736.49" y="502.1325">缓存管理层</text></g><!--cluster ?????--><g id="cluster_监控指标层"><path d="M2180.99,637.0573 L2251.99,637.0573 A3.75,3.75 0 0 1 2254.49,639.5573 L2261.49,660.072 L2593.99,660.072 A2.5,2.5 0 0 1 2596.49,662.572 L2596.49,733.5773 A2.5,2.5 0 0 1 2593.99,736.0773 L2180.99,736.0773 A2.5,2.5 0 0 1 2178.49,733.5773 L2178.49,639.5573 A2.5,2.5 0 0 1 2180.99,637.0573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="2178.49" x2="2261.49" y1="660.072" y2="660.072"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="2182.49" y="653.1325">监控指标层</text></g><!--cluster ?????--><g id="cluster_配置管理层"><path d="M1665.99,486.0573 L1736.99,486.0573 A3.75,3.75 0 0 1 1739.49,488.5573 L1746.49,509.072 L2209.99,509.072 A2.5,2.5 0 0 1 2212.49,511.572 L2212.49,582.5673 A2.5,2.5 0 0 1 2209.99,585.0673 L1665.99,585.0673 A2.5,2.5 0 0 1 1663.49,582.5673 L1663.49,488.5573 A2.5,2.5 0 0 1 1665.99,486.0573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="1663.49" x2="1746.49" y1="509.072" y2="509.072"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="1667.49" y="502.1325">配置管理层</text></g><!--cluster ?????--><g id="cluster_外部接口层"><path d="M998.99,785.0773 L1069.99,785.0773 A3.75,3.75 0 0 1 1072.49,787.5773 L1079.49,808.092 L1565.99,808.092 A2.5,2.5 0 0 1 1568.49,810.592 L1568.49,881.5873 A2.5,2.5 0 0 1 1565.99,884.0873 L998.99,884.0873 A2.5,2.5 0 0 1 996.49,881.5873 L996.49,787.5773 A2.5,2.5 0 0 1 998.99,785.0773 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="996.49" x2="1079.49" y1="808.092" y2="808.092"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="1000.49" y="801.1525">外部接口层</text></g><!--cluster ????--><g id="cluster_工具集合"><path d="M102.99,486.0573 L159.99,486.0573 A3.75,3.75 0 0 1 162.49,488.5573 L169.49,509.072 L1502.99,509.072 A2.5,2.5 0 0 1 1505.49,511.572 L1505.49,582.5673 A2.5,2.5 0 0 1 1502.99,585.0673 L102.99,585.0673 A2.5,2.5 0 0 1 100.49,582.5673 L100.49,488.5573 A2.5,2.5 0 0 1 102.99,486.0573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><line style="stroke:#000000;stroke-width:1.0;" x1="100.49" x2="169.49" y1="509.072" y2="509.072"/><text fill="#000000" font-family="Verdana" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="56" x="104.49" y="502.1325">工具集合</text></g><!--entity fastmcp--><g id="elem_fastmcp"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="127" x="1269.99" y="214.9373"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1376.99" y="219.9373"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1374.99" y="221.9373"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1374.99" y="225.9373"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="87" x="1284.99" y="249.0125">FastMCP框架</text></g><!--entity stdio--><g id="elem_stdio"><ellipse cx="1494.49" cy="238.4373" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="62" x="1463.49" y="269.5125">stdio传输</text></g><!--entity tool_reg--><g id="elem_tool_reg"><ellipse cx="1441.49" cy="238.4373" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="1413.49" y="269.5125">工具注册</text></g><!--entity main_server--><g id="elem_main_server"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="1285.49" y="362.9473"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1361.49" y="367.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1359.49" y="369.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1359.49" y="373.9473"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="1300.49" y="397.0225">主服务器</text></g><!--entity tool_handler--><g id="elem_tool_handler"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="1140.49" y="362.9473"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1230.49" y="367.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1228.49" y="369.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1228.49" y="373.9473"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="1155.49" y="397.0225">工具处理器</text></g><!--entity request_router--><g id="elem_request_router"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="1416.49" y="362.9473"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1506.49" y="367.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1504.49" y="369.9473"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1504.49" y="373.9473"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="1431.49" y="397.0225">请求路由器</text></g><!--entity renderer--><g id="elem_renderer"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="112" x="500.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="592.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="590.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="590.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="72" x="515.49" y="707.1325">UML渲染器</text></g><!--entity validator--><g id="elem_validator"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="792.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="882.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="880.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="880.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="807.49" y="707.1325">语法验证器</text></g><!--entity url_generator--><g id="elem_url_generator"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="937.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1027.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1025.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1025.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="952.49" y="707.1325">URL生成器</text></g><!--entity format_converter--><g id="elem_format_converter"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="647.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="737.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="735.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="735.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="662.49" y="707.1325">格式转换器</text></g><!--entity render_cache--><g id="elem_render_cache"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="2748.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2824.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2822.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2822.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2763.49" y="556.1325">渲染缓存</text></g><!--entity memory_cache--><g id="elem_memory_cache"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="3010.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="3086.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="3084.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="3084.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="3025.49" y="556.1325">内存缓存</text></g><!--entity disk_cache--><g id="elem_disk_cache"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="2879.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2955.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2953.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2953.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2894.49" y="556.1325">磁盘缓存</text></g><!--entity cache_policy--><g id="elem_cache_policy"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="3141.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="3217.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="3215.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="3215.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="3156.49" y="556.1325">缓存策略</text></g><!--entity metrics--><g id="elem_metrics"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="2194.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2270.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2268.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2268.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2209.49" y="707.1325">性能指标</text></g><!--entity stats_collector--><g id="elem_stats_collector"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="2470.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2560.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2558.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2558.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="2485.49" y="707.1325">统计收集器</text></g><!--entity metrics_calculator--><g id="elem_metrics_calculator"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="2325.49" y="673.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2415.49" y="678.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2413.49" y="680.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2413.49" y="684.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="2340.49" y="707.1325">指标计算器</text></g><!--entity config_mgr--><g id="elem_config_mgr"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="1679.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1769.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1767.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1767.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="1694.49" y="556.1325">配置管理器</text></g><!--entity env_vars--><g id="elem_env_vars"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="1824.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1900.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1898.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1898.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="1839.49" y="556.1325">环境变量</text></g><!--entity default_config--><g id="elem_default_config"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="2100.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2176.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2174.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2174.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2115.49" y="556.1325">默认配置</text></g><!--entity config_validator--><g id="elem_config_validator"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="1955.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="2045.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2043.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="2043.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="1970.49" y="556.1325">配置验证器</text></g><!--entity plantuml--><g id="elem_plantuml"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="133" x="1011.99" y="821.0773"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1124.99" y="826.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1122.99" y="828.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1122.99" y="832.0773"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="93" x="1026.99" y="855.1525">PlantUML引擎</text></g><!--entity filesystem--><g id="elem_filesystem"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="1456.49" y="821.0773"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1532.49" y="826.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1530.49" y="828.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1530.49" y="832.0773"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="1471.49" y="855.1525">文件系统</text></g><!--entity process_mgr--><g id="elem_process_mgr"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="110" x="1180.49" y="821.0773"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1270.49" y="826.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1268.49" y="828.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1268.49" y="832.0773"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="70" x="1195.49" y="855.1525">进程管理器</text></g><!--entity logging--><g id="elem_logging"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="96" x="1325.49" y="821.0773"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1401.49" y="826.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1399.49" y="828.0773"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1399.49" y="832.0773"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="1340.49" y="855.1525">日志系统</text></g><!--entity tool_render--><g id="elem_tool_render"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="122" x="306.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="408.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="406.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="406.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="82" x="321.49" y="556.1325">render_uml</text></g><!--entity tool_render_file--><g id="elem_tool_render_file"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="175" x="463.99" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="618.99" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="616.99" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="616.99" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="135" x="478.99" y="556.1325">render_uml_to_file</text></g><!--entity tool_validate--><g id="elem_tool_validate"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="186" x="674.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="840.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="838.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="838.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="146" x="689.49" y="556.1325">validate_uml_syntax</text></g><!--entity tool_url--><g id="elem_tool_url"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="193" x="895.99" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1068.99" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1066.99" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1066.99" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="153" x="910.99" y="556.1325">generate_preview_url</text></g><!--entity tool_metrics--><g id="elem_tool_metrics"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="124" x="1124.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1228.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1226.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1226.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="84" x="1139.49" y="556.1325">get_metrics</text></g><!--entity tool_formats--><g id="elem_tool_formats"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="206" x="1283.49" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="1469.49" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1467.49" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="1467.49" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="166" x="1298.49" y="556.1325">get_supported_formats</text></g><!--entity tool_info--><g id="elem_tool_info"><rect fill="#FFFFFF" height="47.0146" rx="2.5" ry="2.5" style="stroke:#000000;stroke-width:1.0;" width="155" x="116.99" y="522.0573"/><rect fill="#FFFFFF" height="10" style="stroke:#000000;stroke-width:1.0;" width="15" x="251.99" y="527.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="249.99" y="529.0573"/><rect fill="#FFFFFF" height="2" style="stroke:#000000;stroke-width:1.0;" width="4" x="249.99" y="533.0573"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="115" x="131.99" y="556.1325">get_service_info</text></g><!--entity render_if--><g id="elem_render_if"><ellipse cx="2624.49" cy="696.5673" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2596.49" y="727.6425">渲染接口</text></g><!--entity cache_if--><g id="elem_cache_if"><ellipse cx="2509.49" cy="545.5673" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2481.49" y="576.6425">缓存接口</text></g><!--entity config_if--><g id="elem_config_if"><ellipse cx="2562.49" cy="545.5673" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2534.49" y="576.6425">配置接口</text></g><!--entity metrics_if--><g id="elem_metrics_if"><ellipse cx="2686.49" cy="696.5673" fill="#FFFFFF" rx="8" ry="8" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="14" lengthAdjust="spacing" textLength="56" x="2658.49" y="727.6425">指标接口</text></g><g id="elem_GMN92"><path d="M1255.99,58.7373 L1255.99,131.9346 A0,0 0 0 0 1255.99,131.9346 L1329.49,131.9346 L1333.49,214.7773 L1337.49,131.9346 L1410.99,131.9346 A0,0 0 0 0 1410.99,131.9346 L1410.99,68.7373 L1400.99,58.7373 L1255.99,58.7373 A0,0 0 0 0 1255.99,58.7373 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M1400.99,58.7373 L1400.99,68.7373 L1410.99,68.7373 L1400.99,58.7373 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="80" x="1261.99" y="76.8071">MCP协议实现</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="134" x="1261.99" y="92.6064">- 消息序列化/反序列化</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="102" x="1261.99" y="108.4058">- 工具注册和调用</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="95" x="1261.99" y="124.2051">- stdio传输管理</text></g><g id="elem_GMN95"><path d="M1524.99,501.0673 L1524.99,590.0639 L1643.99,590.0639 L1643.99,511.0673 L1633.99,501.0673 L1524.99,501.0673 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M1633.99,501.0673 L1633.99,511.0673 L1643.99,511.0673 L1633.99,501.0673 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="78" x="1530.99" y="519.1371">核心渲染引擎</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="98" x="1530.99" y="534.9364">- PlantUML集成</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="63" x="1530.99" y="550.7358">- 异步处理</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="63" x="1530.99" y="566.5351">- 并发控制</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="63" x="1530.99" y="582.3344">- 错误处理</text></g><g id="elem_GMN98"><path d="M2768.99,349.8573 L2768.99,423.0546 A0,0 0 0 0 2768.99,423.0546 L2818.69,423.0546 L2801.41,521.8073 L2826.69,423.0546 L2891.99,423.0546 A0,0 0 0 0 2891.99,423.0546 L2891.99,359.8573 L2881.99,349.8573 L2768.99,349.8573 A0,0 0 0 0 2768.99,349.8573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M2881.99,349.8573 L2881.99,359.8573 L2891.99,359.8573 L2881.99,349.8573 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="78" x="2774.99" y="367.9271">双层缓存系统</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="2774.99" y="383.7264">- LRU内存缓存</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="102" x="2774.99" y="399.5258">- 持久化磁盘缓存</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="2774.99" y="415.3251">- 智能缓存策略</text></g><g id="elem_GMN101"><path d="M2231.49,508.9673 L2231.49,582.1646 A0,0 0 0 0 2231.49,582.1646 L2271.84,582.1646 L2249.21,672.7973 L2279.84,582.1646 L2341.49,582.1646 A0,0 0 0 0 2341.49,582.1646 L2341.49,518.9673 L2331.49,508.9673 L2231.49,508.9673 A0,0 0 0 0 2231.49,508.9673 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M2331.49,508.9673 L2331.49,518.9673 L2341.49,518.9673 L2331.49,508.9673 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="78" x="2237.49" y="527.0371">性能监控系统</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="2237.49" y="542.8364">- 实时指标收集</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="2237.49" y="558.6358">- 统计数据分析</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="89" x="2237.49" y="574.4351">- 性能报告生成</text></g><g id="elem_GMN104"><path d="M1020.49,931.0873 L1020.49,1004.2846 A0,0 0 0 0 1020.49,1004.2846 L1136.49,1004.2846 A0,0 0 0 0 1136.49,1004.2846 L1136.49,941.0873 L1126.49,931.0873 L1082.49,931.0873 L1078.49,868.3573 L1074.49,931.0873 L1020.49,931.0873 A0,0 0 0 0 1020.49,931.0873 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><path d="M1126.49,931.0873 L1126.49,941.0873 L1136.49,941.0873 L1126.49,931.0873 " fill="#FFFFFF" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="1026.49" y="949.1571">外部依赖</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="95" x="1026.49" y="964.9564">- PlantUML.jar</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="80" x="1026.49" y="980.7558">- Java运行时</text><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="76" x="1026.49" y="996.5551">- 命令行接口</text></g><!--link fastmcp to stdio--><g id="link_fastmcp_stdio"><path d="M1347.73,214.5373 C1368.58,182.8373 1409.5,132.9173 1450.99,151.4373 C1481.53,165.0573 1490.85,209.6573 1493.51,229.1673 " fill="none" id="fastmcp-stdio" style="stroke:#000000;stroke-width:1.0;"/></g><!--link fastmcp to tool_reg--><g id="link_fastmcp_tool_reg"><path d="M1397.19,238.4373 C1408.84,238.4373 1420.5,238.4373 1432.15,238.4373 " fill="none" id="fastmcp-tool_reg" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to tool_handler--><g id="link_main_server_tool_handler"><path d="M1285.01,386.4573 C1273.59,386.4573 1262.17,386.4573 1250.74,386.4573 " fill="none" id="main_server-tool_handler" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to request_router--><g id="link_main_server_request_router"><path d="M1381.74,386.4573 C1393.19,386.4573 1404.64,386.4573 1416.1,386.4573 " fill="none" id="main_server-request_router" style="stroke:#000000;stroke-width:1.0;"/></g><!--link renderer to validator--><g id="link_renderer_validator"><path d="M573.1,672.9273 C589.25,652.1773 615.86,623.4473 646.99,611.0673 C692.83,592.8373 712.2,592.7073 757.99,611.0673 C788.91,623.4573 815.2,652.1873 831.13,672.9273 " fill="none" id="renderer-validator" style="stroke:#000000;stroke-width:1.0;"/></g><!--link renderer to format_converter--><g id="link_renderer_format_converter"><path d="M612.95,696.5673 C624.38,696.5673 635.8,696.5673 647.23,696.5673 " fill="none" id="renderer-format_converter" style="stroke:#000000;stroke-width:1.0;"/></g><!--link url_generator to validator--><g id="link_url_generator_validator"><path d="M937.08,696.5673 C925.63,696.5673 914.17,696.5673 902.72,696.5673 " fill="none" id="url_generator-validator" style="stroke:#000000;stroke-width:1.0;"/></g><!--link render_cache to memory_cache--><g id="link_render_cache_memory_cache"><path d="M2810.56,521.7173 C2824.91,499.9873 2849.39,469.3173 2879.99,456.0073 C2918.71,439.1673 2936.27,439.1673 2974.99,456.0073 C3005.6,469.3173 3030.07,499.9873 3044.42,521.7173 " fill="none" id="render_cache-memory_cache" style="stroke:#000000;stroke-width:1.0;"/></g><!--link render_cache to disk_cache--><g id="link_render_cache_disk_cache"><path d="M2844.85,545.5673 C2856.25,545.5673 2867.66,545.5673 2879.07,545.5673 " fill="none" id="render_cache-disk_cache" style="stroke:#000000;stroke-width:1.0;"/></g><!--link render_cache to cache_policy--><g id="link_render_cache_cache_policy"><path d="M2810.56,521.7173 C2824.91,499.9873 2849.39,469.3173 2879.99,456.0073 C2926.05,435.9773 3059.93,435.9773 3105.99,456.0073 C3136.6,469.3173 3161.07,499.9873 3175.42,521.7173 " fill="none" id="render_cache-cache_policy" style="stroke:#000000;stroke-width:1.0;"/></g><!--link metrics to stats_collector--><g id="link_metrics_stats_collector"><path d="M2257.13,672.9573 C2271.51,652.2273 2295.54,623.5073 2324.99,611.0673 C2370.44,591.8673 2390.2,592.7073 2435.99,611.0673 C2466.91,623.4573 2493.2,652.1873 2509.13,672.9273 " fill="none" id="metrics-stats_collector" style="stroke:#000000;stroke-width:1.0;"/></g><!--link metrics to metrics_calculator--><g id="link_metrics_metrics_calculator"><path d="M2290.74,696.5673 C2302.19,696.5673 2313.64,696.5673 2325.1,696.5673 " fill="none" id="metrics-metrics_calculator" style="stroke:#000000;stroke-width:1.0;"/></g><!--link config_mgr to env_vars--><g id="link_config_mgr_env_vars"><path d="M1789.74,545.5673 C1801.17,545.5673 1812.59,545.5673 1824.01,545.5673 " fill="none" id="config_mgr-env_vars" style="stroke:#000000;stroke-width:1.0;"/></g><!--link config_mgr to default_config--><g id="link_config_mgr_default_config"><path d="M1750.23,521.6673 C1766.13,499.8973 1792.89,469.2073 1824.99,456.0073 C1874.52,435.6473 2016.94,434.5073 2065.99,456.0073 C2096.39,469.3373 2120.53,499.9973 2134.66,521.7173 " fill="none" id="config_mgr-default_config" style="stroke:#000000;stroke-width:1.0;"/></g><!--link config_mgr to config_validator--><g id="link_config_mgr_config_validator"><path d="M1750.23,521.6673 C1766.13,499.8973 1792.89,469.2073 1824.99,456.0073 C1864.04,439.9573 1880.94,439.9573 1919.99,456.0073 C1952.09,469.2073 1978.85,499.8973 1994.76,521.6673 " fill="none" id="config_mgr-config_validator" style="stroke:#000000;stroke-width:1.0;"/></g><!--link plantuml to process_mgr--><g id="link_plantuml_process_mgr"><path d="M1145.34,844.5873 C1156.96,844.5873 1168.58,844.5873 1180.2,844.5873 " fill="none" id="plantuml-process_mgr" style="stroke:#000000;stroke-width:1.0;"/></g><!--link filesystem to logging--><g id="link_filesystem_logging"><path d="M1456.07,844.5873 C1444.66,844.5873 1433.25,844.5873 1421.85,844.5873 " fill="none" id="filesystem-logging" style="stroke:#000000;stroke-width:1.0;"/></g><!--link fastmcp to main_server--><g id="link_fastmcp_main_server"><path d="M1333.49,262.2573 C1333.49,289.6873 1333.49,329.4373 1333.49,356.7973 " fill="none" id="fastmcp-to-main_server" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1333.49,362.7973,1337.49,353.7973,1333.49,357.7973,1329.49,353.7973,1333.49,362.7973" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="80" x="1334.49" y="308.0171">MCP消息传递</text></g><!--link main_server to renderer--><g id="link_main_server_renderer"><path d="M1308.89,410.2873 C1297.48,419.4173 1283.2,428.9473 1268.49,433.9673 C1204.19,455.8873 93.65,429.1573 46.49,478.0573 C11,514.8473 14.1,553.5273 46.49,593.0673 C103.43,662.5873 374.03,685.6209 494.38,692.5809 " fill="none" id="main_server-to-renderer" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="500.37,692.9273,491.616,688.4144,495.3783,692.6386,491.1541,696.401,500.37,692.9273" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="47.49" y="551.1371">渲染请求</text></g><!--link main_server to render_cache--><g id="link_main_server_render_cache"><path d="M1358.04,410.4373 C1369.44,419.5973 1383.73,429.1073 1398.49,433.9673 C1467.95,456.8073 2647.95,422.7473 2714.49,453.0573 C2745.55,467.1973 2766.6443,494.3166 2780.4743,516.4866 " fill="none" id="main_server-to-render_cache" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2783.65,521.5773,2782.2803,511.8242,2781.0036,517.3351,2775.4927,516.0584,2783.65,521.5773" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="2740.55" y="467.1271">缓存操作</text></g><!--link main_server to metrics--><g id="link_main_server_metrics"><path d="M1358.42,410.4673 C1369.78,419.5073 1383.94,428.9273 1398.49,433.9673 C1499.49,468.9473 2285.66,400.7573 2359.49,478.0573 C2394.8,515.0173 2383.22,547.7873 2359.49,593.0673 C2346.44,617.9673 2328.97,610.9273 2307.49,629.0573 C2291.58,642.4973 2279.2727,654.8713 2266.9327,668.2213 " fill="none" id="main_server-to-metrics" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2262.86,672.6273,2271.9064,668.7334,2266.2539,668.9556,2266.0317,663.3031,2262.86,672.6273" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="2382.84" y="551.1371">指标记录</text></g><!--link main_server to config_mgr--><g id="link_main_server_config_mgr"><path d="M1359.67,410.3573 C1370.92,419.0373 1384.65,428.2173 1398.49,433.9673 C1507.95,479.4173 1554.9,426.2373 1661.49,478.0573 C1682.77,488.3973 1698.2869,502.475 1711.7869,517.345 " fill="none" id="main_server-to-config_mgr" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1715.82,521.7873,1712.732,512.4351,1712.4591,518.0854,1706.8088,517.8125,1715.82,521.7873" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="1643.92" y="467.1271">配置读取</text></g><!--link renderer to plantuml--><g id="link_renderer_plantuml"><path d="M587.15,720.4773 C599.73,728.9573 614.77,737.9773 629.49,744.0773 C758.95,797.6973 915.9795,823.7984 1005.6695,835.3884 " fill="none" id="renderer-to-plantuml" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1011.62,836.1573,1003.2068,831.0369,1006.6612,835.5165,1002.1816,838.9709,1011.62,836.1573" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="688.95" y="766.1471">调用渲染</text></g><!--link renderer to filesystem--><g id="link_renderer_filesystem"><path d="M584.56,720.3773 C597.45,729.5073 613.43,739.0373 629.49,744.0773 C672.41,757.5373 1397.33,758.9373 1438.49,777.0773 C1459.33,786.2573 1473.457,800.5352 1485.297,815.8952 " fill="none" id="renderer-to-filesystem" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1488.96,820.6473,1486.6335,811.0772,1485.9075,816.6873,1480.2974,815.9612,1488.96,820.6473" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="1358.77" y="766.1471">文件操作</text></g><!--link render_cache to filesystem--><g id="link_render_cache_filesystem"><path d="M2794.36,569.5573 C2789.08,612.0073 2771.3,702.1473 2713.49,744.0773 C2618.13,813.2473 1771.8883,837.3761 1558.6783,842.3961 " fill="none" id="render_cache-to-filesystem" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1552.68,842.5373,1561.7717,846.3244,1557.6786,842.4196,1561.5834,838.3266,1552.68,842.5373" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="2783.35" y="702.1371">缓存存储</text></g><!--link metrics to logging--><g id="link_metrics_logging"><path d="M2194.08,698.1073 C2041.75,700.4773 1574.38,712.9173 1439.49,777.0773 C1419.07,786.7873 1405.0831,800.8443 1393.1631,815.9743 " fill="none" id="metrics-to-logging" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1389.45,820.6873,1398.1617,816.0932,1392.5443,816.7598,1391.8776,811.1423,1389.45,820.6873" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="Verdana" font-size="13" lengthAdjust="spacing" textLength="52" x="1517.55" y="766.1471">日志记录</text></g><!--link tool_handler to tool_render--><g id="link_tool_handler_tool_render"><path d="M1140.09,390.0573 C988.8,397.8173 571.57,423.6873 446.49,478.0573 C423.64,487.9873 406.5039,502.4565 391.7839,517.5165 " fill="none" id="tool_handler-to-tool_render" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="387.59,521.8073,396.7414,518.1671,391.0849,518.2316,391.0204,512.5752,387.59,521.8073" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_render_file--><g id="link_tool_handler_tool_render_file"><path d="M1140.19,389.6573 C1040.57,395.1473 825.69,414.0573 657.49,478.0573 C629.67,488.6373 606.1348,503.4353 585.7448,518.1553 " fill="none" id="tool_handler-to-tool_render_file" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="580.88,521.6673,590.5185,519.6425,584.934,518.7407,585.8358,513.1561,580.88,521.6673" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_validate--><g id="link_tool_handler_tool_validate"><path d="M1140.14,398.6573 C1075.67,412.7373 966.72,439.8073 878.49,478.0573 C850.87,490.0273 826.7637,504.3915 805.2837,518.5115 " fill="none" id="tool_handler-to-tool_validate" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="800.27,521.8073,809.9878,520.2061,804.4481,519.0608,805.5934,513.5211,800.27,521.8073" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_url--><g id="link_tool_handler_tool_url"><path d="M1165.97,410.2973 C1127.49,440.0873 1065.2952,488.2154 1026.7852,518.0154 " fill="none" id="tool_handler-to-tool_url" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1022.04,521.6873,1031.6057,519.3428,1025.9943,518.6274,1026.7098,513.0159,1022.04,521.6873" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_metrics--><g id="link_tool_handler_tool_metrics"><path d="M1187.19,410.1873 C1183.08,422.6573 1178.56,438.4973 1176.49,453.0573 C1173.19,476.3173 1175.7686,497.1609 1179.5886,515.6909 " fill="none" id="tool_handler-to-tool_metrics" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1180.8,521.5673,1182.9005,511.945,1179.7905,516.6703,1175.0652,513.5603,1180.8,521.5673" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_formats--><g id="link_tool_handler_tool_formats"><path d="M1223.26,410.2973 C1259.48,440.0873 1317.8266,488.0752 1354.0466,517.8752 " fill="none" id="tool_handler-to-tool_formats" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="1358.68,521.6873,1354.2714,512.8803,1354.8189,518.5106,1349.1886,519.0581,1358.68,521.6873" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_handler to tool_info--><g id="link_tool_handler_tool_info"><path d="M1140.38,391.5573 C1019.1,400.7673 720.05,424.5473 470.49,453.0573 C389.81,462.2673 365.08,448.3873 289.49,478.0573 C263.63,488.2073 242.6675,502.9181 224.5775,517.8481 " fill="none" id="tool_handler-to-tool_info" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="219.95,521.6673,229.4374,519.0236,223.8063,518.4847,224.3452,512.8535,219.95,521.6673" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_render to renderer--><g id="link_tool_render_renderer"><path d="M396.61,569.5173 C432.12,597.5173 487.0981,640.8627 522.6281,668.8727 " fill="none" id="tool_render-to-renderer" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="527.34,672.5873,522.7486,663.8742,523.4134,669.4918,517.7958,670.1567,527.34,672.5873" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_render_file to renderer--><g id="link_tool_render_file_renderer"><path d="M552.26,569.5173 C553.2,597.5973 554.5885,638.8507 555.5285,666.8307 " fill="none" id="tool_render_file-to-renderer" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="555.73,672.8273,559.4256,663.6981,555.5621,667.8301,551.4301,663.9667,555.73,672.8273" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_validate to validator--><g id="link_tool_validate_validator"><path d="M779.82,569.5173 C794.89,597.5973 817.4222,639.5608 832.4422,667.5408 " fill="none" id="tool_validate-to-validator" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="835.28,672.8273,834.5476,663.0057,832.9151,668.4219,827.4989,666.7895,835.28,672.8273" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_url to url_generator--><g id="link_tool_url_url_generator"><path d="M992.49,569.5173 C992.49,597.5973 992.49,638.8473 992.49,666.8273 " fill="none" id="tool_url-to-url_generator" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="992.49,672.8273,996.49,663.8273,992.49,667.8273,988.49,663.8273,992.49,672.8273" style="stroke:#000000;stroke-width:1.0;"/></g><!--link tool_metrics to metrics--><g id="link_tool_metrics_metrics"><path d="M1218.48,569.3373 C1232.56,578.2273 1249.69,587.5873 1266.49,593.0673 C1442.42,650.5173 2016.6481,683.9666 2188.2781,692.8666 " fill="none" id="tool_metrics-to-metrics" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2194.27,693.1773,2185.4892,688.7166,2189.2767,692.9184,2185.0749,696.7059,2194.27,693.1773" style="stroke:#000000;stroke-width:1.0;"/></g><!--link renderer to render_if--><g id="link_renderer_render_if"><path d="M573.1,672.9273 C589.25,652.1773 615.86,623.4473 646.99,611.0673 C696.86,591.2373 2529.55,590.1873 2578.99,611.0673 C2609.51,623.9573 2620,667.6373 2623.22,687.0873 " fill="none" id="renderer-render_if" style="stroke:#000000;stroke-width:1.0;"/></g><!--link render_cache to cache_if--><g id="link_render_cache_cache_if"><path d="M2780.28,521.6473 C2763.94,499.8773 2736.52,469.1773 2703.99,456.0073 C2642.19,430.9973 2614.02,427.0173 2553.99,456.0073 C2523.04,470.9573 2513.34,516.3573 2510.54,536.1573 " fill="none" id="render_cache-cache_if" style="stroke:#000000;stroke-width:1.0;"/></g><!--link config_mgr to config_if--><g id="link_config_mgr_config_if"><path d="M1750.23,521.6673 C1766.13,499.8973 1792.89,469.2073 1824.99,456.0073 C1860.65,441.3473 2484.27,439.2373 2518.99,456.0073 C2549.81,470.8973 2558.98,516.3273 2561.55,536.1473 " fill="none" id="config_mgr-config_if" style="stroke:#000000;stroke-width:1.0;"/></g><!--link metrics to metrics_if--><g id="link_metrics_metrics_if"><path d="M2257.13,672.9573 C2271.51,652.2273 2295.54,623.5073 2324.99,611.0673 C2356.62,597.7073 2602.36,597.7073 2633.99,611.0673 C2665.6,624.4173 2679.65,667.8573 2684.45,687.1673 " fill="none" id="metrics-metrics_if" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to render_if--><g id="link_main_server_render_if"><path d="M1358.05,410.4173 C1369.45,419.5773 1383.73,429.0873 1398.49,433.9673 C1517.73,473.3473 2405.49,427.7473 2528.49,453.0573 C2557.19,458.9573 2571.28,455.0973 2589.49,478.0573 C2641.55,543.6773 2630.9852,650.2657 2626.6052,681.4257 " fill="none" id="main_server-to-render_if" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2625.77,687.3673,2630.9838,679.0117,2626.466,682.416,2623.0617,677.8981,2625.77,687.3673" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to cache_if--><g id="link_main_server_cache_if"><path d="M1358.05,410.4073 C1369.45,419.5673 1383.74,429.0773 1398.49,433.9673 C1508.1,470.2573 2327.63,417.5373 2437.49,453.0573 C2456.03,459.0473 2460.5,463.5373 2473.49,478.0573 C2489.78,496.2573 2499.2413,517.5191 2504.3813,530.8491 " fill="none" id="main_server-to-cache_if" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2506.54,536.4473,2507.0342,526.6109,2504.7411,531.7821,2499.5699,529.4891,2506.54,536.4473" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to config_if--><g id="link_main_server_config_if"><path d="M1358.05,410.4173 C1369.45,419.5773 1383.74,429.0873 1398.49,433.9673 C1512.34,471.6073 2360.2,428.1473 2477.49,453.0573 C2505.35,458.9673 2516.64,457.6373 2536.49,478.0573 C2552.57,494.5873 2558.0201,516.2895 2560.3401,530.1595 " fill="none" id="main_server-to-config_if" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2561.33,536.0773,2563.7904,526.5407,2560.5051,531.1458,2555.9,527.8605,2561.33,536.0773" style="stroke:#000000;stroke-width:1.0;"/></g><!--link main_server to metrics_if--><g id="link_main_server_metrics_if"><path d="M1358.04,410.4273 C1369.45,419.5873 1383.73,429.0973 1398.49,433.9673 C1523.34,475.1373 2453.34,423.7473 2581.49,453.0573 C2607.27,458.9473 2618.78,457.5573 2635.49,478.0573 C2689.15,543.9073 2688.592,650.273 2687.232,681.383 " fill="none" id="main_server-to-metrics_if" style="stroke:#000000;stroke-width:1.0;"/><polygon fill="#000000" points="2686.97,687.3773,2691.3593,678.5606,2687.1884,682.3821,2683.3669,678.2112,2686.97,687.3773" style="stroke:#000000;stroke-width:1.0;"/></g><!--link GMN95 to renderer--><g id="link_GMN95_renderer"><path d="M1524.61,585.7673 C1518.34,588.6573 1511.9,591.1773 1505.49,593.0673 C1318.61,648.1373 809.69,554.9973 629.49,629.0573 C607.29,638.1873 587.54,657.2173 574.2,672.5973 " fill="none" id="GMN95-renderer" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--SRC=[VLVDJ-D65B_xht2vx8dkdKClbNgeM6cr4gTgPRdE9BZhsAdjf4LLfUMRqeJ04W8ismLsGHjL9O6ovIi1_fdCsFal-ZmpZcSSPwLSyjxlVSxxybV-B2eYjMJffgtufcyXTURPjFhis-SgkVcN76wJTpMyVgnEga5tgT-z8k_XjuGF7XIbf1klz09I9m2CQ_MmtSON2nFgRugg6awnvDZ8zjKVljCz7m3aU0L4Nwgwf-Q1KZHA03Dj7xbvtG0TdfypdNxlA7pOdeX0zByCmTUdUFcQNBRmIfLYVCUnD1SL00O_hXOyZMKJoX3vk-0slci4ZHQBBylp_asNC_TRrF4Yv4Zpa5j1henadk6JfM1p9GPJaxEwdRFIwB1pJIuMmkjEqBY8qIxwkOmyNtETia_ny1FCnI4a-cHcIboCaXpTuCV5_itRCL72QxE7JbonSyWTTVgCNEuC_gw6dVaOMT4jCwVxJWewys8wQ1oIjSqOLtOjhO1iv8vYoL4Fz-hX_J-azY66vnstgFkQuTWGt30RiLiGhMXN86V8IPObIJ55GMyRd-q5xUFe-J9InFB3K4AAD4CtPb6g4bQM8rK9j8YAZZkN1Gq-pWS78ZHdUgyoWSozisQmSqg15AEL7CiqviJaC648CsKqnPNif7YIQYb71rjaunEfhfAZrSmSlVuKBjupFW_STqt3IuNIFGpRnwHnDJWODehdwxu7hsPPo1Yj3weGP8Bsxh0DcMRmsJBA5g-3g2KOdGw0jCg4bo4jnZbOhWNtxV6r8F6vGr1nUREW5GifvuED3lwmYEjxWzKw1IAxebLqDvMKGNSlR9ymnQmGK5ulMxIIGM-MVRaFkNsnBQXGx1L4BLaMw1cc1Ew8OcbydZG7YosoSOhh7xCozTpIRH-c2-xjaEqDwcWf8fMBLkgDcwkmM8BBBbG76m2cXRmvpqV5r0nwF0XQVygvBxcEWJnlDFbaznG_xWfQBQTGC6s-B69F84XPGs8RMB6853QTzL7zRgwDnCox2HI_51PKH1k7qtn7YsocyPGe2_5dG5JCcxDz_TT4AcRA8dpsGKUxg6AYNpGOY8aC_4d3VOttHuBAREG8wPLB9GS6RKvZarUGuOGC6TXOfe4qqyux2Jpw5oNvYGg5DDZzt7_uA_olYPSluVcKuHQV_4RQUbFHaKAkriXy1-w6mUitYhGJ0JtS3LFybc6RTmoEpy0fbSrRibthtxyRmSQ315JoqNIExtT6O48RJQciPyDE5zURYf9iBC0Dwt1A3SyNetE4EYg3X9e4ixHRk7Voz4v3MI3HRw6b32SWe7XTHzfeb_0WelpJwcQd7di5HJmygBHOrLzYiXBEHWpBDPiTLMOs9wx6R6vSTzbSMcQAuA5K9KhQzGnkx3Pb9MCnzfcIvMj7T5eie2ZPV7Qst_Pl_r24GvSVtfGx8TmRPbv4yJ9DK6ntoo1MUYA85QQCOgKieE8b2J2X50K_Ciy6e6Uj3o2Fhjz8yvW-ZF3fTehrZ-cp38vew0d_U0axdydUXc8xy8A-KrATlF0nadp5jDy76-T0cLJPUC5tTRosYwlDfxXU6_wX0F6R1B-fiXwc7E63Xcqi1Q9J8zEAv81mRhDJdL_ZT6jIJV4YXPq3HpKpsriWPwViWuCHRgzmFRhGyDeL9GmQ-s6dmn5ViZoy176z2jEN7vjqRL95qozcnAEMfQKwtxzTXXo8DopZxD_16IXUh6EC9rk5NOxilXJimYkGtIjUcVHWf6H-GUwSareRhy4t9Ki8Fp_NJ_7MElluIDlzqV5zfnYP5guGTiFmGIVc-kkVT9SIljShUlYu6HvNmHlcsDPzltiI4MY_97R-1m00]--></g></svg>