From 239be643c10a05521e9cf5881bf26d442b9d9b17 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Tue, 2 Sep 2025 00:11:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- capi-ui/index.html | 2 +- capi-ui/package-lock.json | 102 +- capi-ui/package.json | 3 + capi-ui/public/favicon.ico | Bin 4286 -> 4286 bytes capi-ui/public/my.png | Bin 0 -> 23107 bytes capi-ui/src/components/Layout/AdminLayout.vue | 1083 +++++++++++++++++ capi-ui/src/main.js | 4 + capi-ui/src/store/index.ts | 4 + capi-ui/src/views/sys/Dashboard.vue | 373 ++++-- capi-ui/src/views/sys/main.vue | 1 - capi-ui/vite.config.js | 1 + 11 files changed, 1458 insertions(+), 115 deletions(-) create mode 100644 capi-ui/public/my.png create mode 100644 capi-ui/src/components/Layout/AdminLayout.vue create mode 100644 capi-ui/src/store/index.ts diff --git a/capi-ui/index.html b/capi-ui/index.html index 030a6ff..0a7e33a 100644 --- a/capi-ui/index.html +++ b/capi-ui/index.html @@ -4,7 +4,7 @@ - Vite App + cApi系统管理
diff --git a/capi-ui/package-lock.json b/capi-ui/package-lock.json index cab8ded..dbf41a8 100644 --- a/capi-ui/package-lock.json +++ b/capi-ui/package-lock.json @@ -9,8 +9,11 @@ "version": "0.0.0", "dependencies": { "@ant-design/icons-vue": "^7.0.1", + "@iconify/iconify": "^3.1.1", + "@iconify/vue": "^5.0.0", "ant-design-vue": "^4.2.6", "axios": "^1.11.0", + "echarts": "^6.0.0", "pinia": "^3.0.3", "vue": "^3.2.8", "vue-router": "^4.5.1" @@ -152,11 +155,23 @@ "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", "license": "MIT" }, + "node_modules/@iconify/iconify": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@iconify/iconify/-/iconify-3.1.1.tgz", + "integrity": "sha512-1nemfyD/OJzh9ALepH7YfuuP8BdEB24Skhd8DXWh0hzcOxImbb1ZizSZkpCzAwSZSGcJFmscIBaBQu+yLyWaxQ==", + "deprecated": "no longer maintained, switch to modern iconify-icon web component", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + } + }, "node_modules/@iconify/types": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "dev": true, "license": "MIT" }, "node_modules/@iconify/utils": { @@ -176,6 +191,21 @@ "mlly": "^1.7.4" } }, + "node_modules/@iconify/vue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-5.0.0.tgz", + "integrity": "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + }, + "peerDependencies": { + "vue": ">=3" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -977,6 +1007,16 @@ "node": ">= 0.4" } }, + "node_modules/echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", @@ -1884,6 +1924,12 @@ "node": ">=8.0" } }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, "node_modules/ufo": { "version": "1.6.1", "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz", @@ -1909,7 +1955,7 @@ }, "node_modules/unplugin-icons": { "version": "22.2.0", - "resolved": "https://registry.npmmirror.com/unplugin-icons/-/unplugin-icons-22.2.0.tgz", + "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-22.2.0.tgz", "integrity": "sha512-OdrXCiXexC1rFd0QpliAgcd4cMEEEQtoCf2WIrRIGu4iW6auBPpQKMCBeWxoe55phYdRyZLUWNOtzyTX+HOFSA==", "dev": true, "license": "MIT", @@ -2156,6 +2202,15 @@ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", "dev": true, "license": "MIT" + }, + "node_modules/zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } } }, "dependencies": { @@ -2244,11 +2299,18 @@ "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz", "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" }, + "@iconify/iconify": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@iconify/iconify/-/iconify-3.1.1.tgz", + "integrity": "sha512-1nemfyD/OJzh9ALepH7YfuuP8BdEB24Skhd8DXWh0hzcOxImbb1ZizSZkpCzAwSZSGcJFmscIBaBQu+yLyWaxQ==", + "requires": { + "@iconify/types": "^2.0.0" + } + }, "@iconify/types": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "dev": true + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" }, "@iconify/utils": { "version": "2.3.0", @@ -2266,6 +2328,14 @@ "mlly": "^1.7.4" } }, + "@iconify/vue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-5.0.0.tgz", + "integrity": "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==", + "requires": { + "@iconify/types": "^2.0.0" + } + }, "@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -2746,6 +2816,15 @@ "gopd": "^1.2.0" } }, + "echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "requires": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, "entities": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", @@ -3325,6 +3404,11 @@ "is-number": "^7.0.0" } }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, "ufo": { "version": "1.6.1", "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz", @@ -3353,7 +3437,7 @@ }, "unplugin-icons": { "version": "22.2.0", - "resolved": "https://registry.npmmirror.com/unplugin-icons/-/unplugin-icons-22.2.0.tgz", + "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-22.2.0.tgz", "integrity": "sha512-OdrXCiXexC1rFd0QpliAgcd4cMEEEQtoCf2WIrRIGu4iW6auBPpQKMCBeWxoe55phYdRyZLUWNOtzyTX+HOFSA==", "dev": true, "requires": { @@ -3479,6 +3563,14 @@ "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", "dev": true + }, + "zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "requires": { + "tslib": "2.3.0" + } } } } diff --git a/capi-ui/package.json b/capi-ui/package.json index 8b1c703..301851d 100644 --- a/capi-ui/package.json +++ b/capi-ui/package.json @@ -9,8 +9,11 @@ }, "dependencies": { "@ant-design/icons-vue": "^7.0.1", + "@iconify/iconify": "^3.1.1", + "@iconify/vue": "^5.0.0", "ant-design-vue": "^4.2.6", "axios": "^1.11.0", + "echarts": "^6.0.0", "pinia": "^3.0.3", "vue": "^3.2.8", "vue-router": "^4.5.1" diff --git a/capi-ui/public/favicon.ico b/capi-ui/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..9e3ed92f2842c0c91d9a72a689ed576ce3e88e82 100644 GIT binary patch literal 4286 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 diff --git a/capi-ui/public/my.png b/capi-ui/public/my.png new file mode 100644 index 0000000000000000000000000000000000000000..18f8c170bd3adf863efd55e9e89180c830693459 GIT binary patch literal 23107 zcmeFZRa9Kjwgreg!Gde>KnQMy748z;-QC?PxQ9S+cX!t!xVr~;cY@QEd*6GbfBV0G z;EWn)+uBR#npF`>3XDQ0UT9V#-iZFfx$mHzWke-~I!JS;#+V7iCEisHzE) zBPb{eC}}ZaRZsoXOymq5wY$N91Dez(l|zXmYO7^@EG4n!0{Noe584{;!uNGaw6k@` zk2DnVlUJWj=l^CR5QC#uA`(kyszUj<%>TS4m17#4 zJcbAJzpEo)K_e$3Oq)lQ|L-TkfxM9QQ+H_UL;iQ0AYm~eOrdbY@^;z(ZNV@$5Kd;_ zbJ+HO=N2)<#QFiW!nA8@VfeqTr%+LV{{L-3fBOHW^&egT|Eya|`fv&<2CV)s_dXU8 z?i2*?qhCrNF~}%8J2E~x{70o1kRd9anJI+=`bn+CdDHKdH8GKZ9urG3{%#1Xv_CG7x#Du6m3Cw5fU|=oIQv3OMByPDniF98#R1G&U z3)Yk{{0Vf7Y^xDEKf_U7iNgM=a14zEE@K`ORx^_*WOl@X`xmF!1g&O>^!mcf&^~5b5C*XqF>a?|mSMZ9Q7CrvxpS40x zyxE6nAr1H{fePvYf(_bpLN$Hhz?O)wXHe5rQ!xgGDoo7Vxj1`C89|QXzaX~T|8Mr~ z6^vR5Bpw+sxjerj*eI6aRh5tss(Tc{Ae(gC%k@z{VWF))))M!hllb`0%tK6=8Bw7% zkm1ZbT5!+=kPQ*J@r`p-Onl*f`&CTu9NE>sC-T#BM?~2}oWZp;WC`Dyq{d(%8Ds>9 zA4VuE2H4$8E2)R#iC_~AM{o-G4ow^dzWwCGFFR9D>z{(pXNvV7HxdMKSFG5hEg_ajbXz;oE7#zXJy~k!q0;Q zXKnBzs2R}0(LqDI{m!~$#zG{3z#U6azZT|TlKtgab*2UFKMNT_{IDv)d0iQ%V;c)EfBX`yIYf(<%pr$os7J^32nN%_>=X%frw^X^;DNuI$%)hW zGs7R+VG68IVejvT5bXdX z@$;YY^C4^UFBb%DXg41Y$EuO*(jW>~r~uIhP-y^Qz2m<*b4D0 zrGMO2U$9_!v5_V$2~h8|ddD<50~;;bM+P~Nbw^*FQ#F~0Fi%wW%*0y$GS04vK$tS84$7|wk0tqVWg!`n9*G8 z136KrhXlcO@8$!{?D@BR1-us&fBc-hl>S9;CA(%GMz|*0A7Q`<=#uv`VZHYwBHa(! zLJmKSbmP+rxd1ROKDJ!hMWk#o8+<6+yWsTv!_IQZF$mB-AcqL+iV5DDVKe}ee}8P-^4|P= zF}{|+HliOM{m;QkLXNw=ic>3vwEHV?7K9C3&N=QQWxbI5Ub`)&QAtOxXgDR<$MYRD zT&PT)08%i13o|0HXdWx|nvHy?q=MXr)4$tjxfiX#g7Ko;bj^XgbUUJ9a#P^QTzeb~ z&CSebxHo2chVKP`qW}bg+o3u5FLLCVhQ{GCGKrQiNsf=vRPxxgAi9u83Gw{j?7|4B z;I0+H%fJYodX}!bFX}g0#96ih-+H;aK4m$uU7|xFvbIE~NCXOwV|tiq$pYq&unB~0 z3^oKU_ByCEbd)JY{yE|dh?L+rU|1oKNrCww>>d0g&qK+_HfX$Xt`MkK9?VSSDFPOJ z10B49S+ouK)Q3fUeD`8AH;9BQFd=aZg)<(a4PxM0U_`Bc`Be9muZpm?pORXGlL5vw zGK(Vvjyq!=lQy!YWT8m{9$u=RaV$ihu#lnBWLTeAhLCx1=~)jW#f<$9Ie;^#w=C~&Zdgp zQ!#O7hvaDGJo(bxPQ}AqNY}Kcmex0|E6%v0kW?oEa2U*C*-7HX^si1snHqd(!kSG~ggpfl-+KTp(eEOjXGXW>_ zzylFQiemdsr@G@Y&aZ(>EPU)kYbX<4%>Ys}-i$Pz*HF|p@j{4-a6zJ$DQs3a3P_m_ zGn!+4OpM*`v8P3d6l0Z%*>E)27dbBdP3D)RO*d)I1(YLT`MD6iBEUqg!(6TFCEg8^ zBoU-QZWfmPC!t7=EiznQ#0D(Scx=#^uQaW`UpgsiAvNEprS=W;ZqFW@xKk@%F4+MTJT!{D$pDlaO^*vQdvtPeF_joc1$Oyr? zacYeMWHf86_oH?=1fCfKyG~Mw$Nm=X%r_}KlGKZT{HL5JGBukJWylFehRa7SVrdA2 zLaRMTc>hFN{swY;bpBzAB9?Hxzj>tKnZJ@z6V^TDEF0e##KZXW9~e;*%gJeE?b4Y}kQguX7Ppdv%i{$7+vUSxeK1P3JkUtWfIe#}!bfiR}M;%IJV0Mx5mQCeIa{8YM zH+0d}MbC4XosVI@CI}yDUGi&=XZp6%5R+k%U@xIBZ;f?`1KUg8?xN>9KA(`*>CGX5 z>i(tK%eI9)lyJ^;n{i)wlBAwt1HZM(+VLiICC7%4HGVY^{P{*0(b>ZvlrrHy$N2l` z=;^Xk-SsIy!Um~@VKHUa2+(1Itq1NzS(xNTnPuj+L_S)J^>WmAcq` z4a=|dW+CfH4^+c85iJu8qzKhqXei8?q;JV;q%_PPzkL-Aedn{FGEsjcL%BPy(9sG~ zsTlahX?236b})bsoWNfBA#-25hGv}VrzdTf=TV{;vdk`|qH63zOauuWmRL|{$#Y+M zcP%tHfS@Bd5QD&Tx_2P2qIqX6Nhda`zypVvNoD+B`9i{+n#m4bbd~&W$M4}T2jdw1 zL;+W0)6C;H#4gqvvn``ImUtI>;Yc zDpfB6gnE`LCb@-8L^H`qTdx}DC(b>Aa;9=J^BUcz67Ng0S;$Weq3amu-fQO8HAW;H-^HOAy~n79kRF@E^5u)vaLjX?Dzy$P_3nCFs)Fte{~(5vrPMu~7a zuYXxs$KPg__4!&n&3OW7t3_ynq#!JE%qxLXx84AKd&%Qt+3f_ka!Ie~({o$PcHx~| z7BmFs{4eU zZ3ekx!p=jL%IwExli3Z6(u_Kkl)Ute5MyZCg{o1kIHGO(VQylX@3#5>4xE(lFAFeH zuUdR`t9V@G@{d7_gj)Fw)&A;t!@Uq~m8vy?;2m4TQcBI^X0-P-(um7JJ=)-}LuOua zBYcAv^sV(1pRJnCAkldHSxW9o+d^YoKs)K`dev%k?=Cjm8XR;pxh_u8(3~>`W`&NX zRfYaL9CVo0rG>C}fxjuQs@J(p(gI^F!qs0N1yb*K9TOHLhwo1KUbj9f_0~x`o8~fN z@D7X`0W&Z^?p~;iZf38h_*GDofA40M->97cLOpMDafFw$(aWH>!UeH&*RCR`215O9 zY4uH>xU?zKUcQ0@8cYecSVf7w($=2jkE61}s^i!l%|BGneMwzu$Mi$uij^NM-*8eY zZ7)+uxj;UzKf(0Vv%xj zN~Wl)hgdfs9=xKF5)&kR%SrphMo4n_==x>If*RzY$Yj;}5hJrCeGfOBx(d;a#z}|p z4B^I!>FOB20*R3@fZB;4OEm&+l$)WlYK`hINu#TSk+O2B!QRlyP&ju-h@Q+ z2eNOLNh@VKai84V$}S1a*IMi1WAXhPE4~2V*@8qhQiajd{f5BWDDz7)I5G!R@a<@|)xL_H)ioI9wzq%+F1@2;-}2I=wSK3=m;T?+m) zrDeP33+E>1gGcdCRsEMlLOl6K%)OVoa))Krg@WWLubu5MIRT(YLi3$gIqRbn=asp4 z9F0SCm(2@d)sL{Ca}1eR_`na2zsV4?6C>0nJw%dM0pA;A_*fFW^~`yB+wh6;F(#{4 zPdZx%8~Loe+hznmU6Ozk><;I9T$3hV6vu7Qrj=@&dQCXm^>TdAV>Ug3x) zqoJU2piWEmbudl7;LI^b|0I=b`K&_THltu4aRx+gVIf6*XV3^YDe7c14sYJkfysB4n_xNte zS`h*4&ed9yf%FTu4lnvIf#pJA6*CR(Jyb(RxHdrtsOOBxYbMml74ue|&6CL|ticL* z-EF*^=OIDytfYK)fH|F`ZI;`#0AmFylr@QSz3@Z~spEMd_%A86D)iFef{kc;Y&(rY zPUzgv+j#eYwF7n~B3vs1&S-u`7@j$%uXuOP#fs@Q9ZRkzbZJH{w`4(8lDVX<#?@=DxJNkLw$R-R!Xaa%`?UuH8ygVD@5 zjx4Y^*FHKU()dhA-tiLZWWUPlvjc7Ul#F*?Tz#(txrsbFSa<<^ALCe-M*87pf5;)> zLW*-AFO{iePJ5W0Rj4LbBL`M_J=7^X)2X%6WgPrv-nB2Z#ivV@pr54PUxyXK1%>n% zL%sO~I*jK+IZ0!?{hfNwk(0U3bA6=XWfY>-0`DtbZIx$`&FqgaB@LFshSK3o8g@=t zCS(VDJpiTL1o8?-H8-S3nH*@!8>~`MwNpkCR4*vda=K6C=6(F6M8mCKq4j8IoR$Cet+mTg5YMo}VoG-$d{)Yv z8+To6T3hw$pB9Zl3bxJ51wu6C7>W7$voC=jQ2uPFJKUqjoENwWt?8?Eeho$*%={Ms z(+w&zPetYsY-o^_GXu`X@yHRPk#(D(ZS){g4o>aW)Wlj7Ggv{WD|3z8=a763AzCT+NpN zj$Ds9+s#y-v8ktCRKK|X+==8?DRGVmsM}y6l%}aI$bN6JDyVOJZ?0|e)&r0|b=F%) z8LV!iC$=$MmIbB9nDH5Cl!Etr9v(WK(*_8 z5ymSoaMq5fPJQ&)hkLT}o0?gae{}al>sfRp%KVsyfUH6scc{gp-`em?1M+n8z{yY& zoKCS3UPKpu>Q&U((}=~NQ!7n3t8K?|*t-$;O>+HC&=I3jTH6$UiS9cLQrWbd(}&-F zq7sJ(ZS#Ciw$xZ96oNs*LSOfBIRA2orAM%EH=YaKrFi%+nngR4nUT=5s_Fe)T2{%O zXCdBzI<(PexKukJXN^gJd*P{8cftx%fb(Q#j}EUPnwn6YSM;8W&RA}J zJ3{?HEw55tR^gZ8*R+Y?O82^Mvw%>%kNB@cK=?Fjd+}>RHeWKf)T!JqOr^`eC`^s! z+RN}Z^VZsLnhT?&ojHQEOre~F_-&;xq_1U-H6*Wu8K!JeooEvQMqshWQkM*)_$E9G zW;(cy6)-)M)(IyAI{c2AQ>tOVsx#Bt_yZ+YJN)pI`5Pkiy9~F*+p@!1RvW^_1LwM4 zeJHDN5Chl9j&K1XaK(_Rm4oalTeQhfVf-GS({_ijOb;l>{mY`R$fLarsK%yK80V~Uuot^7pprBcrC&S0!U zXQ)+gK3srwoZ`Tyu;k^Z+!x=bgtt=r^AgWB5w)`HAbzuWGhFB|LNAuRLZY1VEvsrACC9^Omw}=m~Ul;j~U%n60NZ zMc$KYtb6WS69cXpj^nxgZmS{FhZ*DlFT+Mo$6@`a;buPlX7MQsnz8kzS~AZ{SOy_ z${%aTqSW(&h|Ug83||-BQpiKOc&0yiE(I%9Z@r4Iw%2M6_UJ}3EtZC@A{&AAor<*D zy-sljNW1#x?WBK`9I@e!Ufk$k<7+~x$=s#)R=Zl!0RZ8Vb;NoEq3gN zQA+kau3G-wBJkkjcpS=rHzt#@V}gVw?DR>SeS_tk$~0NlH?%iw0*0^?%|H+Mp%_%! z*6Wwo%hR@-jE?Z1C%^5-U8r-GW?HIDMaW;V#{4#7DH^a$?5%eP5Pp2no4k-#S96oj zxVCAXaII0f=z49GAB;D8SuO?I%btt5N|y=lK71YoVi-`QDP@k>Q76ul&(uy~AZQnB zzODHScdrW=88#NpCa;xzCyu6$Gc=xWQI*($TYz~W$VpDsqAB)Ad%*JqG&T}9C<0zr z&zA1p*Sd~F<7CLb9%F@bO&}a9M@f{8JV-WKbVfl^qH3c{v?y=yzQbt+^33?S?YR3> z2xL1PwanrVL)qSmX_qEq1Ad{lSs~S8#`|zKS0`Fu-lqI#WA*$ZQ>RcXgJq+>J%HFD z-6OH6@ko>}^qNe}l{!Tcs?FZ}z`-@MW#$#)qy)=dofV!3cT|B_t!m%du{Vrh<36;o zuK^EY$#|dG=mHTaBV2^_7L7?s`1wf7W0%wpvy+z6J6_t#;{|s(4fseOrpm4&2V24wu~qOvh!#ZpuSl>^9W)wNT<>@LffkFwR0wAlurWbF@h+MtZD{ zOW*){5H+uuL%R6AY1Sq|=vgyCVFH^_?dG-Dr(Wz2#)WASn&C+Z|HAdF=x!?7L`~F$ zjpI&6&kebT=b?J8ZT|rRgO!1tzr_JLc!@V+Pmrzt;88u1f-?aoOLj{e7um`~G5Fpk>^w{}EWZsW0*=Z^5R2q>3PpaP+D&$GQ4d z`ec0vZ*-CjfdpC*!AGrC={p@5P_KQi73M~J@$so!>ThU|%bp0nQOqmHN*AY> zAm$;fX|-?o+r3_3PEuJO|C)$M^7#2E-@ED_&bN5Sq%&V`s8(>r5+jBC>egjp0%;~F zY_4)XWNEWqr#9^1yBuq#*F1#;+CSWf6rcREMPJ&>a@FhqeDs&YdMQMK!)F3LpRZmQ zIr01SKs%x7_A8H@Wiaz{tNvkj{8Bm^KQeHB$-}*(g1iPNtIB4E-%)4eHFQg8o$Ra&AY2ge9eipgO;(1h-z)q zrD{z@J<_|vM?db{gKrkZLCKhwOdt(tr5HdmyVpAWjWWRio$b^$>uQYGWCYGJ|I^-s zGH9jG%24xp%(;)qetPM7ZU3P!ne^L1-OqEPZxxYJ`#z?^oJ31iH{8lP?JJ1U$~bfCa0VF$j;VufX!z3Cowj}q{&T7 zmBrqBdz1{_0)`)#qS^cJks+Ww(WehrKBu7T%ToQ84C7#fUh`VG8fyb9UUss7e+7cf zTk7y|;vSuFiED3_pc}Trqz3eeAqQ_rPn^zu+z+Y6uu6^Frj8ok9zzbVsMmr8{lyn> z(8ScwrL9=J^pWuBsODcmLAN#1C}xC=-@TQRo*TP}w`mHc9R=ccN)K zoX7ii!!dctiQwCcFu(-ca|o;blZzVJwE%P;>{^}!jnc9ICI2zp?~5e8S2&p}UDgY` zPD2hSWLOuwhX*+Tp5RJo$4MRpP(e2Aii66Yjl%L&x0W8owcj6oDCU0q!SR$i+mt@_ z_pxZU3||0ls02= zqAF=7U;(B)fx&7`o5rPH5#?rb_Uc%qW1o0RS?yUV%pp{kPA)3tE?@T3xUsBKKMp+j2NNrdskDW~J5==>(BEcCo~lcrjFG5ABJ?lN5M?b<;j|Xot`(IVEVIn}n{$ z>VUiSH4Io^TkVhE@b71vKvE`KzQ959LpezvH3b?6*Bd@Z^9un$y|)9jBb*+G$a?kNELn?^`h7%Rw-cmF)*+*FQEv10Ubl$ww0zpJ2P?N@I#_%y(RZ*V#kM={3ES- zcL2d|D&uU+sQ$`)`g{V{v!}hi2Oqn_XkYJfsL^nA9tuROMA?xIK$bgxP?^VEcI+T! zHP@bx=vjzR6At<_c$fq&{5YsO75P7jr_bHLFp|SQEd8Nw%IXicVY@S$|J89Qq47z6 z;LB*l@vBcmxHjWok7r!*|F#I@6)_!CZ~_TCw1e(BfC0t}8%t1Bog;fVtaPVj(Eym~ zzK$3>b&~4qbw1g)PkKT})|kr-SIQ-RD08$~Fzq)8fvMzwiBeik74F(Yt|uqj1n^;1 z4eKjO1=5GRs@z;j=6zSOvUv(7-8jW@=~I!V+ECxU)+Z%pLv_!TxsLQFH;|E9x?Ett zfWfe-nhzhj&ye(IYLd5Z-jcv!ntB!{`xbh%`ju$}`16OY=y_Eq?bFv(qhtU!m#BIs zUvJo@wHkuIP`9}0f%C&kI99hfN8vRjYMQQ;SOjbjG?Ty@g~s#TEyg+Gg*bW4G1KvWjwXhV!Q!~DQLK0clAVq% zJK}rZTAV!jM^aq3l6Ly9^AS#d5bMT~ZgAg=a1^(qSShj3()!x^Gyj_w0ms`j6#OSfSYKWdQ9{~kY3pDM+vPj05%(0nAze@Ujy0B!mWUPf-fDD`Rh zxJa|R*I?C?gm71TvVjSI@{>{?q!jrKwhy334>qq4D2_verE3~D}ZjF4Zu;{2}68gAwd-}4=07p4oO7Z4){`ME(a)r6@*MslqPf-kI z7d&(ThZhz|@9ec?gr~rG-XaO`;*{Lkl1^9due2%q;jvC`^w_`-LagcgtF-DW zh?c(|QHO)3n;sDop#3ox-B1j&Z-kqze+d6my_af%(HzUQAnGObBMiS%4o4SPYjMv@ z8Z2p3rmGbbj^58wjMApBRcOzJ(Baavaa;-Di%6>U&*%$W=aX^_4=#nY`0N`=5gO(G z%3g$TmfJ)yww)`~Q)i``hua+lU!r&COb2r4SOT~7&^<|M?lTC1rjR^tyeSNK7Lfo5d(jQbUQ$A zX!nvoxiPPBtCW{TyaGVVifhPfcb@OQD~Y4p|3Qx3V}3#4T%(KKLdL6`7T-S;qalk+ zqv=g|ZbZjLo4KuH+(KdMfsaG3{4Z@@S~l1qOA#8Q6-&L}XA}T#19-Vgug}VzSV(e; zB_uCA7j zE=bv8%r;>3}bC+l@`*gZiU-rYBq5p_C`&7nJ&UX z4wd=owv7OsbiV!6lae-WzVX+ya~7)Zkt{_}uKB}iZ)Lgz1Y~)~>Xl&AkB5^P`&c4h z_NQgoT?qJ;R4fI+OFPSYtK?J+7vz+X+=J0UE|cq47!<|dowe5*C4}iYk~c6MS9-p1 zB`(Am8X`+i^IHnYtZm?F;K8DY_M{?34QS-ycV3LlA}fd0?;;vPVQc7AuBXGjt5=0= zoZ!lpze3@&AourK;_iN;(myoZD^h3;aZ7AUX^vJqWNl$ta5aO0zgra_=uuxU&1%#B zCJv=oRYwzSpD9HwZA|F(tFtE`El*T4XZp01aqm4qnmpZbhC8wiJTNo?b~_luIqiB3 zUyw05y_RmyXlg|@c)E~Z=_?>a1kKq8f2ej%y<`H7g6*yJijgSYEhJlVyQMYRb;+KN z>IC)OXOZs-O@E6SmC|2eQ|yv5wjgNp{K5X{zDO1OQ>2CDhqICgW}sTrDT|in%7Qjt zNED+I<)7p#jDV_n5sg`$@xO_%@Hby5mCtIN)M?4O+GTr?Zv;TdpkgTZvVjlmmjywe^C({&YYoiM{^N&KWGchwX^AH#=2R)pR-w1Iho3CUn>O1 z#`NRTLr=yl92D#a3$E;{)^PD=r`q`vuJ+6_jZP_y^wExMyl;?Ob^Hp?=wNuQL0l)l zS3ly>Ty24^PlEHLW7KDvDur%@I3{(*YuMrc(oYIN`**Jw#0Gz?d~LneAFNIQr_u;{ z$Zj?V);`)#3Hy>^7CMSv4(Cp1=atj#`#_Fdh3C1_>^or|J^K!=K@FwhHUtO9m;)kn zo+a7%w;yDw0bY?2MI8X_NOW*LuVWa-81^EFDbvc$!glB{CPXO0?eJ+2wyZ9MlTIjEJ`8n4O@sco{7jSd6qh}U2r1b}?7By47V>Iu@FZ_3<~ z8Pe;tf0p;lGg3zpV};UMqM=5I8_-^O+1YOGxVtKX8iyHEmesSl%yknY!ZM%x(|aWl zi@#Qg?LD=h?P;L5Ofjqh?`D>_0?>J83y~pJ@J0{MRFXGxqU{!ALk*<)5C!(&HA0MM z6;Lw}Sd1apQ&_T)4C{6mMz1ZhR#>LL`#p}}73)x%eH%%tBO|@wKW(I@pa?_5=<|jL zW=MGRQ4i)G#=JBw)(~1;J$j@?@>rVQE2ub*X~;ExxYhkm-Dt1Tr%;m-Ef3CCk!9O( z%1^b*;nG4ipQoO_Hr#KM>sV2bLa&cP%!?617+Twmc65Uf{!r_iczJ~&U?*d<&&tf_ z|BAcm`SB|C)zmcp^>>j@YsmfR(cSB`7-w#|Lt!THNT`4i!u(C!Q&`oAewri3Ak}i4 z?wuI7-COA`IKszcZ>IFQ+h5wLsi;?Z9=X<`E6jM#sj*ufNP)Vk$6fInbx3RA(y;p< z0CbN8-vhQ#3@%!;s_RxT?q7-Wfj0f#L7t**vmI)!v9`P|=&rg+`z8Pai#=|yx;?uu znV2X72&6j(gV$`W;(^0>T_UK6RKrv$Oa7Crd5dUver^Vji6Qs1=TAMBJKxaid`eBf z(U~~29;__wHMIH~4&3ndT$Z}aH9Z+)Z(01xJn`2LM`dokrXK{B1_@8geQ|C7u7s<{ zA|7<_Sq0QhD;}vA5~(bolp0U3TOT9pA!I)5mr$o^)>&cXHt2-6#wiBPpUCqC?H8Kl z-kezusV$J(t%Mnt7y#|LjK|n4pNbBcHC8jSxc@^@b#Lf`pYqgcqfx30sh;{RP@VW> z$B`8k!%(cO!)>e0YOpoYAJ?@HmoHz;hNjahj#j`~L|(N0$&F3zzL#8@L@_w*6kv@h z?^GTfqqoX6tn+kDYUvbEaK$ZVTHo{=SbqCUKVOo$B4@MUDqTu(6elWi zT+CEeZpB_s=V|3Ed0zwgMr5bnWbx*5q?qOAJ0zZ%7Bd&b=j_p zXY-nYIU>yAK>*yOfApaRv!+Bq$H_22`ib|jM!@W)Arv`u@`ho_T+JM!>KEdlaQ{m< zecCu%$sw}EAk8(f*<&9&UwQn2A%>0hV{O){0)Dpt$a82vZqV1$)*+@U$yl_Z9lCDX zv3(T*qr>M*1nG*JWvixSE4&OjwiCUY!Rr<6X2^#`0{#uujnvM0>5;wMlC;Nd9{EKB z_!^V1H$JI1-vD?k%Q3*um{u>8!0u)(A5&JWFzyZZDF1s#yb}30q_M@;Tp#vKQZZK} z2xKgET|uhT9;CU$%ms6Lz6ZIBdUW{YGv0XhYDrr+PKp=>`SG;dK;mpF_^<+J;rtkO zB-3`KUBk~9n9;Nf<~1mZw)a@O{h|^?24C)>I-+4{jwxakWyVp2njXpZL9m75V^7nm zo-un8C2H*1WK~C^2hgr%{TPXjN1C3&;>*ze->3U<(0pCM5q^r6uv`4xQA7y&5f1E^ zCG(5Pw7x#&2~MW0yYz5H+*uegs(G)DIQI?$YA`f94=7B!xOOi;5uVb=fuB*Q5+P;2 zYVNC(jURHNGu^5lQfqlg^4Z5wWveP(E|9Xud+uFtz7AI)lV(oeOGJ@X824h>Tk11a z%iUP#$$Eumt@WN7mvwFf`}4hXxs4yi&llWqyFCKdOJ7<%z)Xxmxn8pt0eaK1?`{`J zNM`W&;(_2=WvX0{)HSwbWFrKjTcF(&cTl@6WVRYw`H+b85~Et7t(VO_3hB*HtjhFQ zUPB{fr__sW;4F%qyeNAwY>@+UM%8flu<2jU5b^X9LpW71J#TRtYz{_wGUb?u zMD7LY(38@GWyJ?gq9K`Tcp&8fts8ihMB}4)<}oq7%&oqANIn!HSMvmKi%In}GECJ) z?w98Ip;9YLpTuu}VoYy_HNdHkP8O0jXA@&Uq}2Rmnx$G8A+K7qji~rDhWfgvDV8de zIf_{NIsDS`$;zZ|GH`gzM9I}96FG5+V*jFeJ6q9)9$;Zd@UcSvWiBGiv(Hz7L0|8Z zM4XuZ>EqdFf8WZp#m68?0B(eCY^200l_q@f;cn6EB!}L z(%ns^h!A|-r#82=<7+zZvb^SR9%fRE4J(n~ouzJW+J^H+0nl5Pt5FbEHL=krTpk?y z&lo&E?MeOHRfJ4Yh6|b-A<;1^b=m#K5y5`E@AquvxRB0$$z;NOm?CUj8_SZ_Ro!s( zFE{`dE~HUI{ac$jb2o?!+Fb3nNG%coe@tJo?iG5{r! z58c~01oUR9PBOG){!4QocG(_-AG5&0Wj?lld{r75nsl)FT*beRre>-@z6R*WsrTNj z)w+H#8_aJ9EQbfe#8aO&!ngad%wD2o9;`E z#~L&w(5~EGK15&eG=6}6XN!)_Pnr;IhjIHght`Z0D>nA^Dg4bn@HYQ+VGZo{07w&6>#6w8mXtAhQ zXMFBtgR&FxT>eBQKZt#00;RE}ALD4zCU`0~Ww!cp7Nt#pZ876_PI@>d2h&C}lo1UY z$+yU2yFw!Rqd%x}P%W@i)l+Lm5D&KqCw3vbwVFNJ|A?%K*AY-SY||9H^)Yc8k+W!p_Sk5cJ)BW%;WsZUb^kGF%RjWV1{k%cB(E4mad zr1Y$pSsz|Co7=6+J^C3nsx{3T9Z6uBT}>IgPSkB;{##Iq?nN#O_Al8QXneoqtMnUk z8*lb|Q_EoRMi}^p(BOj1gJftEaejP*Rzl^vN1Fi!wk=!^o0Vk~0*lh&H9(&qyy3OE zB$DucQx-s(t-ZWzeW@JI*rwXl%?a+$=oePdSN<%h9Vl8U$JIK}*TRO2v7s8>WpAGl zpl$3k9#oHJ*p^=`mCb}roQ1A?_pc=vl_~CU|4Tnd%(HP8-0V{6f9jmmkkw;hW;}m$ zQ~Su(-s5n1RJt=U3?cI4>FT-Q2TeGpgfLiLlGBdSz-GdkpxLY>_vjT1Jum4;IT|G0 z0hn##zFQj9KP|B+jE!a4wzC#2yFI6G%-&0=1vSq%iB$G%YAnsVi?zDPc>MHXJ$7bM zvOYVtU3Gb^lq`&#RxGx?o|HP3M^JU(_rX0AVyBnge3$Jnn~$l@BL)#NpZB%tiv~0H zEX`V5OLoVyo|D78=Jj6@-HCQnOP0dRoPd2nsX9F82r?v)Fko?Da{xOXY~AFUc6Zm{ z2;ll`rPmc8{oc^Gz8g{|cJ5|_9(MPpa&pMSe{yqHj8*zQqevk^HD3DOHf73rbXu0Q zX*8*=>}WWMGe%7?4M*~ToTwo4kFwAau8u^6qc9Q=0X>N00$-*6!>gh&$?$AmyW;cc z5A_SKvazt3$>qxE@v`!}Ilv2ksTX3!WCEk#SN2bYW3wtyP=tH`eis1pt&`Z((455+ zzNCnWu%71@YzjAzU`36FX+iSWx&~(GMD3hgM*yCB;jGKoj6=vp-ON-v82p?}SLl)2 zS(bBcUuM3Q4`6+i8bcRL2!MWA5(ywcYY=2#U*xFzR*3X6J%EU8T1XvW0>GlaQ}#0M9+479{2##5V#vhA$1I1V}5YYrXEfK;Ff?kC!=)I%`5>6tT%NOX^l(IA z0tg%Yo=mpv*r`H_=nb0;;`!J7z{_Hm7-I)D`vKedZbFZawtUNz&<+I~?!O-9p zqn5dYw49$3-HXi8AF+7VYKPo>SV7tbq45~l-$ePS55vibwa}=Mca42f;D(`@p;s-* z(ubg!ds!)+sq-N*J<70mzO~Z@Fd=9Fl>Q+M0za-0S7Tf7O|LBCd z#~dOWAen@qRX;oJ9D=ySa%}|=ak*A;#CDku?(p(sYa7GF?K$P|;(DZ8m7PM*S^kG``R%y4 zv&9!`bKMId+6t-Dq@}4 z?!h6H!4W$Vo0@e@I0i|j%zu7O0y(Z+h{qLNzLpyvu=8Q+VZt;Nqh3h@0@rL@VRH-X zd*6@K7XA3-ex)pJG<1u}A3Z6(X&0ohut3;|W1Bvtr3I^`hSj0_0&MIy+vT)lKT5@c z;4Prl4mWpKLS%^A=NLBfGIu>?x5nlr^q!AoYTcEvawo_Y3Oh!a>y#3qseBxHirvNN zu6Jw1$loKgB-kzCz#{`?=iMIakGa-ej2maXo_ECx10k*YO(Vhv-{hR&i-cw#h$#W9 zpD^m-NF46s*a@V4!;s6|dz(Hixi~-4qjO;aR>BKv@tr688Wp;@Ew(#x697bm z05+uhSxBR*OhN(~%MqXiW9eSnm|fGR_a?P1LRpfbL@`#59OAn1}H{ zrH*ZapEu8laK z&OQZxV4*q~&~@XBN%<I5QQF+o9}f3;8ur zhQ5edTkkXG`TrDi)qhd7O`itokdh8T;YR6N2`R}X7j!{Dl>ntmX?r^ zMx<*O1Syf)r9~RyJ-a^756@rlo?p*==9=p}ah)?W*NAY?FbCh~AT?bl&!tJ(Pf0_K zIRmwe!r_Usk0#`5^kIY(5o>!0Dw-R@v&uW;hUbKDww&f%9E6|~HZ&>Ho4OZsdSn!8 z4CU8Z<&sXG9ulm^>h-60cu^(( zZj7(Kwo5{y;8tiejNVEAF5waRsCGd=u|m@VyUa{g_cHQTs)p^Bl-jDx2O`UycaS}s z8O6l0`}n{WMRk(X)3nD8s-HOyhkCZ1AQH)>&hkps);UjR>)>NgSs~W~Z%4snu!;XHGrg7|U{8B$Pc8nBoxgYeTQjju%j1C1X|JK)f6MvO3kZvgn}N2Ng4k>_(GXQv ziXrociuQDdM{OYZtZ2P!{l*v(yIUOCUt@mHsCN9xf(%uhJyF4cIm?5dBz4`5lAk=N zyWjta`R0#xj6_?}eKeMHmYdTRAyVvUns2O4RO@_X(A0fAY&g3F~&{ppIE~_-R5{)B=~D zg=!~?dXZn`NigN54q;VomW)N*yH=bIp5vJ|@K#XgcA2?^&|5<|mJ#i-wZ-@3<}`)(Uyio_Mg{B9*c<(`_Htj2mc z3Nf{#wC;ho=6?Jtwze;+&A@}JwkVAT9z~`tSR{LD!b=DE@WblSlrNvA};oARpVRV{r+%K-$hb-oq_+*JF5LC8rEe zTAeye<354R_dSK_?5c)(5n(G)_a+j<2p|&Iau!o&2!;2OW8p=gD8&ro>XP6iQhB#N_nPD*oc!Oud-an@;0>{PdIhT z?GzP83ur);y+LAAij?uwEW*l~K7mIu=~V6(P$AoM!o)9J;hG$k*(|RpQc@BNsssF1 z-yi2EzU{MzRC1A$*mnju#|Uw9mc~boeCaNqS-wHdvfUDgZ4KjD=~UrLD&|Vgf*4Pa z7;r3`AccTWCsv}CzO=+B>BzGWE7$qfLqj=HCyLKP`vwmnOHmqAU1S^lCbyE2v4#Y? z{%3Os8#dby49Mbvc2JOI2K$0sij~Y6!jCEftkb8Wze=Hj8fNbI1T`M9E<*YqGuv}h zV;JYlQNkt)A0$Y!T4y_~;6NYJ3!C;s{Ffylh#GTL{;krJ-SeD%}LA8a_(Xg{GC$Z2WGS8$&<626XuH!04U)hCeupx$Mn|YZ z_?|XBmaUYb)p|hOJt6(OeQV;3O=sPt!&x=vHPa3JFxM3oQ9JXIrxKL%g(-R0!8T?x zj>3}EgeD{LT9_hj&kZr(qs$@NeRqMt@vVZewbp?k#gqPB=sgnc@VLg=@g%$*sha%y z@qLFS7D_2r61!)iUw{Ud`H^IlJKp{XKA6suKNsxVDptix(=sR%|BD^0wsd=aK$nF| zInwE(G|QeggT%TOr~yE4uAF4Eiut`0qox1(dQD z9o2Avr=WQJ5NojZnCib(jBbNDW?M9bKN&fEq8G^LBfUsv`~xx7ArXW3^YB$f$Xdgn zkZO|lP+-pYgl}z5uAh%9y-7=TGHE^D|C9MP}*PSd5@1^Az3TfDr8=tq;^F=I51 z&VRrPkzjWNxS!tZc1g;>4Wj9`o~9hhZ*l2z4X{7x17JYP-a&w32xIyYFXUy3FXqgr zaJ)n*D`3<}E8OktyZXt2{&x3fjTy%UmOa;X^3Y%IleHLcif7doXvK)#tMrOn&o`zY zXB)!b#Z)pj`7Y%qSv*`z3#|(rVU`@^Bv>E7J6;^518ViIG#ctN=yRq>{M_(Vyb?T& zbvG%SckmM7Ry8ZHML~JY2f6Hv#xwZ zyae;o(<~}31Q599lR5k(7|un+wWCnOKCVDfTqFSuV_>nm=nf^h$RqhwZl#}@9^lXu zs$)?T4?RCK$xj%%wPj}D_r1bCpx;AZI(wm9(6-NGuuA66 zmKc<3EQ=b&2lO>TkVVnc)wEeu`LWReHRPht_(yXd z*;JtK%YzJ(KY}9%Sr1WJ|Gtnx;`cx-3uF*ucI(g2Hz__vWsGX~sbYR>Mbom>V+X?2 zn=8q(bA=r&HA)E0L9C>OsS+6rsagzchbCuZ>Qm%vv0rsx_KzfPl%fYvP@46V*m^-R zuWyG*2__hj%i>kllt$G&oa(0&udBY@qU&>peLsS{+bV6%ikEG$N?snK!8gF5hP4Lx z$_Nt?5P*R+eMv~qXP}@F(>Hx{c2pzb^J?aYbyoRl`%U2-2YJ_irbH2Hf`!`}bwPEB z3&g8WieYu`+9J6t-`HyZ-3MeAy5xLK>_(T-GQPpJn8iKLW12or_ULQ16XLfT7(1lP z;2cZ!N8u*TIk$n-M^9!wLDb+wq62)9b!}vS=in(1U@w%fHW{#Qz6}@J|Ds!7vq4U);dl0oZmy zKrL&;jfsu^t$hWz>TH>(=~vgsyD}Q(ALD+W?q#yZA)$8~w@0I(s&DS=qHbk7xcE;O zO`D2o8Yv^*I#~UF<@?OeNmSaVk>9Dl^Qi+0I;Cx+^^aP%P$jbdsXxh$2_)^cwR7-8 zT6-o}bzOtUej6-8u^P1z7cRvoieu?BL8A&CW6d`Nhw73kD@d8}iD;F%-SDZ4KAmvA zIM;rD*<-ic%K78Uq6U3(FvP4tbXOe@pNN2N*?{~-V()2_a`Qy6T5&>=lo)z8wlGk2 zE)YYj3{Z4qDeTkv6YH&A4=ej#`f0Vy6BbTrmB&6(C?ewy$0LX!^SDD?r)hJk^Pyw$ z@@4Yw!M^ObR1r`T<<(#T>HpGbQfvin=sP>X3;WOt+qI+fyFza%^@{c$-X;KeDc>Pr z*UooIV#m1GEA9@r`>qpO8NZfIcJ#IPSq9yWyZaCjh?dMCT=i~e(U)6gM((@fj*jP- zjZ1PO&hDI-s^^?0ynsYxQT(0xHz%d}M!nW$JonNil@ubsPim0>_j=3Ja4hry7WHp6 zvPvx6Lo6pr28=qU)?LuO>s^9;xA~>9vUENnGP*8$DL{}($HFR{n!srFzWyt41^3m! zfNj|2T#(hT&4+h!LR$kuM~Fy%kzH#T$u=2xgKv-47b`$NkCl)%-~jq@!{g4Yrm0W# zZ{u$c_NQGMOp;EL`md84Q_N*YTk0-FY6H5$i=ZWzO;MS5Qp;pQLf^!VQfp@AN;eK1 zkH9a^y9oKr^ow^Ma^M!s02X|_gR$|H$ZxW8rx0_<)1sJA@>lac01c}p zb;0Ml&dVPm%wzZTb`yUy(I6NEOYUu642A5SXFsCRro(EOfDzEJPpw!l#vF9qrIH_T zzLEUk>Jyi55`F^Q{a1kGUlnFDFB=SA#%(bHO_W#M zzBJ@GhA)`_hJl}dL~ogY546v>ex9^msOMPsyjpHDKueA2Vy)V%znyR zB7{Z=x26gp9eGF({yJhF)q-ki)SDzO`ogB5F{yW!sF{UyExH9>@?SS-%^#r2}}vBBjzIaK7K9m@VDoo zK!>cGvtV<(fZSD6HWxn%>oflm<(lV$EhyTe=^{QScyYFDx86;$uHjtwN?j9+H1{|K zKD@&xP>gF#dD%9?tFqY~EOX`|i=Lgl(X=uyL-OwYcm7|?;RIqvfM4$SLW=0HK-*f$ zKW&9c`eez|di!A-`V=4^C#c;Oo-N5EVY%@GbTPr#4*8ul!TLY}+2EDop~cxIO8MRp+NLZ4;s z3BZJm-T|_y-2rUs$K)Y>bJ(XdJF`i5JL|>5WD_=t@fao?mqdVzdgK0luatLcE0iW1 z&Co8<>gcZ?wAIP8q=@9h!qqDXFj*S)PW)uS)oLoVlT&0n6KFSx#$3`(6AOOiL`7{_xpVAnsLXO(Ttym|#?n^2kh? zkRpxf;mVCiWvN&4w=J|~Xg z@A(C9{{83Z00Q2{*GfO7v@d=nsDa=*_>aHh0SmPeX3}rEZ?g(L_HWg)g?H(;`16)k z9sUo+EIl@iUqc^om-K~3HbVtjzpczfI^od$2B2#bMkt=qG3l@)`Y~0pK+X{cDpTB@ ziiBbb@BzpINW}#W%A{gO91;E2kBW9<cXfva>>Q)}P)2*S-FUyg~P0W8=ne&2ZJS vN8=Aju#f?O`~uu8r6X5N47>IJm-qYnRkKQ6lW~mFc)+8j4pysDv3~h~@#vs9 literal 0 HcmV?d00001 diff --git a/capi-ui/src/components/Layout/AdminLayout.vue b/capi-ui/src/components/Layout/AdminLayout.vue new file mode 100644 index 0000000..6f7803b --- /dev/null +++ b/capi-ui/src/components/Layout/AdminLayout.vue @@ -0,0 +1,1083 @@ + + + + + \ No newline at end of file diff --git a/capi-ui/src/main.js b/capi-ui/src/main.js index 739f615..019a227 100644 --- a/capi-ui/src/main.js +++ b/capi-ui/src/main.js @@ -8,7 +8,11 @@ import 'ant-design-vue/dist/reset.css' const app = createApp(App) +const pinia = createPinia() + + app.use(createPinia()) // 注册Pinia app.use(router) // 注册路由 +app.use(pinia); app.use(Antd) // 注册Ant Design Vue app.mount('#app') \ No newline at end of file diff --git a/capi-ui/src/store/index.ts b/capi-ui/src/store/index.ts new file mode 100644 index 0000000..d6729b1 --- /dev/null +++ b/capi-ui/src/store/index.ts @@ -0,0 +1,4 @@ +import { createPinia } from 'pinia'; + +const pinia = createPinia(); +export default pinia; \ No newline at end of file diff --git a/capi-ui/src/views/sys/Dashboard.vue b/capi-ui/src/views/sys/Dashboard.vue index 4faf2e6..7783308 100644 --- a/capi-ui/src/views/sys/Dashboard.vue +++ b/capi-ui/src/views/sys/Dashboard.vue @@ -1,39 +1,77 @@