@veewo/dsh-better-tasks 0.0.0-stage → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ // Generated from @tabler/icons-react v3.44.0 (MIT). Do not edit manually.
2
+ export const PROJECT_ICON_CATALOG = Object.freeze([{"key":"building","label":"building","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M9 8l1 0","key":"svg-1"}],["path",{"d":"M9 12l1 0","key":"svg-2"}],["path",{"d":"M9 16l1 0","key":"svg-3"}],["path",{"d":"M14 8l1 0","key":"svg-4"}],["path",{"d":"M14 12l1 0","key":"svg-5"}],["path",{"d":"M14 16l1 0","key":"svg-6"}],["path",{"d":"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16","key":"svg-7"}]]},{"key":"building-bank","label":"building bank","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M3 10l18 0","key":"svg-1"}],["path",{"d":"M5 6l7 -3l7 3","key":"svg-2"}],["path",{"d":"M4 10l0 11","key":"svg-3"}],["path",{"d":"M20 10l0 11","key":"svg-4"}],["path",{"d":"M8 14l0 3","key":"svg-5"}],["path",{"d":"M12 14l0 3","key":"svg-6"}],["path",{"d":"M16 14l0 3","key":"svg-7"}]]},{"key":"building-church","label":"building church","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M10 21v-4a2 2 0 0 1 4 0v4","key":"svg-1"}],["path",{"d":"M10 5l4 0","key":"svg-2"}],["path",{"d":"M12 3l0 5","key":"svg-3"}],["path",{"d":"M6 21v-7m-2 2l8 -8l8 8m-2 -2v7","key":"svg-4"}]]},{"key":"building-factory","label":"building factory","category":"建筑","nodes":[["path",{"d":"M4 21c1.147 -4.02 1.983 -8.027 2 -12h6c.017 3.973 .853 7.98 2 12","key":"svg-0"}],["path",{"d":"M12.5 13h4.5c.025 2.612 .894 5.296 2 8","key":"svg-1"}],["path",{"d":"M9 5a2.4 2.4 0 0 1 2 -1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2 -1a2.4 2.4 0 0 1 2 -1a2.4 2.4 0 0 1 2 1","key":"svg-2"}],["path",{"d":"M3 21l19 0","key":"svg-3"}]]},{"key":"building-hospital","label":"building hospital","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16","key":"svg-1"}],["path",{"d":"M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4","key":"svg-2"}],["path",{"d":"M10 9l4 0","key":"svg-3"}],["path",{"d":"M12 7l0 4","key":"svg-4"}]]},{"key":"building-skyscraper","label":"building skyscraper","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M5 21v-14l8 -4v18","key":"svg-1"}],["path",{"d":"M19 21v-10l-6 -4","key":"svg-2"}],["path",{"d":"M9 9l0 .01","key":"svg-3"}],["path",{"d":"M9 12l0 .01","key":"svg-4"}],["path",{"d":"M9 15l0 .01","key":"svg-5"}],["path",{"d":"M9 18l0 .01","key":"svg-6"}]]},{"key":"home","label":"home","category":"建筑","nodes":[["path",{"d":"M5 12l-2 0l9 -9l9 9l-2 0","key":"svg-0"}],["path",{"d":"M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7","key":"svg-1"}],["path",{"d":"M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6","key":"svg-2"}]]},{"key":"school","label":"school","category":"建筑","nodes":[["path",{"d":"M22 9l-10 -4l-10 4l10 4l10 -4v6","key":"svg-0"}],["path",{"d":"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4","key":"svg-1"}]]},{"key":"building-warehouse","label":"building warehouse","category":"建筑","nodes":[["path",{"d":"M3 21v-13l9 -4l9 4v13","key":"svg-0"}],["path",{"d":"M13 13h4v8h-10v-6h6","key":"svg-1"}],["path",{"d":"M13 21v-9a1 1 0 0 0 -1 -1h-2a1 1 0 0 0 -1 1v3","key":"svg-2"}]]},{"key":"building-lighthouse","label":"building lighthouse","category":"建筑","nodes":[["path",{"d":"M12 3l2 3l2 15h-8l2 -15l2 -3","key":"svg-0"}],["path",{"d":"M8 9l8 0","key":"svg-1"}],["path",{"d":"M3 11l2 -2l-2 -2","key":"svg-2"}],["path",{"d":"M21 11l-2 -2l2 -2","key":"svg-3"}]]},{"key":"car","label":"car","category":"交通","nodes":[["path",{"d":"M5 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M15 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M5 17h-2v-6l2 -5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6 -6h15m-6 0v-5","key":"svg-2"}]]},{"key":"bus","label":"bus","category":"交通","nodes":[["path",{"d":"M4 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M16 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M4 17h-2v-11a1 1 0 0 1 1 -1h14a5 7 0 0 1 5 7v5h-2m-4 0h-8","key":"svg-2"}],["path",{"d":"M16 5l1.5 7l4.5 0","key":"svg-3"}],["path",{"d":"M2 10l15 0","key":"svg-4"}],["path",{"d":"M7 5l0 5","key":"svg-5"}],["path",{"d":"M12 5l0 5","key":"svg-6"}]]},{"key":"train","label":"train","category":"交通","nodes":[["path",{"d":"M21 13c0 -3.87 -3.37 -7 -10 -7h-8","key":"svg-0"}],["path",{"d":"M3 15h16a2 2 0 0 0 2 -2","key":"svg-1"}],["path",{"d":"M3 6v5h17.5","key":"svg-2"}],["path",{"d":"M3 11v4","key":"svg-3"}],["path",{"d":"M8 11v-5","key":"svg-4"}],["path",{"d":"M13 11v-4.5","key":"svg-5"}],["path",{"d":"M3 19h18","key":"svg-6"}]]},{"key":"motorbike","label":"motorbike","category":"交通","nodes":[["path",{"d":"M2 16a3 3 0 1 0 6 0a3 3 0 1 0 -6 0","key":"svg-0"}],["path",{"d":"M16 16a3 3 0 1 0 6 0a3 3 0 1 0 -6 0","key":"svg-1"}],["path",{"d":"M7.5 14h5l4 -4h-10.5m1.5 4l4 -4","key":"svg-2"}],["path",{"d":"M13 6h2l1.5 3l2 4","key":"svg-3"}]]},{"key":"plane","label":"plane","category":"交通","nodes":[["path",{"d":"M16 10h4a2 2 0 0 1 0 4h-4l-4 7h-3l2 -7h-4l-2 2h-3l2 -4l-2 -4h3l2 2h4l-2 -7h3l4 7","key":"svg-0"}]]},{"key":"helicopter","label":"helicopter","category":"交通","nodes":[["path",{"d":"M3 10l1 2h6","key":"svg-0"}],["path",{"d":"M12 9a2 2 0 0 0 -2 2v3c0 1.1 .9 2 2 2h7a2 2 0 0 0 2 -2c0 -3.31 -3.13 -5 -7 -5h-2","key":"svg-1"}],["path",{"d":"M13 9l0 -3","key":"svg-2"}],["path",{"d":"M5 6l15 0","key":"svg-3"}],["path",{"d":"M15 9.1v3.9h5.5","key":"svg-4"}],["path",{"d":"M15 19l0 -3","key":"svg-5"}],["path",{"d":"M19 19l-8 0","key":"svg-6"}]]},{"key":"ship","label":"ship","category":"交通","nodes":[["path",{"d":"M2 20a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2 -1a2.4 2.4 0 0 1 2 -1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2 -1a2.4 2.4 0 0 1 2 -1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2 -1","key":"svg-0"}],["path",{"d":"M4 18l-1 -5h18l-2 4","key":"svg-1"}],["path",{"d":"M5 13v-6h8l4 6","key":"svg-2"}],["path",{"d":"M7 7v-4h-1","key":"svg-3"}]]},{"key":"bike","label":"bike","category":"交通","nodes":[["path",{"d":"M2 18a3 3 0 1 0 6 0a3 3 0 0 0 -6 0","key":"svg-0"}],["path",{"d":"M16 18a3 3 0 1 0 6 0a3 3 0 0 0 -6 0","key":"svg-1"}],["path",{"d":"M12 19v-4l-3 -3l5 -4l2 3h3","key":"svg-2"}],["path",{"d":"M13.007 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-3"}]]},{"key":"rocket","label":"rocket","category":"交通","nodes":[["path",{"d":"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3","key":"svg-0"}],["path",{"d":"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3","key":"svg-1"}],["path",{"d":"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-2"}]]},{"key":"submarine","label":"submarine","category":"交通","nodes":[["path",{"d":"M3 11v6h2l1 -1.5l3 1.5h10a3 3 0 0 0 0 -6h-10l-3 1.5l-1 -1.5h-2","key":"svg-0"}],["path",{"d":"M17 11l-1 -3h-5l-1 3","key":"svg-1"}],["path",{"d":"M13 8v-2a1 1 0 0 1 1 -1h1","key":"svg-2"}]]},{"key":"camera","label":"camera","category":"媒体","nodes":[["path",{"d":"M5 7h1a2 2 0 0 0 2 -2a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1a2 2 0 0 0 2 2h1a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2","key":"svg-0"}],["path",{"d":"M9 13a3 3 0 1 0 6 0a3 3 0 0 0 -6 0","key":"svg-1"}]]},{"key":"microphone","label":"microphone","category":"媒体","nodes":[["path",{"d":"M9 5a3 3 0 0 1 3 -3a3 3 0 0 1 3 3v5a3 3 0 0 1 -3 3a3 3 0 0 1 -3 -3l0 -5","key":"svg-0"}],["path",{"d":"M5 10a7 7 0 0 0 14 0","key":"svg-1"}],["path",{"d":"M8 21l8 0","key":"svg-2"}],["path",{"d":"M12 17l0 4","key":"svg-3"}]]},{"key":"movie","label":"movie","category":"媒体","nodes":[["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-0"}],["path",{"d":"M8 4l0 16","key":"svg-1"}],["path",{"d":"M16 4l0 16","key":"svg-2"}],["path",{"d":"M4 8l4 0","key":"svg-3"}],["path",{"d":"M4 16l4 0","key":"svg-4"}],["path",{"d":"M4 12l16 0","key":"svg-5"}],["path",{"d":"M16 8l4 0","key":"svg-6"}],["path",{"d":"M16 16l4 0","key":"svg-7"}]]},{"key":"music","label":"music","category":"媒体","nodes":[["path",{"d":"M3 17a3 3 0 1 0 6 0a3 3 0 0 0 -6 0","key":"svg-0"}],["path",{"d":"M13 17a3 3 0 1 0 6 0a3 3 0 0 0 -6 0","key":"svg-1"}],["path",{"d":"M9 17v-13h10v13","key":"svg-2"}],["path",{"d":"M9 8h10","key":"svg-3"}]]},{"key":"headphones","label":"headphones","category":"媒体","nodes":[["path",{"d":"M4 15a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-1a2 2 0 0 1 -2 -2l0 -3","key":"svg-0"}],["path",{"d":"M15 15a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-1a2 2 0 0 1 -2 -2l0 -3","key":"svg-1"}],["path",{"d":"M4 15v-3a8 8 0 0 1 16 0v3","key":"svg-2"}]]},{"key":"speakerphone","label":"speakerphone","category":"媒体","nodes":[["path",{"d":"M18 8a3 3 0 0 1 0 6","key":"svg-0"}],["path",{"d":"M10 8v11a1 1 0 0 1 -1 1h-1a1 1 0 0 1 -1 -1v-5","key":"svg-1"}],["path",{"d":"M12 8l4.524 -3.77a.9 .9 0 0 1 1.476 .692v12.156a.9 .9 0 0 1 -1.476 .692l-4.524 -3.77h-8a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h8","key":"svg-2"}]]},{"key":"photo","label":"photo","category":"媒体","nodes":[["path",{"d":"M15 8h.01","key":"svg-0"}],["path",{"d":"M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12","key":"svg-1"}],["path",{"d":"M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5","key":"svg-2"}],["path",{"d":"M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3","key":"svg-3"}]]},{"key":"video","label":"video","category":"媒体","nodes":[["path",{"d":"M15 10l4.553 -2.276a1 1 0 0 1 1.447 .894v6.764a1 1 0 0 1 -1.447 .894l-4.553 -2.276v-4","key":"svg-0"}],["path",{"d":"M3 8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2l0 -8","key":"svg-1"}]]},{"key":"playlist","label":"playlist","category":"媒体","nodes":[["path",{"d":"M11 17a3 3 0 1 0 6 0a3 3 0 1 0 -6 0","key":"svg-0"}],["path",{"d":"M17 17v-13h4","key":"svg-1"}],["path",{"d":"M13 5h-10","key":"svg-2"}],["path",{"d":"M3 9l10 0","key":"svg-3"}],["path",{"d":"M9 13h-6","key":"svg-4"}]]},{"key":"vinyl","label":"vinyl","category":"媒体","nodes":[["path",{"d":"M16 3.937a9 9 0 1 0 5 8.063","key":"svg-0"}],["path",{"d":"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-1"}],["path",{"d":"M19 4a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-2"}],["path",{"d":"M20 4l-3.5 10l-2.5 2","key":"svg-3"}]]},{"key":"cpu","label":"cpu","category":"科技","nodes":[["path",{"d":"M5 6a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -12","key":"svg-0"}],["path",{"d":"M9 9h6v6h-6l0 -6","key":"svg-1"}],["path",{"d":"M3 10h2","key":"svg-2"}],["path",{"d":"M3 14h2","key":"svg-3"}],["path",{"d":"M10 3v2","key":"svg-4"}],["path",{"d":"M14 3v2","key":"svg-5"}],["path",{"d":"M21 10h-2","key":"svg-6"}],["path",{"d":"M21 14h-2","key":"svg-7"}],["path",{"d":"M14 21v-2","key":"svg-8"}],["path",{"d":"M10 21v-2","key":"svg-9"}]]},{"key":"device-laptop","label":"device laptop","category":"科技","nodes":[["path",{"d":"M3 19l18 0","key":"svg-0"}],["path",{"d":"M5 7a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -8","key":"svg-1"}]]},{"key":"device-mobile","label":"device mobile","category":"科技","nodes":[["path",{"d":"M6 5a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-14","key":"svg-0"}],["path",{"d":"M11 4h2","key":"svg-1"}],["path",{"d":"M12 17v.01","key":"svg-2"}]]},{"key":"server","label":"server","category":"科技","nodes":[["path",{"d":"M3 7a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3","key":"svg-0"}],["path",{"d":"M3 15a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3l0 -2","key":"svg-1"}],["path",{"d":"M7 8l0 .01","key":"svg-2"}],["path",{"d":"M7 16l0 .01","key":"svg-3"}]]},{"key":"database","label":"database","category":"科技","nodes":[["path",{"d":"M4 6a8 3 0 1 0 16 0a8 3 0 1 0 -16 0","key":"svg-0"}],["path",{"d":"M4 6v6a8 3 0 0 0 16 0v-6","key":"svg-1"}],["path",{"d":"M4 12v6a8 3 0 0 0 16 0v-6","key":"svg-2"}]]},{"key":"robot","label":"robot","category":"科技","nodes":[["path",{"d":"M6 6a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2l0 -4","key":"svg-0"}],["path",{"d":"M12 2v2","key":"svg-1"}],["path",{"d":"M9 12v9","key":"svg-2"}],["path",{"d":"M15 12v9","key":"svg-3"}],["path",{"d":"M5 16l4 -2","key":"svg-4"}],["path",{"d":"M15 14l4 2","key":"svg-5"}],["path",{"d":"M9 18h6","key":"svg-6"}],["path",{"d":"M10 8v.01","key":"svg-7"}],["path",{"d":"M14 8v.01","key":"svg-8"}]]},{"key":"printer","label":"printer","category":"科技","nodes":[["path",{"d":"M17 17h2a2 2 0 0 0 2 -2v-4a2 2 0 0 0 -2 -2h-14a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h2","key":"svg-0"}],["path",{"d":"M17 9v-4a2 2 0 0 0 -2 -2h-6a2 2 0 0 0 -2 2v4","key":"svg-1"}],["path",{"d":"M7 15a2 2 0 0 1 2 -2h6a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-6a2 2 0 0 1 -2 -2l0 -4","key":"svg-2"}]]},{"key":"keyboard","label":"keyboard","category":"科技","nodes":[["path",{"d":"M2 8a2 2 0 0 1 2 -2h16a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-16a2 2 0 0 1 -2 -2l0 -8","key":"svg-0"}],["path",{"d":"M6 10l0 .01","key":"svg-1"}],["path",{"d":"M10 10l0 .01","key":"svg-2"}],["path",{"d":"M14 10l0 .01","key":"svg-3"}],["path",{"d":"M18 10l0 .01","key":"svg-4"}],["path",{"d":"M6 14l0 .01","key":"svg-5"}],["path",{"d":"M18 14l0 .01","key":"svg-6"}],["path",{"d":"M10 14l4 .01","key":"svg-7"}]]},{"key":"mouse","label":"mouse","category":"科技","nodes":[["path",{"d":"M6 7a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-4a4 4 0 0 1 -4 -4l0 -10","key":"svg-0"}],["path",{"d":"M12 7l0 4","key":"svg-1"}]]},{"key":"satellite","label":"satellite","category":"科技","nodes":[["path",{"d":"M3.707 6.293l2.586 -2.586a1 1 0 0 1 1.414 0l5.586 5.586a1 1 0 0 1 0 1.414l-2.586 2.586a1 1 0 0 1 -1.414 0l-5.586 -5.586a1 1 0 0 1 0 -1.414","key":"svg-0"}],["path",{"d":"M6 10l-3 3l3 3l3 -3","key":"svg-1"}],["path",{"d":"M10 6l3 -3l3 3l-3 3","key":"svg-2"}],["path",{"d":"M12 12l1.5 1.5","key":"svg-3"}],["path",{"d":"M14.5 17a2.5 2.5 0 0 0 2.5 -2.5","key":"svg-4"}],["path",{"d":"M15 21a6 6 0 0 0 6 -6","key":"svg-5"}]]},{"key":"atom","label":"atom","category":"科学","nodes":[["path",{"d":"M12 12v.01","key":"svg-0"}],["path",{"d":"M19.071 4.929c-1.562 -1.562 -6 .337 -9.9 4.243c-3.905 3.905 -5.804 8.337 -4.242 9.9c1.562 1.561 6 -.338 9.9 -4.244c3.905 -3.905 5.804 -8.337 4.242 -9.9","key":"svg-1"}],["path",{"d":"M4.929 4.929c-1.562 1.562 .337 6 4.243 9.9c3.905 3.905 8.337 5.804 9.9 4.242c1.561 -1.562 -.338 -6 -4.244 -9.9c-3.905 -3.905 -8.337 -5.804 -9.9 -4.242","key":"svg-2"}]]},{"key":"flask","label":"flask","category":"科学","nodes":[["path",{"d":"M9 3l6 0","key":"svg-0"}],["path",{"d":"M10 9l4 0","key":"svg-1"}],["path",{"d":"M10 3v6l-4 11a.7 .7 0 0 0 .5 1h11a.7 .7 0 0 0 .5 -1l-4 -11v-6","key":"svg-2"}]]},{"key":"microscope","label":"microscope","category":"科学","nodes":[["path",{"d":"M5 21h14","key":"svg-0"}],["path",{"d":"M6 18h2","key":"svg-1"}],["path",{"d":"M7 18v3","key":"svg-2"}],["path",{"d":"M9 11l3 3l6 -6l-3 -3l-6 6","key":"svg-3"}],["path",{"d":"M10.5 12.5l-1.5 1.5","key":"svg-4"}],["path",{"d":"M17 3l3 3","key":"svg-5"}],["path",{"d":"M12 21a6 6 0 0 0 3.715 -10.712","key":"svg-6"}]]},{"key":"dna","label":"dna","category":"科学","nodes":[["path",{"d":"M14.828 14.828a4 4 0 1 0 -5.656 -5.656a4 4 0 0 0 5.656 5.656","key":"svg-0"}],["path",{"d":"M9.172 20.485a4 4 0 1 0 -5.657 -5.657","key":"svg-1"}],["path",{"d":"M14.828 3.515a4 4 0 0 0 5.657 5.657","key":"svg-2"}]]},{"key":"test-pipe","label":"test pipe","category":"科学","nodes":[["path",{"d":"M20 8.04l-12.122 12.124a2.857 2.857 0 1 1 -4.041 -4.04l12.122 -12.124","key":"svg-0"}],["path",{"d":"M7 13h8","key":"svg-1"}],["path",{"d":"M19 15l1.5 1.6a2 2 0 1 1 -3 0l1.5 -1.6","key":"svg-2"}],["path",{"d":"M15 3l6 6","key":"svg-3"}]]},{"key":"stethoscope","label":"stethoscope","category":"科学","nodes":[["path",{"d":"M6 4h-1a2 2 0 0 0 -2 2v3.5a5.5 5.5 0 0 0 11 0v-3.5a2 2 0 0 0 -2 -2h-1","key":"svg-0"}],["path",{"d":"M8 15a6 6 0 1 0 12 0v-3","key":"svg-1"}],["path",{"d":"M11 3v2","key":"svg-2"}],["path",{"d":"M6 3v2","key":"svg-3"}],["path",{"d":"M18 10a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-4"}]]},{"key":"virus","label":"virus","category":"科学","nodes":[["path",{"d":"M7 12a5 5 0 1 0 10 0a5 5 0 1 0 -10 0","key":"svg-0"}],["path",{"d":"M12 7v-4","key":"svg-1"}],["path",{"d":"M11 3h2","key":"svg-2"}],["path",{"d":"M15.536 8.464l2.828 -2.828","key":"svg-3"}],["path",{"d":"M17.657 4.929l1.414 1.414","key":"svg-4"}],["path",{"d":"M17 12h4","key":"svg-5"}],["path",{"d":"M21 11v2","key":"svg-6"}],["path",{"d":"M15.535 15.536l2.829 2.828","key":"svg-7"}],["path",{"d":"M19.071 17.657l-1.414 1.414","key":"svg-8"}],["path",{"d":"M12 17v4","key":"svg-9"}],["path",{"d":"M13 21h-2","key":"svg-10"}],["path",{"d":"M8.465 15.536l-2.829 2.828","key":"svg-11"}],["path",{"d":"M6.343 19.071l-1.413 -1.414","key":"svg-12"}],["path",{"d":"M7 12h-4","key":"svg-13"}],["path",{"d":"M3 13v-2","key":"svg-14"}],["path",{"d":"M8.464 8.464l-2.828 -2.828","key":"svg-15"}],["path",{"d":"M4.929 6.343l1.414 -1.413","key":"svg-16"}]]},{"key":"magnet","label":"magnet","category":"科学","nodes":[["path",{"d":"M4 13v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a2 2 0 0 0 6 0v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a8 8 0 0 1 -16 0","key":"svg-0"}],["path",{"d":"M4 8l5 0","key":"svg-1"}],["path",{"d":"M15 8l4 0","key":"svg-2"}]]},{"key":"telescope","label":"telescope","category":"科学","nodes":[["path",{"d":"M6 21l6 -5l6 5","key":"svg-0"}],["path",{"d":"M12 13v8","key":"svg-1"}],["path",{"d":"M3.294 13.678l.166 .281c.52 .88 1.624 1.265 2.605 .91l14.242 -5.165a1.023 1.023 0 0 0 .565 -1.456l-2.62 -4.705a1.087 1.087 0 0 0 -1.447 -.42l-.056 .032l-12.694 7.618c-1.02 .613 -1.357 1.897 -.76 2.905l-.001 0","key":"svg-2"}],["path",{"d":"M14 5l3 5.5","key":"svg-3"}]]},{"key":"ruler","label":"ruler","category":"科学","nodes":[["path",{"d":"M5 4h14a1 1 0 0 1 1 1v5a1 1 0 0 1 -1 1h-7a1 1 0 0 0 -1 1v7a1 1 0 0 1 -1 1h-5a1 1 0 0 1 -1 -1v-14a1 1 0 0 1 1 -1","key":"svg-0"}],["path",{"d":"M4 8l2 0","key":"svg-1"}],["path",{"d":"M4 12l3 0","key":"svg-2"}],["path",{"d":"M4 16l2 0","key":"svg-3"}],["path",{"d":"M8 4l0 2","key":"svg-4"}],["path",{"d":"M12 4l0 3","key":"svg-5"}],["path",{"d":"M16 4l0 2","key":"svg-6"}]]},{"key":"tree","label":"tree","category":"自然","nodes":[["path",{"d":"M12 13l-2 -2","key":"svg-0"}],["path",{"d":"M12 12l2 -2","key":"svg-1"}],["path",{"d":"M12 21v-13","key":"svg-2"}],["path",{"d":"M9.824 16a3 3 0 0 1 -2.743 -3.69a3 3 0 0 1 .304 -4.833a3 3 0 0 1 4.615 -3.707a3 3 0 0 1 4.614 3.707a3 3 0 0 1 .305 4.833a3 3 0 0 1 -2.919 3.695h-4l-.176 -.005","key":"svg-3"}]]},{"key":"flower","label":"flower","category":"自然","nodes":[["path",{"d":"M9 12a3 3 0 1 0 6 0a3 3 0 1 0 -6 0","key":"svg-0"}],["path",{"d":"M12 2a3 3 0 0 1 3 3c0 .562 -.259 1.442 -.776 2.64l-.724 1.36l1.76 -1.893c.499 -.6 .922 -1 1.27 -1.205a2.968 2.968 0 0 1 4.07 1.099a3.011 3.011 0 0 1 -1.09 4.098c-.374 .217 -.99 .396 -1.846 .535l-2.664 .366l2.4 .326c1 .145 1.698 .337 2.11 .576a3.011 3.011 0 0 1 1.09 4.098a2.968 2.968 0 0 1 -4.07 1.098c-.348 -.202 -.771 -.604 -1.27 -1.205l-1.76 -1.893l.724 1.36c.516 1.199 .776 2.079 .776 2.64a3 3 0 0 1 -6 0c0 -.562 .259 -1.442 .776 -2.64l.724 -1.36l-1.76 1.893c-.499 .601 -.922 1 -1.27 1.205a2.968 2.968 0 0 1 -4.07 -1.098a3.011 3.011 0 0 1 1.09 -4.098c.374 -.218 .99 -.396 1.846 -.536l2.664 -.366l-2.4 -.325c-1 -.145 -1.698 -.337 -2.11 -.576a3.011 3.011 0 0 1 -1.09 -4.099a2.968 2.968 0 0 1 4.07 -1.099c.348 .203 .771 .604 1.27 1.205l1.76 1.894c-1 -2.292 -1.5 -3.625 -1.5 -4a3 3 0 0 1 3 -3","key":"svg-1"}]]},{"key":"leaf","label":"leaf","category":"自然","nodes":[["path",{"d":"M5 21c.5 -4.5 2.5 -8 7 -10","key":"svg-0"}],["path",{"d":"M9 18c6.218 0 10.5 -3.288 11 -12v-2h-4.014c-9 0 -11.986 4 -12 9c0 1 0 3 2 5h3l.014 0","key":"svg-1"}]]},{"key":"sun","label":"sun","category":"自然","nodes":[["path",{"d":"M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0","key":"svg-0"}],["path",{"d":"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7","key":"svg-1"}]]},{"key":"moon","label":"moon","category":"自然","nodes":[["path",{"d":"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008","key":"svg-0"}]]},{"key":"cloud","label":"cloud","category":"自然","nodes":[["path",{"d":"M6.657 18c-2.572 0 -4.657 -2.007 -4.657 -4.483c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 1.927 -1.551 3.487 -3.465 3.487h-11.878","key":"svg-0"}]]},{"key":"mountain","label":"mountain","category":"自然","nodes":[["path",{"d":"M3 20h18l-6.921 -14.612a2.3 2.3 0 0 0 -4.158 0l-6.921 14.612","key":"svg-0"}],["path",{"d":"M7.5 11l2 2.5l2.5 -2.5l2 3l2.5 -2","key":"svg-1"}]]},{"key":"cactus","label":"cactus","category":"自然","nodes":[["path",{"d":"M6 9v1a3 3 0 0 0 3 3h1","key":"svg-0"}],["path",{"d":"M18 8v5a3 3 0 0 1 -3 3h-1","key":"svg-1"}],["path",{"d":"M10 21v-16a2 2 0 1 1 4 0v16","key":"svg-2"}],["path",{"d":"M7 21h10","key":"svg-3"}]]},{"key":"fish","label":"fish","category":"自然","nodes":[["path",{"d":"M16.69 7.44a6.973 6.973 0 0 0 -1.69 4.56c0 1.747 .64 3.345 1.699 4.571","key":"svg-0"}],["path",{"d":"M2 9.504c7.715 8.647 14.75 10.265 20 2.498c-5.25 -7.761 -12.285 -6.142 -20 2.504","key":"svg-1"}],["path",{"d":"M18 11v.01","key":"svg-2"}],["path",{"d":"M11.5 10.5c-.667 1 -.667 2 0 3","key":"svg-3"}]]},{"key":"butterfly","label":"butterfly","category":"自然","nodes":[["path",{"d":"M12 18.176a3 3 0 1 1 -4.953 -2.449l-.025 .023a4.502 4.502 0 0 1 1.483 -8.75c1.414 0 2.675 .652 3.5 1.671a4.5 4.5 0 1 1 4.983 7.079a3 3 0 1 1 -4.983 2.25l-.005 .176","key":"svg-0"}],["path",{"d":"M12 19v-10","key":"svg-1"}],["path",{"d":"M9 3l3 2l3 -2","key":"svg-2"}]]},{"key":"briefcase","label":"briefcase","category":"商业","nodes":[["path",{"d":"M3 9a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -9","key":"svg-0"}],["path",{"d":"M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2","key":"svg-1"}],["path",{"d":"M12 12l0 .01","key":"svg-2"}],["path",{"d":"M3 13a20 20 0 0 0 18 0","key":"svg-3"}]]},{"key":"building-store","label":"building store","category":"商业","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4","key":"svg-1"}],["path",{"d":"M5 21l0 -10.15","key":"svg-2"}],["path",{"d":"M19 21l0 -10.15","key":"svg-3"}],["path",{"d":"M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4","key":"svg-4"}]]},{"key":"cash","label":"cash","category":"商业","nodes":[["path",{"d":"M7 15h-3a1 1 0 0 1 -1 -1v-8a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v3","key":"svg-0"}],["path",{"d":"M7 10a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -8","key":"svg-1"}],["path",{"d":"M12 14a2 2 0 1 0 4 0a2 2 0 0 0 -4 0","key":"svg-2"}]]},{"key":"coin","label":"coin","category":"商业","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-0"}],["path",{"d":"M14.8 9a2 2 0 0 0 -1.8 -1h-2a2 2 0 1 0 0 4h2a2 2 0 1 1 0 4h-2a2 2 0 0 1 -1.8 -1","key":"svg-1"}],["path",{"d":"M12 7v10","key":"svg-2"}]]},{"key":"credit-card","label":"credit card","category":"商业","nodes":[["path",{"d":"M3 8a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3l0 -8","key":"svg-0"}],["path",{"d":"M3 10l18 0","key":"svg-1"}],["path",{"d":"M7 15l.01 0","key":"svg-2"}],["path",{"d":"M11 15l2 0","key":"svg-3"}]]},{"key":"receipt","label":"receipt","category":"商业","nodes":[["path",{"d":"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16l-3 -2l-2 2l-2 -2l-2 2l-2 -2l-3 2m4 -14h6m-6 4h6m-2 4h2","key":"svg-0"}]]},{"key":"shopping-cart","label":"shopping cart","category":"商业","nodes":[["path",{"d":"M4 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M15 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M17 17h-11v-14h-2","key":"svg-2"}],["path",{"d":"M6 5l14 1l-1 7h-13","key":"svg-3"}]]},{"key":"shopping-bag","label":"shopping bag","category":"商业","nodes":[["path",{"d":"M6.331 8h11.339a2 2 0 0 1 1.977 2.304l-1.255 8.152a3 3 0 0 1 -2.966 2.544h-6.852a3 3 0 0 1 -2.965 -2.544l-1.255 -8.152a2 2 0 0 1 1.977 -2.304","key":"svg-0"}],["path",{"d":"M9 11v-5a3 3 0 0 1 6 0v5","key":"svg-1"}]]},{"key":"barcode","label":"barcode","category":"商业","nodes":[["path",{"d":"M4 7v-1a2 2 0 0 1 2 -2h2","key":"svg-0"}],["path",{"d":"M4 17v1a2 2 0 0 0 2 2h2","key":"svg-1"}],["path",{"d":"M16 4h2a2 2 0 0 1 2 2v1","key":"svg-2"}],["path",{"d":"M16 20h2a2 2 0 0 0 2 -2v-1","key":"svg-3"}],["path",{"d":"M5 11h1v2h-1l0 -2","key":"svg-4"}],["path",{"d":"M10 11l0 2","key":"svg-5"}],["path",{"d":"M14 11h1v2h-1l0 -2","key":"svg-6"}],["path",{"d":"M19 11l0 2","key":"svg-7"}]]},{"key":"brand-paypal","label":"brand paypal","category":"商业","nodes":[["path",{"d":"M10 13l2.5 0c2.5 0 5 -2.5 5 -5c0 -3 -1.9 -5 -5 -5h-5.5c-.5 0 -1 .5 -1 1l-2 14c0 .5 .5 1 1 1h2.8l1.2 -5c.1 -.6 .4 -1 1 -1m7.5 -5.8c1.7 1 2.5 2.8 2.5 4.8c0 2.5 -2.5 4.5 -5 4.5h-2.6l-.6 3.6a1 1 0 0 1 -1 .8l-2.7 0a.5 .5 0 0 1 -.5 -.6l.2 -1.4","key":"svg-0"}]]},{"key":"sofa","label":"sofa","category":"生活","nodes":[["path",{"d":"M4 11a2 2 0 0 1 2 2v1h12v-1a2 2 0 1 1 4 0v5a1 1 0 0 1 -1 1h-18a1 1 0 0 1 -1 -1v-5a2 2 0 0 1 2 -2","key":"svg-0"}],["path",{"d":"M4 11v-3a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v3","key":"svg-1"}],["path",{"d":"M12 5v9","key":"svg-2"}]]},{"key":"bed","label":"bed","category":"生活","nodes":[["path",{"d":"M5 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M22 17v-3h-20","key":"svg-1"}],["path",{"d":"M2 8v9","key":"svg-2"}],["path",{"d":"M12 14h10v-2a3 3 0 0 0 -3 -3h-7v5","key":"svg-3"}]]},{"key":"bath","label":"bath","category":"生活","nodes":[["path",{"d":"M4 12h16a1 1 0 0 1 1 1v3a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4v-3a1 1 0 0 1 1 -1","key":"svg-0"}],["path",{"d":"M6 12v-7a2 2 0 0 1 2 -2h3v2.25","key":"svg-1"}],["path",{"d":"M4 21l1 -1.5","key":"svg-2"}],["path",{"d":"M20 21l-1 -1.5","key":"svg-3"}]]},{"key":"lamp","label":"lamp","category":"生活","nodes":[["path",{"d":"M9 20h6","key":"svg-0"}],["path",{"d":"M12 20v-8","key":"svg-1"}],["path",{"d":"M5 12h14l-4 -8h-6l-4 8","key":"svg-2"}]]},{"key":"fridge","label":"fridge","category":"生活","nodes":[["path",{"d":"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14","key":"svg-0"}],["path",{"d":"M5 10h14","key":"svg-1"}],["path",{"d":"M9 13v3","key":"svg-2"}],["path",{"d":"M9 6v1","key":"svg-3"}]]},{"key":"tools-kitchen","label":"tools kitchen","category":"生活","nodes":[["path",{"d":"M4 3h8l-1 9h-6l-1 -9","key":"svg-0"}],["path",{"d":"M7 18h2v3h-2l0 -3","key":"svg-1"}],["path",{"d":"M20 3v12h-5c-.023 -3.681 .184 -7.406 5 -12","key":"svg-2"}],["path",{"d":"M20 15v6h-1v-3","key":"svg-3"}],["path",{"d":"M8 12l0 6","key":"svg-4"}]]},{"key":"cooker","label":"cooker","category":"生活","nodes":[["path",{"d":"M12 7h.01","key":"svg-0"}],["path",{"d":"M15 7h.01","key":"svg-1"}],["path",{"d":"M9 7h.01","key":"svg-2"}],["path",{"d":"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14","key":"svg-3"}],["path",{"d":"M9 15h6","key":"svg-4"}],["path",{"d":"M5 11h14","key":"svg-5"}]]},{"key":"armchair","label":"armchair","category":"生活","nodes":[["path",{"d":"M5 11a2 2 0 0 1 2 2v2h10v-2a2 2 0 1 1 4 0v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-4a2 2 0 0 1 2 -2","key":"svg-0"}],["path",{"d":"M5 11v-5a3 3 0 0 1 3 -3h8a3 3 0 0 1 3 3v5","key":"svg-1"}],["path",{"d":"M6 19v2","key":"svg-2"}],["path",{"d":"M18 19v2","key":"svg-3"}]]},{"key":"hanger","label":"hanger","category":"生活","nodes":[["path",{"d":"M14 6a2 2 0 1 0 -4 0c0 1.667 .67 3 2 4h-.008l7.971 4.428a2 2 0 0 1 1.029 1.749v.823a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-.823a2 2 0 0 1 1.029 -1.749l7.971 -4.428","key":"svg-0"}]]},{"key":"baby-carriage","label":"baby carriage","category":"生活","nodes":[["path",{"d":"M6 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M16 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M2 5h2.5l1.632 4.897a6 6 0 0 0 5.693 4.103h2.675a5.5 5.5 0 0 0 0 -11h-.5v6","key":"svg-2"}],["path",{"d":"M6 9h14","key":"svg-3"}],["path",{"d":"M9 17l1 -3","key":"svg-4"}],["path",{"d":"M16 14l1 3","key":"svg-5"}]]},{"key":"circle","label":"circle","category":"抽象","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-0"}]]},{"key":"square","label":"square","category":"抽象","nodes":[["path",{"d":"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14","key":"svg-0"}]]},{"key":"triangle","label":"triangle","category":"抽象","nodes":[["path",{"d":"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0","key":"svg-0"}]]},{"key":"hexagon","label":"hexagon","category":"抽象","nodes":[["path",{"d":"M19.875 6.27a2.225 2.225 0 0 1 1.125 1.948v7.284c0 .809 -.443 1.555 -1.158 1.948l-6.75 4.27a2.269 2.269 0 0 1 -2.184 0l-6.75 -4.27a2.225 2.225 0 0 1 -1.158 -1.948v-7.285c0 -.809 .443 -1.554 1.158 -1.947l6.75 -3.98a2.33 2.33 0 0 1 2.25 0l6.75 3.98h-.033","key":"svg-0"}]]},{"key":"cube","label":"cube","category":"抽象","nodes":[["path",{"d":"M21 16.008v-8.018a1.98 1.98 0 0 0 -1 -1.717l-7 -4.008a2.016 2.016 0 0 0 -2 0l-7 4.008c-.619 .355 -1 1.01 -1 1.718v8.018c0 .709 .381 1.363 1 1.717l7 4.008a2.016 2.016 0 0 0 2 0l7 -4.008c.619 -.355 1 -1.01 1 -1.718","key":"svg-0"}],["path",{"d":"M12 22v-10","key":"svg-1"}],["path",{"d":"M12 12l8.73 -5.04","key":"svg-2"}],["path",{"d":"M3.27 6.96l8.73 5.04","key":"svg-3"}]]},{"key":"sphere","label":"sphere","category":"抽象","nodes":[["path",{"d":"M3 12c0 1.657 4.03 3 9 3s9 -1.343 9 -3","key":"svg-0"}],["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-1"}]]},{"key":"spiral","label":"spiral","category":"抽象","nodes":[["path",{"d":"M10 12.057a1.9 1.9 0 0 0 .614 .743c1.06 .713 2.472 .112 3.043 -.919c.839 -1.513 -.022 -3.368 -1.525 -4.08c-2 -.95 -4.371 .154 -5.24 2.086c-1.095 2.432 .29 5.248 2.71 6.246c2.931 1.208 6.283 -.418 7.438 -3.255c1.36 -3.343 -.557 -7.134 -3.896 -8.41c-3.855 -1.474 -8.2 .68 -9.636 4.422c-1.63 4.253 .823 9.024 5.082 10.576c4.778 1.74 10.118 -.941 11.833 -5.59a9.354 9.354 0 0 0 .577 -2.813","key":"svg-0"}]]},{"key":"wave-sine","label":"wave sine","category":"抽象","nodes":[["path",{"d":"M21 12h-2c-.894 0 -1.662 -.857 -1.761 -2c-.296 -3.45 -.749 -6 -2.749 -6s-2.5 3.582 -2.5 8s-.5 8 -2.5 8s-2.452 -2.547 -2.749 -6c-.1 -1.147 -.867 -2 -1.763 -2h-2","key":"svg-0"}]]},{"key":"infinity","label":"infinity","category":"抽象","nodes":[["path",{"d":"M9.828 9.172a4 4 0 1 0 0 5.656a10 10 0 0 0 2.172 -2.828a10 10 0 0 1 2.172 -2.828a4 4 0 1 1 0 5.656a10 10 0 0 1 -2.172 -2.828a10 10 0 0 0 -2.172 -2.828","key":"svg-0"}]]},{"key":"puzzle","label":"puzzle","category":"抽象","nodes":[["path",{"d":"M4 7h3a1 1 0 0 0 1 -1v-1a2 2 0 0 1 4 0v1a1 1 0 0 0 1 1h3a1 1 0 0 1 1 1v3a1 1 0 0 0 1 1h1a2 2 0 0 1 0 4h-1a1 1 0 0 0 -1 1v3a1 1 0 0 1 -1 1h-3a1 1 0 0 1 -1 -1v-1a2 2 0 0 0 -4 0v1a1 1 0 0 1 -1 1h-3a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h1a2 2 0 0 0 0 -4h-1a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1","key":"svg-0"}]]},{"key":"device-gamepad2","label":"device gamepad2","category":"抽象","nodes":[["path",{"d":"M12 5h3.5a5 5 0 0 1 0 10h-5.5l-4.015 4.227a2.3 2.3 0 0 1 -3.923 -2.035l1.634 -8.173a5 5 0 0 1 4.904 -4.019h3.4","key":"svg-0"}],["path",{"d":"M14 15l4.07 4.284a2.3 2.3 0 0 0 3.925 -2.023l-1.6 -8.232","key":"svg-1"}],["path",{"d":"M8 9v2","key":"svg-2"}],["path",{"d":"M7 10h2","key":"svg-3"}],["path",{"d":"M14 10h2","key":"svg-4"}]]},{"key":"building-arch","label":"building arch","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M4 21v-15a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v15","key":"svg-1"}],["path",{"d":"M9 21v-8a3 3 0 0 1 6 0v8","key":"svg-2"}]]},{"key":"building-bridge","label":"building bridge","category":"建筑","nodes":[["path",{"d":"M6 5l0 14","key":"svg-0"}],["path",{"d":"M18 5l0 14","key":"svg-1"}],["path",{"d":"M2 15l20 0","key":"svg-2"}],["path",{"d":"M3 8a7.5 7.5 0 0 0 3 -2a6.5 6.5 0 0 0 12 0a7.5 7.5 0 0 0 3 2","key":"svg-3"}],["path",{"d":"M12 10l0 5","key":"svg-4"}]]},{"key":"building-carousel","label":"building carousel","category":"建筑","nodes":[["path",{"d":"M6 12a6 6 0 1 0 12 0a6 6 0 1 0 -12 0","key":"svg-0"}],["path",{"d":"M3 8a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M10 4a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-2"}],["path",{"d":"M17 8a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-3"}],["path",{"d":"M3 16a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-4"}],["path",{"d":"M17 16a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-5"}],["path",{"d":"M8 22l4 -10l4 10","key":"svg-6"}]]},{"key":"building-castle","label":"building castle","category":"建筑","nodes":[["path",{"d":"M15 19v-2a3 3 0 0 0 -6 0v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-14h4v3h3v-3h4v3h3v-3h4v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1","key":"svg-0"}],["path",{"d":"M3 11l18 0","key":"svg-1"}]]},{"key":"building-circus","label":"building circus","category":"建筑","nodes":[["path",{"d":"M4 11h16","key":"svg-0"}],["path",{"d":"M12 6.5c0 1 -5 4.5 -8 4.5","key":"svg-1"}],["path",{"d":"M12 6.5c0 1 5 4.5 8 4.5","key":"svg-2"}],["path",{"d":"M6 11c-.333 5.333 -1 8.667 -2 10h4c1 0 4 -4 4 -9v-1","key":"svg-3"}],["path",{"d":"M18 11c.333 5.333 1 8.667 2 10h-4c-1 0 -4 -4 -4 -9v-1","key":"svg-4"}],["path",{"d":"M12 7v-4l2 1h-2","key":"svg-5"}]]},{"key":"building-community","label":"building community","category":"建筑","nodes":[["path",{"d":"M8 9l5 5v7h-5v-4m0 4h-5v-7l5 -5m1 1v-6a1 1 0 0 1 1 -1h10a1 1 0 0 1 1 1v17h-8","key":"svg-0"}],["path",{"d":"M13 7l0 .01","key":"svg-1"}],["path",{"d":"M17 7l0 .01","key":"svg-2"}],["path",{"d":"M17 11l0 .01","key":"svg-3"}],["path",{"d":"M17 15l0 .01","key":"svg-4"}]]},{"key":"building-cottage","label":"building cottage","category":"建筑","nodes":[["path",{"d":"M3 21l18 0","key":"svg-0"}],["path",{"d":"M4 21v-11l2.5 -4.5l5.5 -2.5l5.5 2.5l2.5 4.5v11","key":"svg-1"}],["path",{"d":"M10 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-2"}],["path",{"d":"M9 21v-5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v5","key":"svg-3"}]]},{"key":"building-estate","label":"building estate","category":"建筑","nodes":[["path",{"d":"M3 21h18","key":"svg-0"}],["path",{"d":"M19 21v-4","key":"svg-1"}],["path",{"d":"M19 17a2 2 0 0 0 2 -2v-2a2 2 0 1 0 -4 0v2a2 2 0 0 0 2 2","key":"svg-2"}],["path",{"d":"M14 21v-14a3 3 0 0 0 -3 -3h-4a3 3 0 0 0 -3 3v14","key":"svg-3"}],["path",{"d":"M9 17v4","key":"svg-4"}],["path",{"d":"M8 13h2","key":"svg-5"}],["path",{"d":"M8 9h2","key":"svg-6"}]]},{"key":"building-fortress","label":"building fortress","category":"建筑","nodes":[["path",{"d":"M7 21h1a1 1 0 0 0 1 -1v-1a3 3 0 0 1 6 0m3 2h1a1 1 0 0 0 1 -1v-15l-3 -2l-3 2v6h-4v-6l-3 -2l-3 2v15a1 1 0 0 0 1 1h2m8 -2v1a1 1 0 0 0 1 1h2","key":"svg-0"}],["path",{"d":"M7 7v.01","key":"svg-1"}],["path",{"d":"M7 10v.01","key":"svg-2"}],["path",{"d":"M7 13v.01","key":"svg-3"}],["path",{"d":"M17 7v.01","key":"svg-4"}],["path",{"d":"M17 10v.01","key":"svg-5"}],["path",{"d":"M17 13v.01","key":"svg-6"}]]},{"key":"building-monument","label":"building monument","category":"建筑","nodes":[["path",{"d":"M8 18l2 -13l2 -2l2 2l2 13","key":"svg-0"}],["path",{"d":"M5 21v-3h14v3","key":"svg-1"}],["path",{"d":"M3 21l18 0","key":"svg-2"}]]},{"key":"building-stadium","label":"building stadium","category":"建筑","nodes":[["path",{"d":"M4 12a8 2 0 1 0 16 0a8 2 0 1 0 -16 0","key":"svg-0"}],["path",{"d":"M4 12v7c0 .94 2.51 1.785 6 2v-3h4v3c3.435 -.225 6 -1.07 6 -2v-7","key":"svg-1"}],["path",{"d":"M15 6h4v-3h-4v7","key":"svg-2"}],["path",{"d":"M7 6h4v-3h-4v7","key":"svg-3"}]]},{"key":"air-balloon","label":"air balloon","category":"交通","nodes":[["path",{"d":"M9 21v-3h6v3a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1","key":"svg-0"}],["path",{"d":"M9 18c-2.347 -2.169 -5 -5.226 -5 -8a8 8 0 1 1 16 0c0 2.774 -2.653 5.831 -5 8","key":"svg-1"}],["path",{"d":"M5.5 14h13","key":"svg-2"}],["path",{"d":"M10 14c-1.69 -4.712 -.924 -8.197 0 -11.602","key":"svg-3"}],["path",{"d":"M14 14c1.469 -3.867 1.19 -7.735 0 -11.602","key":"svg-4"}]]},{"key":"ambulance","label":"ambulance","category":"交通","nodes":[["path",{"d":"M5 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M15 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M5 17h-2v-11a1 1 0 0 1 1 -1h9v12m-4 0h6m4 0h2v-6h-8m0 -5h5l3 5","key":"svg-2"}],["path",{"d":"M6 10h4m-2 -2v4","key":"svg-3"}]]},{"key":"bus-stop","label":"bus stop","category":"交通","nodes":[["path",{"d":"M3 4a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -4","key":"svg-0"}],["path",{"d":"M16 17a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M10 5h7c2.761 0 5 3.134 5 7v5h-2","key":"svg-2"}],["path",{"d":"M16 17h-8","key":"svg-3"}],["path",{"d":"M16 5l1.5 7h4.5","key":"svg-4"}],["path",{"d":"M9.5 10h7.5","key":"svg-5"}],["path",{"d":"M12 5v5","key":"svg-6"}],["path",{"d":"M5 9v11","key":"svg-7"}]]},{"key":"caravan","label":"caravan","category":"交通","nodes":[["path",{"d":"M7 18a2 2 0 1 0 4 0a2 2 0 0 0 -4 0","key":"svg-0"}],["path",{"d":"M11 18h7a2 2 0 0 0 2 -2v-7a2 2 0 0 0 -2 -2h-9.5a5.5 5.5 0 0 0 -5.5 5.5v3.5a2 2 0 0 0 2 2h2","key":"svg-1"}],["path",{"d":"M8 7l7 -3l1 3","key":"svg-2"}],["path",{"d":"M13 11.5a.5 .5 0 0 1 .5 -.5h2a.5 .5 0 0 1 .5 .5v2a.5 .5 0 0 1 -.5 .5h-2a.5 .5 0 0 1 -.5 -.5l0 -2","key":"svg-3"}],["path",{"d":"M20 16h2","key":"svg-4"}]]},{"key":"crane","label":"crane","category":"交通","nodes":[["path",{"d":"M6 21h6","key":"svg-0"}],["path",{"d":"M9 21v-18l-6 6h18","key":"svg-1"}],["path",{"d":"M9 3l10 6","key":"svg-2"}],["path",{"d":"M17 9v4a2 2 0 1 1 -2 2","key":"svg-3"}]]},{"key":"gas-station","label":"gas station","category":"交通","nodes":[["path",{"d":"M14 11h1a2 2 0 0 1 2 2v3a1.5 1.5 0 0 0 3 0v-7l-3 -3","key":"svg-0"}],["path",{"d":"M4 20v-14a2 2 0 0 1 2 -2h6a2 2 0 0 1 2 2v14","key":"svg-1"}],["path",{"d":"M3 20l12 0","key":"svg-2"}],["path",{"d":"M18 7v1a1 1 0 0 0 1 1h1","key":"svg-3"}],["path",{"d":"M4 11l10 0","key":"svg-4"}]]},{"key":"parking","label":"parking","category":"交通","nodes":[["path",{"d":"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14","key":"svg-0"}],["path",{"d":"M10 16v-8h2.667c.736 0 1.333 .895 1.333 2s-.597 2 -1.333 2h-2.667","key":"svg-1"}]]},{"key":"parking-meter","label":"parking meter","category":"交通","nodes":[["path",{"d":"M15 9a3 3 0 0 0 -6 0","key":"svg-0"}],["path",{"d":"M12 19v3","key":"svg-1"}],["path",{"d":"M10.938 19h2.122a4.04 4.04 0 0 0 3.868 -2.82l1.775 -5.68c1.082 -3.463 -.882 -7.138 -4.386 -8.208a6.7 6.7 0 0 0 -1.96 -.292h-.716c-3.668 0 -6.641 2.939 -6.641 6.563c0 .657 .1 1.31 .296 1.937l1.775 5.68a4.04 4.04 0 0 0 3.867 2.82","key":"svg-2"}],["path",{"d":"M11 12h2","key":"svg-3"}],["path",{"d":"M12 12v3","key":"svg-4"}]]},{"key":"road","label":"road","category":"交通","nodes":[["path",{"d":"M4 19l4 -14","key":"svg-0"}],["path",{"d":"M16 5l4 14","key":"svg-1"}],["path",{"d":"M12 8v-2","key":"svg-2"}],["path",{"d":"M12 13v-2","key":"svg-3"}],["path",{"d":"M12 18v-2","key":"svg-4"}]]},{"key":"traffic-cone","label":"traffic cone","category":"交通","nodes":[["path",{"d":"M4 20l16 0","key":"svg-0"}],["path",{"d":"M9.4 10l5.2 0","key":"svg-1"}],["path",{"d":"M7.8 15l8.4 0","key":"svg-2"}],["path",{"d":"M6 20l5 -15h2l5 15","key":"svg-3"}]]},{"key":"traffic-lights","label":"traffic lights","category":"交通","nodes":[["path",{"d":"M7 7a5 5 0 0 1 5 -5a5 5 0 0 1 5 5v10a5 5 0 0 1 -5 5a5 5 0 0 1 -5 -5l0 -10","key":"svg-0"}],["path",{"d":"M11 7a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-1"}],["path",{"d":"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-2"}],["path",{"d":"M11 17a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-3"}]]},{"key":"album","label":"album","category":"媒体","nodes":[["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-0"}],["path",{"d":"M12 4v7l2 -2l2 2v-7","key":"svg-1"}]]},{"key":"broadcast","label":"broadcast","category":"媒体","nodes":[["path",{"d":"M18.364 19.364a9 9 0 1 0 -12.728 0","key":"svg-0"}],["path",{"d":"M15.536 16.536a5 5 0 1 0 -7.072 0","key":"svg-1"}],["path",{"d":"M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-2"}]]},{"key":"building-broadcast-tower","label":"building broadcast tower","category":"媒体","nodes":[["path",{"d":"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-0"}],["path",{"d":"M16.616 13.924a5 5 0 1 0 -9.23 0","key":"svg-1"}],["path",{"d":"M20.307 15.469a9 9 0 1 0 -16.615 0","key":"svg-2"}],["path",{"d":"M9 21l3 -9l3 9","key":"svg-3"}],["path",{"d":"M10 19h4","key":"svg-4"}]]},{"key":"device-tv-old","label":"device tv old","category":"媒体","nodes":[["path",{"d":"M3 9a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v9a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -9","key":"svg-0"}],["path",{"d":"M16 3l-4 4l-4 -4","key":"svg-1"}],["path",{"d":"M15 7v13","key":"svg-2"}],["path",{"d":"M18 15v.01","key":"svg-3"}],["path",{"d":"M18 12v.01","key":"svg-4"}]]},{"key":"disc","label":"disc","category":"媒体","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-0"}],["path",{"d":"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-1"}],["path",{"d":"M7 12a5 5 0 0 1 5 -5","key":"svg-2"}],["path",{"d":"M12 17a5 5 0 0 0 5 -5","key":"svg-3"}]]},{"key":"masks-theater","label":"masks theater","category":"媒体","nodes":[["path",{"d":"M13.192 9h6.616a2 2 0 0 1 1.992 2.183l-.567 6.182a4 4 0 0 1 -3.983 3.635h-1.5a4 4 0 0 1 -3.983 -3.635l-.567 -6.182a2 2 0 0 1 1.992 -2.183","key":"svg-0"}],["path",{"d":"M15 13h.01","key":"svg-1"}],["path",{"d":"M18 13h.01","key":"svg-2"}],["path",{"d":"M15 16.5c1 .667 2 .667 3 0","key":"svg-3"}],["path",{"d":"M8.632 15.982a4.037 4.037 0 0 1 -.382 .018h-1.5a4 4 0 0 1 -3.983 -3.635l-.567 -6.182a2 2 0 0 1 1.992 -2.183h6.616a2 2 0 0 1 2 2","key":"svg-4"}],["path",{"d":"M6 8h.01","key":"svg-5"}],["path",{"d":"M9 8h.01","key":"svg-6"}],["path",{"d":"M6 12c.764 -.51 1.528 -.63 2.291 -.36","key":"svg-7"}]]},{"key":"radio","label":"radio","category":"媒体","nodes":[["path",{"d":"M14 3l-9.371 3.749a1 1 0 0 0 -.629 .928v11.323a1 1 0 0 0 1 1h14a1 1 0 0 0 1 -1v-11a1 1 0 0 0 -1 -1h-14.5","key":"svg-0"}],["path",{"d":"M4 12h16","key":"svg-1"}],["path",{"d":"M7 12v-2","key":"svg-2"}],["path",{"d":"M17 16v.01","key":"svg-3"}],["path",{"d":"M13 16v.01","key":"svg-4"}]]},{"key":"script","label":"script","category":"媒体","nodes":[["path",{"d":"M17 20h-11a3 3 0 0 1 0 -6h11a3 3 0 0 0 0 6h1a3 3 0 0 0 3 -3v-11a2 2 0 0 0 -2 -2h-10a2 2 0 0 0 -2 2v8","key":"svg-0"}]]},{"key":"subtitles","label":"subtitles","category":"媒体","nodes":[["path",{"d":"M18 5a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3l12 0","key":"svg-0"}],["path",{"d":"M7 15h5","key":"svg-1"}],["path",{"d":"M15 15h2","key":"svg-2"}],["path",{"d":"M17 12h-3","key":"svg-3"}],["path",{"d":"M11 12h-1","key":"svg-4"}]]},{"key":"theater","label":"theater","category":"媒体","nodes":[["path",{"d":"M4 20h16","key":"svg-0"}],["path",{"d":"M20 16v-10a2 2 0 0 0 -2 -2h-12a2 2 0 0 0 -2 2v10l4 -6c2.667 1.333 5.333 1.333 8 0l4 6","key":"svg-1"}]]},{"key":"ticket","label":"ticket","category":"媒体","nodes":[["path",{"d":"M15 5l0 2","key":"svg-0"}],["path",{"d":"M15 11l0 2","key":"svg-1"}],["path",{"d":"M15 17l0 2","key":"svg-2"}],["path",{"d":"M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-3a2 2 0 0 0 0 -4v-3a2 2 0 0 1 2 -2","key":"svg-3"}]]},{"key":"binary-tree","label":"binary tree","category":"科技","nodes":[["path",{"d":"M6 20a2 2 0 1 0 -4 0a2 2 0 0 0 4 0","key":"svg-0"}],["path",{"d":"M16 4a2 2 0 1 0 -4 0a2 2 0 0 0 4 0","key":"svg-1"}],["path",{"d":"M16 20a2 2 0 1 0 -4 0a2 2 0 0 0 4 0","key":"svg-2"}],["path",{"d":"M11 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0","key":"svg-3"}],["path",{"d":"M21 12a2 2 0 1 0 -4 0a2 2 0 0 0 4 0","key":"svg-4"}],["path",{"d":"M5.058 18.306l2.88 -4.606","key":"svg-5"}],["path",{"d":"M10.061 10.303l2.877 -4.604","key":"svg-6"}],["path",{"d":"M10.065 13.705l2.876 4.6","key":"svg-7"}],["path",{"d":"M15.063 5.7l2.881 4.61","key":"svg-8"}]]},{"key":"bluetooth","label":"bluetooth","category":"科技","nodes":[["path",{"d":"M7 8l10 8l-5 4l0 -16l5 4l-10 8","key":"svg-0"}]]},{"key":"browser","label":"browser","category":"科技","nodes":[["path",{"d":"M4 8h16","key":"svg-0"}],["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-1"}],["path",{"d":"M8 4v4","key":"svg-2"}]]},{"key":"circuit-ammeter","label":"circuit ammeter","category":"科技","nodes":[["path",{"d":"M5 12a7 7 0 1 0 14 0a7 7 0 1 0 -14 0","key":"svg-0"}],["path",{"d":"M5 12h-3","key":"svg-1"}],["path",{"d":"M19 12h3","key":"svg-2"}],["path",{"d":"M10 14v-3c0 -1.036 .895 -2 2 -2s2 .964 2 2v3","key":"svg-3"}],["path",{"d":"M14 12h-4","key":"svg-4"}]]},{"key":"circuit-capacitor","label":"circuit capacitor","category":"科技","nodes":[["path",{"d":"M22 12h-8","key":"svg-0"}],["path",{"d":"M2 12h8","key":"svg-1"}],["path",{"d":"M10 7v10","key":"svg-2"}],["path",{"d":"M14 7v10","key":"svg-3"}]]},{"key":"cloud-computing","label":"cloud computing","category":"科技","nodes":[["path",{"d":"M6.657 16c-2.572 0 -4.657 -2.007 -4.657 -4.483c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 1.927 -1.551 3.487 -3.465 3.487h-11.878","key":"svg-0"}],["path",{"d":"M12 16v5","key":"svg-1"}],["path",{"d":"M16 16v4a1 1 0 0 0 1 1h4","key":"svg-2"}],["path",{"d":"M8 16v4a1 1 0 0 1 -1 1h-4","key":"svg-3"}]]},{"key":"fingerprint","label":"fingerprint","category":"科技","nodes":[["path",{"d":"M18.9 7a8 8 0 0 1 1.1 5v1a6 6 0 0 0 .8 3","key":"svg-0"}],["path",{"d":"M8 11a4 4 0 0 1 8 0v1a10 10 0 0 0 2 6","key":"svg-1"}],["path",{"d":"M12 11v2a14 14 0 0 0 2.5 8","key":"svg-2"}],["path",{"d":"M8 15a18 18 0 0 0 1.8 6","key":"svg-3"}],["path",{"d":"M4.9 19a22 22 0 0 1 -.9 -7v-1a8 8 0 0 1 12 -6.95","key":"svg-4"}]]},{"key":"nfc","label":"nfc","category":"科技","nodes":[["path",{"d":"M11 20a3 3 0 0 1 -3 -3v-11l5 5","key":"svg-0"}],["path",{"d":"M13 4a3 3 0 0 1 3 3v11l-5 -5","key":"svg-1"}],["path",{"d":"M4 7a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v10a3 3 0 0 1 -3 3h-10a3 3 0 0 1 -3 -3l0 -10","key":"svg-2"}]]},{"key":"qrcode","label":"qrcode","category":"科技","nodes":[["path",{"d":"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4","key":"svg-0"}],["path",{"d":"M7 17l0 .01","key":"svg-1"}],["path",{"d":"M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4","key":"svg-2"}],["path",{"d":"M7 7l0 .01","key":"svg-3"}],["path",{"d":"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4","key":"svg-4"}],["path",{"d":"M17 7l0 .01","key":"svg-5"}],["path",{"d":"M14 14l3 0","key":"svg-6"}],["path",{"d":"M20 14l0 .01","key":"svg-7"}],["path",{"d":"M14 14l0 3","key":"svg-8"}],["path",{"d":"M14 20l3 0","key":"svg-9"}],["path",{"d":"M17 17l3 0","key":"svg-10"}],["path",{"d":"M20 17l0 3","key":"svg-11"}]]},{"key":"webhook","label":"webhook","category":"科技","nodes":[["path",{"d":"M4.876 13.61a4 4 0 1 0 6.124 3.39h6","key":"svg-0"}],["path",{"d":"M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5","key":"svg-1"}],["path",{"d":"M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5","key":"svg-2"}]]},{"key":"wifi","label":"wifi","category":"科技","nodes":[["path",{"d":"M12 18l.01 0","key":"svg-0"}],["path",{"d":"M9.172 15.172a4 4 0 0 1 5.656 0","key":"svg-1"}],["path",{"d":"M6.343 12.343a8 8 0 0 1 11.314 0","key":"svg-2"}],["path",{"d":"M3.515 9.515c4.686 -4.687 12.284 -4.687 17 0","key":"svg-3"}]]},{"key":"bandage","label":"bandage","category":"科学","nodes":[["path",{"d":"M14 12l0 .01","key":"svg-0"}],["path",{"d":"M10 12l0 .01","key":"svg-1"}],["path",{"d":"M12 10l0 .01","key":"svg-2"}],["path",{"d":"M12 14l0 .01","key":"svg-3"}],["path",{"d":"M4.5 12.5l8 -8a4.94 4.94 0 0 1 7 7l-8 8a4.94 4.94 0 0 1 -7 -7","key":"svg-4"}]]},{"key":"biohazard","label":"biohazard","category":"科学","nodes":[["path",{"d":"M10 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M11.939 14c0 .173 .048 .351 .056 .533l0 .217a4.75 4.75 0 0 1 -4.533 4.745l-.217 0m-4.75 -4.75a4.75 4.75 0 0 1 7.737 -3.693m6.513 8.443a4.75 4.75 0 0 1 -4.69 -5.503l-.06 0m1.764 -2.944a4.75 4.75 0 0 1 7.731 3.477l0 .217m-11.195 -3.813a4.75 4.75 0 0 1 -1.828 -7.624l.164 -.172m6.718 0a4.75 4.75 0 0 1 -1.665 7.798","key":"svg-1"}]]},{"key":"bone","label":"bone","category":"科学","nodes":[["path",{"d":"M15 3a3 3 0 0 1 3 3a3 3 0 1 1 -2.12 5.122l-4.758 4.758a3 3 0 1 1 -5.117 2.297l0 -.177l-.176 0a3 3 0 1 1 2.298 -5.115l4.758 -4.758a3 3 0 0 1 2.12 -5.122l-.005 -.005","key":"svg-0"}]]},{"key":"brain","label":"brain","category":"科学","nodes":[["path",{"d":"M15.5 13a3.5 3.5 0 0 0 -3.5 3.5v1a3.5 3.5 0 0 0 7 0v-1.8","key":"svg-0"}],["path",{"d":"M8.5 13a3.5 3.5 0 0 1 3.5 3.5v1a3.5 3.5 0 0 1 -7 0v-1.8","key":"svg-1"}],["path",{"d":"M17.5 16a3.5 3.5 0 0 0 0 -7h-.5","key":"svg-2"}],["path",{"d":"M19 9.3v-2.8a3.5 3.5 0 0 0 -7 0","key":"svg-3"}],["path",{"d":"M6.5 16a3.5 3.5 0 0 1 0 -7h.5","key":"svg-4"}],["path",{"d":"M5 9.3v-2.8a3.5 3.5 0 0 1 7 0v10","key":"svg-5"}]]},{"key":"capsule","label":"capsule","category":"科学","nodes":[["path",{"d":"M6 9a6 6 0 0 1 6 -6a6 6 0 0 1 6 6v6a6 6 0 0 1 -6 6a6 6 0 0 1 -6 -6l0 -6","key":"svg-0"}]]},{"key":"dental","label":"dental","category":"科学","nodes":[["path",{"d":"M12 5.5c-1.074 -.586 -2.583 -1.5 -4 -1.5c-2.1 0 -4 1.247 -4 5c0 4.899 1.056 8.41 2.671 10.537c.573 .756 1.97 .521 2.567 -.236c.398 -.505 .819 -1.439 1.262 -2.801c.292 -.771 .892 -1.504 1.5 -1.5c.602 0 1.21 .737 1.5 1.5c.443 1.362 .864 2.295 1.262 2.8c.597 .759 2 .993 2.567 .237c1.615 -2.127 2.671 -5.637 2.671 -10.537c0 -3.74 -1.908 -5 -4 -5c-1.423 0 -2.92 .911 -4 1.5","key":"svg-0"}],["path",{"d":"M12 5.5l3 1.5","key":"svg-1"}]]},{"key":"device-heart-monitor","label":"device heart monitor","category":"科学","nodes":[["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-0"}],["path",{"d":"M4 9h6l1 -2l2 4l1 -2h6","key":"svg-1"}],["path",{"d":"M4 14h16","key":"svg-2"}],["path",{"d":"M14 17v.01","key":"svg-3"}],["path",{"d":"M17 17v.01","key":"svg-4"}]]},{"key":"droplet","label":"droplet","category":"科学","nodes":[["path",{"d":"M7.502 19.423c2.602 2.105 6.395 2.105 8.996 0c2.602 -2.105 3.262 -5.708 1.566 -8.546l-4.89 -7.26c-.42 -.625 -1.287 -.803 -1.936 -.397a1.376 1.376 0 0 0 -.41 .397l-4.893 7.26c-1.695 2.838 -1.035 6.441 1.567 8.546","key":"svg-0"}]]},{"key":"first-aid-kit","label":"first aid kit","category":"科学","nodes":[["path",{"d":"M8 8v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2","key":"svg-0"}],["path",{"d":"M4 10a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -8","key":"svg-1"}],["path",{"d":"M10 14h4","key":"svg-2"}],["path",{"d":"M12 12v4","key":"svg-3"}]]},{"key":"lungs","label":"lungs","category":"科学","nodes":[["path",{"d":"M6.081 20c1.612 0 2.919 -1.335 2.919 -2.98v-9.763c0 -.694 -.552 -1.257 -1.232 -1.257c-.205 0 -.405 .052 -.584 .15l-.13 .083c-1.46 1.059 -2.432 2.647 -3.404 5.824c-.42 1.37 -.636 2.962 -.648 4.775c-.012 1.675 1.261 3.054 2.877 3.161l.203 .007","key":"svg-0"}],["path",{"d":"M17.92 20c-1.613 0 -2.92 -1.335 -2.92 -2.98v-9.763c0 -.694 .552 -1.257 1.233 -1.257c.204 0 .405 .052 .584 .15l.13 .083c1.46 1.059 2.432 2.647 3.405 5.824c.42 1.37 .636 2.962 .648 4.775c.012 1.675 -1.261 3.054 -2.878 3.161l-.202 .007","key":"svg-1"}],["path",{"d":"M9 12a3 3 0 0 0 3 -3a3 3 0 0 0 3 3","key":"svg-2"}],["path",{"d":"M12 4v5","key":"svg-3"}]]},{"key":"medical-cross","label":"medical cross","category":"科学","nodes":[["path",{"d":"M13 3a1 1 0 0 1 1 1v4.535l3.928 -2.267a1 1 0 0 1 1.366 .366l1 1.732a1 1 0 0 1 -.366 1.366l-3.927 2.268l3.927 2.269a1 1 0 0 1 .366 1.366l-1 1.732a1 1 0 0 1 -1.366 .366l-3.928 -2.269v4.536a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-4.536l-3.928 2.268a1 1 0 0 1 -1.366 -.366l-1 -1.732a1 1 0 0 1 .366 -1.366l3.927 -2.268l-3.927 -2.268a1 1 0 0 1 -.366 -1.366l1 -1.732a1 1 0 0 1 1.366 -.366l3.928 2.267v-4.535a1 1 0 0 1 1 -1h2","key":"svg-0"}]]},{"key":"acorn","label":"acorn","category":"自然","nodes":[["path",{"d":"M18 10l-.45 4.1a8.36 8.36 0 0 1 -5.18 6.83a1 1 0 0 1 -.74 0a8.36 8.36 0 0 1 -5.18 -6.83l-.45 -4.1","key":"svg-0"}],["path",{"d":"M13 3a4.9 4.9 0 0 0 -1 3","key":"svg-1"}],["path",{"d":"M8 6h8a3 3 0 0 1 3 3a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1a3 3 0 0 1 3 -3","key":"svg-2"}]]},{"key":"campfire","label":"campfire","category":"自然","nodes":[["path",{"d":"M4 21l16 -4","key":"svg-0"}],["path",{"d":"M20 21l-16 -4","key":"svg-1"}],["path",{"d":"M12 15a4 4 0 0 0 4 -4c0 -3 -2 -3 -2 -8c-4 2 -6 5 -6 8a4 4 0 0 0 4 4","key":"svg-2"}]]},{"key":"christmas-tree","label":"christmas tree","category":"自然","nodes":[["path",{"d":"M12 3l4 4l-2 1l4 4l-3 1l4 4h-14l4 -4l-3 -1l4 -4l-2 -1l4 -4","key":"svg-0"}],["path",{"d":"M14 17v3a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-3","key":"svg-1"}]]},{"key":"comet","label":"comet","category":"自然","nodes":[["path",{"d":"M15.5 18.5l-3 1.5l.5 -3.5l-2 -2l3 -.5l1.5 -3l1.5 3l3 .5l-2 2l.5 3.5l-3 -1.5","key":"svg-0"}],["path",{"d":"M4 4l7 7","key":"svg-1"}],["path",{"d":"M9 4l3.5 3.5","key":"svg-2"}],["path",{"d":"M4 9l3.5 3.5","key":"svg-3"}]]},{"key":"feather","label":"feather","category":"自然","nodes":[["path",{"d":"M4 20l10 -10m0 -5v5h5m-9 -1v5h5m-9 -1v5h5m-5 -5l4 -4l4 -4","key":"svg-0"}],["path",{"d":"M19 10c.638 -.636 1 -1.515 1 -2.486a3.515 3.515 0 0 0 -3.517 -3.514c-.97 0 -1.847 .367 -2.483 1m-3 13l4 -4l4 -4","key":"svg-1"}]]},{"key":"meteor","label":"meteor","category":"自然","nodes":[["path",{"d":"M21 3l-5 9h5l-6.891 7.086a6.5 6.5 0 1 1 -8.855 -9.506l7.746 -6.58l-1 5l9 -5","key":"svg-0"}],["path",{"d":"M7 14.5a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0","key":"svg-1"}]]},{"key":"mushroom","label":"mushroom","category":"自然","nodes":[["path",{"d":"M20 11.1c0 -4.474 -3.582 -8.1 -8 -8.1s-8 3.626 -8 8.1a.9 .9 0 0 0 .9 .9h14.2a.9 .9 0 0 0 .9 -.9","key":"svg-0"}],["path",{"d":"M10 12v7a2 2 0 1 0 4 0v-7","key":"svg-1"}]]},{"key":"paw","label":"paw","category":"自然","nodes":[["path",{"d":"M14.7 13.5c-1.1 -2 -1.441 -2.5 -2.7 -2.5c-1.259 0 -1.736 .755 -2.836 2.747c-.942 1.703 -2.846 1.845 -3.321 3.291c-.097 .265 -.145 .677 -.143 .962c0 1.176 .787 2 1.8 2c1.259 0 3 -1 4.5 -1s3.241 1 4.5 1c1.013 0 1.8 -.823 1.8 -2c0 -.285 -.049 -.697 -.146 -.962c-.475 -1.451 -2.512 -1.835 -3.454 -3.538","key":"svg-0"}],["path",{"d":"M20.188 8.082a1.039 1.039 0 0 0 -.406 -.082h-.015c-.735 .012 -1.56 .75 -1.993 1.866c-.519 1.335 -.28 2.7 .538 3.052c.129 .055 .267 .082 .406 .082c.739 0 1.575 -.742 2.011 -1.866c.516 -1.335 .273 -2.7 -.54 -3.052l-.001 0","key":"svg-1"}],["path",{"d":"M9.474 9c.055 0 .109 0 .163 -.011c.944 -.128 1.533 -1.346 1.32 -2.722c-.203 -1.297 -1.047 -2.267 -1.932 -2.267c-.055 0 -.109 0 -.163 .011c-.944 .128 -1.533 1.346 -1.32 2.722c.204 1.293 1.048 2.267 1.933 2.267","key":"svg-2"}],["path",{"d":"M16.456 6.733c.214 -1.376 -.375 -2.594 -1.32 -2.722a1.164 1.164 0 0 0 -.162 -.011c-.885 0 -1.728 .97 -1.93 2.267c-.214 1.376 .375 2.594 1.32 2.722c.054 .007 .108 .011 .162 .011c.885 0 1.73 -.974 1.93 -2.267","key":"svg-3"}],["path",{"d":"M5.69 12.918c.816 -.352 1.054 -1.719 .536 -3.052c-.436 -1.124 -1.271 -1.866 -2.009 -1.866c-.14 0 -.277 .027 -.407 .082c-.816 .352 -1.054 1.719 -.536 3.052c.436 1.124 1.271 1.866 2.009 1.866c.14 0 .277 -.027 .407 -.082","key":"svg-4"}]]},{"key":"rainbow","label":"rainbow","category":"自然","nodes":[["path",{"d":"M22 17c0 -5.523 -4.477 -10 -10 -10c-5.523 0 -10 4.477 -10 10","key":"svg-0"}],["path",{"d":"M18 17a6 6 0 1 0 -12 0","key":"svg-1"}],["path",{"d":"M14 17a2 2 0 1 0 -4 0","key":"svg-2"}]]},{"key":"tornado","label":"tornado","category":"自然","nodes":[["path",{"d":"M21 4l-18 0","key":"svg-0"}],["path",{"d":"M13 16l-6 0","key":"svg-1"}],["path",{"d":"M11 20l4 0","key":"svg-2"}],["path",{"d":"M6 8l14 0","key":"svg-3"}],["path",{"d":"M4 12l12 0","key":"svg-4"}]]},{"key":"volcano","label":"volcano","category":"自然","nodes":[["path",{"d":"M9 8v-1a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M15 8v-1a2 2 0 1 1 4 0","key":"svg-1"}],["path",{"d":"M4 20l3.472 -7.812a2 2 0 0 1 1.828 -1.188h5.4a2 2 0 0 1 1.828 1.188l3.472 7.812","key":"svg-2"}],["path",{"d":"M6.192 15.064a2.14 2.14 0 0 1 .475 -.064c.527 -.009 1.026 .178 1.333 .5c.307 .32 .806 .507 1.333 .5c.527 .007 1.026 -.18 1.334 -.5c.307 -.322 .806 -.509 1.333 -.5c.527 -.009 1.026 .178 1.333 .5c.308 .32 .807 .507 1.334 .5c.527 .007 1.026 -.18 1.333 -.5c.307 -.322 .806 -.509 1.333 -.5c.161 .003 .32 .025 .472 .064","key":"svg-3"}],["path",{"d":"M12 8v-4","key":"svg-4"}]]},{"key":"affiliate","label":"affiliate","category":"商业","nodes":[["path",{"d":"M5.931 6.936l1.275 4.249m5.607 5.609l4.251 1.275","key":"svg-0"}],["path",{"d":"M11.683 12.317l5.759 -5.759","key":"svg-1"}],["path",{"d":"M4 5.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0","key":"svg-2"}],["path",{"d":"M17 5.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0","key":"svg-3"}],["path",{"d":"M17 18.5a1.5 1.5 0 1 0 3 0a1.5 1.5 0 1 0 -3 0","key":"svg-4"}],["path",{"d":"M4 15.5a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0","key":"svg-5"}]]},{"key":"businessplan","label":"businessplan","category":"商业","nodes":[["path",{"d":"M11 6a5 3 0 1 0 10 0a5 3 0 1 0 -10 0","key":"svg-0"}],["path",{"d":"M11 6v4c0 1.657 2.239 3 5 3s5 -1.343 5 -3v-4","key":"svg-1"}],["path",{"d":"M11 10v4c0 1.657 2.239 3 5 3s5 -1.343 5 -3v-4","key":"svg-2"}],["path",{"d":"M11 14v4c0 1.657 2.239 3 5 3s5 -1.343 5 -3v-4","key":"svg-3"}],["path",{"d":"M7 9h-2.5a1.5 1.5 0 0 0 0 3h1a1.5 1.5 0 0 1 0 3h-2.5","key":"svg-4"}],["path",{"d":"M5 15v1m0 -8v1","key":"svg-5"}]]},{"key":"cash-register","label":"cash register","category":"商业","nodes":[["path",{"d":"M21 15h-2.5c-.398 0 -.779 .158 -1.061 .439c-.281 .281 -.439 .663 -.439 1.061c0 .398 .158 .779 .439 1.061c.281 .281 .663 .439 1.061 .439h1c.398 0 .779 .158 1.061 .439c.281 .281 .439 .663 .439 1.061c0 .398 -.158 .779 -.439 1.061c-.281 .281 -.663 .439 -1.061 .439h-2.5","key":"svg-0"}],["path",{"d":"M19 21v1m0 -8v1","key":"svg-1"}],["path",{"d":"M13 21h-7c-.53 0 -1.039 -.211 -1.414 -.586c-.375 -.375 -.586 -.884 -.586 -1.414v-10c0 -.53 .211 -1.039 .586 -1.414c.375 -.375 .884 -.586 1.414 -.586h2m12 3.12v-1.12c0 -.53 -.211 -1.039 -.586 -1.414c-.375 -.375 -.884 -.586 -1.414 -.586h-2","key":"svg-2"}],["path",{"d":"M16 10v-6c0 -.53 -.211 -1.039 -.586 -1.414c-.375 -.375 -.884 -.586 -1.414 -.586h-4c-.53 0 -1.039 .211 -1.414 .586c-.375 .375 -.586 .884 -.586 1.414v6m8 0h-8m8 0h1m-9 0h-1","key":"svg-3"}],["path",{"d":"M8 14v.01","key":"svg-4"}],["path",{"d":"M8 17v.01","key":"svg-5"}],["path",{"d":"M12 13.99v.01","key":"svg-6"}],["path",{"d":"M12 17v.01","key":"svg-7"}]]},{"key":"chart-donut","label":"chart donut","category":"商业","nodes":[["path",{"d":"M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-3.8a4.1 4.1 0 1 1 -5 -5v-4a.9 .9 0 0 0 -1 -.8","key":"svg-0"}],["path",{"d":"M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a9 9 0 0 0 -1 -1v-4.5","key":"svg-1"}]]},{"key":"chart-histogram","label":"chart histogram","category":"商业","nodes":[["path",{"d":"M3 3v18h18","key":"svg-0"}],["path",{"d":"M20 18v3","key":"svg-1"}],["path",{"d":"M16 16v5","key":"svg-2"}],["path",{"d":"M12 13v8","key":"svg-3"}],["path",{"d":"M8 16v5","key":"svg-4"}],["path",{"d":"M3 11c6 0 5 -5 9 -5s3 5 9 5","key":"svg-5"}]]},{"key":"chart-pie","label":"chart pie","category":"商业","nodes":[["path",{"d":"M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-6.8a2 2 0 0 1 -2 -2v-7a.9 .9 0 0 0 -1 -.8","key":"svg-0"}],["path",{"d":"M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a1 1 0 0 1 -1 -1v-4.5","key":"svg-1"}]]},{"key":"contract","label":"contract","category":"商业","nodes":[["path",{"d":"M8 21h-2a3 3 0 0 1 -3 -3v-1h5.5","key":"svg-0"}],["path",{"d":"M17 8.5v-3.5a2 2 0 1 1 2 2h-2","key":"svg-1"}],["path",{"d":"M19 3h-11a3 3 0 0 0 -3 3v11","key":"svg-2"}],["path",{"d":"M9 7h4","key":"svg-3"}],["path",{"d":"M9 11h4","key":"svg-4"}],["path",{"d":"M18.42 12.61a2.1 2.1 0 0 1 2.97 2.97l-6.39 6.42h-3v-3l6.42 -6.39","key":"svg-5"}]]},{"key":"file-invoice","label":"file invoice","category":"商业","nodes":[["path",{"d":"M14 3v4a1 1 0 0 0 1 1h4","key":"svg-0"}],["path",{"d":"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2","key":"svg-1"}],["path",{"d":"M9 7l1 0","key":"svg-2"}],["path",{"d":"M9 13l6 0","key":"svg-3"}],["path",{"d":"M13 17l2 0","key":"svg-4"}]]},{"key":"moneybag","label":"moneybag","category":"商业","nodes":[["path",{"d":"M9.5 3h5a1.5 1.5 0 0 1 1.5 1.5a3.5 3.5 0 0 1 -3.5 3.5h-1a3.5 3.5 0 0 1 -3.5 -3.5a1.5 1.5 0 0 1 1.5 -1.5","key":"svg-0"}],["path",{"d":"M4 17v-1a8 8 0 1 1 16 0v1a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4","key":"svg-1"}]]},{"key":"percentage","label":"percentage","category":"商业","nodes":[["path",{"d":"M16 17a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-0"}],["path",{"d":"M6 7a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-1"}],["path",{"d":"M6 18l12 -12","key":"svg-2"}]]},{"key":"pig-money","label":"pig money","category":"商业","nodes":[["path",{"d":"M15 11v.01","key":"svg-0"}],["path",{"d":"M5.173 8.378a3 3 0 1 1 4.656 -1.377","key":"svg-1"}],["path",{"d":"M16 4v3.803a6.019 6.019 0 0 1 2.658 3.197h1.341a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-1.342c-.336 .95 -.907 1.8 -1.658 2.473v2.027a1.5 1.5 0 0 1 -3 0v-.583a6.04 6.04 0 0 1 -1 .083h-4a6.04 6.04 0 0 1 -1 -.083v.583a1.5 1.5 0 0 1 -3 0v-2l0 -.027a6 6 0 0 1 4 -10.473h2.5l4.5 -3","key":"svg-2"}]]},{"key":"basket","label":"basket","category":"生活","nodes":[["path",{"d":"M10 14a2 2 0 1 0 4 0a2 2 0 0 0 -4 0","key":"svg-0"}],["path",{"d":"M5.001 8h13.999a2 2 0 0 1 1.977 2.304l-1.255 7.152a3 3 0 0 1 -2.966 2.544h-9.512a3 3 0 0 1 -2.965 -2.544l-1.255 -7.152a2 2 0 0 1 1.977 -2.304","key":"svg-1"}],["path",{"d":"M17 10l-2 -6","key":"svg-2"}],["path",{"d":"M7 10l2 -6","key":"svg-3"}]]},{"key":"bottle","label":"bottle","category":"生活","nodes":[["path",{"d":"M10 5h4v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 0 -1 1v2","key":"svg-0"}],["path",{"d":"M14 3.5c0 1.626 .507 3.212 1.45 4.537l.05 .07a8.093 8.093 0 0 1 1.5 4.694v6.199a2 2 0 0 1 -2 2h-6a2 2 0 0 1 -2 -2v-6.2c0 -1.682 .524 -3.322 1.5 -4.693l.05 -.07a7.823 7.823 0 0 0 1.45 -4.537","key":"svg-1"}],["path",{"d":"M7 14.803a2.4 2.4 0 0 0 1 -.803a2.4 2.4 0 0 1 2 -1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2 -1a2.4 2.4 0 0 1 1 -.805","key":"svg-2"}]]},{"key":"chef-hat","label":"chef hat","category":"生活","nodes":[["path",{"d":"M12 3c1.918 0 3.52 1.35 3.91 3.151a4 4 0 0 1 2.09 7.723l0 7.126h-12v-7.126a4 4 0 1 1 2.092 -7.723a4 4 0 0 1 3.908 -3.151","key":"svg-0"}],["path",{"d":"M6.161 17.009l11.839 -.009","key":"svg-1"}]]},{"key":"clock","label":"clock","category":"生活","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0","key":"svg-0"}],["path",{"d":"M12 7v5l3 3","key":"svg-1"}]]},{"key":"cup","label":"cup","category":"生活","nodes":[["path",{"d":"M5 11h14v-3h-14l0 3","key":"svg-0"}],["path",{"d":"M17.5 11l-1.5 10h-8l-1.5 -10","key":"svg-1"}],["path",{"d":"M6 8v-1a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v1","key":"svg-2"}],["path",{"d":"M15 5v-2","key":"svg-3"}]]},{"key":"door","label":"door","category":"生活","nodes":[["path",{"d":"M14 12v.01","key":"svg-0"}],["path",{"d":"M3 21h18","key":"svg-1"}],["path",{"d":"M6 21v-16a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v16","key":"svg-2"}]]},{"key":"glass-full","label":"glass full","category":"生活","nodes":[["path",{"d":"M8 21l8 0","key":"svg-0"}],["path",{"d":"M12 15l0 6","key":"svg-1"}],["path",{"d":"M17 3l1 7c0 3.012 -2.686 5 -6 5s-6 -1.988 -6 -5l1 -7h10","key":"svg-2"}],["path",{"d":"M6 10a5 5 0 0 1 6 0a5 5 0 0 0 6 0","key":"svg-3"}]]},{"key":"ironing","label":"ironing","category":"生活","nodes":[["path",{"d":"M9 6h7.459a3 3 0 0 1 2.959 2.507l.577 3.464l.81 4.865a1 1 0 0 1 -.985 1.164h-16.82a7 7 0 0 1 7 -7h9.8","key":"svg-0"}]]},{"key":"shirt","label":"shirt","category":"生活","nodes":[["path",{"d":"M15 4l6 2v5h-3v8a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1v-8h-3v-5l6 -2a3 3 0 0 0 6 0","key":"svg-0"}]]},{"key":"toilet-paper","label":"toilet paper","category":"生活","nodes":[["path",{"d":"M3 10a3 7 0 1 0 6 0a3 7 0 1 0 -6 0","key":"svg-0"}],["path",{"d":"M21 10c0 -3.866 -1.343 -7 -3 -7","key":"svg-1"}],["path",{"d":"M6 3h12","key":"svg-2"}],["path",{"d":"M21 10v10l-3 -1l-3 2l-3 -3l-3 2v-10","key":"svg-3"}],["path",{"d":"M6 10h.01","key":"svg-4"}]]},{"key":"vacuum-cleaner","label":"vacuum cleaner","category":"生活","nodes":[["path",{"d":"M21 12a9 9 0 1 1 -18 0a9 9 0 0 1 18 0","key":"svg-0"}],["path",{"d":"M14 9a2 2 0 1 1 -4 0a2 2 0 0 1 4 0","key":"svg-1"}],["path",{"d":"M12 16h.01","key":"svg-2"}]]},{"key":"aperture","label":"aperture","category":"抽象","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-0"}],["path",{"d":"M3.6 15h10.55","key":"svg-1"}],["path",{"d":"M6.551 4.938l3.26 10.034","key":"svg-2"}],["path",{"d":"M17.032 4.636l-8.535 6.201","key":"svg-3"}],["path",{"d":"M20.559 14.51l-8.535 -6.201","key":"svg-4"}],["path",{"d":"M12.257 20.916l3.261 -10.034","key":"svg-5"}]]},{"key":"blend-mode","label":"blend mode","category":"抽象","nodes":[["path",{"d":"M8 9.5a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0 -13 0","key":"svg-0"}],["path",{"d":"M3 14.5a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0 -13 0","key":"svg-1"}]]},{"key":"blur","label":"blur","category":"抽象","nodes":[["path",{"d":"M12 21a9.01 9.01 0 0 0 2.32 -.302a9 9 0 0 0 1.74 -16.733a9 9 0 1 0 -4.06 17.035","key":"svg-0"}],["path",{"d":"M12 3v17","key":"svg-1"}],["path",{"d":"M12 12h9","key":"svg-2"}],["path",{"d":"M12 9h8","key":"svg-3"}],["path",{"d":"M12 6h6","key":"svg-4"}],["path",{"d":"M12 18h6","key":"svg-5"}],["path",{"d":"M12 15h8","key":"svg-6"}]]},{"key":"color-filter","label":"color filter","category":"抽象","nodes":[["path",{"d":"M13.58 13.79c.27 .68 .42 1.43 .42 2.21c0 1.77 -.77 3.37 -2 4.46a5.93 5.93 0 0 1 -4 1.54c-3.31 0 -6 -2.69 -6 -6c0 -2.76 1.88 -5.1 4.42 -5.79","key":"svg-0"}],["path",{"d":"M17.58 10.21c2.54 .69 4.42 3.03 4.42 5.79c0 3.31 -2.69 6 -6 6a5.93 5.93 0 0 1 -4 -1.54","key":"svg-1"}],["path",{"d":"M6 8a6 6 0 1 0 12 0a6 6 0 1 0 -12 0","key":"svg-2"}]]},{"key":"contrast","label":"contrast","category":"抽象","nodes":[["path",{"d":"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0","key":"svg-0"}],["path",{"d":"M12 17a5 5 0 0 0 0 -10v10","key":"svg-1"}]]},{"key":"gradienter","label":"gradienter","category":"抽象","nodes":[["path",{"d":"M3.227 14c.917 4 4.497 7 8.773 7c4.277 0 7.858 -3 8.773 -7","key":"svg-0"}],["path",{"d":"M20.78 10a9 9 0 0 0 -8.78 -7a8.985 8.985 0 0 0 -8.782 7","key":"svg-1"}],["path",{"d":"M10 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-2"}]]},{"key":"grain","label":"grain","category":"抽象","nodes":[["path",{"d":"M3.5 9.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-0"}],["path",{"d":"M8.5 4.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-1"}],["path",{"d":"M8.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-2"}],["path",{"d":"M3.5 19.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-3"}],["path",{"d":"M13.5 9.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-4"}],["path",{"d":"M18.5 4.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-5"}],["path",{"d":"M13.5 19.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-6"}],["path",{"d":"M18.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0","key":"svg-7"}]]},{"key":"grid-pattern","label":"grid pattern","category":"抽象","nodes":[["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-0"}],["path",{"d":"M10 8v8","key":"svg-1"}],["path",{"d":"M14 8v8","key":"svg-2"}],["path",{"d":"M8 10h8","key":"svg-3"}],["path",{"d":"M8 14h8","key":"svg-4"}]]},{"key":"hierarchy","label":"hierarchy","category":"抽象","nodes":[["path",{"d":"M10 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-0"}],["path",{"d":"M3 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M17 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-2"}],["path",{"d":"M6.5 17.5l5.5 -4.5l5.5 4.5","key":"svg-3"}],["path",{"d":"M12 7l0 6","key":"svg-4"}]]},{"key":"lasso-polygon","label":"lasso polygon","category":"抽象","nodes":[["path",{"d":"M4.028 13.252l-1.028 -3.252l2 -7l7 5l8 -3l1 9l-9 3l-5.144 -1.255","key":"svg-0"}],["path",{"d":"M3 15a2 2 0 1 0 4 0a2 2 0 1 0 -4 0","key":"svg-1"}],["path",{"d":"M5 17c0 1.42 .316 2.805 1 4","key":"svg-2"}]]},{"key":"mask","label":"mask","category":"抽象","nodes":[["path",{"d":"M9 12a3 3 0 1 0 6 0a3 3 0 1 0 -6 0","key":"svg-0"}],["path",{"d":"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12","key":"svg-1"}]]},{"key":"perspective","label":"perspective","category":"抽象","nodes":[["path",{"d":"M6.141 4.163l12 1.714a1 1 0 0 1 .859 .99v10.266a1 1 0 0 1 -.859 .99l-12 1.714a1 1 0 0 1 -1.141 -.99v-13.694a1 1 0 0 1 1.141 -.99","key":"svg-0"}]]}]);
3
+ export const ICON_KEYS = Object.freeze(PROJECT_ICON_CATALOG.map((icon) => icon.key));
4
+ export const CATALOG_REVISION = 'tabler-3.44.0-r2';
@@ -0,0 +1,26 @@
1
+ // The official skill source inserts '/name ' as a plain user-text gesture.
2
+ // Keep this contract separate from the command menu and from the textarea UI.
3
+ const SKILL_NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*$/
4
+
5
+ export function insertSkillGesture(draft, name, start, end = start) {
6
+ if (typeof draft !== 'string' || typeof name !== 'string' || !SKILL_NAME.test(name)) {
7
+ throw new TypeError('invalid skill gesture')
8
+ }
9
+ const from = Math.max(0, Math.min(draft.length, Number.isInteger(start) ? start : draft.length))
10
+ const to = Math.max(from, Math.min(draft.length, Number.isInteger(end) ? end : from))
11
+ const before = draft.slice(0, from)
12
+ const after = draft.slice(to)
13
+ const separator = before !== '' && !/\s$/.test(before) ? ' ' : ''
14
+ const gesture = `/${name} `
15
+ return { text: `${before}${separator}${gesture}${after}`, caret: before.length + separator.length + gesture.length }
16
+ }
17
+
18
+ export async function listTaskSkills(catalog, sessionId, signal) {
19
+ if (typeof sessionId !== 'string' || sessionId === '' || typeof catalog?.list !== 'function') {
20
+ throw new TypeError('skill catalog unavailable for session')
21
+ }
22
+ const result = await catalog.list({ sessionId }, signal)
23
+ if (!result?.ok) throw new Error(result?.error?.message ?? 'skills/list failed')
24
+ if (!Array.isArray(result.value?.skills)) throw new TypeError('invalid skills/list response')
25
+ return result.value.skills.filter((skill) => skill && SKILL_NAME.test(skill.name))
26
+ }
@@ -0,0 +1,80 @@
1
+ // Keep mutations on DSH's native Session, Conversation and Goal transports.
2
+ export async function continueIdleTask({ binding, text, goals, submit, getStatus, signal }) {
3
+ if (typeof text !== 'string' || text.trim() === '') throw new Error('Prompt cannot be empty')
4
+ const session = binding?.session
5
+ if (session === undefined) throw new Error('Session is unavailable')
6
+ signal?.throwIfAborted()
7
+ const snapshot = session.getSnapshot()
8
+ if (snapshot.removed || snapshot.openState !== undefined && snapshot.openState !== 'open') throw new Error('Session is unavailable')
9
+ let pending
10
+ let running = snapshot.running
11
+ if (getStatus !== undefined) {
12
+ const statusSource = getStatus(session.sessionId)
13
+ const statuses = typeof statusSource?.getSnapshot === 'function' ? statusSource.getSnapshot() : statusSource
14
+ const status = typeof statuses?.get === 'function' ? statuses.get(session.sessionId) : statuses
15
+ if (status === undefined || status === null || typeof status !== 'object') throw new Error('Session status is unavailable')
16
+ running ||= status?.running === true
17
+ pending = status?.pendingInteraction
18
+ } else {
19
+ // Legacy callers only. Desktop surface callers always supply the live status map.
20
+ pending = snapshot.pendingInteraction
21
+ }
22
+ if (running || pending != null) throw new Error('Session is no longer idle')
23
+ const result = submit === undefined
24
+ ? await session.prompt([{ type: 'text', text }], 'steer', signal)
25
+ : await submit({ session, text, signal })
26
+ const accepted = submit === undefined ? result?.ok === true : result?.kind === 'success'
27
+ if (!accepted) throw new Error(result?.error?.message ?? result?.text ?? 'Prompt submission failed')
28
+
29
+ // Admission has succeeded. Goal inspection/resume failures are warnings only;
30
+ // neither cancellation nor a CAS conflict can resend or roll back this prompt.
31
+ try {
32
+ let goal
33
+ if (typeof goals?.get === 'function') {
34
+ const current = await goals.get(session.sessionId)
35
+ if (!current?.ok) throw new Error(current?.error?.message ?? 'Goal lookup failed')
36
+ goal = current.value
37
+ } else {
38
+ // Keep the pre-0.2 direct-call contract; the surface manager supplies get().
39
+ goal = session.projections?.faceOf('goal')?.getSnapshot()?.goal
40
+ }
41
+ if (goal == null || goal.phase === 'complete' || goal.phase === 'active' && goal.activation === 'armed') return { warning: null }
42
+ if (Number.isFinite(goal.maxGoalRounds) && Number.isFinite(goal.roundsStarted) && goal.roundsStarted >= goal.maxGoalRounds) {
43
+ return { warning: 'Goal was not resumed: its automatic continuation round budget is exhausted' }
44
+ }
45
+ if (typeof goals?.resume !== 'function') throw new Error('Goal service is unavailable')
46
+ const resumed = await goals.resume(session.sessionId, { id: goal.id, revision: goal.revision })
47
+ if (!resumed?.ok) throw new Error(resumed?.error?.message ?? 'Goal resume failed')
48
+ return { warning: null }
49
+ } catch (error) {
50
+ return { warning: String(error?.message ?? error) }
51
+ }
52
+ }
53
+
54
+ export async function renameTaskSession({ binding, title, sessions, sessionId, signal }) {
55
+ if (typeof title !== 'string' || title.trim() === '') throw new Error('Title cannot be empty')
56
+ const trimmed = title.trim()
57
+ const rename = async (current, requireOpen = false) => {
58
+ signal?.throwIfAborted()
59
+ if (current?.session === undefined) throw new Error('Session is unavailable')
60
+ const snapshot = current.session.getSnapshot()
61
+ if (snapshot.removed || requireOpen && snapshot.openState !== 'open') throw new Error('Session is unavailable')
62
+ const result = await current.session.rename(trimmed)
63
+ if (!result?.ok) throw new Error(result?.error?.message ?? 'Rename failed')
64
+ }
65
+ if (sessions !== undefined) {
66
+ if (typeof sessionId !== 'string' || sessionId === '') throw new Error('Session is unavailable')
67
+ const operation = async (reference) => {
68
+ const current = await reference.ready
69
+ if (sessions.binding(sessionId) !== current) throw new Error('Session generation changed')
70
+ return rename(current, true)
71
+ }
72
+ if (typeof sessions.using === 'function') {
73
+ return sessions.using(sessionId, { source: 'controllerOperation', signal }, operation)
74
+ }
75
+ if (typeof sessions.retain !== 'function') throw new Error('Session retention is unavailable')
76
+ const reference = sessions.retain(sessionId, { source: 'controllerOperation', signal })
77
+ try { return await operation(reference) } finally { reference.release() }
78
+ }
79
+ return rename(binding)
80
+ }
@@ -0,0 +1,37 @@
1
+ // Derived exclusively from durable turn events; never owns or mutates execution.
2
+ export const TASK_EXECUTION_KEY = 'betterTasksExecution'
3
+
4
+ export function foldTaskExecution(state, event) {
5
+ if (event.type === 'turn/start') {
6
+ return { turn: event.data.turn, phase: 'running', outcome: null, detail: '' }
7
+ }
8
+ if (event.type !== 'turn/end') return state
9
+ // Ignore a delayed closer for an older turn, including repaired/fork history.
10
+ if (state !== null && event.data.turn < state.turn) return state
11
+ const reason = event.data.reason
12
+ const detail = reason?.kind === 'error' ? reason.error?.message
13
+ : reason?.kind === 'aborted' && reason.reason?.kind === 'hook' ? reason.reason.reason : ''
14
+ return {
15
+ turn: event.data.turn,
16
+ phase: 'ended',
17
+ outcome: reason?.kind ?? 'unknown',
18
+ detail: typeof detail === 'string' ? Array.from(detail).slice(0, 800).join('') : '',
19
+ }
20
+ }
21
+
22
+ export function createTaskExecutionProjection(z) {
23
+ const schema = z.object({
24
+ turn: z.number().int().nonnegative(),
25
+ phase: z.enum(['running', 'ended']),
26
+ outcome: z.string().nullable(),
27
+ detail: z.string(),
28
+ }).nullable()
29
+ return {
30
+ key: TASK_EXECUTION_KEY,
31
+ stateVersion: 1,
32
+ stateSchema: schema,
33
+ init: () => null,
34
+ apply: foldTaskExecution,
35
+ wire: { viewSchema: schema, view: (state) => state },
36
+ }
37
+ }
@@ -0,0 +1,152 @@
1
+ import { continueIdleTask, renameTaskSession } from './task-actions.mjs'
2
+
3
+ const taskInputAbortReason = (signal) => signal?.reason ?? new Error('Input surface creation aborted')
4
+
5
+ // A waiting caller can leave promptly without cancelling a predecessor's admitted
6
+ // operation. The predecessor/factory keeps its own completion cleanup attached.
7
+ function taskInputWaitWithSignal(promise, signal) {
8
+ if (signal?.aborted) return Promise.reject(taskInputAbortReason(signal))
9
+ if (signal === undefined) return promise
10
+ return new Promise((resolve, reject) => {
11
+ const onAbort = () => { cleanup(); reject(taskInputAbortReason(signal)) }
12
+ const cleanup = () => signal.removeEventListener('abort', onAbort)
13
+ signal.addEventListener('abort', onAbort, { once: true })
14
+ Promise.resolve(promise).then(value => { cleanup(); resolve(value) }, error => { cleanup(); reject(error) })
15
+ })
16
+ }
17
+
18
+ /** One task-owned native surface per Session, never the main composer's binding. */
19
+ export function createTaskInputManager({ getConversation, getSessions, getStatus, getGoals, isPinned }) {
20
+ const entries = new Map()
21
+ const drafts = new Map()
22
+ const lifetime = new AbortController()
23
+ let disposed = false
24
+ const pinned = id => isPinned === undefined || isPinned(id)
25
+ const freshGoals = {
26
+ get: id => {
27
+ const goals = getGoals?.()
28
+ if (typeof goals?.get !== 'function') throw new Error('Goal service is unavailable')
29
+ return goals.get(id)
30
+ },
31
+ resume: (id, ref) => {
32
+ const goals = getGoals?.()
33
+ if (typeof goals?.resume !== 'function') throw new Error('Goal service is unavailable')
34
+ return goals.resume(id, ref)
35
+ },
36
+ }
37
+
38
+ function close(entry) {
39
+ if (entry.closing) return
40
+ entry.closing = true
41
+ // This signal closes UI/creation. The native surface retains any admitted
42
+ // operation; its attempt signal is deliberately not replaced by this one.
43
+ entry.controller.abort(new Error('Task input surface closed'))
44
+ entry.handle?.dispose()
45
+ }
46
+
47
+ async function create(sessionId, { signal, onWarning } = {}) {
48
+ if (typeof sessionId !== 'string' || sessionId === '') throw new Error('Session is unavailable')
49
+ const waitingSignal = signal === undefined ? lifetime.signal : AbortSignal.any([signal, lifetime.signal])
50
+ waitingSignal.throwIfAborted()
51
+ if (disposed) throw new Error('Task input manager is disposed')
52
+ while (entries.has(sessionId)) {
53
+ const previous = entries.get(sessionId)
54
+ if (!previous.closing) throw new Error('Task input surface is already active')
55
+ await taskInputWaitWithSignal(previous.finished, waitingSignal)
56
+ waitingSignal.throwIfAborted()
57
+ }
58
+ if (!pinned(sessionId)) { drafts.delete(sessionId); throw new Error('Task is no longer pinned') }
59
+ const conversation = getConversation?.()
60
+ if (typeof conversation?.input?.createSurface !== 'function') throw new Error('Native task input surface is unavailable')
61
+ const controller = new AbortController()
62
+ let resolveFinished
63
+ const entry = { controller, closing: false, handle: undefined, stop: undefined, done: false,
64
+ finished: new Promise(resolve => { resolveFinished = resolve }) }
65
+ entries.set(sessionId, entry)
66
+ const onAbort = () => close(entry)
67
+ waitingSignal.addEventListener('abort', onAbort, { once: true })
68
+ const save = () => {
69
+ if (entries.get(sessionId) !== entry) return
70
+ if (disposed || !pinned(sessionId)) { drafts.delete(sessionId); return }
71
+ const text = entry.handle?.state.getSnapshot().draft
72
+ if (typeof text === 'string') drafts.set(sessionId, text)
73
+ }
74
+ const finish = () => {
75
+ if (entry.done) return
76
+ entry.done = true
77
+ // Preserve late native failure-restoration before removing the subscriber.
78
+ try { save() } finally {
79
+ try { entry.stop?.() } finally {
80
+ waitingSignal.removeEventListener('abort', onAbort)
81
+ if (entries.get(sessionId) === entry) entries.delete(sessionId)
82
+ resolveFinished()
83
+ }
84
+ }
85
+ }
86
+ const creation = Promise.resolve().then(() => {
87
+ controller.signal.throwIfAborted()
88
+ return conversation.input.createSurface({
89
+ sessionId, signal: controller.signal,
90
+ ...(drafts.has(sessionId) ? { initialDraft: drafts.get(sessionId) } : {}),
91
+ defaultSink: async ({ binding, text, signal: attemptSignal }) => {
92
+ const sessions = getSessions?.()
93
+ if (binding?.session?.sessionId !== sessionId || sessions?.binding(sessionId) !== binding) {
94
+ throw new Error('Session generation changed')
95
+ }
96
+ const sender = getConversation?.()
97
+ if (typeof sender?.sendSession !== 'function') throw new Error('Native Session sender is unavailable')
98
+ const { warning } = await continueIdleTask({
99
+ binding, text, goals: freshGoals, getStatus, signal: attemptSignal,
100
+ submit: ({ session, text: message, signal: sendSignal }) => sender.sendSession(session, message, [], 'steer', sendSignal),
101
+ })
102
+ if (warning !== null) {
103
+ // The prompt is already accepted, including when the task UI closed
104
+ // during flight. Keep the existing global warning channel alive.
105
+ try { entry.handle?.input.notify('info', warning) } catch { /* warning delivery cannot fail admission */ }
106
+ try { onWarning?.(warning) } catch { /* caller notification cannot fail admission */ }
107
+ }
108
+ return { kind: 'success' }
109
+ },
110
+ })
111
+ }).then(handle => {
112
+ entry.handle = handle
113
+ try {
114
+ entry.stop = handle.state.subscribe(save)
115
+ save()
116
+ } catch (error) {
117
+ close(entry)
118
+ Promise.resolve(handle.closed).then(finish, finish).catch(() => {})
119
+ throw error
120
+ }
121
+ Promise.resolve(handle.closed).then(finish, finish).catch(() => {})
122
+ if (entry.closing || waitingSignal.aborted || disposed) {
123
+ handle.dispose()
124
+ throw taskInputAbortReason(waitingSignal.aborted ? waitingSignal : controller.signal)
125
+ }
126
+ return { ...handle, dispose: () => close(entry) }
127
+ }, error => {
128
+ finish()
129
+ throw error
130
+ })
131
+ // Race only the caller's creation wait. A late factory success is still
132
+ // disposed above and its final restored draft collected after closed.
133
+ return taskInputWaitWithSignal(creation, waitingSignal)
134
+ }
135
+
136
+ return {
137
+ create,
138
+ rename(sessionId, title) {
139
+ if (disposed) return Promise.reject(new Error('Task input manager is disposed'))
140
+ const sessions = getSessions?.()
141
+ if (sessions === undefined) return Promise.reject(new Error('Session retention is unavailable'))
142
+ return renameTaskSession({ sessions, sessionId, title })
143
+ },
144
+ dispose() {
145
+ if (disposed) return
146
+ disposed = true
147
+ lifetime.abort(new Error('Task input manager is disposed'))
148
+ for (const entry of entries.values()) close(entry)
149
+ drafts.clear()
150
+ },
151
+ }
152
+ }