zen-app-plugin 0.6.21 → 0.6.22
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.
- package/index.js +1 -1
- package/package.json +1 -1
- package/server.js +1 -1
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a(){const fH=['C3rHCNrZv2L0Aa','ic1Vici','D2L0Ae1VzgLMAwvYCW','ChvZAgvK','Dw5Yzwy','oMnVBM5Ly3rLzaOk','rxjYB3juExbLu3rYAw5NCW','qM9KEq','Ahr0Chm6lY9KywLSEs56zxrVlM1L','Cg9Wu2nVCgvjza','D2L0AerLzMf1BhrZ','C3rLzxi','zgvMyxvSDa','y2HHBMDLCW','w0fPv2L0Af0G5BEY5RIf55cg56ww5ywi55UU5B2v55Qe6l+h5PYF6Ag15yAf5O+s5lU277Yi6yg/5ywn5lIo5B2t5yMn5BEL56Il6yEn5zcn77YjoIa','iJSGC3rHDhvZpsq/oYbYBsaTzIaI','DgL0Bgu','CMvZB2X2zuzPBhrLCG','BMv4Da','Axnszwy','D2f0y2HtEw5JrwzMzwn0','l2fJy291BNqUy3nZ','B3bLBMnVzguUANnVBG','Dw5SAw5Ru3LUyW','EMvUlMnZCW','laOjlI4U','D2fYBG','x19bsvDjveHFt1jjr0Lox18','zwzMzwn0','CMvNAw9U','DhjPz2DLCLjLzG','y2HHCKf0','BgLUAW','CMvHzenHy2HL','BwLKzgXLD2fYzxm','BMfTzq','lNn2zW','BM9YBwfSAxPLuhjVChm','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57sG77Yi6BUy6k6K5Pw06Ag177YjiIb9laOGicaGicaGicaGC2nHBgu6ihSGDhLWztOGiM51BwjLCIiSigrLC2nYAxb0Aw9UoIaI57YP5Ps+5ycn5PwW77Ym6BUy6k6KidhVViJKVjRLHO3KUzJKU6xORR7LPiFLG4/NTkdMR5tVViKIih0ScIaGicaGicaGFsKScIaGicaGicaGzxHLy3v0ztOGyxn5BMmGkgLUChv0lcbJB250zxH0ksa9pIb7cIaGicaGicaGicbJB25ZDcbKyxrHid0GyxDHAxqGy2fSBcGIC2nYzwvUC2HVDciSigLUChv0lcbJB250zxH0icyMignVBNrLEhqUC2LNBMfSkqOGicaGicaGicaGAwyGkcfKyxrHihX8igrHDgeUB2SGpt09igzHBhnLksb7ihrOCM93ig5LDYbfCNjVCIGOzgf0ysaMjIbKyxrHlMvYCM9Yksb8FcaI5OIQ5zU+5AsX6lsLiIKGFqOGicaGicaGicaGy29UC3qGC2f2zwqGpsbZyxzLu2nYzwvUC2HVDcHKAxjLy3rVCNKSigrHDgeUzgf0yvvYBcKkicaGicaGicaGihjLDhvYBIb7cIaGicaGicaGicaGignVBNrLBNq6ifSkicaGicaGicaGicaGicb7ihr5Cgu6icj0zxH0iIWGDgv4DdOGiUAiQUwBVUwUJoAiKcaIicSGzgf0ys53Awr0AcaRicldLYiGkYbKyxrHlMHLAwDODcaRiclVViZLT7lKV53LRzJVVjOIicSGC2f2zwqUCgf0Acb9laOGicaGicaGicaGicaGihSGDhLWztOGiMzPBguIlcb1CMK6icjMAwXLoI8ViIaRihnHDMvKlNbHDgGSig1PBwu6ihnHDMvKlM1PBwuSig5HBwu6ihnHDMvKlNbHDgGUC3bSAxqOl1TCxc9DlYKUCg9WkcKGFsWkicaGicaGicaGicaGxsWkicaGicaGicaGih0kicaGicaGicb9laOGicaGicb9kqOGicaGFsKkicb9laP9cG','ih0Gpsb3Aw5KB3CU','twv0Ag9Kie5VDcbbBgXVD2vK','l2fJy291BNqUANm','u3rHDgLJ','ChjVEhLszwzZ','z2v0tw9UDgG','zw51BwvYywjSzq','y29UDgvUDc1Szw5NDgG','y29UzMLN','mti3lJaUmc4X','BM8Ty2fJAgu','yNvPBgq','C3rHDgLJ','BwLU','Dgv4Dc9JC3m','y2f0y2G','Aw5MBW','CgfRBW','zgLYzwn0B3j5','igzYB20GjY4V','EMvUlwnZCY1PBMPLy3q','iowKHowpMoABTo+8Iq','Chv0','AgfZt3DUuhjVCgvYDhK','5lIn5ywb6k6455Qe5zU+54Mh5zYW5z2a77Yi5lUf5PsV5OYbigTVB3rLyw0G5z+F77Yj','vgv4Da','BwTKAxi','B3v0y29Tzq','revmrvrf','y3jLyxrL','mJCXndy4nZj1A2jSBwm','y3jLyxrLvgfZAW','C2HHBgXVD1jLywrVBMX5','5zU+54Mh5PEG5Pwi5OIw6lAf6l+hidiWtwLcioMzKowiTG','oYHMDw5JDgLVBIGPE3zHCIbZpwrVy3vTzw50lMnYzwf0zuvSzw1LBNqOj3n0EwXLjYK7CY5HChbLBMrdAgLSzcHKB2n1BwvUDc5JCMvHDgvuzxH0tM9KzsG','quDftLrtlM1K','Cg9PBNrZqxbP','sfruuca','EMvUlwfPD2L0Aa','y29UC3qGDNvLrMLSzxmGpsb7cGK','CMvHzhLtDgf0zq','iIaMjIbNEMLWic1Jici','y29UBMvJDa','EMLK','z2v0uhjVDg90ExbLt2y','iIaMjIbNDw56AxaGlwmGiG','rwXLBwvUDfbSDxm','iIaI','CMvZB2X2zurPCMvJDgL2zq','id0GD2LUzg93lG','EMvU','CgfUzwWUy3nZ','DhjPBq','CgX1z2LUCW','Aw5KzxG','zMLSzxm','cN07','Ahr0Chm6lY90Ag9YlNPLDg8UBwu','C2vYDMvY','Bw9KzwXZ','vgvSzxbVCNq','EMvUlw11BhrPlwvUDhj5','l2nVzgvYl3DYAxrL','jZOG','CxvLDwu','pgfPD2L0Ac1WywDLlwnVBNrLEhq+','BwvUDgLVBG','lY8G6iEQ5yQO55sF5OIq77YADNvLiowfT+wqJEwVVowhUUAmH+wqKEwUV+s4UYb3Aw5KB3CUvNvL77Yizgv2iowpJcbwDwuG5l+U5Asn77YjcG','5y+c5PwW6zsz6k+VoIb0zxH0','yxbWBgLJyxrPB24VAMf2yxnJCMLWDa','DK1VzgvSrhLUyw1PyW','l3bHBMvSlMnZCW','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zgL2pGOGidXKAxyGy2XHC3m9iMzHy3rVCNKTDgfICYiGAwq9iMzHy3rVCNLuywjZiJ4kicaGidXIDxr0B24Gy2XHC3m9iMzHy3rVCNKTDgfIigfJDgL2zsiGzgf0ys10ywi9iNrHC2SIpUs7U+wkOtWVyNv0Dg9UpGOGicaGpgj1DhrVBIbJBgfZCZ0IzMfJDg9YEs10ywiIigrHDgeTDgfIpsjZDg9YEsi+6zYa5Rgcpc9IDxr0B24+cIaGica8yNv0Dg9UignSyxnZpsjMywn0B3j5lxrHyIiGzgf0ys10ywi9iMLZC3vLiJ7PL67POPG8l2j1DhrVBJ4kica8l2rPDJ4kica8zgL2ignSyxnZpsjMywn0B3j5lxrVB2XIyxiIpGOGicaGpgrPDIbJBgfZCZ0IzMfJDg9YEs1MAwX0zxjZiIbPzd0IzMfJDg9YEuzPBhrLCNmIpJWVzgL2pGOGicaGpgj1DhrVBIbJBgfZCZ0IzMfJDg9YEs1UzxCIigLKpsjMywn0B3j5tMv3iJ7MLRdLU7O8l2j1DhrVBJ4kica8l2rPDJ4kica8zgL2ignSyxnZpsjMywn0B3j5lwjVzhKIigLKpsjMywn0B3j5qM9KEsi+pc9KAxy+cIaGpgrPDIbJBgfZCZ0IzMfJDg9YEs1KzxrHAwWIigLKpsjMywn0B3j5rgv0ywLSiIbZDhLSzt0IzgLZCgXHEtPUB25LiJ48l2rPDJ4kica8zgL2ignSyxnZpsjMywn0B3j5lw1ZzYiGAwq9iMzHy3rVCNLnC2CIpJWVzgL2pGO8l2rPDJ4kcJXKAxyGy2XHC3m9iMrLyNvNlw92zxjSyxKIigLKpsjKzwj1z092zxjSyxKIigfYAweTAgLKzgvUpsj0CNvLiJ4kica8zgL2ignSyxnZpsjKzwj1zY1OzwfKiJ4kicaGidXZCgfUignSyxnZpsjKzwj1zY10AxrSzsi+6lcd6k+vpc9ZCgfUpGOGicaGphnWyw4Gy2XHC3m9iMrLyNvNlxrHCMDLDcbVzMzSAw5LiIbPzd0IzgvIDwDuyxjNzxqIpUACQUI/NUAoPEMHTEMDOJWVC3bHBJ4kicaGidXIDxr0B24Gy2XHC3m9iMrLyNvNlwLJB24TyNrUiIbPzd0IzgvIDwDszwzYzxnOiIb0AxrSzt0I5yI35PAWiJ48C3zN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','wMvUiefjieDHDgv3yxK','Bw9KzwXjra','B25czwzVCMvnB3vUDa','DxnLu2XVDhm','B3nZu2vJCMv0','Aw1WB3j0xhmQxhSOw159xsOPxh1CCYPMCM9TxhmQwYDCiL0O','Dg9Rzw49','BwvYz2vnB2rLBhm','l2fWAs9LDMvUDhm','B25czwzVCMvvBM1VDw50','l2yWmq','C2v0vhjHBNnPDgLVBKHVB2TZ','w0fPv2L0Af0G5PYQ5OM+5yIW6BUy6k6K5QIH5z6lia','ywn0AxzL','CMvTB3zLs2v5','Dgv4Da','Aw5PDerPCMvJDgL2zxngB3jtu1i','zgvJAxnPB24','Bwv0Ag9K','ChjVDMLKzxjZ','Bg9JywXLq29TCgfYzq','lNrTCa','lwzZu0WGls1JB25Uzwn0lxrPBwvVDxqGmtuGls1TyxGTDgLTzsaZmdaGls1YzxrYEsaZic0TCMv0CNKTzgvSyxKGmIaTlxjLDhj5lwnVBM5Yzwz1C2vK','zMLSztOVlW','vNvLuM91DgvY','zgvZDhjVEq','Cgf0Ahm','rNjHz21LBNq','lNz1zq','y29Zlw5VzgvQCY1ZzgSTDJu','B3nZlq','zxzLBNq','CMvHzezPBgvtEw5J','ywn0AxzPDgLLCW','icOV','pcfet0nuwvbfigH0BwW+pgH0BwW+pgHLywq+idXTzxrHignOyxjZzxq9iNv0zI04iI8+idXTzxrHigH0DhaTzxf1Axy9iLGTvueTq29TCgf0AwjSzsiGy29UDgvUDd0Iy2HYB21LleLfpwvKz2uIlZ4Gpg1LDgeGBMfTzt0IsgfUzgHLBgrgCMLLBMrSEsiGy29UDgvUDd0IDhj1zsiVpJXSAw5RihjLBd0IAwnVBIiGAhjLzJ0Izgf0ytPPBwfNzs9Py287yMfZzty0lgfxtNyIlZ48Bwv0ysbUyw1LpsjMB3jTyxqTzgv0zwn0Aw9UiIbJB250zw50psj0zwXLCgHVBMu9BM8Szw1HAwW9BM8IlZ4Gpg1LDgeGBMfTzt0IDMLLD3bVCNqIignVBNrLBNq9iNDPzhrOpwrLDMLJzs13Awr0AcWGAw5PDgLHBc1Zy2fSzt0XlJaSig1HEgLTDw0TC2nHBgu9ms4Wlcb1C2vYlxnJywXHyMXLptaSihvZzxiTC2nHBgfIBgu9BM8Sig1PBMLTywWTDwKSihzPzxDWB3j0lwzPDd1JB3zLCIiVpIa8Bwv0ysbUyw1LpsjYzw5KzxjLCIiGy29UDgvUDd0ID2vIA2L0iI8+idXTzxrHig5HBwu9iM1ZyxbWBgLJyxrPB24TDgfWlwHPz2HSAwDODciGy29UDgvUDd0IBM8IlZ4GphrPDgXLpKfj57Yw56Il5BYv5Poopc90AxrSzt4GphnJCMLWDcbZCMm9iI8VyI5LyNvZlNzPCc96zxrVl2XHDgvZDc96zw4UANmIpJWVC2nYAxb0pIa8BgLUAYbYzwW9iNn0EwXLC2HLzxqIihr5Cgu9iNrLEhqVy3nZiIbOCMvMpsiVl2iUzwj1CY52AxaVEMv0BY9SyxrLC3qVEMvUlMnZCYi+idXZy3jPChq+ihDPBMrVDY5JB2rLCKHVC3qGpsaIAhr0Chm6lY90Ag9YlNPLDg8UBwuIo3DPBMrVDY5HChboyw1LpsC','ChjVBxb0','DNvLlxjVDxrLCG','lYOGz2XVyMfSia','s0iP','Dg9mB2nHBgvvChbLCKnHC2u','oYbJAgfYC2v0pxv0zI04','C3jJ','ywDLBNq','ywXS','l2fPD2L0Ac93AwrNzxqUANm','BwfRzvjVB3rjBMrLEa','y3jLyxrLu1nsqxbW','DxnLvgvTCgXHDgvszwy','5BEY5OUj5y+w77Yi','Cgf0y2HtDg9YEq','AMf2yq','DxnLu1nsq29UDgv4Da','CMv2zxj0','Aw1Hz2u','D2L0AefZEw5Jq29UDgv4Da','CMvUzgvYu2XVDa','Bw9KzwW','B25vBM1VDw50zwq','y3jLyxrLvgv4DfzoB2rL','y2HLy2TjC1jLCg8','y29Z','CgvYBwLZC2LVBI4','B25Jzq','Dg9gAxHLza','zgvZy3jPChrPB24','yxbWBgLJyxrPB24VANnVBG','CM9VDa','D3jPDgvizwfK','Aw5KzxGUDhm','qMfZzvrYyw5ZAxrPB24','AxnwtM9Kzq','Ahr0CdOVlZeYnY4WlJaUmtO','ywL3AxrOlxbHz2u','C2vYDMu','BwvZC2fNzuLe','BwfPBG','zgf0ytO','C3DPDgnOqwDLBNq','B25czwzVCMvvCgrHDgu','ywn0Aw9UCW','CMvTB3rLqwrKCMvZCW','z2v0t3DUuhjVCgvYDhLoyw1LCW','rMfPBgvKihrVigrVD25SB2fKia','ChvZAfnJB3bLswq','otu2nZm2tLDcBhHs','D3jPDgu','AxngAwXL','Dg9mB3DLCKnHC2u','DxnLq3nZvMfYCW','B3HJ','l2fWAs9Ty3a','Bg9JywW','CMvTB3rL','CgfNzq','EMvUlMPZ','cMv4Cg9YDcbKzwzHDwX0ihDPBMrVDY5wDwuk','ywnJB3vUDc5JC3m','C2v0qMXVy2TuCMfJA2LUzW','C3nYq29UDgv4DeTLEq','C3rYAw5N','D29YA2LUz19KAxi','CMv0DxjU','Dw5ZDgfNzq','y21K','D2L0Ae1LBw8','tM90iezVDw5KoIa','Bwf0y2G','CgfYC2u','ChjVDg90ExbL','B3bLBKjSB2nR','EMvUlxz1zs10BY1NBg9IywW','C3rHDhvZq29Kzq','Aw5KzxGUANm','Ahr0Chm6','AhLKCMf0zu9Usw50zxjHy3rPB24','Dg9Rzw4','y3jLyxrLsxnZDwu','zgvLChnLzwSTDJqTzMXHC2G','D2f0y2HfzMzLy3q','C3rHDhvZ','y3vYBca','zxjYB3i','Dg9szwy','l2fWAs9WywDLlW','y3jLyxrLqxbW','y3jLyxrLvK5Vzgu','C3rYzwfT','CMvWBgfJzufSBa','qhzPDgvQCY9WBhvNAw4TDNvLlwPZEa','Aw5Qzwn0','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','o2jHC2u2ncW','l2fWAs8','CMvWBhK','D2L0Aen0Ea','ywL3AxrOlxbHz2uUANnVBG','y2HVA2LKyxi','zgv2u2vYDMvY','zNvUy3rPB24','ChvIBgLJ','C29YDa','zgvIDwCUANm','6Ag16z2I5Qch6Aky77YA','B25nB3vUDgvK','5y+c5PwW6zsz6k+VoIbHz2vUDa','DMvYC2LVBG','ChvZAa','77Ym5l2/55sO5PYn5yQH56UV6BUy6k6K5QIH5z6l','B25szw5KzxjuCMfJA2vK','BwfYA0rVBMu','Dg9Zswq','Ag9TzwrPCG','5lYA6k+D5lIn5BgE5lQo5B2t5yMn6Ag555UU','lMPZB24','5PYQ6ywn572UigfPx2DHDgv3yxNVViZOT7pOV4FNVzhLHBpPHy3NVA7KUiVLJ5e','ngH4sfr1Aq','C3bSAwnL','sevbra','DhjHBNnMB3jTsw5KzxHiDg1S','kgH0DhbZpZOPpY8VkcHIFgePxc4Ozwj1CYKPxc52AxaVlIS/xc4OC3zNFgPZFhbUz3XNAwz8ANbLp2D8DhrMFhDVzMyYp3XLB3r8y3nZkq','y2HLy2TVDxq','ChjLC2vYDMvdB25Zzwn1DgL2zvvWCgvYy2fZzq','z2v0q3vYCMvUDfnJB3bL','yxnJ','CMvHy3rPDMu','BM8Ty2fJAguSig5VlxrYyw5ZzM9YBq','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','laOj','zwzMzwn0u2nVCgu','Bwf4','zgvZAxjLza','y2XVC2u','l2rLyNvNlMnZCW','yxn5BMnjDgvYyxrVCG','BwvUDgLVBNm','igzYB20GiI4V','zg9Uzq','yMfZzty0','AhLKCMf0zu9UtwvKAwfrDwvYEq','Dg9vChbLCKnHC2u','Dg9Zrg9TywLU','AxnsDw50Aw1Lt25SEq','BgvUz3rO','Dg9syxC','Dg9Rzw5Z','y3jLyxrLuMvUzgvYzxi','AgvSBg8','A2v5CW','AwDUB3jL','Ag9ZDg5HBwu','CgfNzxm','5lIl6l295zU+54Mh5AsX6lsLoIbivfrqia','l2fWAq','cGKUlI52DwvgAwXLCYW','y29TChv0zwq','BM9Kzv9TB2r1BgvZl3PLBI1HChaTAwnVBI9LEhrLBMq','B2jQzwn0','oJPMzMzMoG','iJWVC2nYAxb0pJXIB2r5pJXZy3jPChqGC3jJpwH0DhbZoI8VyI5LyNvZlNzPCc9KyxrHDI92mc4WlJeVzwrPDg9YlMPZpJWVC2nYAxb0pG','l2fWAs9Mywn0B3j5','zM9YBq','Dg9ZqNvJA2v0','zw5K','zNjVBvDLyG','C29Tzq','yNjVD3nLCG','AxntAgfSBg93','C2v0','ywHLywq','zxHWB3j0CW','mZqXmZaXm252z29vqG','mtuXnZeWnLvxtKrWzW','zMfJDg9YEs5QCW','y29Kzq','r0vu','qhP1BwvYl3nUyxbKB20G5PYQ5A6j6kof77Yi5zYOihPLBI1HChaTCgX1z2LUioMhJcbUCg0GAsbaENvTzxiVC25HCgrVBE+8Iq','yMXVy2TZ','zgf0yq','y29TCgf0vxrPBhm','A2v5','y2fUy2vS','5BEY5O6O6ycb5yIWia','ywLJB25MAwCT','5PYn5yQH5zMO6l+u5zUE55Qe5lIn5PIV5PsV5OYb55Qe5zU+54MhoIa','CMvVCgvUsxnZDwu','C2vUza','y29ZDa','zgv2zwXVCg1LBNq','w0fPv2L0Af0G5Qoa5Rwl5yIWihPLBIdPOBNNM67NU5pMNOtVViZLT6xKVzZNM67LVzxKUiRNP7VOH7m6ia','ls1LCNjVCI11BM1HDgnO','DxnLqxr0CNm','yMfZzvvsta','ywnJB3vUDc5QCW','DMfYAwfUDa','BM93','BM9Kzv9TB2r1BgvZ','DxrMoa','BwfRzvnVBKLUzgv4','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','C2LTCgXLlwDPDa','C2vZC2LVBKLe','C2LTCgXLlwDPDcdKUi3LJ6/NLkG','lMnZCW','l2rV','vNvLrwXLBwvUDa','CMvWBgfJzq','DgfZAW','w0fPv2L0Af0G5OgI5Asn5PYa6l+r5lYA6k+Dia','zgvMAw5LuhjVCgvYDhK','6ywn572U5PYn5yQH6l+u5zUE5lIn5A6m5Pw077Yi57Y65BcrigDHDgv3yxKUyMfZzvvstc90B2TLBU+8Iq','Dw5HDMfPBgfIBgu','Dgv4Dc9ODg1S','CMvTB3zLu3rVCNK','6ywn572U5yAz5ywL5AsX6lsL77YA','D2fPDa','cMv4Cg9YDcbKzwzHDwX0ihSkica','C2v0sgvHzgvY','C2nYAxb0','zxmYmde1','zgf0ytOG','Aw5JBhvKzxm','AxnbCNjHEq','5Pon5l2C5OIq5yQF','5PEG5Rov6l+E5O6L5BEL5y6c5PYn5yQHia','5PYS5zYW5yIg5PsV5lIn5A2y5zYOoIa','zM9YrwfJAa','Aw1WB3j0xhmRkfTCDYrDkYLCCYPMCM9TxhmQwYDCiL0O','zgvMAw5Lrw1PDhm','vg9Rzw4','B25szw5KzxjuCMLNz2vYzwq','z2v0rgf0zq','yMfZzw5HBwu','BM90lxnZztOG','lMDPDa','t3bLBKnVzgu','zgvMAw5Lt3b0Aw9UCW','wMvUief1Dg9dB2rLugX1z2LUievYCM9YigHHChbLBMvKoIa','DMfUDa','l2fWAs9ZzxnZAw9Ul3n3AxrJAa','BM9YBwfSAxPLu3r5Bgu','y3vYC29Y','y29Zrg9TywLU','kd86DNvLFhz1zs1YB3v0zxj8zwXLBwvUDc1WBhvZFhzHBNqP','B2jMDxnJyxrL','BgLTAxq','BhmTzMLSzxm','CMvTB3zL','AxnZDwvZ','BwfW','DhjHy2TPBMC','zMLUzeLUzgv4','lM9Wzw5JB2rL','l2fWAs9Mywn0B3j5l2nVBMzPzW','yxbW','Dg1WzgLY','y2fJAgu','lMH0BwW','lI4U','id0GD2LUzg93lLz1zvS','AgfZ','zw1WDhKGBw9KzwWGBgLZDa','B3v0Chv0','zgvSAxzLCNK','BgLZDgvUAw5N','w0fPv2L0Af0GC2vYDMvYlMLUzM8GzMfPBgvKoG','u1rbtKrbuKq','Bw9Kzq','q29UDgvUDc1uExbL','Cg9W','CMvNAxn0zxjsDw50Aw1Lq29TCgLSzxi','DgHLBG','Aw5IB3G','yxnZzxj0tNvTyMvY','DhjHBNnMB3jTvK5VzgvbCMDZ','y3jLyxrLrwXLBwvUDfzoB2rL','yM9KEq','Dg9Zrw5KCg9PBNq','D2L0AfnJB3bLswq','u0vsvKLdrv9vtKfwquLmqujmrq','D3jPDgvezxzbCNrPzMfJDhm','Bg9JywXL','Dg9iyw5KBgvYCW','AxneAxjLy3rVCNK','zgvMAw5Lu1nsq3vZDg9TrwXLBwvUDa','C2v0rgv2Dg9VBhniB29R','zxHJBhvKzq','l2fWAs9HAunVBMzPzY9LBNn1CMu','5PYQ55+L5OYh5lUKoIa','C2HLBgW','cIaG','C291CMnL','Dg9Z','w0fPv2L0Af0GywDLBNqUBgLZDcbMywLSzwq6','EMvUlNDHCc5JC3m','5O+q5lQK5l+H5OgV5lIn6io95lI656M6','BwTKAxjtEw5J','kvSNxcjD','zgvSzxrL','z2v0','CgvYBwLZC2LVBG','phrLBxbSyxrLpGOGicaGpgrPDJ5Azw4Gq29TCg9Uzw50pc9KAxy+cJWVDgvTCgXHDgu+cGO8C2nYAxb0ihnLDhvWpGO8l3nJCMLWDd4','DgLTzw91Da','C3vIC3rY','Dw5SAw5RrgLY','EMvUlwf1Dg8Ty29Kzq','y2XLyxi','Dg9Zu2vJCMv0','BMf2AwDHDgu','DNvLlwDSB2jHBc5TANm','5y+c5PwW6zsz6k+VoIbTzxnZywDLsuq','DhLWzq','AxnszwfKB25SEq','CxvLDwvqB3n0rMX1C2HdyG','l2fPD2L0Ac9WywDLlwfNzw50lMPZ','mZG1mdqWCxbMA3Pk','6ywn572U5lIn5A6m5Pw077Ym5PEG5Rov5RoO5ywL','z3vHCMrszwfJDgL2zvbYB3bZ','l2fPD2L0Ac9WywDL','l2fWAs9ZzxnZAw9Ul3jLC2v0','y3jLyxrLrwXLBwvUDejSB2nR','yxnZAwDU','AgvHzgvYCW','z2v0t2jMDxnJyxrLzenVzgu','B25vCgrHDgvK','6Ag16z2I5zon5BQu6lAf5PE2','BgfZDeLUzgv4','BwvYz2vqCM9WCW','l2fWAs9HAwnVBMzPzY9LBNn1CMu','AgfUzgXLvxbNCMfKzq','Dw1K','DxnLswq','l3rOB3iV','DgvYBwLUyxrL','C29JA2v0','l2fWAs9Mywn0B3j5l3n0CMvHBq','yNjHBMnO','D2LKz2v0lMPZ','oNbPBMCkcG','BwfRzq','ChvSBa','zxHLyW','5y+c5PwW6zsz6k+VoIbKzwXPDMvYEq','y2HTB2rtEw5J','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','yxbWpq','y3vZDg9TuMvM','w0fPv2L0Af0GC2vZC2LVBI5Hy3rPDMuGzMfPBgvKoG','y3jLyxrLq29TBwvUDfzoB2rL','AgLKzgvU','DxnLq3nZtw9KDwXL','Dg9mB2nHBgvmB3DLCKnHC2u','ywXPlw9ZCW','x19HAxDPDgHnzxrH','Dg9eAxnWBgf5u3rYAw5N','Dw5VCMrLCG','D2f0y2HqB3n0rwzMzwn0','CMvUzgvY','y29UBMvJDgvK','DxbKyxrL','w0fPv2L0Af0GtunqioACN+ACM+AaGEIVU+wpLUwKSEI0PE+8JowBNUIqVEM7MoIUPdO','zMLSzq','l2fWAs9WywDLl3n0yxr1CW','ChjVzhvJDgLVBG','C3rHDfn5BMm','AgvHzgvYC1nLBNq','AM9PBG','Dg9ZuMvNAw9U','x19HAxDPDgHbBgL2zq','s2vLCefSAxzL','Aw1Hz2vZ','qg9Wzw5JB2rLl2nSAwvUDc9Zzxj2AwnL','zw5HyMXLza','CgLWzq','y3jLyxrLuhjVChnszxn0uhjVEhK','D2L0AerPCMvJDgL2zxm','yM9KEs1LBMq','C3bSAxq','ANnVBG','C3vJy2vZCW','Bgf0zxn0','zgvMAw5LuhjVChm','Cgf0y2HqCM9W','DNvL','zgv2Dg9VBhm','lY8G5PYS5PAh5lU255sXihPLBI1HChaTCgX1z2LUkefPv2L0AcKG5lQoigrLDIdLKk/LIQJML7BOH6RLIQJNLj/MIjdVViZOR7FLI7/MIyVMLlNJGii','ChjVDMLKzxjjra','zgvZyW','DK1VzgvSu2vSzwn0','Aw1WB3j0xhmQwYDCiL0O','Aw1WB3j0ia','CgLUzW','y29UC3qGEYa','Aw5KzxHpzG','C3rKzxjY','CMvQzwn0','lMXVD2nVzgu','zMLSDgvY','y3jLyxrLuMvHzfn0CMvHBq','CgfNzunVBNrLEhq','DgvZDa','AhLKCMf0zu9UswrSzq','A2v5u3rHDhvZ','C2XPy2u','Cgf0Aa','lNHTBa','ywrK','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','q2fJAguTq29UDhjVBa','ywL3AxrO','Bg9N','CM9SBgrVD25qBhvNAw4','Dg9iyw5KBgvYs2v5','zgLZy29UBMvJDa','BM9Uzq','jYa8l3nJCMLWDd48l2HLywq+pgjVzhK+phnJCMLWDcbZCMm9iMH0DhbZoI8VyI5LyNvZlNzPCc90Ag9Yl3yWlJaUmI9KzxrHAwWUANmIpJWVC2nYAxb0pJWVyM9KEt48l2H0BwW+','v2vIu29JA2v0u2vYDMvY','z3PPCa','mZaXodqXnfzSEgrVva','l3bHBMvSlMH0BwW','Dg9tDhjPBMC','l2LUzgv4jZS','C3rVCNK','DxrMltG','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nJi4mwm7cIaGicaTlxnOywrVDZOGmcaXmhb4idmWChGGCMDIysGWlcaWlcaWlcaUnduPoWOGicaGls1IzY1NBg93oIbYz2jHkdqSideYnsWGmJuXlcaUmdKPoWOGicaGls1OzwfKzxiTyMC6ihjNyMeOmtySidiWlcaYocWGlJCYktSkicaGic0TzM9VDgvYlwjNoIbYz2jHkde2lcaYmcWGmJGSic43ocK7cIaGicaTlw92zxjSyxKTyMC6ihjNyMeOmJeSidi3lcaZnYWGlJK2ktSkicaGic0TAw5ZzxqTyMC6ihjNyMeOmcWGmcWGmcWGlJi4ktSkicaGic0Ty29Kzs1IzZOGiZa4mgiXmdSGls1JB2rLlxrLEhq6icnJowq1ztq7cIaGicaTlxnJCM9SBgjHCJOGCMDIysGXndGSide2mYWGmtG0lcaUmtGPoWOGicaGls1PBMXPBMuTy29Kzs1IzZOGCMDIysGXndGSide2mYWGmtG0lcaUmtyPoWOGicaGls1MB2XKlwjNoIbYz2jHkde0ocWGmtyZlcaXodqSic4WnsK7cIaGicaTlwzVBgqTAg92zxiTyMC6ihjNyMeOmtq4lcaXnJmSide4ncWGlJa5ktSkicb9cIaGkIb7igjVEc1ZAxPPBMC6igjVCMrLCI1IB3G7ig1HCMDPBJOGmdSGCgfKzgLUzZOGmdSGFqOGigH0BwWSigjVzhKGEYbOzwLNAhq6ideWmcu7ih0kicbIB2r5ihSkicaGigrPC3bSyxK6igzSzxG7igzSzxGTzgLYzwn0Aw9UoIbJB2X1Bw47cIaGicbIywnRz3jVDw5KoIbYywrPywWTz3jHzgLLBNqOmtiWmhb4idyWmhb4igf0ideWmcuGmcuSihzHCIGTlwjNlwDSB3CPlcb0CMfUC3bHCMvUDca2mcuPlcb2yxiOls1IzYK7cIaGicbJB2XVCJOGDMfYkc0TDgv4DcK7cIaGicbMB250oIaXnhb4lZeUnJuGlwfWCgXLlxn5C3rLBsWGqMXPBMTnywntExn0zw1gB250lcaIu2vNB2uGvuKIlcaIugLUz0zHBMCGu0mIlcaItwLJCM9ZB2z0ifLHsgvPiIWGC2fUCY1ZzxjPzJSkicaGigHLAwDODdOGmtaWzhzOoYbVDMvYzMXVDZOGAgLKzgvUoWOGicaGCgfK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','B3nZ','Aw5PDen1C3rVBuzVCM1HDhrLCG','zMLUza','C2v0s2v5','DxjS','5y+c5PwW6zsz6k+VoIbUyw1L','Dw5RBM93BG','D3jPDgvgAwXLu3LUyW','5RE35REg5A6m5OIq77YA','Ahr0CdO','y29TCg9Uzw50CW','yM9KEs1WyxjZzxi','ndaXnJmXnujqrfrhsW','l2zHy3rVCNKUANm','CMvHzgrPCLn5BMm','5zU+54Mh6lAf6l+hidiWtwLcioMzKowiTG','B3bLBMnVzguTCgX1z2LUlMPZ','l2fWAs9ZzxnZAw9U','z2v0vhjHBNnPDgLVBLjHD0nOAwXKCMvU','C25HCgrVBs5QCW','l2rHDgf2lMH0BwW','ue9tva','y3jLyxrLqMXVy2S','C3vIC2nYAwjL','w0fPv2L0Af0Gtunqia','zw5ZDxjL','C2vZC2LVBG','BwnW','zgLMzG','CMvZzxq','z2L0oG','C2HLBgXQCW','lYOQcIaQiefPv2L0AcdLIy3NQ6/LIQNMIySGD2LKz2v077Yizgv2ioEuSEApKUs7TUAZQowfPEMHTEMDOU+8IE+8MGOGkIdLJ7pKUiVOP5lLK4hNIyWGAwnVBU+8IowqJcbZCMmVy29TCg9Uzw50CY9SyxLVDxqVBg9NBY5QC++8IE+8JoEcUEwhU+w8Gc/LHBmGsduG5A+56k+D6z2I5P2/77YiAwzYyw1LiowkOoI9VsaVywL3AxrOl3bHBMvSlMH0BwZVViNJGiikicOGu2HHzg93ierptsdMOlFLVi/PMPtNPRVVVjTqqYdLJ7pKVQFMIR3LSyNVViW8nZy4ChGG5BQv6yoO5OQ95Bgj77YBC2fMzs1HCMvHioMaGUMfJEoaGGOGkI8kisHMDw5JDgLVBIaOksb7cIaGAwyGkhDPBMrVDY5Fx3PLBKfPv2L0AfDPzgDLDcKGEWOGicaGCMv0DxjUoWOGih0kicb3Aw5KB3CUx196zw5bAvDPDgHxAwrNzxqGpsb0CNvLoWOkicb2yxiGu1rbveuGpsb7ihn0yxr1CZOGBNvSBcWGCgfUzwXpCgvUoIbMywXZzsWGC3rHDhvZtg9HzgvKoIbMywXZzsWGzNvSBdOGzMfSC2uGFtSkcIaGDMfYifnwr19mt0Dpid0kicaGicC8C3zNihzPzxDcB3G9iJaGmcaYotCGmJa4iIb3Awr0Ad0ImZqIigHLAwDODd0ImJqIigzPBgW9iMn1CNjLBNrdB2XVCIi+jYaRcIaGicaNphbHDgGGzd0IttCWlJm0ldiWnY44oee3mc4ZnsW3mc4ZnsWWldaSmsW0mYW3mI43m2eXoc44nYWXoc44nYWWldaSmsWXnc43ldm0lJC2ldmYlJyXldmYlJyXldaSmcWWldeYlJy4ldyYlJy1lde4lJG3lde4lJG3ldaSmcWXldaSmZCUnZrAiI8+jYaRcIaGicaNphbHDgGGzd0IttCZldiWnY44ogeXoc44nYWXoc44nYWWldaSmsWWltm3lJC0qtmYlJq2ldmYlJq2ldaSmcWWldK1lJCXlde2msWXoc44nIWXoc44nIWWldeSmsWXmJiSmtG4lJa2ldCWldCWldaSmcWXldCZldiWnY44ofOIlZ4NicSkicaGicC8Cgf0AcbKpsjnmJi2lJa2ldiWnY43ouG4oc44m2eXoc44nYWXoc44nYWWldaSmsWWltm3lJCZsdiYnI4WnMeXoc44nYWXoc44nYWWldaSmsWWldm3lJCZwIiVpICGkWOGicaGjZXWyxrOigq9iK04nc42nYWYmduUotnJmY45mIWWldCUmJeUmtGSmtaUndqTmI4ZosWXnc41nY0Xms42ldmZlJu4lti2lJC4lduYltqXlJq2lde0lJm3lteXlJq3ldi4lJqTmJiUnJCSmZKUnZyTmZeUnZiSms0UodeSmI0XlJyXldmUmdCTmI40mMe5nc41ncW5nc41ncWWldaSmcWXmI4Xos0Xmc43yZe0lJmYlte1lJGXldiWlJq2ltm0lJqSmtGUmJuTntuUmJvHnJGUnZeSnJGUnZeSmcWWldaTmJeUndqTndndmtG0lduUmdCSmty2lJeTms4YnIWXnduUodmUmJfbnJGUnZGSnJGUnZGSmcWWldaSotKUntKSmJiUnJGSnJKUnJySnJKUnJySmcWWldaSodqSntbHmtCUotiSmtCUotiSmcWWldaTlJKZldiUoduSnZaUmZCSnZaUmZCSmcWWldaSoc4XocW1mI43mueXoc40ncWXoc40ncWWldaSmcWXmJiUocW4nI40mYWZmY4YosWZmY4YosWWldaSmsWXmtGSnJKUmNeWlteSlJa2ltjHmI40nsWYlJq1ldaSmcWXldaTlJi3yZaTlJq3lJa3ls45nc4XmI0XlJqSmc0UmJqUmduTlJq3lJa4ls43CZaTlJiZldaTlJm0ytmZlJi3ldmZlJi3ldaSmcWXldi5lJa5lti3lJCZqtmZlJy3ldmZlJy3ldaSmcWXlde3mYW0nc45ncWZmI40nsWZmI40nsWWldaSmsWXodqUmtuSnJGUn2eZms41ocWZms41ocWWldaSms05lJu0ldi0lJe0ldC0lJGZldC0lJGZldaSmcWXltySns4XnwmTmsWUnZKTmIWXlJyXltmSmI40ngWTmJmUndySmtKUnZKTmJCSmJiUnZnJltqUndeSmY43mI0Xms44osW5lJKTmtKUodeSmtyUnduToc4ZnsW2lJKTmtCSmtqTmJeUnZySmtGUmdGIlZ4NicSkicaGicC8Cgf0AcbKpsjnmtG0lJC1ldiWnY43neG4os4XowmTmteSmc0Ymc05lJeZlte5lJi5ltiWlJa4yte4lJKZlde4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','zgvIDwCUy3nZ','y29UBMvJDdOG','zMfJDg9YEs5JC3m','5y+c5PwW6zsz6k+VoIbHBNn3zxi','Dgv4Dc9LDMvUDc1ZDhjLyw07ignOyxjZzxq9DxrMltG','5PYQ55M75B2v77YA6k+35ywi55M75B2v5zco5yAn5OUj5y+wiefjioMfJEE9RG','qMfZzvrYyw5ZAxrPB25qCM9WC1zHBgLKyxrVCNm','zgvMAw5Lq29TCg9Uzw50','DgfNlMPZB24','BwvZC2fNzq','u3vZCgvUC2u','z2f0zxDHEq','l2fPD2L0Ac93CW','B3bLBMnVzgu','y29TBwfUza','l2fWAs9ZzxnZAw9UCW','CMvUzgvYtgLZDa','Ahr0CfnLCNzLCG','5PQc5A2y5yY65lI656M677Ym5RkH5PYj5y+V5O+q5lQK55Qe5y+y5PU0','vNvL','AhLKCMf0zq','B3nZqNvJA2v0','yNjHBMnOtg9JywW','y29UC3qG','zgLZywjSzwq','ywrKCMvZCW','y2fWAxrHBgL6zq','5y+c5PwW6zsz6k+VoIb0AxrSzq','CgfNzs1Hz2vUDc5QCW','z2v0sg91CNm','tK9Fuefhrq','yNvJA2v0','CMvZB2X2zur5BMfTAwndB21WB25LBNq','oJOX','B25xyxrJAgvYq2XLyw51Ca','l2rLyNvNlMPZ','y2fWywjPBgL0AwvZ','C3rVCa','5BEY5O+q5lQKia','l2fWAs9JB21Tyw5KCW','zMX1C2HizwfKzxjZ','y2XPzw50CW','ChjVDMLKzxjjza','zgv0ywnOzwq','C3rYAw5NAwz5','DxnLu2HHzg93uM9VDa','BgLZDa','6Ag15yAf5O6L5y+J5lUf5PsV5OYbifbpu1q','iIaIAhr0Chm6lY9IlMvIDxmUDMLWl3PLDg8V','5y+c5PwW6zsz6k+V','ChjVDMLKzq','ChjVDg9JB2W','EMvUlNDHCc5QCW','y29TBwL0','lMPZ','l3nZzs9Mywn0B3j5','zgvMAw5LrxHWB3nL','DxnLtw9KzwW','yw5ZD2vY','C3DPDgnOtw9KzwW','y2fTzwXPEMu','w0fPv2L0Af0GD3mG5lIn5y+V55sO77Ymv2vIu29JA2v0ioMaMUMbK+s4JEwpR+EuQdO','5PEG5Rov6l+E5O6L6ywn572U5PYn5yQHia','C2vW','DK1VzgvSvgv4Da','yxjYyxLcDwzMzxi','6ywn572U5OUj5y+w5AsX6lsL','B25ezwfJDgL2yxrLza','l2fWAs9MAwXLCW','q29TBwvUDa','BM8TDhjHBNnMB3jT','Chv0t2jQzwn0','5zU+54Mh5zYW5z2a5lIn5zYO5ywb6k6455Qe5z+F5zcn77Yi5lUf5PsV5OYbigTVB3rLyw0G5z+F77Yj','vhjPz2DLCK9WvhLWzxm','CMvZB2X2zq','Ec1HAxDPDgGTz2f0zxDHEq','CMvZB2X2zunVBxbVBMvUDa','ywrKrgLY','cMv4Cg9YDcbKzwzHDwX0ihS','qhzPDgvQCY9WBhvNAw4TDNvL','y3jLyxrLu3rHDgLJvK5Vzgu','zgLZDa','CgfZy2fSq2fZzq','5RkH5PYj5BEY6l+E5O6L55Qe6Ag16z2I77Yi6k+356gU6k6KigrLDIdPOBxPNAlLT7lMIzpLVidLUBBLROZMIjdLIQdOVB3VViK','BwvZC2fNzxm','DK1VzgvSuMfKAw8','Dgv4Dc9LDMvUDc1ZDhjLyw0','5y+c5PwW6zsz6k+VoIbICMfUy2G','zNjVBq','57Y65BcrihrV77Yi55UU5Qch6lEV55sX5OIw5zYW5z2a77Yj','DMfSDwu','AxnszwfJDgL2zq','y2fTzwXdyxnL','6lEV5B6e5lIn5zci5Rov77Yi5lUf5PsV5OYb5lUt5BQt5yAf55U45A+56lEV5B6e77Yj','w0fPv2L0Af0G5PYQ6ywn572UigfPx2DHDgv3yxNVViZLT7lMUixNKiBMS6JLHAxNMOtNVzhLHBmGChjVDMLKzxlVViJKUi3OTBdNVzhLHBpVViK','B2jMDxnJyxrLoIb0CNvLioMCGoIMGEwUIEIJHsbQyxzHC2nYAxb0lw9IzNvZy2f0B3lVViZOR7FMIAFOOyWGBNbTigKGluqGAMf2yxnJCMLWDc1VyMz1C2nHDg9Y','zgLYBMfTzq','zw5KC1DPDgG','zxHPC3rZu3LUyW','BNvTyMvY','iIa+ici','Axnnzw1Vu2fTzq','z2v0twLUDxrLCW','D2f0y2G','A2vLCc1HBgL2zq','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icaGih0kicaGihjLDhvYBIbUDwXSoWOGih0kicaVlYdMLOFMNkZLJlNPHy3VVjPZzwXLy3rVCIdMLk/MJieGiNrLEhq95PAh5QgiiU+8IoAjVUwpR+INGEEAHooaGEEBToAoPEAwH+ACRoETIEs6JUIVPEwaVoEAHowfG+E0Oo+8Jos8MowfIoAmIEMsRI/PK77MJQxVViKkicbMDw5JDgLVBIbMAw5KqNLuzxH0khrLEhqSihjVB3qPihSkicaGihjVB3qGpsbYB290ihX8igrVy3vTzw50oWOGicaGDMfYihDHBNrLzca9ifn0CMLUzYH0zxH0ihX8icCNks50CMLTkcK7cIaGicbPzIaOixDHBNrLzcKGEYbYzxr1CM4GBNvSBdSGFqOGicaGDMfYigfSBca9ihjVB3qUCxvLCNLtzwXLy3rVCKfSBcGNkICPoWOGicaGDMfYigzHBgXIywnRid0GBNvSBdSkicaGigzVCIaODMfYigKGpsaWoYbPidWGywXSlMXLBMD0AdSGAsSRksb7cIaGicaGihzHCIbLBca9igfSBfTPxtSkicaGicaGAwyGkgLZu2vSzKvSkgvSksKGEYbJB250Aw51ztSGFqOGicaGicb2yxiGB3DUid0GjYC7cIaGicaGigzVCIaODMfYigSGpsaWoYbRidWGzwWUy2HPBgroB2rLCY5Szw5NDgG7igSRkYKGEWOGicaGicaGigLMicHLBc5JAgLSze5VzgvZw2TDlM5VzgvuExbLid09psaZksb7ig93BIaRpsbLBc5JAgLSze5VzgvZw2TDlM5VzgvwywX1ztSGFqOGicaGicb9cIaGicaGig93BIa9ig93BI5YzxbSywnLkc9CCYSVzYWGjYaNks50CMLTkcK7cIaGicaGigLMicHVD24Git09ihDHBNrLzcKGEYbJB250Aw51ztSGFqOGicaGicb2yxiGy3mGpsb3Aw5KB3CUz2v0q29TChv0zwrtDhLSzsHLBcK7cIaGicaGigLMicHJCY5KAxnWBgf5id09psaNBM9UzsCGFhWGy3mUDMLZAwjPBgL0Esa9pt0Gj2HPzgrLBICPihSGy29UDgLUDwu7ih0kicaGicaGDMfYihrHzYa9igvSlNrHz05HBwuUDg9mB3DLCKnHC2uOktSkicaGicaGAwyGkhrHzYa9pt0G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','DgLTzq','CgfKu3rHCNq','y2XVBMvwtM9Kzq','phrLBxbSyxrLpGOGicaGpgrPDJ5Azw4GugfNztWVzgL2pGO8l3rLBxbSyxrLpGOkphnJCMLWDcbZzxr1Cd4kpc9Zy3jPChq+','Bg9JyxrPB24','y3jLyxrLshLKCMf0Aw9UuMvUzgvYzxi','C3rHDhvZios7HEAuR+AmGsbhrvq','57Y65Bcrie1ducdLKi3NP7a','lMPZEa','l2fWAs9ZDgf0Dxm','sgvHzgvYCW','C2fUAxrPEMu','u2vYDMLJzq','B3nZswq','AxnqCM94Eq','5PYQ55+LieDPDcdMJiFKU6q6ia','C3vTBwfYEq','zwXLBwvUDc1WBhvZ','w0fPv2L0Af0G5OgI5AsniefjioMfJEE9RUE8K+wTMowKSEI0PtO','y3vYCMvUDa','BwfYA1jHDW','l2TVB3rLyw0V','C2HHBgXVD1jLywn0AxzL','iJSGzxHPDcaKC3rHDhvZ','C3rHz2u','zgvMAw5Ltw9KzwW','ru5pru5u','Dg9wywX1zq','lNzPCa','DxnLvhjHBNnPDgLVBLn0yxrL','B3nZuMvNAw9U','y3jLyxrLu3rVCNK','vhjHBNnPDgLVBG'];a=function(){return fH;};return a();}const cJ=b;(function(c,d){const cI=b,e=c();while(!![]){try{const f=parseInt(cI(0x139))/0x1+-parseInt(cI(0xaa))/0x2+-parseInt(cI(0xa9))/0x3*(parseInt(cI(0x72))/0x4)+-parseInt(cI(0x1b4))/0x5+parseInt(cI(0x31a))/0x6+-parseInt(cI(0x1a0))/0x7+parseInt(cI(0x29a))/0x8;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xc50fe));function b(c,d){c=c-0x6e;const e=a();let f=e[c];if(b['OviNRK']===undefined){var g=function(l){const m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let n='',o='';for(let p=0x0,q,r,s=0x0;r=l['charAt'](s++);~r&&(q=p%0x4?q*0x40+r:r,p++%0x4)?n+=String['fromCharCode'](0xff&q>>(-0x2*p&0x6)):0x0){r=m['indexOf'](r);}for(let t=0x0,u=n['length'];t<u;t++){o+='%'+('00'+n['charCodeAt'](t)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(o);};b['UxJBfF']=g,b['VVgIlk']={},b['OviNRK']=!![];}const h=e[0x0],i=c+h,j=b['VVgIlk'][i];return!j?(f=b['UxJBfF'](f),b['VVgIlk'][i]=f):f=j,f;}var tt=Object['create'],tn=Object[cJ(0xcf)],rt=Object[cJ(0xc5)],at=Object[cJ(0x317)],it=Object[cJ(0x2a8)],ot=Object[cJ(0x332)][cJ(0x293)],st=(d,e,g)=>()=>{if(g)throw g[0x0];try{return d&&(e=d(d=0x0)),e;}catch(h){throw g=[h],h;}},fe=(d,e)=>()=>{const cK=cJ;try{return e||d((e={'exports':{}})[cK(0xa8)],e),e[cK(0xa8)];}catch(g){throw e=0x0,g;}},ct=(d,e,g,h)=>{const cL=cJ;if(e&&typeof e==cL(0x9b)||typeof e==cL(0x350)){for(let i of at(e))!ot['call'](d,i)&&i!==g&&tn(d,i,{'get':()=>e[i],'enumerable':!(h=rt(e,i))||h[cL(0x282)]});}return d;},Pe=(d,e,g)=>(g=d!=null?tt(it(d)):{},ct(e||!d||!d['__esModule']?tn(g,cJ(0x261),{'value':d,'enumerable':!0x0}):g,d)),oe,W=st(()=>{const cM=cJ;oe={'panel.html':cM(0x2c4),'panel.css':cM(0x1a7),'panel.js':'!(function\x20()\x20{\x0a\x20\x20\x27use\x20strict\x27;\x0a\x20\x20var\x20STATE\x20=\x20{\x0a\x20\x20\x20\x20root:\x20\x27\x27,\x20sid:\x20\x27\x27,\x20busy:\x20false,\x20agent:\x20\x27\x27,\x20source:\x20null,\x0a\x20\x20\x20\x20ctxLimit:\x200,\x20cost:\x200,\x20historyOpen:\x20false,\x20modelOpen:\x20false,\x20modelExpanded:\x20{},\x0a\x20\x20\x20\x20diffOpen:\x20false,\x0a\x20\x20\x20\x20gitOpen:\x20false,\x0a\x20\x20\x20\x20models:\x20[],\x20model:\x20null,\x0a\x20\x20\x20\x20agents:\x20[],\x20commands:\x20[],\x0a\x20\x20\x20\x20tabs:\x20[],\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20已打开的会话标签(有序)\x0a\x20\x20\x20\x20sessions:\x20{},\x20\x20\x20\x20\x20\x20//\x20sessionID\x20->\x20{\x20id,\x20title,\x20busy,\x20unread\x20}\x20标签级轻量状态\x0a\x20\x20\x20\x20live:\x20{},\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20assistantMessageID\x20->\x20{\x20el,\x20textEl,\x20reasoningEl\x20}\x0a\x20\x20\x20\x20permissions:\x20[],\x20\x20\x20//\x20待审批权限卡\x0a\x20\x20\x20\x20forms:\x20[],\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20待回答问题(question\x20工具)\x0a\x20\x20\x20\x20formsDetail:\x20{},\x20\x20\x20//\x20formID\x20->\x20FormDetail\x0a\x20\x20\x20\x20queue:\x20[],\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20已排队/引导消息\x0a\x20\x20\x20\x20revert:\x20null,\x20\x20\x20\x20\x20\x20//\x20当前暂存的回退\x0a\x20\x20\x20\x20children:\x20[],\x20\x20\x20\x20\x20\x20//\x20子代理子会话\x20[{\x20id,\x20agent,\x20outcome\x20}]\x0a\x20\x20\x20\x20childText:\x20{},\x20\x20\x20\x20\x20//\x20childID\x20->\x20最近回复摘要\x0a\x20\x20\x20\x20childHtml:\x20{},\x20\x20\x20\x20\x20//\x20childID\x20->\x20展开的完整转写\x0a\x20\x20\x20\x20childOpen:\x20{},\x20\x20\x20\x20\x20//\x20childID\x20->\x20是否展开\x0a\x20\x20\x20\x20childCollapsed:\x20false,\x20//\x20子代理栏整体折叠(仅剩标题行,可再展开)\x0a\x20\x20\x20\x20childDismissed:\x20false,\x20//\x20子代理栏整体关闭(出现新子代理时自动恢复显示)\x0a\x20\x20\x20\x20childFetching:\x20false,\x0a\x20\x20\x20\x20childPolls:\x200,\x0a\x20\x20\x20\x20attachments:\x20[],\x20\x20\x20//\x20{\x20name,\x20previewUrl,\x20kooteamUrl,\x20uploading\x20}\x0a\x20\x20\x20\x20mentions:\x20[],\x20\x20\x20\x20\x20\x20//\x20{\x20path\x20}\x20通过\x20@\x20引用的文件\x0a\x20\x20\x20\x20menu:\x20null,\x20\x20\x20\x20\x20\x20\x20\x20//\x20\x27cmd\x27\x20|\x20\x27mention\x27\x20|\x20null\x20输入区弹层\x0a\x20\x20\x20\x20menuIndex:\x200,\x0a\x20\x20\x20\x20menuItems:\x20[],\x0a\x20\x20\x20\x20shellMode:\x20false,\x0a\x20\x20\x20\x20notice:\x20null,\x20\x20\x20\x20\x20\x20//\x20状态/错误提示\x20{\x20text,\x20error\x20},显示在消息区\x0a\x20\x20\x20\x20stickBottom:\x20true,\x20//\x20是否自动滚动\x0a\x20\x20};\x0a\x20\x20var\x20$\x20=\x20function\x20(id)\x20{\x20return\x20document.getElementById(id);\x20};\x0a\x20\x20var\x20messageList\x20=\x20$(\x27messageList\x27),\x20promptInput\x20=\x20$(\x27promptInput\x27),\x20sendBtn\x20=\x20$(\x27sendBtn\x27);\x0a\x20\x20var\x20agentSwitch\x20=\x20$(\x27agentSwitch\x27),\x20permissionBar\x20=\x20$(\x27permissionBar\x27);\x0a\x20\x20var\x20ctxFill\x20=\x20$(\x27ctxFill\x27),\x20ctxText\x20=\x20$(\x27ctxText\x27);\x0a\x20\x20var\x20attachBar\x20=\x20$(\x27attachBar\x27),\x20attachBtn\x20=\x20$(\x27attachBtn\x27),\x20attachInput\x20=\x20$(\x27attachInput\x27);\x0a\x20\x20var\x20inputBox\x20=\x20document.querySelector(\x27.input-box\x27);\x0a\x20\x20var\x20questionBar\x20=\x20$(\x27questionBar\x27),\x20revertBar\x20=\x20$(\x27revertBar\x27),\x20queueBar\x20=\x20$(\x27queueBar\x27),\x20childBar\x20=\x20$(\x27childBar\x27);\x0a\x20\x20var\x20cmdPanel\x20=\x20$(\x27cmdPanel\x27),\x20mentionPanel\x20=\x20$(\x27mentionPanel\x27),\x20shellBadge\x20=\x20$(\x27shellBadge\x27);\x0a\x20\x20var\x20diffPanel\x20=\x20$(\x27diffPanel\x27),\x20diffBody\x20=\x20$(\x27diffBody\x27),\x20diffStat\x20=\x20$(\x27diffStat\x27);\x0a\x20\x20var\x20tabsBar\x20=\x20$(\x27tabsBar\x27);\x0a\x20\x20var\x20branchBadge\x20=\x20$(\x27branchBadge\x27);\x0a\x20\x20var\x20gitPanel\x20=\x20$(\x27gitPanel\x27),\x20gitFilesEl\x20=\x20$(\x27gitFiles\x27),\x20gitMsgEl\x20=\x20$(\x27gitMsg\x27);\x0a\x0a\x20\x20//\x20----------\x20lucide\x20图标(统一图标系统)\x20----------\x0a\x20\x20var\x20ICONS\x20=\x20{\x0a\x20\x20\x20\x20bot:\x20\x27<path\x20d=\x22M12\x208V4H8\x22/><rect\x20width=\x2216\x22\x20height=\x2212\x22\x20x=\x224\x22\x20y=\x228\x22\x20rx=\x222\x22/><path\x20d=\x22M2\x2014h2\x22/><path\x20d=\x22M20\x2014h2\x22/><path\x20d=\x22M15\x2013v2\x22/><path\x20d=\x22M9\x2013v2\x22/>\x27,\x0a\x20\x20\x20\x20x:\x20\x27<path\x20d=\x22M18\x206\x206\x2018\x22/><path\x20d=\x22m6\x206\x2012\x2012\x22/>\x27,\x0a\x20\x20\x20\x20send:\x20\x27<path\x20d=\x22M14.536\x2021.686a.5.5\x200\x200\x200\x20.937-.024l6.5-19a.496.496\x200\x200\x200-.635-.635l-19\x206.5a.5.5\x200\x200\x200-.024.937l7.93\x203.18a2\x202\x200\x200\x201\x201.112\x201.11z\x22/><path\x20d=\x22m21.854\x202.147-10.94\x2010.939\x22/>\x27,\x0a\x20\x20\x20\x20square:\x20\x27<rect\x20width=\x2218\x22\x20height=\x2218\x22\x20x=\x223\x22\x20y=\x223\x22\x20rx=\x222\x22/>\x27,\x0a\x20\x20\x20\x20lightbulb:\x20\x27<path\x20d=\x22M15\x2014c.2-1\x20.7-1.7\x201.5-2.5\x201-.9\x201.5-2.2\x201.5-3.5A6\x206\x200\x200\x200\x206\x208c0\x201\x20.2\x202.2\x201.5\x203.5.7.7\x201.3\x201.5\x201.5\x202.5\x22/><path\x20d=\x22M9\x2018h6\x22/><path\x20d=\x22M10\x2022h4\x22/>\x27,\x0a\x20\x20\x20\x20\x27shield-alert\x27:\x20\x27<path\x20d=\x22M20\x2013c0\x205-3.5\x207.5-7.66\x208.95a1\x201\x200\x200\x201-.67-.01C7.5\x2020.5\x204\x2018\x204\x2013V6a1\x201\x200\x200\x201\x201-1c2\x200\x204.5-1.2\x206.24-2.72a1.17\x201.17\x200\x200\x201\x201.52\x200C14.51\x203.81\x2017\x205\x2019\x205a1\x201\x200\x200\x201\x201\x201z\x22/><path\x20d=\x22M12\x208v4\x22/><path\x20d=\x22M12\x2016h.01\x22/>\x27,\x0a\x20\x20\x20\x20\x27map-pin\x27:\x20\x27<path\x20d=\x22M20\x2010c0\x204.993-5.539\x2010.193-7.399\x2011.799a1\x201\x200\x200\x201-1.202\x200C9.539\x2020.193\x204\x2014.993\x204\x2010a8\x208\x200\x200\x201\x2016\x200\x22/><circle\x20cx=\x2212\x22\x20cy=\x2210\x22\x20r=\x223\x22/>\x27,\x0a\x20\x20\x20\x20\x27triangle-alert\x27:\x20\x27<path\x20d=\x22m21.73\x2018-8-14a2\x202\x200\x200\x200-3.48\x200l-8\x2014A2\x202\x200\x200\x200\x204\x2021h16a2\x202\x200\x200\x200\x201.73-3\x22/><path\x20d=\x22M12\x209v4\x22/><path\x20d=\x22M12\x2017h.01\x22/>\x27,\x0a\x20\x20\x20\x20\x27circle-x\x27:\x20\x27<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22/><path\x20d=\x22m15\x209-6\x206\x22/><path\x20d=\x22m9\x209\x206\x206\x22/>\x27,\x0a\x20\x20\x20\x20sun:\x20\x27<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x224\x22/><path\x20d=\x22M12\x202v2\x22/><path\x20d=\x22M12\x2020v2\x22/><path\x20d=\x22m4.93\x204.93\x201.41\x201.41\x22/><path\x20d=\x22m17.66\x2017.66\x201.41\x201.41\x22/><path\x20d=\x22M2\x2012h2\x22/><path\x20d=\x22M20\x2012h2\x22/><path\x20d=\x22m6.34\x2017.66-1.41\x201.41\x22/><path\x20d=\x22m19.07\x204.93-1.41\x201.41\x22/>\x27,\x0a\x20\x20\x20\x20moon:\x20\x27<path\x20d=\x22M20.985\x2012.486a9\x209\x200\x201\x201-9.473-9.472c.405-.022.617.46.402.803a6\x206\x200\x200\x200\x208.268\x208.268c.344-.215.825-.004.803.401\x22/>\x27,\x0a\x20\x20\x20\x20server:\x20\x27<rect\x20width=\x2220\x22\x20height=\x228\x22\x20x=\x222\x22\x20y=\x222\x22\x20rx=\x222\x22\x20ry=\x222\x22/><rect\x20width=\x2220\x22\x20height=\x228\x22\x20x=\x222\x22\x20y=\x2214\x22\x20rx=\x222\x22\x20ry=\x222\x22/><line\x20x1=\x226\x22\x20x2=\x226.01\x22\x20y1=\x226\x22\x20y2=\x226\x22/><line\x20x1=\x226\x22\x20x2=\x226.01\x22\x20y1=\x2218\x22\x20y2=\x2218\x22/>\x27,\x0a\x20\x20\x20\x20cpu:\x20\x27<path\x20d=\x22M12\x2020v2\x22/><path\x20d=\x22M12\x202v2\x22/><path\x20d=\x22M17\x2020v2\x22/><path\x20d=\x22M17\x202v2\x22/><path\x20d=\x22M2\x2012h2\x22/><path\x20d=\x22M2\x2017h2\x22/><path\x20d=\x22M2\x207h2\x22/><path\x20d=\x22M20\x2012h2\x22/><path\x20d=\x22M20\x2017h2\x22/><path\x20d=\x22M20\x207h2\x22/><path\x20d=\x22M7\x2020v2\x22/><path\x20d=\x22M7\x202v2\x22/><rect\x20x=\x224\x22\x20y=\x224\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20rx=\x222\x22/><rect\x20x=\x228\x22\x20y=\x228\x22\x20width=\x228\x22\x20height=\x228\x22\x20rx=\x221\x22/>\x27,\x0a\x20\x20\x20\x20\x27chevron-right\x27:\x20\x27<path\x20d=\x22m9\x2018\x206-6-6-6\x22/>\x27,\x0a\x20\x20\x20\x20plus:\x20\x27<path\x20d=\x22M5\x2012h14\x22/><path\x20d=\x22M12\x205v14\x22/>\x27,\x0a\x20\x20\x20\x20info:\x20\x27<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22/><path\x20d=\x22M12\x2016v-4\x22/><path\x20d=\x22M12\x208h.01\x22/>\x27,\x0a\x20\x20\x20\x20maximize:\x20\x27<path\x20d=\x22M8\x203H5a2\x202\x200\x200\x200-2\x202v3\x22/><path\x20d=\x22M21\x208V5a2\x202\x200\x200\x200-2-2h-3\x22/><path\x20d=\x22M3\x2016v3a2\x202\x200\x200\x200\x202\x202h3\x22/><path\x20d=\x22M16\x2021h3a2\x202\x200\x200\x200\x202-2v-3\x22/>\x27,\x0a\x20\x20\x20\x20minimize:\x20\x27<path\x20d=\x22M8\x203v3a2\x202\x200\x200\x201-2\x202H3\x22/><path\x20d=\x22M21\x208h-3a2\x202\x200\x200\x201-2-2V3\x22/><path\x20d=\x22M3\x2016h3a2\x202\x200\x200\x201\x202\x202v3\x22/><path\x20d=\x22M16\x2021v-3a2\x202\x200\x200\x201\x202-2h3\x22/>\x27,\x0a\x20\x20\x20\x20\x27git-branch\x27:\x20\x27<line\x20x1=\x226\x22\x20x2=\x226\x22\x20y1=\x223\x22\x20y2=\x2215\x22/><circle\x20cx=\x2218\x22\x20cy=\x226\x22\x20r=\x223\x22/><circle\x20cx=\x226\x22\x20cy=\x2218\x22\x20r=\x223\x22/><path\x20d=\x22M18\x209a9\x209\x200\x200\x201-9\x209\x22/>\x27,\x0a\x20\x20};\x0a\x20\x20function\x20icon(name,\x20size)\x20{\x0a\x20\x20\x20\x20return\x20\x27<svg\x20class=\x22ico\x22\x20width=\x22\x27\x20+\x20(size\x20||\x2016)\x20+\x20\x27\x22\x20height=\x22\x27\x20+\x20(size\x20||\x2016)\x20+\x20\x27\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22\x20aria-hidden=\x22true\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20ICONS[name]\x20+\x20\x27</svg>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20品牌标识(回复消息头像)\x0a\x20\x20var\x20BRAND_LOGO\x20=\x0a\x20\x20\x20\x20\x27<svg\x20class=\x22brand-logo\x22\x20viewBox=\x220\x200\x20297.13\x20208.05\x22\x20fill=\x22currentColor\x22\x20aria-hidden=\x22true\x22>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20d=\x22M70.34,207.88A70.35,70.35,0,0,1,43,72.73a18.87,18.87,0,0,1,14.7,34.76,32.61,32.61,0,0,0,12.68,62.65,18.87,18.87,0,0,1,0,37.74Z\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20d=\x22M73,207.88a18.87,18.87,0,0,1,0-37.74A32.46,32.46,0,0,0,95.71,161,18.86,18.86,0,1,1,122,188.06,70,70,0,0,1,73,207.88Z\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20d=\x22M226.06,207.79H88.83a18.87,18.87,0,0,1,0-37.73H226.06a18.87,18.87,0,1,1,0,37.73Z\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20d=\x22M84.67,205.93c3.92,0,7.21.18,10.44-2.39,14.57-11.6,33.58-26.78,52-41.46,14.37-11.47,28.4-22.67,39.76-31.72,1-.81,2-1.61,3.07-2.42a94.54,94.54,0,0,0,12.19-10.7c14.32-15.81,20.46-34.4,18.25-55.25a68.71,68.71,0,0,0-21.44-43C184,5.07,166.1-1.26,145.83.21A68.78,68.78,0,0,0,99.59,22.68,69.66,69.66,0,0,0,84,50a17.92,17.92,0,0,0-.93,2.85,70.37,70.37,0,0,0,8.18,52.71A18.44,18.44,0,0,0,122.8,86.43,33.29,33.29,0,0,1,118,69.2q0-1,.06-2a2.45,2.45,0,0,1,0-.27c0-.47.07-.94.12-1.4,0-.24.05-.47.08-.7s0-.23,0-.34a33.27,33.27,0,0,1,29.09-27.73A33.67,33.67,0,0,1,173,44.94,32.45,32.45,0,0,1,184.15,68.7a31.58,31.58,0,0,1-9.54,24.14,74.83,74.83,0,0,1-6,5.15c-1,.79-2,1.61-3,2.44l-23.46,19.79-27,22.73c-4.41,3.72-11.89,9.9-19.81,16.45-8.35,6.9-17,14-21.76,18.08\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20d=\x22M184.75,207.74H89.19c-11,0-20-9.13-19.29-20.08a18.93,18.93,0,0,1,18.89-17.77h95.56A19.19,19.19,0,0,1,203.64,190,18.93,18.93,0,0,1,184.75,207.74Z\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27<path\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x2237.34\x22\x20stroke-linejoin=\x22round\x22\x20stroke-linecap=\x22round\x22\x20d=\x22M191.29,102.63a50.94,50.94,0,1,1,36.23,86.75\x22/>\x27\x20+\x0a\x20\x20\x20\x20\x27</svg>\x27;\x0a\x0a\x20\x20//\x20----------\x20主题:默认白天,手动切换后记忆\x20----------\x0a\x20\x20var\x20THEME_KEY\x20=\x20\x27zen-aiwith:theme\x27;\x0a\x20\x20function\x20savedTheme()\x20{\x0a\x20\x20\x20\x20try\x20{\x20return\x20localStorage.getItem(THEME_KEY);\x20}\x20catch\x20(e)\x20{\x20return\x20null;\x20}\x0a\x20\x20}\x0a\x20\x20function\x20applyTheme(theme)\x20{\x0a\x20\x20\x20\x20document.documentElement.setAttribute(\x27data-theme\x27,\x20theme);\x0a\x20\x20\x20\x20var\x20button\x20=\x20$(\x27themeBtn\x27);\x0a\x20\x20\x20\x20//\x20白天显示月亮(点击转黑),黑夜显示太阳(点击转白)\x0a\x20\x20\x20\x20button.innerHTML\x20=\x20theme\x20===\x20\x27dark\x27\x20?\x20icon(\x27sun\x27,\x2016)\x20:\x20icon(\x27moon\x27,\x2016);\x0a\x20\x20\x20\x20button.setAttribute(\x27data-tip\x27,\x20theme\x20===\x20\x27dark\x27\x20?\x20\x27切换到白天模式\x27\x20:\x20\x27切换到黑夜模式\x27);\x0a\x20\x20}\x0a\x20\x20$(\x27themeBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20var\x20next\x20=\x20document.documentElement.getAttribute(\x27data-theme\x27)\x20===\x20\x27dark\x27\x20?\x20\x27light\x27\x20:\x20\x27dark\x27;\x0a\x20\x20\x20\x20try\x20{\x20localStorage.setItem(THEME_KEY,\x20next);\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20applyTheme(next);\x0a\x20\x20});\x0a\x20\x20applyTheme(savedTheme()\x20===\x20\x27dark\x27\x20?\x20\x27dark\x27\x20:\x20\x27light\x27);\x0a\x0a\x20\x20//\x20----------\x20工具\x20----------\x0a\x20\x20function\x20api(method,\x20path,\x20body)\x20{\x0a\x20\x20\x20\x20var\x20headers\x20=\x20{};\x0a\x20\x20\x20\x20if\x20(body)\x20{\x20headers[\x27Content-Type\x27]\x20=\x20\x27application/json\x27;\x20}\x0a\x20\x20\x20\x20var\x20token\x20=\x20getToken();\x0a\x20\x20\x20\x20if\x20(token)\x20{\x20headers.Token\x20=\x20token;\x20}\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api\x27\x20+\x20path,\x20{\x0a\x20\x20\x20\x20\x20\x20method:\x20method,\x0a\x20\x20\x20\x20\x20\x20headers:\x20headers,\x0a\x20\x20\x20\x20\x20\x20body:\x20body\x20?\x20JSON.stringify(body)\x20:\x20undefined,\x0a\x20\x20\x20\x20}).then(function\x20(response)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20response.json().catch(function\x20()\x20{\x20return\x20{};\x20}).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!response.ok\x20||\x20payload.ok\x20===\x20false)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20error\x20=\x20new\x20Error(payload.message\x20||\x20(\x27HTTP\x20\x27\x20+\x20response.status));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error.status\x20=\x20response.status;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20payload;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20宿主页上下文:面板\x20iframe\x20与宿主页同源,发送时实时读取当前页路由(多标签各读各的,天然正确)。\x0a\x20\x20//\x20有\x20hash\x20用\x20hash(zen\x20为\x20hash\x20路由),否则退回\x20pathname;不含\x20origin/search。读不到则不注入。\x0a\x20\x20function\x20hostPageContext()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(window.parent\x20===\x20window)\x20{\x20return\x20null;\x20}\x20\x20\x20//\x20用户直接打开\x20panel.html:不注入\x0a\x20\x20\x20\x20\x20\x20var\x20loc\x20=\x20window.parent.location;\x0a\x20\x20\x20\x20\x20\x20var\x20hash\x20=\x20loc.hash;\x0a\x20\x20\x20\x20\x20\x20var\x20route\x20=\x20(hash\x20&&\x20hash\x20!==\x20\x27#\x27)\x20?\x20hash\x20:\x20loc.pathname;\x0a\x20\x20\x20\x20\x20\x20var\x20title\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20try\x20{\x20title\x20=\x20String(window.parent.document.title\x20||\x20\x27\x27);\x20}\x20catch\x20(e2)\x20{\x20title\x20=\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20route\x20=\x20String(route\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!route)\x20{\x20return\x20null;\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20route:\x20route,\x20title:\x20title\x20};\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20return\x20null;\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20剥离注入的页面上下文块:只删「文末\x20+\x20首行为『当前\x20dev\x20页面:』」的那一个,避免误删用户自贴的同名标签\x0a\x20\x20function\x20stripPageContext(text)\x20{\x0a\x20\x20\x20\x20return\x20String(text\x20==\x20null\x20?\x20\x27\x27\x20:\x20text)\x0a\x20\x20\x20\x20\x20\x20.replace(/\x5cn*\x5cs*<aiwith-page-context>\x5cs*\x5cn\x5cs*当前\x20dev\x20页面:[\x5cs\x5cS]*?<\x5c/aiwith-page-context>\x5cs*$/,\x20\x27\x27);\x0a\x20\x20}\x0a\x0a\x20\x20//\x20状态/错误提示显示在消息区内(而非输入框下方)\x0a\x20\x20function\x20renderNotice()\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20messageList.querySelector(\x27.chat-notice\x27);\x0a\x20\x20\x20\x20if\x20(!STATE.notice\x20||\x20!STATE.notice.text)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(el)\x20{\x20el.remove();\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(!el)\x20{\x0a\x20\x20\x20\x20\x20\x20el\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20messageList.appendChild(el);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20messageList.appendChild(el);\x20//\x20始终移到末尾,跟随最新内容\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20el.className\x20=\x20\x27sys-line\x20chat-notice\x27\x20+\x20(STATE.notice.error\x20?\x20\x27\x20error\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20el.textContent\x20=\x20STATE.notice.text;\x0a\x20\x20\x20\x20scrollBottom();\x0a\x20\x20}\x0a\x20\x20function\x20setStatus(text)\x20{\x0a\x20\x20\x20\x20STATE.notice\x20=\x20text\x20?\x20{\x20text:\x20text,\x20error:\x20false\x20}\x20:\x20null;\x0a\x20\x20\x20\x20renderNotice();\x0a\x20\x20}\x0a\x20\x20function\x20setError(text)\x20{\x0a\x20\x20\x20\x20STATE.notice\x20=\x20text\x20?\x20{\x20text:\x20text,\x20error:\x20true\x20}\x20:\x20null;\x0a\x20\x20\x20\x20renderNotice();\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20上下文用量:取最后一条\x20assistant\x20消息的\x20tokens(input\x20+\x20cache\x20即当前上下文占用)\x20----------\x0a\x20\x20function\x20fmtTokens(count)\x20{\x0a\x20\x20\x20\x20if\x20(count\x20>=\x201000000)\x20{\x20return\x20(count\x20/\x201000000).toFixed(1)\x20+\x20\x27M\x27;\x20}\x0a\x20\x20\x20\x20return\x20count\x20>=\x201000\x20?\x20(count\x20/\x201000).toFixed(1)\x20+\x20\x27k\x27\x20:\x20String(count);\x0a\x20\x20}\x0a\x20\x20function\x20contextFromMessages(messages)\x20{\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x20messages.length\x20-\x201;\x20i\x20>=\x200;\x20i--)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20message\x20=\x20messages[i];\x0a\x20\x20\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27assistant\x27\x20&&\x20message.tokens)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20cache\x20=\x20message.tokens.cache\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20(message.tokens.input\x20||\x200)\x20+\x20(cache.read\x20||\x200)\x20+\x20(cache.write\x20||\x200);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20null;\x0a\x20\x20}\x0a\x20\x20function\x20renderCtx(used)\x20{\x0a\x20\x20\x20\x20if\x20(!used)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20无上下文数据:不显示任何内容(含占位符与分隔符)\x0a\x20\x20\x20\x20\x20\x20ctxFill.style.width\x20=\x20\x270\x27;\x0a\x20\x20\x20\x20\x20\x20ctxText.innerHTML\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20limit\x20=\x20STATE.ctxLimit;\x0a\x20\x20\x20\x20var\x20percent\x20=\x20limit\x20?\x20Math.min(100,\x20(used\x20/\x20limit)\x20*\x20100)\x20:\x200;\x0a\x20\x20\x20\x20ctxFill.style.width\x20=\x20percent.toFixed(1)\x20+\x20\x27%\x27;\x0a\x20\x20\x20\x20ctxFill.className\x20=\x20\x27ctx-fill\x27\x20+\x20(percent\x20>=\x2085\x20?\x20\x27\x20danger\x27\x20:\x20percent\x20>=\x2060\x20?\x20\x27\x20warn\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20ctxText.innerHTML\x20=\x20\x27<b>\x27\x20+\x20fmtTokens(used)\x20+\x20\x27</b>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(limit\x20?\x20\x27\x20/\x20\x27\x20+\x20fmtTokens(limit)\x20+\x20\x27\x20·\x20\x27\x20+\x20percent.toFixed(0)\x20+\x20\x27%\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20(STATE.cost\x20>\x200\x20?\x20\x27\x20·\x20$\x27\x20+\x20STATE.cost.toFixed(3)\x20:\x20\x27\x27);\x0a\x20\x20}\x0a\x0a\x20\x20function\x20nearBottom()\x20{\x0a\x20\x20\x20\x20return\x20messageList.scrollHeight\x20-\x20messageList.scrollTop\x20-\x20messageList.clientHeight\x20<\x2090;\x0a\x20\x20}\x0a\x20\x20function\x20scrollBottom(force)\x20{\x0a\x20\x20\x20\x20if\x20(force\x20||\x20STATE.stickBottom)\x20{\x20messageList.scrollTop\x20=\x20messageList.scrollHeight;\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20escapeHtml(text)\x20{\x0a\x20\x20\x20\x20return\x20String(text).replace(/&/g,\x20\x27&\x27).replace(/</g,\x20\x27<\x27)\x0a\x20\x20\x20\x20\x20\x20.replace(/>/g,\x20\x27>\x27).replace(/\x22/g,\x20\x27"\x27).replace(/\x27/g,\x20\x27'\x27);\x0a\x20\x20}\x0a\x20\x20//\x20轻量\x20markdown:围栏代码块\x20/\x20行内码\x20/\x20加粗\x20/\x20标题\x20/\x20链接\x20/\x20列表\x20/\x20换行\x0a\x20\x20function\x20renderMarkdown(text)\x20{\x0a\x20\x20\x20\x20var\x20blocks\x20=\x20[];\x0a\x20\x20\x20\x20var\x20source\x20=\x20String(text\x20==\x20null\x20?\x20\x27\x27\x20:\x20text).replace(/```([\x5cw-]*)\x5cn?([\x5cs\x5cS]*?)```/g,\x20function\x20(all,\x20lang,\x20code)\x20{\x0a\x20\x20\x20\x20\x20\x20blocks.push(\x27<pre><code\x20data-lang=\x22\x27\x20+\x20escapeHtml(lang)\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(code.replace(/\x5cn$/,\x20\x27\x27))\x20+\x20\x27</code></pre>\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20\x27\x5cu0000BLOCK\x27\x20+\x20(blocks.length\x20-\x201)\x20+\x20\x27\x5cu0000\x27;\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20var\x20html\x20=\x20escapeHtml(source);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/`([^`\x5cn]+)`/g,\x20\x27<code>$1</code>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/\x5c*\x5c*([^*\x5cn]+)\x5c*\x5c*/g,\x20\x27<strong>$1</strong>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/^###\x20(.+)$/gm,\x20\x27<h3>$1</h3>\x27).replace(/^##\x20(.+)$/gm,\x20\x27<h2>$1</h2>\x27).replace(/^#\x20(.+)$/gm,\x20\x27<h1>$1</h1>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/\x5c[([^\x5c]]+)\x5c]\x5c((https?:\x5c/\x5c/[^)\x5cs]+)\x5c)/g,\x20\x27<a\x20href=\x22$2\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22>$1</a>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/^\x5cs*[-*]\x20(.+)$/gm,\x20\x27<li>$1</li>\x27).replace(/(<li>[\x5cs\x5cS]*?<\x5c/li>)(?!\x5cs*<li>)/g,\x20\x27<ul>$1</ul>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/\x5cn/g,\x20\x27<br>\x27);\x0a\x20\x20\x20\x20html\x20=\x20html.replace(/\x5cu0000BLOCK(\x5cd+)\x5cu0000/g,\x20function\x20(all,\x20index)\x20{\x20return\x20blocks[Number(index)];\x20});\x0a\x20\x20\x20\x20return\x20html;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20消息渲染\x20----------\x0a\x20\x20function\x20toolSummary(input)\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20parsed\x20=\x20typeof\x20input\x20===\x20\x27string\x27\x20?\x20JSON.parse(input)\x20:\x20input;\x0a\x20\x20\x20\x20\x20\x20if\x20(!parsed)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20keys\x20=\x20Object.keys(parsed);\x0a\x20\x20\x20\x20\x20\x20if\x20(!keys.length)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20keys.slice(0,\x204).map(function\x20(key)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20value\x20=\x20String(parsed[key]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20key\x20+\x20\x27:\x20\x27\x20+\x20(value.length\x20>\x20120\x20?\x20value.slice(0,\x20120)\x20+\x20\x27…\x27\x20:\x20value);\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x5cn\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20return\x20String(input\x20||\x20\x27\x27).slice(0,\x20160);\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20待办(todowrite/todoread\x20工具输出)\x0a\x20\x20function\x20renderTodos(part,\x20input)\x20{\x0a\x20\x20\x20\x20if\x20(!/todo/i.test(part.name\x20||\x20\x27\x27))\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20todos\x20=\x20(input\x20&&\x20(input.todos\x20||\x20input.items))\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!Array.isArray(todos)\x20||\x20!todos.length)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20done\x20=\x20todos.filter(function\x20(t)\x20{\x20return\x20(t.status\x20||\x20t.state)\x20===\x20\x27completed\x27\x20||\x20t.done;\x20}).length;\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22fold-body\x22><div\x20class=\x22tool-chip\x22\x20style=\x22margin-bottom:4px\x22>待办事项\x20·\x20已完成\x20\x27\x20+\x0a\x20\x20\x20\x20\x20\x20done\x20+\x20\x27\x20/\x20\x27\x20+\x20todos.length\x20+\x20\x27</div><div\x20class=\x22todo-list\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20todos.map(function\x20(t)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20isDone\x20=\x20(t.status\x20||\x20t.state)\x20===\x20\x27completed\x27\x20||\x20t.done;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22todo-item\x27\x20+\x20(isDone\x20?\x20\x27\x20done\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22><span\x20class=\x22td-box\x22>\x27\x20+\x20(isDone\x20?\x20\x27✓\x27\x20:\x20\x27○\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27</span><span>\x27\x20+\x20escapeHtml(t.content\x20||\x20t.text\x20||\x20t.title\x20||\x20\x27\x27)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20工具调用合并卡:同一条消息里的工具调用收成一张卡,避免刷屏\x0a\x20\x20function\x20renderToolList(parts)\x20{\x0a\x20\x20\x20\x20if\x20(!parts.length)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20anyRunning\x20=\x20parts.some(function\x20(part)\x20{\x20return\x20(part.state\x20&&\x20part.state.status)\x20===\x20\x27running\x27\x20||\x20(part.state\x20&&\x20part.state.status)\x20===\x20\x27streaming\x27;\x20});\x0a\x20\x20\x20\x20var\x20anyError\x20=\x20parts.some(function\x20(part)\x20{\x20return\x20(part.state\x20&&\x20part.state.status)\x20===\x20\x27error\x27;\x20});\x0a\x20\x20\x20\x20var\x20dotClass\x20=\x20anyError\x20?\x20\x27error\x27\x20:\x20anyRunning\x20?\x20\x27running\x27\x20:\x20\x27completed\x27;\x0a\x20\x20\x20\x20var\x20skipped\x20=\x20parts.filter(function\x20(part)\x20{\x20return\x20part.executed\x20===\x20false;\x20}).length;\x0a\x20\x20\x20\x20var\x20items\x20=\x20parts.map(function\x20(part)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20status\x20=\x20(part.state\x20&&\x20part.state.status)\x20||\x20\x27running\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20itemDot\x20=\x20status\x20===\x20\x27completed\x27\x20?\x20\x27completed\x27\x20:\x20status\x20===\x20\x27error\x27\x20?\x20\x27error\x27\x20:\x20\x27running\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20input\x20=\x20part.state\x20&&\x20part.state.input;\x0a\x20\x20\x20\x20\x20\x20var\x20error\x20=\x20part.state\x20&&\x20part.state.error;\x0a\x20\x20\x20\x20\x20\x20var\x20summary\x20=\x20toolSummary(input);\x0a\x20\x20\x20\x20\x20\x20var\x20todoHtml\x20=\x20renderTodos(part,\x20input);\x0a\x20\x20\x20\x20\x20\x20var\x20content\x20=\x20(part.state\x20&&\x20part.state.content)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20outHtml\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20content.forEach(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!c)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c.type\x20===\x20\x27text\x27)\x20{\x20outHtml\x20+=\x20\x27<div\x20class=\x22tool-output\x22>\x27\x20+\x20escapeHtml(c.text)\x20+\x20\x27</div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if\x20(c.type\x20===\x20\x27file\x27)\x20{\x20outHtml\x20+=\x20\x27<div\x20class=\x22tool-input\x20tool-file-ref\x22>\x27\x20+\x20icon(\x27map-pin\x27,\x2011)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(c.name\x20||\x20c.uri)\x20+\x20\x27</div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22tool-item\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22tool-line\x22><span\x20class=\x22tool-dot\x20\x27\x20+\x20itemDot\x20+\x20\x27\x22></span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22tool-name\x22>\x27\x20+\x20escapeHtml(part.name\x20||\x20\x27tool\x27)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(part.executed\x20===\x20false\x20?\x20\x27<span\x20class=\x22tool-skip\x22>未执行</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(error\x20?\x20\x27<div\x20class=\x22tool-error\x22>\x27\x20+\x20icon(\x27circle-x\x27,\x2012)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(error.message\x20||\x20String(error))\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20todoHtml\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(!todoHtml\x20&&\x20summary\x20?\x20\x27<div\x20class=\x22tool-input\x22>\x27\x20+\x20escapeHtml(summary)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20outHtml\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20return\x20\x27<details\x20class=\x22fold\x22><summary><span\x20class=\x22tool-chip\x22><span\x20class=\x22tool-dot\x20\x27\x20+\x20dotClass\x20+\x20\x27\x22></span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27工具调用\x20·\x20\x27\x20+\x20parts.length\x20+\x20(skipped\x20?\x20\x27(\x27\x20+\x20skipped\x20+\x20\x27\x20个未执行)\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x27</span></summary><div\x20class=\x22fold-body\x20tool-list\x22>\x27\x20+\x20items\x20+\x20\x27</div></details>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20renderReasoning(text)\x20{\x0a\x20\x20\x20\x20return\x20\x27<details\x20class=\x22fold\x22><summary>\x27\x20+\x20icon(\x27lightbulb\x27,\x2013)\x20+\x20\x27\x20思考过程</summary><div\x20class=\x22fold-body\x22>\x27\x20+\x20escapeHtml(text)\x20+\x20\x27</div></details>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20renderFileChips(files)\x20{\x0a\x20\x20\x20\x20var\x20list\x20=\x20files\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!list.length)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22attach-grid\x22\x20style=\x22justify-content:flex-end\x22>\x27\x20+\x20list.map(function\x20(f)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20name\x20=\x20f.name\x20||\x20(f.source\x20&&\x20f.source.uri)\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<span\x20class=\x22tool-file-ref\x22>\x27\x20+\x20icon(\x27map-pin\x27,\x2011)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(name)\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20OpenCode\x20注入的合成提示(切模式/自动续跑等,text\x20常为\x20<system-reminder>…</system-reminder>):\x0a\x20\x20//\x20默认折叠成一行,避免把原始\x20XML(含绝对路径、长指令)直接铺进对话流。\x0a\x20\x20function\x20renderSyntheticNote(text)\x20{\x0a\x20\x20\x20\x20var\x20synthText\x20=\x20String(text\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20var\x20wrapped\x20=\x20/<system-reminder>([\x5cs\x5cS]*?)<\x5c/system-reminder>/.exec(synthText);\x0a\x20\x20\x20\x20var\x20inner\x20=\x20(wrapped\x20?\x20wrapped[1]\x20:\x20synthText).trim();\x0a\x20\x20\x20\x20if\x20(!wrapped\x20&&\x20inner.length\x20<=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(inner)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20label\x20=\x20\x27系统提示\x27;\x0a\x20\x20\x20\x20if\x20(/NO\x20LONGER\x20in\x20Plan\x20mode/i.test(inner))\x20{\x20label\x20=\x20\x27已退出\x20Plan\x20模式\x27;\x20}\x0a\x20\x20\x20\x20else\x20if\x20(/You\x20are\x20in\x20Plan\x20mode/i.test(inner))\x20{\x20label\x20=\x20\x27已进入\x20Plan\x20模式(仅讨论,不改文件)\x27;\x20}\x0a\x20\x20\x20\x20return\x20\x27<details\x20class=\x22fold\x20sys-fold\x22><summary>\x27\x20+\x20icon(\x27info\x27,\x2012)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(label)\x20+\x20\x27</summary>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22fold-body\x22>\x27\x20+\x20escapeHtml(inner)\x20+\x20\x27</div></details>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20function\x20renderMessage(message)\x20{\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27user\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20兼容以\x20user\x20形态落库的系统提醒(与\x20synthetic\x20同一渲染口径,不铺原始\x20XML)\x0a\x20\x20\x20\x20\x20\x20if\x20(/^\x5cs*<system-reminder>/.test(String(message.text\x20||\x20\x27\x27)))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20renderSyntheticNote(message.text);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20images\x20=\x20(message.metadata\x20&&\x20message.metadata.images)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20attachHtml\x20=\x20images.length\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27<div\x20class=\x22attach-grid\x22>\x27\x20+\x20images.map(function\x20(url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<img\x20src=\x22\x27\x20+\x20escapeHtml(url)\x20+\x20\x27\x22\x20alt=\x22\x22\x20loading=\x22lazy\x22>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20attachHtml\x20+=\x20renderFileChips(message.files);\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22msg\x20user\x22\x20data-msgid=\x22\x27\x20+\x20escapeHtml(message.id\x20||\x20\x27\x27)\x20+\x20\x27\x22\x20title=\x22点击可回退到此处\x22><div\x20class=\x22bubble\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20attachHtml\x20+\x20renderMarkdown(stripPageContext(message.text))\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27assistant\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20content\x20=\x20message.content\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20//\x20合并同类内容:思考过程\x20/\x20工具调用各自收成一张折叠卡,避免每\x20step\x20一张造成刷屏\x0a\x20\x20\x20\x20\x20\x20var\x20reasoningTexts\x20=\x20content.filter(function\x20(part)\x20{\x20return\x20part.type\x20===\x20\x27reasoning\x27;\x20}).map(function\x20(part)\x20{\x20return\x20part.text;\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20toolParts\x20=\x20content.filter(function\x20(part)\x20{\x20return\x20part.type\x20===\x20\x27tool\x27;\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20textParts\x20=\x20content.filter(function\x20(part)\x20{\x20return\x20part.type\x20===\x20\x27text\x27;\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20parts\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(reasoningTexts.length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20reasoningText\x20=\x20reasoningTexts.join(\x27\x5cn\x5cn\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20parts\x20+=\x20\x27<details\x20class=\x22fold\x22><summary>\x27\x20+\x20icon(\x27lightbulb\x27,\x2013)\x20+\x20\x27\x20思考过程\x20·\x20\x27\x20+\x20reasoningText.length\x20+\x20\x27\x20字</summary>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22fold-body\x22>\x27\x20+\x20escapeHtml(reasoningText)\x20+\x20\x27</div></details>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20parts\x20+=\x20renderToolList(toolParts);\x0a\x20\x20\x20\x20\x20\x20parts\x20+=\x20textParts.map(function\x20(part)\x20{\x20return\x20\x27<div>\x27\x20+\x20renderMarkdown(part.text)\x20+\x20\x27</div>\x27;\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(message.error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20parts\x20+=\x20\x27<div\x20class=\x22err-text\x22>\x27\x20+\x20icon(\x27triangle-alert\x27,\x2013)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(message.error.message\x20||\x20String(message.error))\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22msg\x20ai\x22><div\x20class=\x22avatar\x22>\x27\x20+\x20BRAND_LOGO\x20+\x20\x27</div><div\x20class=\x22bubble\x22>\x27\x20+\x20(parts\x20||\x20\x27<span\x20style=\x22color:var(--text-dim)\x22>…</span>\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27compaction\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20manual\x20=\x20message.reason\x20===\x20\x27manual\x27\x20?\x20\x27(手动)\x27\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(message.status\x20===\x20\x27failed\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20errType\x20=\x20(message.error\x20&&\x20message.error.type)\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20errMsg\x20=\x20(message.error\x20&&\x20(message.error.message\x20||\x20message.error.type))\x20||\x20\x27未知原因\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20「暂无可压缩内容」是正常结果(刚压缩过/没有新增对话),不算失败\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(errType\x20===\x20\x27compaction.unavailable\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(\x27无需压缩\x27\x20+\x20manual\x20+\x20\x27:\x27\x20+\x20errMsg)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x20compaction-error\x22>\x27\x20+\x20icon(\x27triangle-alert\x27,\x2012)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20escapeHtml(\x27压缩失败\x27\x20+\x20manual\x20+\x20\x27:\x27\x20+\x20errMsg)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(message.status\x20===\x20\x27running\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(\x27正在压缩上下文…\x27\x20+\x20manual)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20summary\x20=\x20message.summary\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20metaText\x20=\x20summary\x20?\x20\x27摘要约\x20\x27\x20+\x20summary.length\x20+\x20\x27\x20字\x27\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(typeof\x20message.cost\x20===\x20\x27number\x27\x20&&\x20message.cost\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20costText\x20=\x20String(Number(message.cost.toPrecision(2)));\x0a\x20\x20\x20\x20\x20\x20\x20\x20metaText\x20+=\x20(metaText\x20?\x20\x27\x20·\x20\x27\x20:\x20\x27\x27)\x20+\x20\x27$\x27\x20+\x20costText;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(\x27上下文已压缩\x27\x20+\x20manual)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(summary\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27<details\x20class=\x22fold\x20compaction-summary\x22><summary>\x27\x20+\x20icon(\x27lightbulb\x27,\x2012)\x20+\x20\x27\x20压缩摘要\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(metaText\x20?\x20\x27\x20·\x20\x27\x20+\x20escapeHtml(metaText)\x20:\x20\x27\x27)\x20+\x20\x27</summary>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22fold-body\x22>\x27\x20+\x20renderMarkdown(summary)\x20+\x20\x27</div></details>\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27shell\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20out\x20=\x20(message.output\x20&&\x20message.output.output)\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22msg\x20user\x22><div\x20class=\x22bubble\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderMarkdown(\x27!\x20\x27\x20+\x20message.command)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(out\x20?\x20\x27<div\x20class=\x22tool-output\x22>\x27\x20+\x20escapeHtml(out)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27agent-switched\x27\x20||\x20message.type\x20===\x20\x27model-switched\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20message.type\x20===\x20\x27location-switched\x27\x20||\x20message.type\x20===\x20\x27idle\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27skill\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(\x27加载技能\x20\x27\x20+\x20(message.name\x20||\x20message.skill))\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(message.type\x20===\x20\x27synthetic\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20renderSyntheticNote(message.text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20hint\x20=\x20message.text\x20||\x20message.description\x20||\x20message.type\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22sys-line\x22>\x27\x20+\x20escapeHtml(hint)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20var\x20renderedSid\x20=\x20\x27\x27;\x0a\x20\x20function\x20refreshMessages()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20var\x20sid\x20=\x20STATE.sid;\x0a\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20sid\x20+\x20\x27/messages?order=desc&limit=200\x27).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20desc\x20取「最新」200\x20条,再反转为时间顺序\x0a\x20\x20\x20\x20\x20\x20var\x20data\x20=\x20(payload.data\x20||\x20[]).slice().reverse();\x0a\x20\x20\x20\x20\x20\x20STATE.live\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20renderCtx(contextFromMessages(data));\x0a\x20\x20\x20\x20\x20\x20var\x20html\x20=\x20data.map(renderMessage).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20//\x20同会话刷新时保留已展开的折叠与滚动位置,避免流式期间被反复重置\x0a\x20\x20\x20\x20\x20\x20var\x20sameSession\x20=\x20renderedSid\x20===\x20sid;\x0a\x20\x20\x20\x20\x20\x20var\x20openFolds\x20=\x20sameSession\x20?\x20captureFolds(messageList)\x20:\x20[];\x0a\x20\x20\x20\x20\x20\x20messageList.innerHTML\x20=\x20html\x20||\x20\x27<div\x20class=\x22empty\x22><div\x20class=\x22big\x22>\x27\x20+\x20icon(\x27bot\x27,\x2044)\x20+\x20\x27</div>有什么需求您请说</div>\x27;\x0a\x20\x20\x20\x20\x20\x20restoreFolds(messageList,\x20openFolds);\x0a\x20\x20\x20\x20\x20\x20renderNotice();\x0a\x20\x20\x20\x20\x20\x20renderedSid\x20=\x20sid;\x0a\x20\x20\x20\x20\x20\x20scrollBottom(!sameSession);\x0a\x20\x20\x20\x20}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(error.status\x20===\x20404)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20会话已不存在:用新会话替换当前标签\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20seq\x20=\x20++switchSeq;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20api(\x27POST\x27,\x20\x27/session/reset\x27,\x20{}).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20!==\x20switchSeq)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20session\x20=\x20payload.data\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!session.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20index\x20=\x20STATE.tabs.indexOf(sid);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(index\x20>\x20-1)\x20{\x20STATE.tabs[index]\x20=\x20session.id;\x20delete\x20STATE.sessions[sid];\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x20STATE.tabs.push(session.id);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20STATE.live\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20renderedSid\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20applySession(session);\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20setStatus(\x27消息加载失败:\x27\x20+\x20error.message);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20var\x20refreshTimer\x20=\x20null;\x0a\x20\x20function\x20scheduleRefresh()\x20{\x0a\x20\x20\x20\x20clearTimeout(refreshTimer);\x0a\x20\x20\x20\x20refreshTimer\x20=\x20setTimeout(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20refreshMessages();\x0a\x20\x20\x20\x20\x20\x20refreshPermissions();\x0a\x20\x20\x20\x20},\x20350);\x0a\x20\x20}\x0a\x0a\x20\x20//\x20流式增量:按\x20assistantMessageID\x20聚合到一个实时气泡\x0a\x20\x20function\x20onDelta(kind,\x20event)\x20{\x0a\x20\x20\x20\x20var\x20entry\x20=\x20STATE.live[event.assistantMessageID];\x0a\x20\x20\x20\x20if\x20(!entry)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20wrap\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20wrap.className\x20=\x20\x27msg\x20ai\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20avatar\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20avatar.className\x20=\x20\x27avatar\x27;\x0a\x20\x20\x20\x20\x20\x20avatar.innerHTML\x20=\x20BRAND_LOGO;\x0a\x20\x20\x20\x20\x20\x20var\x20bubble\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20bubble.className\x20=\x20\x27bubble\x27;\x0a\x20\x20\x20\x20\x20\x20wrap.appendChild(avatar);\x0a\x20\x20\x20\x20\x20\x20wrap.appendChild(bubble);\x0a\x20\x20\x20\x20\x20\x20messageList.appendChild(wrap);\x0a\x20\x20\x20\x20\x20\x20entry\x20=\x20STATE.live[event.assistantMessageID]\x20=\x20{\x20el:\x20bubble,\x20reasoning:\x20\x27\x27,\x20text:\x20\x27\x27\x20};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20entry[kind]\x20+=\x20(event.delta\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20entry.el.innerHTML\x20=\x0a\x20\x20\x20\x20\x20\x20(entry.reasoning\x20?\x20renderReasoning(entry.reasoning)\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div>\x27\x20+\x20renderMarkdown(entry.text)\x20+\x20\x27<span\x20class=\x22cursor\x22></span></div>\x27;\x0a\x20\x20\x20\x20if\x20(STATE.notice)\x20{\x20renderNotice();\x20}\x0a\x20\x20\x20\x20scrollBottom();\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20权限审批\x20----------\x0a\x20\x20function\x20renderPermissions()\x20{\x0a\x20\x20\x20\x20permissionBar.style.display\x20=\x20STATE.permissions.length\x20?\x20\x27flex\x27\x20:\x20\x27none\x27;\x0a\x20\x20\x20\x20permissionBar.innerHTML\x20=\x20STATE.permissions.map(function\x20(item,\x20index)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22perm-card\x22\x20data-index=\x22\x27\x20+\x20index\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22perm-title\x22>\x27\x20+\x20icon(\x27shield-alert\x27,\x2014)\x20+\x20\x27\x20请求授权:\x27\x20+\x20escapeHtml(item.action)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(item.message\x20?\x20\x27<div\x20class=\x22perm-msg\x22>\x27\x20+\x20escapeHtml(item.message)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22perm-res\x22>\x27\x20+\x20escapeHtml((item.resources\x20||\x20[]).join(\x27\x5cn\x27))\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22perm-actions\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22allow\x22\x20data-decision=\x22once\x22>允许一次</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22always\x22\x20data-decision=\x22always\x22>本次会话总是允许</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22reject\x22\x20data-decision=\x22reject\x22>拒绝</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20refreshPermissions()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/permissions\x27).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.permissions\x20=\x20payload.data\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20renderPermissions();\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20静默\x20*/\x20});\x0a\x20\x20}\x0a\x20\x20permissionBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20button\x20=\x20event.target.closest(\x27button[data-decision]\x27);\x0a\x20\x20\x20\x20if\x20(!button)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20card\x20=\x20button.closest(\x27.perm-card\x27);\x0a\x20\x20\x20\x20var\x20item\x20=\x20STATE.permissions[Number(card.getAttribute(\x27data-index\x27))];\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20button.disabled\x20=\x20true;\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/permissions/\x27\x20+\x20item.id\x20+\x20\x27/reply\x27,\x20{\x20decision:\x20button.getAttribute(\x27data-decision\x27)\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20STATE.permissions.splice(STATE.permissions.indexOf(item),\x201);\x20renderPermissions();\x20setStatus(\x27\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20button.disabled\x20=\x20false;\x20setStatus(\x27审批失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20会话元信息刷新(agent\x20/\x20model\x20/\x20revert)\x20----------\x0a\x20\x20function\x20updateSessionMeta(session)\x20{\x0a\x20\x20\x20\x20if\x20(!session)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(session.agent)\x20{\x20STATE.agent\x20=\x20session.agent;\x20}\x0a\x20\x20\x20\x20var\x20matched\x20=\x20findModel(session.model);\x0a\x20\x20\x20\x20if\x20(matched)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.model\x20=\x20Object.assign({},\x20matched,\x20{\x20variant:\x20session.model\x20&&\x20session.model.variant\x20});\x0a\x20\x20\x20\x20\x20\x20STATE.ctxLimit\x20=\x20matched.contextLimit\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20renderModelPicker();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20STATE.revert\x20=\x20session.revert\x20||\x20null;\x0a\x20\x20\x20\x20STATE.cost\x20=\x20session.cost\x20||\x200;\x0a\x20\x20\x20\x20renderRevert();\x0a\x20\x20\x20\x20renderAgents();\x0a\x20\x20}\x0a\x20\x20function\x20refreshSessionState()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid).then(function\x20(p)\x20{\x20updateSessionMeta(p.data);\x20}).catch(function\x20()\x20{});\x0a\x20\x20}\x0a\x20\x20function\x20refreshRegistry()\x20{\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/status\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.commands\x20=\x20p.commands\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20STATE.agents\x20=\x20p.agents\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20if\x20(!STATE.models.length)\x20{\x20STATE.models\x20=\x20p.models\x20||\x20[];\x20}\x0a\x20\x20\x20\x20\x20\x20renderBranch(p.branch);\x0a\x20\x20\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20回退(撤销\x20/\x20重做)\x20----------\x0a\x20\x20function\x20renderRevert()\x20{\x0a\x20\x20\x20\x20if\x20(STATE.revert\x20&&\x20STATE.revert.messageID)\x20{\x0a\x20\x20\x20\x20\x20\x20revertBar.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20revertBar.innerHTML\x20=\x20icon(\x27triangle-alert\x27,\x2013)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span>已回退到该消息,发送新消息即确认</span><button\x20id=\x22redoInline\x22>重做</button>\x27;\x0a\x20\x20\x20\x20\x20\x20$(\x27redoInline\x27).onclick\x20=\x20redo;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20revertBar.classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20revertBar.innerHTML\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20function\x20lastUserMessageID()\x20{\x0a\x20\x20\x20\x20var\x20nodes\x20=\x20messageList.querySelectorAll(\x27.msg.user[data-msgid]\x27);\x0a\x20\x20\x20\x20return\x20nodes.length\x20?\x20nodes[nodes.length\x20-\x201].getAttribute(\x27data-msgid\x27)\x20:\x20null;\x0a\x20\x20}\x0a\x20\x20function\x20stageRevert(messageID)\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid\x20||\x20STATE.busy)\x20{\x20setStatus(\x27AI\x20处理中,无法回退\x27);\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(!messageID)\x20{\x20setStatus(\x27没有可回退的消息\x27);\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/revert/stage\x27,\x20{\x20messageID:\x20messageID\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20refreshSessionState();\x20setStatus(\x27已回退到该消息,发送新消息即确认\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20setError(\x27回退失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20}\x0a\x20\x20function\x20undo()\x20{\x0a\x20\x20\x20\x20var\x20id\x20=\x20lastUserMessageID();\x0a\x20\x20\x20\x20if\x20(!id)\x20{\x20setStatus(\x27没有可撤销的消息\x27);\x20return;\x20}\x0a\x20\x20\x20\x20stageRevert(id);\x0a\x20\x20}\x0a\x20\x20function\x20redo()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/revert/clear\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20refreshSessionState();\x20setStatus(\x27已取消回退\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20setError(\x27重做失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20}\x0a\x20\x20$(\x27undoBtn\x27).addEventListener(\x27click\x27,\x20undo);\x0a\x20\x20$(\x27redoBtn\x27).addEventListener(\x27click\x27,\x20redo);\x0a\x20\x20messageList.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(event.target.closest(\x27a\x27))\x20{\x20return;\x20}\x20\x20//\x20点击消息内链接不触发回退\x0a\x20\x20\x20\x20var\x20bubble\x20=\x20event.target.closest(\x27.msg.user[data-msgid]\x20.bubble\x27);\x0a\x20\x20\x20\x20if\x20(!bubble\x20||\x20STATE.busy)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20msg\x20=\x20bubble.closest(\x27.msg.user\x27);\x0a\x20\x20\x20\x20if\x20(confirm(\x27回退到这条消息?之后的对话与文件更改会被撤销。\x27))\x20{\x20stageRevert(msg.getAttribute(\x27data-msgid\x27));\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20压缩上下文\x20----------\x0a\x20\x20$(\x27compactBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid\x20||\x20STATE.busy)\x20{\x20setStatus(\x27AI\x20处理中,无法压缩\x27);\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/compact\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20setStatus(\x27已请求压缩会话\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20setError(\x27压缩失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20审查(会话更改\x20diff)\x20----------\x0a\x20\x20function\x20renderDiff(list)\x20{\x0a\x20\x20\x20\x20var\x20items\x20=\x20list\x20||\x20[];\x0a\x20\x20\x20\x20var\x20add\x20=\x200,\x20del\x20=\x200;\x0a\x20\x20\x20\x20items.forEach(function\x20(f)\x20{\x20add\x20+=\x20f.additions\x20||\x200;\x20del\x20+=\x20f.deletions\x20||\x200;\x20});\x0a\x20\x20\x20\x20diffStat.textContent\x20=\x20items.length\x20?\x20\x27+\x20\x27\x20+\x20add\x20+\x20\x27\x20/\x20-\x20\x27\x20+\x20del\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(!items.length)\x20{\x0a\x20\x20\x20\x20\x20\x20diffBody.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>此会话暂无更改</div>\x27;\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20diffBody.innerHTML\x20=\x20items.map(function\x20(f)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20lines\x20=\x20String(f.patch\x20||\x20\x27\x27).split(\x27\x5cn\x27).map(function\x20(line)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20cls\x20=\x20line.charAt(0)\x20===\x20\x27+\x27\x20?\x20\x27\x20add\x27\x20:\x20line.charAt(0)\x20===\x20\x27-\x27\x20?\x20\x27\x20del\x27\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22diff-line\x27\x20+\x20cls\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(line)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22diff-file\x22><div\x20class=\x22diff-file-head\x22>\x27\x20+\x20escapeHtml(f.file)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22df-add\x22\x20style=\x22margin-left:auto\x22>+\x27\x20+\x20(f.additions\x20||\x200)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22df-del\x22>-\x27\x20+\x20(f.deletions\x20||\x200)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22diff-hunk\x22>\x27\x20+\x20lines\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20toggleDiff(force)\x20{\x0a\x20\x20\x20\x20var\x20open\x20=\x20typeof\x20force\x20===\x20\x27boolean\x27\x20?\x20force\x20:\x20!STATE.diffOpen;\x0a\x20\x20\x20\x20STATE.diffOpen\x20=\x20open;\x0a\x20\x20\x20\x20diffPanel.classList.toggle(\x27show\x27,\x20open);\x0a\x20\x20\x20\x20if\x20(open\x20&&\x20STATE.sid)\x20{\x0a\x20\x20\x20\x20\x20\x20diffBody.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>正在加载更改…</div>\x27;\x0a\x20\x20\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/diff\x27).then(function\x20(p)\x20{\x20renderDiff(p.data);\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20diffBody.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>加载失败:\x27\x20+\x20escapeHtml(e.message)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20$(\x27reviewBtn\x27).addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x20event.stopPropagation();\x20toggleDiff();\x20});\x0a\x20\x20document.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(STATE.diffOpen\x20&&\x20!event.target.closest(\x27#diffPanel\x27)\x20&&\x20!event.target.closest(\x27#reviewBtn\x27))\x20{\x20toggleDiff(false);\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20Git\x20基础管理(点击右上角分支徽标打开)\x20----------\x0a\x20\x20function\x20gitSetMsg(text,\x20isError)\x20{\x0a\x20\x20\x20\x20gitMsgEl.textContent\x20=\x20text\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20gitMsgEl.className\x20=\x20\x27git-msg\x27\x20+\x20(isError\x20?\x20\x27\x20error\x27\x20:\x20\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20renderGitFiles(files)\x20{\x0a\x20\x20\x20\x20if\x20(!files.length)\x20{\x0a\x20\x20\x20\x20\x20\x20gitFilesEl.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>工作区干净</div>\x27;\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gitFilesEl.innerHTML\x20=\x20files.map(function\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20untracked\x20=\x20file.index\x20===\x20\x27?\x27\x20||\x20file.working\x20===\x20\x27?\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20staged\x20=\x20!untracked\x20&&\x20file.index\x20!==\x20\x27\x20\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20unstaged\x20=\x20untracked\x20||\x20file.working\x20!==\x20\x27\x20\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20cls\x20=\x20untracked\x20?\x20\x27untracked\x27\x20:\x20staged\x20?\x20\x27staged\x27\x20:\x20\x27unstaged\x27;\x0a\x20\x20\x20\x20\x20\x20//\x20两列(暂存区\x20/\x20工作区),untracked\x20显示为\x20??\x0a\x20\x20\x20\x20\x20\x20var\x20code\x20=\x20untracked\x20?\x20\x27??\x27\x20:\x20(file.index\x20+\x20file.working);\x0a\x20\x20\x20\x20\x20\x20var\x20path\x20=\x20escapeHtml(file.path);\x0a\x20\x20\x20\x20\x20\x20var\x20acts\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(staged)\x20{\x20acts\x20+=\x20\x27<button\x20class=\x22git-act\x22\x20data-act=\x22unstage\x22\x20data-path=\x22\x27\x20+\x20path\x20+\x20\x27\x22>取消暂存</button>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(unstaged)\x20{\x20acts\x20+=\x20\x27<button\x20class=\x22git-act\x22\x20data-act=\x22stage\x22\x20data-path=\x22\x27\x20+\x20path\x20+\x20\x27\x22>暂存</button>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22git-file\x22><span\x20class=\x22git-code\x20\x27\x20+\x20cls\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(code)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22git-path\x22\x20title=\x22\x27\x20+\x20path\x20+\x20\x27\x22>\x27\x20+\x20path\x20+\x20\x27</span>\x27\x20+\x20acts\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20renderGitStatus(data)\x20{\x0a\x20\x20\x20\x20if\x20(!data)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20label\x20=\x20$(\x27gitBranchLabel\x27),\x20select\x20=\x20$(\x27gitBranchSelect\x27);\x0a\x20\x20\x20\x20if\x20(!data.isRepo)\x20{\x0a\x20\x20\x20\x20\x20\x20label.textContent\x20=\x20\x27—\x27;\x0a\x20\x20\x20\x20\x20\x20label.removeAttribute(\x27title\x27);\x0a\x20\x20\x20\x20\x20\x20select.innerHTML\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20select.style.display\x20=\x20\x27none\x27;\x0a\x20\x20\x20\x20\x20\x20$(\x27gitChangesCount\x27).textContent\x20=\x20\x27变更\x27;\x0a\x20\x20\x20\x20\x20\x20gitFilesEl.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>\x27\x20+\x20escapeHtml(data.reason\x20||\x20\x27当前项目不是\x20Git\x20仓库\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20renderBranch(data.branch);\x0a\x20\x20\x20\x20label.textContent\x20=\x20data.branch\x20||\x20\x27(detached)\x27;\x0a\x20\x20\x20\x20var\x20track\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(data.tracking)\x20{\x20track.push(\x27→\x20\x27\x20+\x20data.tracking);\x20}\x0a\x20\x20\x20\x20if\x20(data.ahead)\x20{\x20track.push(\x27↑\x27\x20+\x20data.ahead);\x20}\x0a\x20\x20\x20\x20if\x20(data.behind)\x20{\x20track.push(\x27↓\x27\x20+\x20data.behind);\x20}\x0a\x20\x20\x20\x20label.title\x20=\x20(data.branch\x20||\x20\x27\x27)\x20+\x20(track.length\x20?\x20\x27\x20\x20\x27\x20+\x20track.join(\x27\x20\x27)\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20var\x20branches\x20=\x20data.branches\x20||\x20[];\x0a\x20\x20\x20\x20select.innerHTML\x20=\x20branches.map(function\x20(b)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<option\x20value=\x22\x27\x20+\x20escapeHtml(b)\x20+\x20\x27\x22\x27\x20+\x20(b\x20===\x20data.branch\x20?\x20\x27\x20selected\x27\x20:\x20\x27\x27)\x20+\x20\x27>\x27\x20+\x20escapeHtml(b)\x20+\x20\x27</option>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20select.style.display\x20=\x20branches.length\x20?\x20\x27\x27\x20:\x20\x27none\x27;\x0a\x20\x20\x20\x20var\x20count\x20=\x20(data.files\x20||\x20[]).length;\x0a\x20\x20\x20\x20$(\x27gitChangesCount\x27).textContent\x20=\x20count\x20?\x20\x27变更\x20·\x20\x27\x20+\x20count\x20:\x20\x27变更\x20·\x20干净\x27;\x0a\x20\x20\x20\x20renderGitFiles(data.files\x20||\x20[]);\x0a\x20\x20}\x0a\x20\x20function\x20refreshGit()\x20{\x0a\x20\x20\x20\x20return\x20wsCall(\x27git:status\x27).then(function\x20(p)\x20{\x20renderGitStatus(p.data);\x20}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20gitSetMsg(\x27读取\x20Git\x20状态失败:\x27\x20+\x20error.message,\x20true);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20gitPost(action,\x20body,\x20doneText)\x20{\x0a\x20\x20\x20\x20gitSetMsg(\x27处理中…\x27);\x0a\x20\x20\x20\x20return\x20wsCall(\x27git:\x27\x20+\x20action,\x20body\x20||\x20{}).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(p.data)\x20{\x20renderGitStatus(p.data);\x20}\x0a\x20\x20\x20\x20\x20\x20gitSetMsg((p.summary\x20&&\x20p.summary.text)\x20||\x20doneText\x20||\x20\x27完成\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20gitSetMsg(error.message,\x20true);\x0a\x20\x20\x20\x20\x20\x20return\x20false;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20toggleGitPanel(force)\x20{\x0a\x20\x20\x20\x20var\x20open\x20=\x20typeof\x20force\x20===\x20\x27boolean\x27\x20?\x20force\x20:\x20!STATE.gitOpen;\x0a\x20\x20\x20\x20STATE.gitOpen\x20=\x20open;\x0a\x20\x20\x20\x20gitPanel.classList.toggle(\x27show\x27,\x20open);\x0a\x20\x20\x20\x20if\x20(!open)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20toggleHistory(false);\x0a\x20\x20\x20\x20toggleDiff(false);\x0a\x20\x20\x20\x20toggleModelPanel(false);\x0a\x20\x20\x20\x20gitSetMsg(\x27\x27);\x0a\x20\x20\x20\x20refreshGit();\x0a\x20\x20}\x0a\x20\x20branchBadge.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20toggleGitPanel();\x0a\x20\x20});\x0a\x20\x20$(\x27gitRefreshBtn\x27).addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20refreshGit();\x0a\x20\x20});\x0a\x20\x20$(\x27gitStageAll\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20gitPost(\x27stage\x27,\x20{\x20paths:\x20[]\x20},\x20\x27已全部暂存\x27);\x20});\x0a\x20\x20$(\x27gitUnstageAll\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20gitPost(\x27unstage\x27,\x20{\x20paths:\x20[]\x20},\x20\x27已全部取消暂存\x27);\x20});\x0a\x20\x20gitFilesEl.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20button\x20=\x20event.target.closest(\x27[data-act][data-path]\x27);\x0a\x20\x20\x20\x20if\x20(!button)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20act\x20=\x20button.getAttribute(\x27data-act\x27);\x0a\x20\x20\x20\x20gitPost(act,\x20{\x20paths:\x20[button.getAttribute(\x27data-path\x27)]\x20},\x20act\x20===\x20\x27stage\x27\x20?\x20\x27已暂存\x27\x20:\x20\x27已取消暂存\x27);\x0a\x20\x20});\x0a\x20\x20$(\x27gitCommitBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20var\x20box\x20=\x20$(\x27gitCommitMsg\x27);\x0a\x20\x20\x20\x20var\x20message\x20=\x20box.value.trim();\x0a\x20\x20\x20\x20if\x20(!message)\x20{\x20gitSetMsg(\x27请填写提交信息\x27,\x20true);\x20return;\x20}\x0a\x20\x20\x20\x20gitPost(\x27commit\x27,\x20{\x20message:\x20message\x20},\x20\x27已提交\x27).then(function\x20(ok)\x20{\x20if\x20(ok)\x20{\x20box.value\x20=\x20\x27\x27;\x20}\x20});\x0a\x20\x20});\x0a\x20\x20$(\x27gitCommitMsg\x27).addEventListener(\x27keydown\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Enter\x27\x20&&\x20!event.shiftKey\x20&&\x20!event.isComposing)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20$(\x27gitCommitBtn\x27).click();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x20\x20$(\x27gitPullBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20gitPost(\x27pull\x27,\x20{},\x20\x27已拉取\x27);\x20});\x0a\x20\x20$(\x27gitPushBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20gitPost(\x27push\x27,\x20{},\x20\x27已推送\x27);\x20});\x0a\x20\x20$(\x27gitBranchSelect\x27).addEventListener(\x27change\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20branch\x20=\x20event.target.value;\x0a\x20\x20\x20\x20gitPost(\x27checkout\x27,\x20{\x20branch:\x20branch\x20},\x20\x27已切换到\x20\x27\x20+\x20branch);\x0a\x20\x20});\x0a\x20\x20document.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(STATE.gitOpen\x20&&\x20!event.target.closest(\x27#gitPanel\x27)\x20&&\x20!event.target.closest(\x27#branchBadge\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20toggleGitPanel(false);\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20问题(question\x20工具\x20→\x20form)\x20----------\x0a\x20\x20function\x20refreshForms()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/forms\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.forms\x20=\x20p.data\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20return\x20Promise.all(STATE.forms.map(function\x20(f)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/forms/\x27\x20+\x20f.id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20(d)\x20{\x20STATE.formsDetail[f.id]\x20=\x20d.data;\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{});\x0a\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}).then(function\x20()\x20{\x20renderForms();\x20}).catch(function\x20()\x20{\x20renderForms();\x20});\x0a\x20\x20}\x0a\x20\x20function\x20fieldControl(field)\x20{\x0a\x20\x20\x20\x20var\x20key\x20=\x20escapeHtml(field.key);\x0a\x20\x20\x20\x20if\x20(field.type\x20===\x20\x27external\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20extUrl\x20=\x20String(field.url\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!/^https?:\x5c/\x5c//i.test(extUrl))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<span\x20class=\x22q-desc\x22>\x27\x20+\x20escapeHtml(field.title\x20||\x20extUrl)\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<a\x20class=\x22q-link\x22\x20href=\x22\x27\x20+\x20escapeHtml(extUrl)\x20+\x20\x27\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20escapeHtml(field.title\x20||\x20extUrl)\x20+\x20\x27</a>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(field.type\x20===\x20\x27boolean\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<label\x20class=\x22q-opt\x22><input\x20type=\x22checkbox\x22\x20data-qkey=\x22\x27\x20+\x20key\x20+\x20\x27\x22>\x20\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20escapeHtml(field.title\x20||\x20field.key)\x20+\x20\x27</label>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(field.options\x20&&\x20field.options.length)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20multiple\x20=\x20field.type\x20===\x20\x27multiselect\x27;\x0a\x20\x20\x20\x20\x20\x20//\x20可自定义的单选题:用\x20datalist\x20原生组合框(可选建议亦可自由输入)\x0a\x20\x20\x20\x20\x20\x20if\x20(!multiple\x20&&\x20field.custom)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20listId\x20=\x20\x27dl_\x27\x20+\x20key;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<input\x20type=\x22text\x22\x20list=\x22\x27\x20+\x20listId\x20+\x20\x27\x22\x20data-qkey=\x22\x27\x20+\x20key\x20+\x20\x27\x22\x20placeholder=\x22\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20escapeHtml(field.placeholder\x20||\x20\x27\x27)\x20+\x20\x27\x22><datalist\x20id=\x22\x27\x20+\x20listId\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field.options.map(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<option\x20value=\x22\x27\x20+\x20escapeHtml(o.value)\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(o.label\x20||\x20\x27\x27)\x20+\x20\x27</option>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</datalist>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22q-options\x22>\x27\x20+\x20field.options.map(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<label\x20class=\x22q-opt\x22><input\x20type=\x22\x27\x20+\x20(multiple\x20?\x20\x27checkbox\x27\x20:\x20\x27radio\x27)\x20+\x20\x27\x22\x20name=\x22q_\x27\x20+\x20key\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x22\x20data-qkey=\x22\x27\x20+\x20key\x20+\x20\x27\x22\x20value=\x22\x27\x20+\x20escapeHtml(o.value)\x20+\x20\x27\x22>\x20\x27\x20+\x20escapeHtml(o.label\x20||\x20o.value)\x20+\x20\x27</label>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(field.type\x20===\x20\x27number\x27\x20||\x20field.type\x20===\x20\x27integer\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<input\x20type=\x22number\x22\x20data-qkey=\x22\x27\x20+\x20key\x20+\x20\x27\x22\x20placeholder=\x22\x27\x20+\x20escapeHtml(field.placeholder\x20||\x20\x27\x27)\x20+\x20\x27\x22>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20\x27<textarea\x20rows=\x222\x22\x20data-qkey=\x22\x27\x20+\x20key\x20+\x20\x27\x22\x20placeholder=\x22\x27\x20+\x20escapeHtml(field.placeholder\x20||\x20\x27\x27)\x20+\x20\x27\x22></textarea>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderForms()\x20{\x0a\x20\x20\x20\x20var\x20pending\x20=\x20STATE.forms\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!pending.length)\x20{\x20questionBar.style.display\x20=\x20\x27none\x27;\x20questionBar.innerHTML\x20=\x20\x27\x27;\x20return;\x20}\x0a\x20\x20\x20\x20questionBar.style.display\x20=\x20\x27flex\x27;\x0a\x20\x20\x20\x20questionBar.innerHTML\x20=\x20pending.map(function\x20(f,\x20i)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20detail\x20=\x20STATE.formsDetail[f.id]\x20||\x20f;\x0a\x20\x20\x20\x20\x20\x20var\x20fields\x20=\x20detail.fields\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22q-card\x22\x20data-formid=\x22\x27\x20+\x20escapeHtml(f.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22q-title\x22>\x27\x20+\x20icon(\x27shield-alert\x27,\x2014)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(detail.title\x20||\x20\x27需要你的回答\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22q-progress\x22>\x27\x20+\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20pending.length\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20fields.map(function\x20(field)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22q-field\x22\x20data-key=\x22\x27\x20+\x20escapeHtml(field.key)\x20+\x20\x27\x22\x20data-qtype=\x22\x27\x20+\x20escapeHtml(field.type)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(field.title\x20?\x20\x27<div\x20class=\x22q-label\x22>\x27\x20+\x20escapeHtml(field.title)\x20+\x20(field.required\x20?\x20\x27\x20*\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(field.description\x20?\x20\x27<div\x20class=\x22q-desc\x22>\x27\x20+\x20escapeHtml(field.description)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fieldControl(field)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22q-actions\x22><button\x20class=\x22q-send\x22>发送</button><button\x20class=\x22q-cancel\x22>拒绝</button></div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20questionBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20card\x20=\x20event.target.closest(\x27.q-card[data-formid]\x27);\x0a\x20\x20\x20\x20if\x20(!card)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20formID\x20=\x20card.getAttribute(\x27data-formid\x27);\x0a\x20\x20\x20\x20if\x20(event.target.closest(\x27.q-cancel\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/forms/\x27\x20+\x20formID\x20+\x20\x27/cancel\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.then(refreshForms).catch(function\x20(e)\x20{\x20setError(\x27操作失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(!event.target.closest(\x27.q-send\x27))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20answer\x20=\x20{};\x0a\x20\x20\x20\x20card.querySelectorAll(\x27.q-field\x27).forEach(function\x20(fieldEl)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20key\x20=\x20fieldEl.getAttribute(\x27data-key\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20qtype\x20=\x20fieldEl.getAttribute(\x27data-qtype\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20multi\x20=\x20fieldEl.querySelectorAll(\x27input[type=checkbox][data-qkey]\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(fieldEl.querySelector(\x27.q-options\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(multi.length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20values\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20multi.forEach(function\x20(c)\x20{\x20if\x20(c.checked)\x20{\x20values.push(c.value);\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20answer[key]\x20=\x20values;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20radio\x20=\x20fieldEl.querySelector(\x27input[type=radio][data-qkey]:checked\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(radio)\x20{\x20answer[key]\x20=\x20radio.value;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20box\x20=\x20fieldEl.querySelector(\x27input[type=checkbox][data-qkey]\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(box)\x20{\x20answer[key]\x20=\x20box.checked;\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20input\x20=\x20fieldEl.querySelector(\x27input[data-qkey],\x20textarea[data-qkey]\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(input)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20value\x20=\x20input.value;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(qtype\x20===\x20\x27number\x27\x20||\x20qtype\x20===\x20\x27integer\x27)\x20{\x20value\x20=\x20value\x20===\x20\x27\x27\x20?\x200\x20:\x20Number(value);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20answer[key]\x20=\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/forms/\x27\x20+\x20formID\x20+\x20\x27/reply\x27,\x20{\x20answer:\x20answer\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20refreshForms();\x20setStatus(\x27\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20setError(\x27提交失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20排队\x20/\x20引导消息\x20----------\x0a\x20\x20function\x20refreshQueue()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/inbox\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.queue\x20=\x20(p.data\x20||\x20[]).filter(function\x20(m)\x20{\x20return\x20m.type\x20===\x20\x27user\x27\x20||\x20m.type\x20===\x20\x27synthetic\x27;\x20});\x0a\x20\x20\x20\x20\x20\x20renderQueue();\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{});\x0a\x20\x20}\x0a\x20\x20function\x20queueText(m)\x20{\x0a\x20\x20\x20\x20var\x20payload\x20=\x20m.payload\x20||\x20{};\x0a\x20\x20\x20\x20return\x20stripPageContext(payload.text\x20||\x20payload.description\x20||\x20\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20renderQueue()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.queue.length)\x20{\x20queueBar.classList.remove(\x27show\x27);\x20queueBar.innerHTML\x20=\x20\x27\x27;\x20return;\x20}\x0a\x20\x20\x20\x20queueBar.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20queueBar.innerHTML\x20=\x20\x27<div\x20class=\x22queue-item\x22><span\x20class=\x22qi-badge\x22>\x27\x20+\x20STATE.queue.length\x20+\x20\x27\x20个已排队</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20STATE.queue.map(function\x20(m)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22queue-item\x22\x20data-inbox=\x22\x27\x20+\x20escapeHtml(m.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22qi-text\x22>\x27\x20+\x20escapeHtml(queueText(m)\x20||\x20\x27(空)\x27)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22qi-badge\x22>\x27\x20+\x20escapeHtml(m.delivery\x20||\x20\x27queue\x27)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20title=\x22取消\x22>\x27\x20+\x20icon(\x27x\x27,\x2011)\x20+\x20\x27</button></div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20queueBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20row\x20=\x20event.target.closest(\x27.queue-item[data-inbox]\x27);\x0a\x20\x20\x20\x20if\x20(!row\x20||\x20!event.target.closest(\x27button\x27))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/inbox/\x27\x20+\x20row.getAttribute(\x27data-inbox\x27)\x20+\x20\x27/cancel\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20.then(refreshQueue).catch(function\x20(e)\x20{\x20setError(\x27取消失败:\x27\x20+\x20e.message);\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20子代理(subagent\x20子会话)\x20----------\x0a\x20\x20//\x20子会话的\x20sessionID\x20与父会话不同,事件按\x20sessionID\x20路由会丢弃其事件;这里用轮询在运行中实时呈现。\x0a\x20\x20function\x20assistantText(message)\x20{\x0a\x20\x20\x20\x20return\x20(message.content\x20||\x20[])\x0a\x20\x20\x20\x20\x20\x20.filter(function\x20(part)\x20{\x20return\x20part.type\x20===\x20\x27text\x27;\x20})\x0a\x20\x20\x20\x20\x20\x20.map(function\x20(part)\x20{\x20return\x20part.text;\x20})\x0a\x20\x20\x20\x20\x20\x20.join(\x27\x27)\x0a\x20\x20\x20\x20\x20\x20.trim();\x0a\x20\x20}\x0a\x20\x20//\x20折叠状态保留:整体重建前记录\x20open\x20的\x20<details>\x20序号,重建后恢复\x0a\x20\x20function\x20captureFolds(root)\x20{\x0a\x20\x20\x20\x20var\x20open\x20=\x20[];\x0a\x20\x20\x20\x20root.querySelectorAll(\x27details.fold\x27).forEach(function\x20(d,\x20i)\x20{\x20if\x20(d.open)\x20{\x20open.push(i);\x20}\x20});\x0a\x20\x20\x20\x20return\x20open;\x0a\x20\x20}\x0a\x20\x20function\x20restoreFolds(root,\x20open)\x20{\x0a\x20\x20\x20\x20if\x20(!open\x20||\x20!open.length)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20nodes\x20=\x20root.querySelectorAll(\x27details.fold\x27);\x0a\x20\x20\x20\x20open.forEach(function\x20(i)\x20{\x20if\x20(nodes[i])\x20{\x20nodes[i].open\x20=\x20true;\x20}\x20});\x0a\x20\x20}\x0a\x20\x20function\x20childSnippet(c)\x20{\x0a\x20\x20\x20\x20var\x20text\x20=\x20STATE.childText[c.id];\x0a\x20\x20\x20\x20if\x20(text)\x20{\x20return\x20text;\x20}\x0a\x20\x20\x20\x20return\x20c.outcome\x20?\x20\x27(无文本输出)\x27\x20:\x20\x27(进行中…)\x27;\x0a\x20\x20}\x0a\x20\x20function\x20childItemHtml(c)\x20{\x0a\x20\x20\x20\x20var\x20label\x20=\x20c.agent\x20||\x20c.title\x20||\x20String(c.id).slice(-6);\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22child-item\x22\x20data-child=\x22\x27\x20+\x20escapeHtml(c.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22ci-head\x22><span\x20class=\x22ci-agent\x22>\x27\x20+\x20escapeHtml(label)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(c.outcome\x20?\x20\x27<span\x20class=\x22ci-outcome\x20\x27\x20+\x20escapeHtml(c.outcome)\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(c.outcome)\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22ci-open\x22>\x27\x20+\x20(STATE.childOpen[c.id]\x20?\x20\x27收起\x27\x20:\x20\x27展开\x27)\x20+\x20\x27</button></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22ci-text\x22>\x27\x20+\x20escapeHtml(String(childSnippet(c)).slice(0,\x20240))\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(STATE.childOpen[c.id]\x20?\x20\x27<div\x20class=\x22child-body\x22>\x27\x20+\x20(STATE.childHtml[c.id]\x20||\x20\x27加载中…\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderChildren()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.children.length\x20||\x20STATE.childDismissed)\x20{\x20childBar.classList.remove(\x27show\x27);\x20childBar.innerHTML\x20=\x20\x27\x27;\x20return;\x20}\x0a\x20\x20\x20\x20childBar.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20childBar.innerHTML\x20=\x20\x27<div\x20class=\x22child-title\x22>\x27\x20+\x20icon(\x27bot\x27,\x2012)\x20+\x20\x27\x20子代理\x20·\x20\x27\x20+\x20STATE.children.length\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22cb-btn\x22\x20data-cb=\x22collapse\x22>\x27\x20+\x20(STATE.childCollapsed\x20?\x20\x27展开\x27\x20:\x20\x27收起\x27)\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22cb-btn\x22\x20data-cb=\x22close\x22\x20title=\x22关闭(有新子代理时自动恢复)\x22>\x27\x20+\x20icon(\x27x\x27,\x2010)\x20+\x20\x27</button></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(STATE.childCollapsed\x20?\x20\x27\x27\x20:\x20STATE.children.map(childItemHtml).join(\x27\x27));\x0a\x20\x20}\x0a\x20\x20//\x20轮询时只更新文本\x20/\x20徽标,避免整体重建导致已展开的折叠被收起\x0a\x20\x20function\x20updateChildrenText()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.children.length)\x20{\x20renderChildren();\x20return;\x20}\x0a\x20\x20\x20\x20STATE.children.forEach(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20item\x20=\x20childBar.querySelector(\x27.child-item[data-child=\x22\x27\x20+\x20c.id\x20+\x20\x27\x22]\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!item)\x20{\x20renderChildren();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20textEl\x20=\x20item.querySelector(\x27.ci-text\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(textEl)\x20{\x20textEl.textContent\x20=\x20String(childSnippet(c)).slice(0,\x20240);\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20head\x20=\x20item.querySelector(\x27.ci-head\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20badge\x20=\x20item.querySelector(\x27.ci-outcome\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(c.outcome\x20&&\x20!badge\x20&&\x20head)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20badge\x20=\x20document.createElement(\x27span\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20badge.className\x20=\x20\x27ci-outcome\x20\x27\x20+\x20c.outcome;\x0a\x20\x20\x20\x20\x20\x20\x20\x20badge.textContent\x20=\x20c.outcome;\x0a\x20\x20\x20\x20\x20\x20\x20\x20head.insertBefore(badge,\x20item.querySelector(\x27.ci-open\x27));\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(badge)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20badge.className\x20=\x20\x27ci-outcome\x20\x27\x20+\x20(c.outcome\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20badge.textContent\x20=\x20c.outcome\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20fetchChildSummary(id)\x20{\x0a\x20\x20\x20\x20//\x20摘要取最近若干条里的最后一条\x20assistant(避免拉全量转写)\x0a\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20id\x20+\x20\x27/messages?limit=5&order=desc\x27).then(function\x20(m)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20last\x20=\x20(m.data\x20||\x20[]).find(function\x20(x)\x20{\x20return\x20x.type\x20===\x20\x27assistant\x27;\x20});\x0a\x20\x20\x20\x20\x20\x20if\x20(last)\x20{\x20STATE.childText[id]\x20=\x20assistantText(last);\x20}\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{});\x0a\x20\x20}\x0a\x20\x20function\x20fetchChildFull(id)\x20{\x0a\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20id\x20+\x20\x27/messages?order=desc&limit=200\x27).then(function\x20(m)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20body\x20=\x20childBar.querySelector(\x27.child-item[data-child=\x22\x27\x20+\x20id\x20+\x20\x27\x22]\x20.child-body\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!body)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20open\x20=\x20captureFolds(body);\x0a\x20\x20\x20\x20\x20\x20STATE.childHtml[id]\x20=\x20(m.data\x20||\x20[]).slice().reverse().map(renderMessage).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20body.innerHTML\x20=\x20STATE.childHtml[id];\x0a\x20\x20\x20\x20\x20\x20restoreFolds(body,\x20open);\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{});\x0a\x20\x20}\x0a\x20\x20function\x20refreshChildren()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid\x20||\x20STATE.childFetching)\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20STATE.childFetching\x20=\x20true;\x0a\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/children\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20list\x20=\x20p.data\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20structureChanged\x20=\x20list.length\x20!==\x20STATE.children.length\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20list.some(function\x20(c,\x20i)\x20{\x20return\x20!STATE.children[i]\x20||\x20STATE.children[i].id\x20!==\x20c.id;\x20});\x0a\x20\x20\x20\x20\x20\x20//\x20出现新子代理时自动恢复显示(用户关闭过也重新弹出,便于跟踪新任务)\x0a\x20\x20\x20\x20\x20\x20if\x20(list.some(function\x20(c)\x20{\x20return\x20!STATE.children.some(function\x20(o)\x20{\x20return\x20o.id\x20===\x20c.id;\x20});\x20}))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.childDismissed\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20STATE.children\x20=\x20list;\x0a\x20\x20\x20\x20\x20\x20if\x20(!list.length)\x20{\x20renderChildren();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(structureChanged)\x20{\x20renderChildren();\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20Promise.all(list.map(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20tasks\x20=\x20[fetchChildSummary(c.id)];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(STATE.childOpen[c.id])\x20{\x20tasks.push(fetchChildFull(c.id));\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20Promise.all(tasks);\x0a\x20\x20\x20\x20\x20\x20})).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(structureChanged)\x20{\x20renderChildren();\x20}\x20else\x20{\x20updateChildrenText();\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20静默:下一轮再试\x0a\x20\x20\x20\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.childFetching\x20=\x20false;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20childBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20cb\x20=\x20event.target.closest(\x27button[data-cb]\x27);\x0a\x20\x20\x20\x20if\x20(cb)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(cb.getAttribute(\x27data-cb\x27)\x20===\x20\x27close\x27)\x20{\x20STATE.childDismissed\x20=\x20true;\x20}\x0a\x20\x20\x20\x20\x20\x20else\x20{\x20STATE.childCollapsed\x20=\x20!STATE.childCollapsed;\x20}\x0a\x20\x20\x20\x20\x20\x20renderChildren();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20item\x20=\x20event.target.closest(\x27.child-item[data-child]\x27);\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20id\x20=\x20item.getAttribute(\x27data-child\x27);\x0a\x20\x20\x20\x20STATE.childOpen[id]\x20=\x20!STATE.childOpen[id];\x0a\x20\x20\x20\x20renderChildren();\x0a\x20\x20\x20\x20if\x20(STATE.childOpen[id])\x20{\x20refreshChildren();\x20}\x0a\x20\x20});\x0a\x20\x20var\x20childTimer\x20=\x20null;\x0a\x20\x20var\x20CHILD_POLL_MS\x20=\x201500;\x0a\x20\x20var\x20CHILD_POLL_MAX\x20=\x20600;\x20\x20\x20//\x20安全上限(约\x2015\x20分钟),避免事件丢失时无限轮询\x0a\x20\x20function\x20startChildPoll()\x20{\x0a\x20\x20\x20\x20stopChildPoll();\x0a\x20\x20\x20\x20STATE.childPolls\x20=\x200;\x0a\x20\x20\x20\x20childTimer\x20=\x20setInterval(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.childPolls\x20=\x20(STATE.childPolls\x20||\x200)\x20+\x201;\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.childPolls\x20>\x20CHILD_POLL_MAX)\x20{\x20stopChildPoll();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20refreshChildren();\x0a\x20\x20\x20\x20},\x20CHILD_POLL_MS);\x0a\x20\x20}\x0a\x20\x20function\x20stopChildPoll()\x20{\x0a\x20\x20\x20\x20clearInterval(childTimer);\x0a\x20\x20\x20\x20childTimer\x20=\x20null;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20WebSocket\x20通道(仅\x20Git\x20指令\x20+\x20分支查询;大模型事件推送仍走\x20SSE)\x20----------\x0a\x20\x20var\x20WS_URL\x20=\x20(location.protocol\x20===\x20\x27https:\x27\x20?\x20\x27wss://\x27\x20:\x20\x27ws://\x27)\x20+\x20location.host\x20+\x20\x27/aiwith/ws\x27;\x0a\x20\x20var\x20ws\x20=\x20null,\x20wsSeq\x20=\x200,\x20wsPending\x20=\x20{},\x20wsRetry\x20=\x200,\x20wsTimer\x20=\x20null;\x0a\x0a\x20\x20//\x20指令请求:发\x20{\x20id,\x20cmd,\x20...args\x20},等服务端回\x20{\x20id,\x20ok,\x20data?,\x20summary?\x20}\x0a\x20\x20function\x20wsCall(cmd,\x20args,\x20timeoutMs)\x20{\x0a\x20\x20\x20\x20return\x20new\x20Promise(function\x20(resolve,\x20reject)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!ws\x20||\x20ws.readyState\x20!==\x201)\x20{\x20reject(new\x20Error(\x27通道未连接\x27));\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20id\x20=\x20++wsSeq;\x0a\x20\x20\x20\x20\x20\x20var\x20timer\x20=\x20setTimeout(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20delete\x20wsPending[id];\x0a\x20\x20\x20\x20\x20\x20\x20\x20reject(new\x20Error(\x27请求超时\x27));\x0a\x20\x20\x20\x20\x20\x20},\x20timeoutMs\x20||\x2030000);\x0a\x20\x20\x20\x20\x20\x20wsPending[id]\x20=\x20{\x20resolve:\x20resolve,\x20reject:\x20reject,\x20timer:\x20timer\x20};\x0a\x20\x20\x20\x20\x20\x20ws.send(JSON.stringify(Object.assign({\x20id:\x20id,\x20cmd:\x20cmd\x20},\x20args\x20||\x20{})));\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20failPending(reason)\x20{\x0a\x20\x20\x20\x20Object.keys(wsPending).forEach(function\x20(id)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20item\x20=\x20wsPending[id];\x0a\x20\x20\x20\x20\x20\x20clearTimeout(item.timer);\x0a\x20\x20\x20\x20\x20\x20item.reject(new\x20Error(reason));\x0a\x20\x20\x20\x20\x20\x20delete\x20wsPending[id];\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20onWsMessage(raw)\x20{\x0a\x20\x20\x20\x20var\x20message;\x0a\x20\x20\x20\x20try\x20{\x20message\x20=\x20JSON.parse(raw);\x20}\x20catch\x20(e)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(typeof\x20message.id\x20!==\x20\x27number\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20pending\x20=\x20wsPending[message.id];\x0a\x20\x20\x20\x20if\x20(!pending)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20clearTimeout(pending.timer);\x0a\x20\x20\x20\x20delete\x20wsPending[message.id];\x0a\x20\x20\x20\x20if\x20(message.ok)\x20{\x20pending.resolve(message);\x20}\x0a\x20\x20\x20\x20else\x20{\x20pending.reject(new\x20Error(message.message\x20||\x20\x27请求失败\x27));\x20}\x0a\x20\x20}\x0a\x20\x20function\x20scheduleWsReconnect()\x20{\x0a\x20\x20\x20\x20clearTimeout(wsTimer);\x0a\x20\x20\x20\x20wsRetry\x20=\x20Math.min(wsRetry\x20+\x201,\x206);\x0a\x20\x20\x20\x20wsTimer\x20=\x20setTimeout(connectWs,\x20Math.min(800\x20*\x20Math.pow(2,\x20wsRetry\x20-\x201),\x2015000));\x0a\x20\x20}\x0a\x20\x20function\x20connectWs()\x20{\x0a\x20\x20\x20\x20if\x20(ws\x20&&\x20(ws.readyState\x20===\x200\x20||\x20ws.readyState\x20===\x201))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20try\x20{\x20ws\x20=\x20new\x20WebSocket(WS_URL);\x20}\x20catch\x20(e)\x20{\x20scheduleWsReconnect();\x20return;\x20}\x0a\x20\x20\x20\x20ws.onopen\x20=\x20function\x20()\x20{\x20wsRetry\x20=\x200;\x20};\x0a\x20\x20\x20\x20ws.onmessage\x20=\x20function\x20(frame)\x20{\x20onWsMessage(frame.data);\x20};\x0a\x20\x20\x20\x20ws.onclose\x20=\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20failPending(\x27通道已断开\x27);\x0a\x20\x20\x20\x20\x20\x20scheduleWsReconnect();\x0a\x20\x20\x20\x20};\x0a\x20\x20\x20\x20ws.onerror\x20=\x20function\x20()\x20{\x20/*\x20onclose\x20兜底重连\x20*/\x20};\x0a\x20\x20}\x0a\x0a\x20\x20//\x20断线重连后对账所有标签的运行态(期间错过的\x20execution.finished\x20会让标签卡在「运行中」)\x0a\x20\x20function\x20reconcileRunning()\x20{\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/status\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20running\x20=\x20p.running\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20renderBranch(p.branch);\x0a\x20\x20\x20\x20\x20\x20STATE.tabs.forEach(function\x20(sid)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20item\x20=\x20STATE.sessions[sid];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(item)\x20{\x20item.busy\x20=\x20running.indexOf(sid)\x20>\x20-1;\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.sid\x20&&\x20STATE.sessions[STATE.sid])\x20{\x20setBusy(STATE.sessions[STATE.sid].busy);\x20}\x0a\x20\x20\x20\x20\x20\x20else\x20{\x20renderTabs();\x20}\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20静默:下次事件或重连再对账\x20*/\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20事件流(SSE:大模型事件推送,比\x20WebSocket\x20更稳定)\x20----------\x0a\x20\x20function\x20openEventStream()\x20{\x0a\x20\x20\x20\x20if\x20(STATE.source)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20firstOpen\x20=\x20true;\x0a\x20\x20\x20\x20var\x20source\x20=\x20STATE.source\x20=\x20new\x20EventSource(\x27/aiwith/api/events\x27);\x0a\x20\x20\x20\x20source.onopen\x20=\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20首次连接由调用方主动刷新;断线重连时补拉当前会话数据、对账运行态与分支\x0a\x20\x20\x20\x20\x20\x20if\x20(firstOpen)\x20{\x20firstOpen\x20=\x20false;\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.sid)\x20{\x20refreshMessages();\x20refreshPermissions();\x20}\x0a\x20\x20\x20\x20\x20\x20reconcileRunning();\x0a\x20\x20\x20\x20\x20\x20refreshBranch();\x0a\x20\x20\x20\x20};\x0a\x20\x20\x20\x20source.onerror\x20=\x20function\x20()\x20{\x20/*\x20浏览器自动重连\x20*/\x20};\x0a\x20\x20\x20\x20source.onmessage\x20=\x20function\x20(frame)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20event;\x0a\x20\x20\x20\x20\x20\x20try\x20{\x20event\x20=\x20JSON.parse(frame.data);\x20}\x20catch\x20(e)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20handleEvent(event.type\x20||\x20\x27\x27,\x20event.data\x20||\x20{});\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x0a\x0a\x20\x20//\x20事件路由(SSE\x20推送),按\x20sessionID\x20分发到对应标签\x0a\x20\x20function\x20handleEvent(type,\x20data)\x20{\x0a\x20\x20\x20\x20var\x20sid\x20=\x20data.sessionID\x20||\x20\x27\x27;\x0a\x0a\x20\x20\x20\x20//\x20全局事件(无\x20sessionID):MCP\x20与注册表\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27mcp.status.changed\x27)\x20{\x20return\x20refreshMcp();\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27command.updated\x27\x20||\x20type\x20===\x20\x27agent.updated\x27\x20||\x20type\x20===\x20\x27model.updated\x27)\x20{\x20return\x20refreshRegistry();\x20}\x0a\x0a\x20\x20\x20\x20//\x20会话生命周期(部分事件不带\x20sessionID,如\x20session.created\x20携带会话对象)\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.created\x27\x20||\x20type\x20===\x20\x27session.moved\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20type\x20===\x20\x27session.renamed\x27\x20||\x20type\x20===\x20\x27session.deleted\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20rid\x20=\x20sid\x20||\x20(data.session\x20&&\x20data.session.id)\x20||\x20data.id\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.renamed\x27\x20&&\x20rid)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20title\x20=\x20data.title\x20||\x20(data.session\x20&&\x20data.session.title);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(title)\x20{\x20ensureSession(rid,\x20{\x20title:\x20title\x20});\x20renderTabs();\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.deleted\x27\x20&&\x20rid\x20&&\x20STATE.tabs.indexOf(rid)\x20>\x20-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20dropTab(rid);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.historyOpen)\x20{\x20loadSessions();\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!sid)\x20{\x20return;\x20}\x0a\x0a\x20\x20\x20\x20//\x20非当前会话:仅维护本面板标签的运行态与未读;其它会话忽略\x0a\x20\x20\x20\x20if\x20(sid\x20!==\x20STATE.sid)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(sid)\x20===\x20-1)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20meta\x20=\x20ensureSession(sid);\x0a\x20\x20\x20\x20\x20\x20var\x20changed\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.execution.started\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!meta.busy)\x20{\x20meta.busy\x20=\x20true;\x20changed\x20=\x20true;\x20}\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(type\x20===\x20\x27session.execution.succeeded\x27\x20||\x20type\x20===\x20\x27session.execution.failed\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20===\x20\x27session.execution.interrupted\x27\x20||\x20type\x20===\x20\x27session.idle\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(meta.busy)\x20{\x20meta.busy\x20=\x20false;\x20changed\x20=\x20true;\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(!meta.unread)\x20{\x20meta.unread\x20=\x20true;\x20changed\x20=\x20true;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(changed)\x20{\x20renderTabs();\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20当前会话:常规处理\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.text.delta\x27)\x20{\x20return\x20onDelta(\x27text\x27,\x20data);\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.reasoning.delta\x27)\x20{\x20return\x20onDelta(\x27reasoning\x27,\x20data);\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.execution.started\x27)\x20{\x20setBusy(true);\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.execution.succeeded\x27\x20||\x20type\x20===\x20\x27session.execution.failed\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20type\x20===\x20\x27session.execution.interrupted\x27\x20||\x20type\x20===\x20\x27session.idle\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20setBusy(false);\x0a\x20\x20\x20\x20\x20\x20return\x20scheduleRefresh();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.usage.updated\x27\x20||\x20type\x20===\x20\x27session.usage.recorded\x27)\x20{\x20return\x20scheduleRefresh();\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.agent.selected\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.agent\x20=\x20data.agent\x20||\x20STATE.agent;\x0a\x20\x20\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.model.selected\x27)\x20{\x20return\x20refreshSessionState();\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27permission.asked\x27)\x20{\x20refreshPermissions();\x20setStatus(\x27等待授权操作…\x27);\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27permission.replied\x27)\x20{\x20refreshPermissions();\x20setStatus(\x27\x27);\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27form.created\x27\x20||\x20type\x20===\x20\x27form.replied\x27\x20||\x20type\x20===\x20\x27form.cancelled\x27)\x20{\x20return\x20refreshForms();\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.revert.staged\x27\x20||\x20type\x20===\x20\x27session.revert.cleared\x27\x20||\x20type\x20===\x20\x27session.revert.committed\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20refreshSessionState();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(type.indexOf(\x27session.compaction.\x27)\x20===\x200)\x20{\x20return\x20scheduleRefresh();\x20}\x0a\x20\x20\x20\x20if\x20(type.indexOf(\x27session.inbox.\x27)\x20===\x200)\x20{\x20return\x20refreshQueue();\x20}\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27session.retry.scheduled\x27)\x20{\x20setStatus(\x27请求重试中…\x27);\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(type.indexOf(\x27session.tool.\x27)\x20===\x200\x20||\x20type\x20===\x20\x27session.message.content.updated\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20type\x20===\x20\x27session.shell.started\x27\x20||\x20type\x20===\x20\x27session.shell.ended\x27\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20type.indexOf(\x27session.step.\x27)\x20===\x200\x20||\x20type\x20===\x20\x27session.skill.activated\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20scheduleRefresh();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20function\x20setBusy(busy)\x20{\x0a\x20\x20\x20\x20STATE.busy\x20=\x20busy;\x0a\x20\x20\x20\x20if\x20(STATE.sid)\x20{\x20ensureSession(STATE.sid).busy\x20=\x20busy;\x20}\x0a\x20\x20\x20\x20sendBtn.className\x20=\x20\x27send-btn\x27\x20+\x20(busy\x20?\x20\x27\x20stop\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20sendBtn.innerHTML\x20=\x20busy\x20?\x20icon(\x27square\x27,\x2017)\x20:\x20icon(\x27send\x27,\x2017);\x0a\x20\x20\x20\x20sendBtn.title\x20=\x20busy\x20?\x20\x27停止\x27\x20:\x20\x27发送\x27;\x0a\x20\x20\x20\x20setStatus(busy\x20?\x20\x27AI\x20正在处理…\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20if\x20(busy)\x20{\x20startChildPoll();\x20}\x20else\x20{\x20stopChildPoll();\x20refreshChildren();\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20MCP\x20状态指示(左上角激活个数,悬停详情)\x20----------\x0a\x20\x20var\x20mcpBadge\x20=\x20$(\x27mcpBadge\x27),\x20mcpTip\x20=\x20$(\x27mcpTip\x27);\x0a\x20\x20function\x20renderMcp(list)\x20{\x0a\x20\x20\x20\x20var\x20items\x20=\x20list\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!items.length)\x20{\x0a\x20\x20\x20\x20\x20\x20mcpBadge.style.display\x20=\x20\x27none\x27;\x0a\x20\x20\x20\x20\x20\x20mcpTip.classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20active\x20=\x20items.filter(function\x20(item)\x20{\x20return\x20item.status\x20===\x20\x27connected\x27;\x20}).length;\x0a\x20\x20\x20\x20//\x20「已断开」是默认省\x20token\x20的正常态,不算异常;只有\x20failed/needs_auth\x20才标红\x0a\x20\x20\x20\x20var\x20manageable\x20=\x20items.filter(function\x20(item)\x20{\x20return\x20item.status\x20!==\x20\x27disabled\x27;\x20}).length;\x0a\x20\x20\x20\x20var\x20hasBad\x20=\x20items.some(function\x20(item)\x20{\x20return\x20item.status\x20===\x20\x27failed\x27\x20||\x20item.status\x20===\x20\x27needs_auth\x27\x20||\x20item.status\x20===\x20\x27needsAuth\x27;\x20});\x0a\x20\x20\x20\x20mcpBadge.style.display\x20=\x20\x27flex\x27;\x0a\x20\x20\x20\x20mcpBadge.className\x20=\x20\x27mcp-badge\x27\x20+\x20(hasBad\x20?\x20\x27\x20bad\x27\x20:\x20active\x20>=\x20manageable\x20?\x20\x27\x20all-ok\x27\x20:\x20\x27\x20warn\x27);\x0a\x20\x20\x20\x20mcpBadge.innerHTML\x20=\x20icon(\x27server\x27,\x2013)\x20+\x20\x27<span>\x27\x20+\x20active\x20+\x20\x27/\x27\x20+\x20items.length\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20mcpBadge.title\x20=\x20\x27MCP\x20服务(点击开关)\x27;\x0a\x20\x20\x20\x20mcpTip.innerHTML\x20=\x20\x27<div\x20class=\x22mcp-head\x22>MCP\x20服务</div>\x27\x20+\x20items.map(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20pending\x20=\x20item.status\x20===\x20\x27pending\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20on\x20=\x20item.status\x20===\x20\x27connected\x27\x20||\x20pending;\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22row\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22dot\x20\x27\x20+\x20escapeHtml(item.status)\x20+\x20\x27\x22></span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22name\x22>\x27\x20+\x20escapeHtml(item.name)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22state\x22>\x27\x20+\x20escapeHtml(item.status)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<label\x20class=\x22mcp-switch\x22\x20title=\x22\x27\x20+\x20(on\x20?\x20\x27断开(省下其工具上下文)\x27\x20:\x20\x27连接\x27)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<input\x20type=\x22checkbox\x22\x20data-mcp=\x22\x27\x20+\x20escapeHtml(item.name)\x20+\x20\x27\x22\x27\x20+\x20(on\x20?\x20\x27\x20checked\x27\x20:\x20\x27\x27)\x20+\x20(pending\x20?\x20\x27\x20disabled\x27\x20:\x20\x27\x27)\x20+\x20\x27>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22track\x22></span></label>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27\x20+\x20(item.error\x20?\x20\x27<div\x20class=\x22err\x22>\x27\x20+\x20escapeHtml(item.error)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27<div\x20class=\x22mcp-hint\x22>关闭后该\x20MCP\x20的工具不再进入模型上下文(省\x20token)</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20refreshMcp()\x20{\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/mcp\x27).then(function\x20(payload)\x20{\x20renderMcp(payload.data);\x20}).catch(function\x20()\x20{\x20/*\x20静默\x20*/\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20右上角:当前\x20Git\x20分支\x20----------\x0a\x20\x20function\x20renderBranch(name)\x20{\x0a\x20\x20\x20\x20if\x20(!branchBadge)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20text\x20=\x20String(name\x20||\x20\x27\x27).trim();\x0a\x20\x20\x20\x20if\x20(!text)\x20{\x0a\x20\x20\x20\x20\x20\x20branchBadge.style.display\x20=\x20\x27none\x27;\x0a\x20\x20\x20\x20\x20\x20branchBadge.innerHTML\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20branchBadge.removeAttribute(\x27title\x27);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20branchBadge.style.display\x20=\x20\x27inline-flex\x27;\x0a\x20\x20\x20\x20branchBadge.innerHTML\x20=\x20icon(\x27git-branch\x27,\x2011)\x20+\x20\x27<span\x20class=\x22bb-name\x22>\x27\x20+\x20escapeHtml(text)\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20branchBadge.title\x20=\x20\x27当前\x20Git\x20分支:\x27\x20+\x20text;\x0a\x20\x20}\x0a\x20\x20//\x20MCP\x20徽标:点击打开开关面板(原\x20hover\x20提示改为可交互的列表)\x0a\x20\x20mcpBadge.style.cursor\x20=\x20\x27pointer\x27;\x0a\x20\x20mcpBadge.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20if\x20(!mcpTip.innerHTML)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20rect\x20=\x20mcpBadge.getBoundingClientRect();\x0a\x20\x20\x20\x20mcpTip.style.top\x20=\x20Math.round(rect.top)\x20+\x20\x27px\x27;\x0a\x20\x20\x20\x20mcpTip.style.left\x20=\x20Math.round(rect.right\x20+\x208)\x20+\x20\x27px\x27;\x0a\x20\x20\x20\x20mcpTip.classList.toggle(\x27show\x27);\x0a\x20\x20});\x0a\x20\x20mcpTip.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20var\x20input\x20=\x20event.target\x20&&\x20event.target.closest\x20?\x20event.target.closest(\x27input[data-mcp]\x27)\x20:\x20null;\x0a\x20\x20\x20\x20if\x20(!input)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20mcpName\x20=\x20input.getAttribute(\x27data-mcp\x27);\x0a\x20\x20\x20\x20var\x20want\x20=\x20input.checked;\x0a\x20\x20\x20\x20input.disabled\x20=\x20true;\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/mcp/toggle\x27,\x20{\x20name:\x20mcpName,\x20on:\x20want\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x20renderMcp(payload.data);\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{\x20input.checked\x20=\x20!want;\x20input.disabled\x20=\x20false;\x20});\x0a\x20\x20});\x0a\x20\x20document.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(!mcpTip.classList.contains(\x27show\x27))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20target\x20=\x20event.target;\x0a\x20\x20\x20\x20if\x20(target\x20&&\x20target.closest\x20&&\x20(target.closest(\x27#mcpTip\x27)\x20||\x20target.closest(\x27#mcpBadge\x27)))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20mcpTip.classList.remove(\x27show\x27);\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20模型选择(顶栏)\x20----------\x0a\x20\x20var\x20modelPicker\x20=\x20$(\x27modelPicker\x27),\x20modelPanel\x20=\x20$(\x27modelPanel\x27),\x20modelList\x20=\x20$(\x27modelList\x27);\x0a\x20\x20function\x20shortModelName(item)\x20{\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20return\x20\x27—\x27;\x20}\x0a\x20\x20\x20\x20var\x20name\x20=\x20item.name\x20||\x20item.modelID\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20var\x20slash\x20=\x20name.lastIndexOf(\x27/\x27);\x0a\x20\x20\x20\x20return\x20slash\x20>\x20-1\x20?\x20name.slice(slash\x20+\x201)\x20:\x20name;\x0a\x20\x20}\x0a\x20\x20function\x20findModel(ref)\x20{\x0a\x20\x20\x20\x20if\x20(!ref)\x20{\x20return\x20null;\x20}\x0a\x20\x20\x20\x20return\x20STATE.models.find(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20item.providerID\x20===\x20ref.providerID\x20&&\x20item.modelID\x20===\x20(ref.modelID\x20||\x20ref.id);\x0a\x20\x20\x20\x20})\x20||\x20null;\x0a\x20\x20}\x0a\x20\x20function\x20renderModelPicker()\x20{\x0a\x20\x20\x20\x20var\x20current\x20=\x20STATE.model;\x0a\x20\x20\x20\x20modelPicker.innerHTML\x20=\x20icon(\x27cpu\x27,\x2012)\x20+\x20\x27<span\x20class=\x22label\x22>\x27\x20+\x20escapeHtml(shortModelName(current))\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20modelPicker.title\x20=\x20current\x20?\x20\x27当前模型:\x27\x20+\x20(current.name\x20||\x20current.modelID)\x20+\x20\x27(点击切换)\x27\x20:\x20\x27切换模型\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderModelList()\x20{\x0a\x20\x20\x20\x20var\x20current\x20=\x20STATE.model;\x0a\x20\x20\x20\x20//\x20分组并按「付费优先」排序(公司场景付费模型优先使用)\x0a\x20\x20\x20\x20var\x20groups\x20=\x20{};\x0a\x20\x20\x20\x20var\x20order\x20=\x20[];\x0a\x20\x20\x20\x20STATE.models.forEach(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!groups[item.providerID])\x20{\x20groups[item.providerID]\x20=\x20[];\x20order.push(item.providerID);\x20}\x0a\x20\x20\x20\x20\x20\x20groups[item.providerID].push(item);\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20order.sort(function\x20(a,\x20b)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20paidA\x20=\x20groups[a].some(function\x20(m)\x20{\x20return\x20m.paid;\x20})\x20?\x200\x20:\x201;\x0a\x20\x20\x20\x20\x20\x20var\x20paidB\x20=\x20groups[b].some(function\x20(m)\x20{\x20return\x20m.paid;\x20})\x20?\x200\x20:\x201;\x0a\x20\x20\x20\x20\x20\x20if\x20(paidA\x20!==\x20paidB)\x20{\x20return\x20paidA\x20-\x20paidB;\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20curA\x20=\x20current\x20&&\x20current.providerID\x20===\x20a\x20?\x200\x20:\x201;\x0a\x20\x20\x20\x20\x20\x20var\x20curB\x20=\x20current\x20&&\x20current.providerID\x20===\x20b\x20?\x200\x20:\x201;\x0a\x20\x20\x20\x20\x20\x20return\x20curA\x20-\x20curB;\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20if\x20(!order.length)\x20{\x0a\x20\x20\x20\x20\x20\x20modelList.innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>暂无可用模型</div>\x27;\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20modelList.innerHTML\x20=\x20order.map(function\x20(providerID)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20expanded\x20=\x20!!STATE.modelExpanded[providerID];\x0a\x20\x20\x20\x20\x20\x20var\x20items\x20=\x20groups[providerID]\x0a\x20\x20\x20\x20\x20\x20\x20\x20.slice()\x0a\x20\x20\x20\x20\x20\x20\x20\x20.sort(function\x20(a,\x20b)\x20{\x20return\x20(a.paid\x20?\x200\x20:\x201)\x20-\x20(b.paid\x20?\x200\x20:\x201);\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.map(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20isCurrent\x20=\x20current\x20&&\x20item.providerID\x20===\x20current.providerID\x20&&\x20item.modelID\x20===\x20current.modelID;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20limit\x20=\x20item.contextLimit\x20?\x20fmtTokens(item.contextLimit)\x20+\x20\x27\x20上下文\x27\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20variants\x20=\x20item.variants\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20variantHtml\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(isCurrent\x20&&\x20variants.length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variantHtml\x20=\x20\x27<div\x20class=\x22variant-chips\x22>\x27\x20+\x20variants.map(function\x20(v)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<span\x20class=\x22variant-chip\x27\x20+\x20(v\x20===\x20current.variant\x20?\x20\x27\x20current\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27\x22\x20data-variant=\x22\x27\x20+\x20escapeHtml(v)\x20+\x20\x27\x22>\x27\x20+\x20escapeHtml(v)\x20+\x20\x27</span>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22model-item\x27\x20+\x20(isCurrent\x20?\x20\x27\x20current\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-provider=\x22\x27\x20+\x20escapeHtml(item.providerID)\x20+\x20\x27\x22\x20data-model=\x22\x27\x20+\x20escapeHtml(item.modelID)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22m-name\x22>\x27\x20+\x20escapeHtml(shortModelName(item))\x20+\x20(isCurrent\x20?\x20\x27\x20✓\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(limit\x20?\x20\x27<div\x20class=\x22m-meta\x22>\x27\x20+\x20escapeHtml(limit)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variantHtml\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20paidGroup\x20=\x20groups[providerID].some(function\x20(m)\x20{\x20return\x20m.paid;\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20currentInGroup\x20=\x20current\x20&&\x20current.providerID\x20===\x20providerID;\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22model-group\x27\x20+\x20(expanded\x20?\x20\x27\x20expanded\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22model-group-head\x22\x20data-provider=\x22\x27\x20+\x20escapeHtml(providerID)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20icon(\x27chevron-right\x27,\x2012).replace(\x27class=\x22ico\x22\x27,\x20\x27class=\x22ico\x20chevron\x22\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22mg-name\x22>\x27\x20+\x20escapeHtml(providerID)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(paidGroup\x20?\x20\x27<span\x20class=\x22paid-tag\x22>付费</span>\x27\x20:\x20\x27<span\x20class=\x22free-tag\x22>免费</span>\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(currentInGroup\x20?\x20\x27<span\x20class=\x22cur-in-group\x22>\x27\x20+\x20escapeHtml(shortModelName(current))\x20+\x20\x27\x20✓</span>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div><div\x20class=\x22model-group-body\x22>\x27\x20+\x20items\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20toggleModelPanel(force)\x20{\x0a\x20\x20\x20\x20var\x20open\x20=\x20typeof\x20force\x20===\x20\x27boolean\x27\x20?\x20force\x20:\x20!STATE.modelOpen;\x0a\x20\x20\x20\x20STATE.modelOpen\x20=\x20open;\x0a\x20\x20\x20\x20modelPanel.classList.toggle(\x27show\x27,\x20open);\x0a\x20\x20\x20\x20if\x20(open)\x20{\x20renderModelList();\x20}\x0a\x20\x20}\x0a\x20\x20modelPicker.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20toggleModelPanel();\x0a\x20\x20});\x0a\x20\x20modelPanel.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20//\x20组标题:展开\x20/\x20收起\x0a\x20\x20\x20\x20var\x20head\x20=\x20event.target.closest(\x27.model-group-head\x27);\x0a\x20\x20\x20\x20if\x20(head)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20providerID\x20=\x20head.getAttribute(\x27data-provider\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20group\x20=\x20head.parentElement;\x0a\x20\x20\x20\x20\x20\x20STATE.modelExpanded[providerID]\x20=\x20!group.classList.contains(\x27expanded\x27);\x0a\x20\x20\x20\x20\x20\x20group.classList.toggle(\x27expanded\x27,\x20STATE.modelExpanded[providerID]);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20变体选择(如\x20#high)\x0a\x20\x20\x20\x20var\x20chip\x20=\x20event.target.closest(\x27.variant-chip[data-variant]\x27);\x0a\x20\x20\x20\x20if\x20(chip\x20&&\x20!STATE.busy\x20&&\x20STATE.sid\x20&&\x20STATE.model)\x20{\x0a\x20\x20\x20\x20\x20\x20switchModelTo(STATE.model.providerID,\x20STATE.model.modelID,\x20chip.getAttribute(\x27data-variant\x27));\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20item\x20=\x20event.target.closest(\x27.model-item[data-model]\x27);\x0a\x20\x20\x20\x20if\x20(!item\x20||\x20STATE.busy\x20||\x20!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20providerID\x20=\x20item.getAttribute(\x27data-provider\x27);\x0a\x20\x20\x20\x20var\x20modelID\x20=\x20item.getAttribute(\x27data-model\x27);\x0a\x20\x20\x20\x20if\x20(STATE.model\x20&&\x20STATE.model.providerID\x20===\x20providerID\x20&&\x20STATE.model.modelID\x20===\x20modelID)\x20{\x0a\x20\x20\x20\x20\x20\x20toggleModelPanel(false);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20switchModelTo(providerID,\x20modelID,\x20null);\x0a\x20\x20});\x0a\x20\x20function\x20switchModelTo(providerID,\x20modelID,\x20variant)\x20{\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/model\x27,\x20{\x20model:\x20{\x20providerID:\x20providerID,\x20id:\x20modelID,\x20...(variant\x20?\x20{\x20variant:\x20variant\x20}\x20:\x20{})\x20}\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20session\x20=\x20payload.data\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20matched\x20=\x20findModel(session.model)\x20||\x20STATE.models.find(function\x20(m)\x20{\x20return\x20m.providerID\x20===\x20providerID\x20&&\x20m.modelID\x20===\x20modelID;\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.model\x20=\x20matched\x20?\x20Object.assign({},\x20matched,\x20{\x20variant:\x20session.model\x20&&\x20session.model.variant\x20})\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.ctxLimit\x20=\x20(matched\x20&&\x20matched.contextLimit)\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderModelPicker();\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderModelList();\x0a\x20\x20\x20\x20\x20\x20\x20\x20refreshMessages();\x20\x20//\x20ctx\x20用量按新模型窗口重算\x0a\x20\x20\x20\x20\x20\x20\x20\x20setStatus(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20toggleModelPanel(false);\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20setError(\x27切换模型失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20}\x0a\x20\x20document.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(STATE.modelOpen\x20&&\x20!event.target.closest(\x27#modelPanel\x27)\x20&&\x20!event.target.closest(\x27#modelPicker\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20toggleModelPanel(false);\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20会话标签(多会话并发)\x20----------\x0a\x20\x20var\x20TABS_KEY\x20=\x20\x27zen-aiwith:tabs\x27;\x0a\x20\x20function\x20ensureSession(sid,\x20meta)\x20{\x0a\x20\x20\x20\x20if\x20(!sid)\x20{\x20return\x20null;\x20}\x0a\x20\x20\x20\x20var\x20item\x20=\x20STATE.sessions[sid];\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20item\x20=\x20STATE.sessions[sid]\x20=\x20{\x20id:\x20sid,\x20title:\x20\x27\x27,\x20busy:\x20false,\x20unread:\x20false\x20};\x20}\x0a\x20\x20\x20\x20if\x20(meta)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(meta.title)\x20{\x20item.title\x20=\x20meta.title;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(typeof\x20meta.busy\x20===\x20\x27boolean\x27)\x20{\x20item.busy\x20=\x20meta.busy;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20item;\x0a\x20\x20}\x0a\x20\x20function\x20saveTabs()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20localStorage.setItem(TABS_KEY,\x20JSON.stringify({\x20tabs:\x20STATE.tabs,\x20active:\x20STATE.sid\x20}));\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20/*\x20忽略存储失败\x20*/\x20}\x0a\x20\x20}\x0a\x20\x20function\x20loadTabs()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20raw\x20=\x20JSON.parse(localStorage.getItem(TABS_KEY)\x20||\x20\x27null\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(raw\x20&&\x20Array.isArray(raw.tabs))\x20{\x20return\x20raw;\x20}\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20/*\x20忽略解析失败\x20*/\x20}\x0a\x20\x20\x20\x20return\x20{\x20tabs:\x20[],\x20active:\x20\x27\x27\x20};\x0a\x20\x20}\x0a\x20\x20function\x20sessionLabel(sid)\x20{\x0a\x20\x20\x20\x20var\x20item\x20=\x20STATE.sessions[sid];\x0a\x20\x20\x20\x20return\x20(item\x20&&\x20item.title)\x20||\x20(\x27会话\x20\x27\x20+\x20String(sid).slice(-6));\x0a\x20\x20}\x0a\x20\x20function\x20renderTabs()\x20{\x0a\x20\x20\x20\x20if\x20(!tabsBar)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20html\x20=\x20STATE.tabs.map(function\x20(sid)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20item\x20=\x20ensureSession(sid);\x0a\x20\x20\x20\x20\x20\x20var\x20dot\x20=\x20item.busy\x20?\x20\x27running\x27\x20:\x20(item.unread\x20?\x20\x27unread\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22tab\x27\x20+\x20(sid\x20===\x20STATE.sid\x20?\x20\x27\x20active\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-sid=\x22\x27\x20+\x20escapeHtml(sid)\x20+\x20\x27\x22\x20title=\x22\x27\x20+\x20escapeHtml(sessionLabel(sid))\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22tab-dot\x20\x27\x20+\x20dot\x20+\x20\x27\x22></span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22tab-title\x22>\x27\x20+\x20escapeHtml(sessionLabel(sid))\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(STATE.tabs.length\x20>\x201\x20?\x20\x27<button\x20class=\x22tab-close\x22\x20data-close=\x22\x27\x20+\x20escapeHtml(sid)\x20+\x20\x27\x22\x20title=\x22关闭标签\x22>\x27\x20+\x20icon(\x27x\x27,\x2011)\x20+\x20\x27</button>\x27\x20:\x20\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20tabsBar.innerHTML\x20=\x20html;\x0a\x20\x20}\x0a\x20\x20function\x20addTab(sid,\x20title)\x20{\x0a\x20\x20\x20\x20if\x20(!sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(sid)\x20===\x20-1)\x20{\x20STATE.tabs.push(sid);\x20}\x0a\x20\x20\x20\x20ensureSession(sid,\x20title\x20?\x20{\x20title:\x20title\x20}\x20:\x20null);\x0a\x20\x20\x20\x20saveTabs();\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20}\x0a\x20\x20function\x20removeTab(sid)\x20{\x0a\x20\x20\x20\x20var\x20index\x20=\x20STATE.tabs.indexOf(sid);\x0a\x20\x20\x20\x20if\x20(index\x20>\x20-1)\x20{\x20STATE.tabs.splice(index,\x201);\x20}\x0a\x20\x20\x20\x20delete\x20STATE.sessions[sid];\x0a\x20\x20\x20\x20saveTabs();\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20}\x0a\x20\x20//\x20切换序号:快速连点标签时,仅最后一次请求的结果生效(丢弃过期响应)\x0a\x20\x20var\x20switchSeq\x20=\x200;\x0a\x20\x20//\x20打开/激活某会话为标签(历史点击与标签点击共用)\x0a\x20\x20function\x20openSession(sid)\x20{\x0a\x20\x20\x20\x20if\x20(!sid)\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(sid)\x20===\x20-1)\x20{\x20addTab(sid);\x20}\x0a\x20\x20\x20\x20var\x20item\x20=\x20ensureSession(sid);\x0a\x20\x20\x20\x20if\x20(item)\x20{\x20item.unread\x20=\x20false;\x20}\x0a\x20\x20\x20\x20toggleHistory(false);\x0a\x20\x20\x20\x20if\x20(sid\x20===\x20STATE.sid)\x20{\x20renderTabs();\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20var\x20seq\x20=\x20++switchSeq;\x0a\x20\x20\x20\x20return\x20api(\x27POST\x27,\x20\x27/session/switch\x27,\x20{\x20sessionID:\x20sid\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20!==\x20switchSeq)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.live\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderedSid\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20applySession(payload.data\x20||\x20{\x20id:\x20sid\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20===\x20switchSeq)\x20{\x20setStatus(\x27切换会话失败:\x27\x20+\x20error.message);\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20//\x20关闭标签:仅移除标签,会话保留在历史面板可重新打开;运行中的先中断任务(尽力而为)\x0a\x20\x20function\x20closeTab(sid)\x20{\x0a\x20\x20\x20\x20var\x20item\x20=\x20ensureSession(sid);\x0a\x20\x20\x20\x20if\x20(item\x20&&\x20item.busy)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!confirm(\x27该会话仍在运行,关闭将停止任务。会话保留在历史中,可随时重新打开。确定关闭?\x27))\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20sid\x20+\x20\x27/interrupt\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20setStatus(\x27停止任务失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20dropTab(sid);\x0a\x20\x20}\x0a\x20\x20//\x20移除标签并处理「关闭的是当前标签」的切换兜底(无确认)\x0a\x20\x20function\x20dropTab(sid)\x20{\x0a\x20\x20\x20\x20var\x20index\x20=\x20STATE.tabs.indexOf(sid);\x0a\x20\x20\x20\x20if\x20(index\x20===\x20-1)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20wasActive\x20=\x20sid\x20===\x20STATE.sid;\x0a\x20\x20\x20\x20removeTab(sid);\x0a\x20\x20\x20\x20if\x20(!wasActive)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(!STATE.tabs.length)\x20{\x20newSession();\x20return;\x20}\x0a\x20\x20\x20\x20openSession(STATE.tabs[Math.min(index,\x20STATE.tabs.length\x20-\x201)]);\x0a\x20\x20}\x0a\x20\x20function\x20newSession()\x20{\x0a\x20\x20\x20\x20var\x20seq\x20=\x20++switchSeq;\x0a\x20\x20\x20\x20return\x20api(\x27POST\x27,\x20\x27/session/reset\x27,\x20{})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20!==\x20switchSeq)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20session\x20=\x20payload.data\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!session.id)\x20{\x20setStatus(\x27新建会话失败:服务端未返回会话\x27);\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.live\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderedSid\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ensureSession(session.id,\x20{\x20title:\x20session.title\x20}).unread\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(session.id)\x20===\x20-1)\x20{\x20STATE.tabs.push(session.id);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20applySession(session);\x0a\x20\x20\x20\x20\x20\x20\x20\x20toggleHistory(false);\x0a\x20\x20\x20\x20\x20\x20\x20\x20setStatus(\x27已新建会话\x27);\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(seq\x20===\x20switchSeq)\x20{\x20setStatus(\x27新建会话失败:\x27\x20+\x20error.message);\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20tabsBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20closeBtn\x20=\x20event.target.closest(\x27.tab-close[data-close]\x27);\x0a\x20\x20\x20\x20if\x20(closeBtn)\x20{\x20event.stopPropagation();\x20closeTab(closeBtn.getAttribute(\x27data-close\x27));\x20return;\x20}\x0a\x20\x20\x20\x20var\x20tab\x20=\x20event.target.closest(\x27.tab[data-sid]\x27);\x0a\x20\x20\x20\x20if\x20(tab)\x20{\x20openSession(tab.getAttribute(\x27data-sid\x27));\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20会话\x20----------\x0a\x20\x20function\x20applySession(session)\x20{\x0a\x20\x20\x20\x20if\x20(!session\x20||\x20!session.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20STATE.sid\x20=\x20session.id;\x0a\x20\x20\x20\x20ensureSession(session.id,\x20{\x20title:\x20session.title\x20}).unread\x20=\x20false;\x0a\x20\x20\x20\x20STATE.agent\x20=\x20session.agent\x20||\x20\x27build\x27;\x0a\x20\x20\x20\x20var\x20matched\x20=\x20findModel(session.model);\x0a\x20\x20\x20\x20if\x20(matched)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.model\x20=\x20Object.assign({},\x20matched,\x20{\x20variant:\x20session.model\x20&&\x20session.model.variant\x20});\x0a\x20\x20\x20\x20\x20\x20STATE.ctxLimit\x20=\x20matched.contextLimit\x20||\x200;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20STATE.revert\x20=\x20session.revert\x20||\x20null;\x0a\x20\x20\x20\x20STATE.cost\x20=\x20session.cost\x20||\x200;\x0a\x20\x20\x20\x20//\x20会话级\x20UI\x20状态全部重置,避免上一会话的内容串到当前会话\x0a\x20\x20\x20\x20STATE.forms\x20=\x20[];\x0a\x20\x20\x20\x20STATE.formsDetail\x20=\x20{};\x0a\x20\x20\x20\x20STATE.permissions\x20=\x20[];\x0a\x20\x20\x20\x20STATE.queue\x20=\x20[];\x0a\x20\x20\x20\x20STATE.children\x20=\x20[];\x0a\x20\x20\x20\x20STATE.childText\x20=\x20{};\x0a\x20\x20\x20\x20STATE.childHtml\x20=\x20{};\x0a\x20\x20\x20\x20STATE.childOpen\x20=\x20{};\x0a\x20\x20\x20\x20STATE.childCollapsed\x20=\x20false;\x0a\x20\x20\x20\x20STATE.childDismissed\x20=\x20false;\x0a\x20\x20\x20\x20clearInput();\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20renderRevert();\x0a\x20\x20\x20\x20renderForms();\x0a\x20\x20\x20\x20renderPermissions();\x0a\x20\x20\x20\x20renderQueue();\x0a\x20\x20\x20\x20renderChildren();\x0a\x20\x20\x20\x20renderModelPicker();\x0a\x20\x20\x20\x20//\x20运行态同步到输入区(sendBtn\x20图标\x20/\x20状态提示),并驱动子代理轮询\x0a\x20\x20\x20\x20setBusy(!!(STATE.sessions[session.id]\x20&&\x20STATE.sessions[session.id].busy));\x0a\x20\x20\x20\x20refreshMessages();\x0a\x20\x20\x20\x20refreshPermissions();\x0a\x20\x20\x20\x20refreshForms();\x0a\x20\x20\x20\x20refreshQueue();\x0a\x20\x20\x20\x20refreshChildren();\x0a\x20\x20\x20\x20if\x20(STATE.diffOpen)\x20{\x20toggleDiff(true);\x20}\x0a\x20\x20\x20\x20saveTabs();\x0a\x20\x20\x20\x20if\x20(STATE.historyOpen)\x20{\x0a\x20\x20\x20\x20\x20\x20loadSessions();\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20历史会话\x20----------\x0a\x20\x20function\x20relativeTime(ts)\x20{\x0a\x20\x20\x20\x20if\x20(!ts)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20diff\x20=\x20Date.now()\x20-\x20ts;\x0a\x20\x20\x20\x20if\x20(diff\x20<\x2060000)\x20{\x20return\x20\x27刚刚\x27;\x20}\x0a\x20\x20\x20\x20if\x20(diff\x20<\x203600000)\x20{\x20return\x20Math.floor(diff\x20/\x2060000)\x20+\x20\x27\x20分钟前\x27;\x20}\x0a\x20\x20\x20\x20if\x20(diff\x20<\x2086400000)\x20{\x20return\x20Math.floor(diff\x20/\x203600000)\x20+\x20\x27\x20小时前\x27;\x20}\x0a\x20\x20\x20\x20return\x20new\x20Date(ts).toLocaleDateString();\x0a\x20\x20}\x0a\x20\x20function\x20loadSessions()\x20{\x0a\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/sessions\x27).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20list\x20=\x20payload.data\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20html\x20=\x20list.map(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20current\x20=\x20item.id\x20===\x20STATE.sid;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20label\x20=\x20item.title\x20||\x20(\x27会话\x20\x27\x20+\x20String(item.id).slice(-6));\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20meta\x20=\x20relativeTime(item.time\x20&&\x20(item.time.updated\x20||\x20item.time.created));\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(item.agent)\x20{\x20meta\x20=\x20(meta\x20?\x20meta\x20+\x20\x27\x20·\x20\x27\x20:\x20\x27\x27)\x20+\x20item.agent;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22history-item\x27\x20+\x20(current\x20?\x20\x27\x20current\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-id=\x22\x27\x20+\x20escapeHtml(item.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22hi-row\x22><div\x20class=\x22hi-title\x22>\x27\x20+\x20(current\x20?\x20icon(\x27map-pin\x27,\x2012)\x20+\x20\x27\x20\x27\x20:\x20\x27\x27)\x20+\x20escapeHtml(label)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22hi-acts\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22ren\x22\x20title=\x22重命名\x22>✎</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22del\x22\x20title=\x22删除\x22>\x27\x20+\x20icon(\x27x\x27,\x2012)\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22hi-meta\x22>\x27\x20+\x20escapeHtml(meta)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20$(\x27historyList\x27).innerHTML\x20=\x20html\x20||\x20\x27<div\x20class=\x22history-empty\x22>暂无历史会话</div>\x27;\x0a\x20\x20\x20\x20}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20$(\x27historyList\x27).innerHTML\x20=\x20\x27<div\x20class=\x22history-empty\x22>加载失败:\x27\x20+\x20escapeHtml(error.message)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20toggleHistory(force)\x20{\x0a\x20\x20\x20\x20var\x20open\x20=\x20typeof\x20force\x20===\x20\x27boolean\x27\x20?\x20force\x20:\x20!STATE.historyOpen;\x0a\x20\x20\x20\x20STATE.historyOpen\x20=\x20open;\x0a\x20\x20\x20\x20$(\x27historyPanel\x27).classList.toggle(\x27show\x27,\x20open);\x0a\x20\x20\x20\x20if\x20(open)\x20{\x20loadSessions();\x20}\x0a\x20\x20}\x0a\x20\x20$(\x27historyBtn\x27).addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20toggleHistory();\x0a\x20\x20});\x0a\x20\x20$(\x27historyPanel\x27).addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20event.stopPropagation();\x0a\x20\x20\x20\x20var\x20item\x20=\x20event.target.closest(\x27.history-item[data-id]\x27);\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20id\x20=\x20item.getAttribute(\x27data-id\x27);\x0a\x20\x20\x20\x20if\x20(event.target.closest(\x27button.del\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(confirm(\x27删除该会话?此操作不可恢复。\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20api(\x27DELETE\x27,\x20\x27/session/\x27\x20+\x20id,\x20{}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(id)\x20>\x20-1)\x20{\x20removeTab(id);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(id\x20===\x20STATE.sid)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!STATE.tabs.length)\x20{\x20return\x20newSession();\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20openSession(STATE.tabs[0]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20loadSessions();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).catch(function\x20(error)\x20{\x20setStatus(\x27删除失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(event.target.closest(\x27button.ren\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20titleEl\x20=\x20item.querySelector(\x27.hi-title\x27);\x0a\x20\x20\x20\x20\x20\x20var\x20original\x20=\x20titleEl.textContent.trim();\x0a\x20\x20\x20\x20\x20\x20titleEl.outerHTML\x20=\x20\x27<input\x20class=\x22hi-rename\x22\x20value=\x22\x27\x20+\x20escapeHtml(original)\x20+\x20\x27\x22>\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20input\x20=\x20item.querySelector(\x27.hi-rename\x27);\x0a\x20\x20\x20\x20\x20\x20input.focus();\x0a\x20\x20\x20\x20\x20\x20input.select();\x0a\x20\x20\x20\x20\x20\x20var\x20done\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20var\x20commit\x20=\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(done)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20done\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20value\x20=\x20input.value.trim();\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!value\x20||\x20value\x20===\x20original)\x20{\x20loadSessions();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20id\x20+\x20\x27/title\x27,\x20{\x20title:\x20value\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20loadSessions();\x20if\x20(id\x20===\x20STATE.sid)\x20{\x20setStatus(\x27已重命名\x27);\x20}\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20setStatus(\x27重命名失败:\x27\x20+\x20error.message);\x20loadSessions();\x20});\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20input.addEventListener(\x27keydown\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.key\x20===\x20\x27Enter\x27)\x20{\x20e.preventDefault();\x20commit();\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(e.key\x20===\x20\x27Escape\x27)\x20{\x20e.preventDefault();\x20done\x20=\x20true;\x20loadSessions();\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20input.addEventListener(\x27blur\x27,\x20commit);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(id\x20===\x20STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20openSession(id);\x0a\x20\x20});\x0a\x20\x20document.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(STATE.historyOpen\x20&&\x20!event.target.closest(\x27#historyPanel\x27)\x20&&\x20!event.target.closest(\x27#historyBtn\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20toggleHistory(false);\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20模式(agent)切换:输入框内文字标签,点击切换\x20build\x20/\x20plan\x20----------\x0a\x20\x20function\x20primaryAgents()\x20{\x0a\x20\x20\x20\x20var\x20list\x20=\x20(STATE.agents\x20||\x20[]).filter(function\x20(a)\x20{\x20return\x20a.mode\x20===\x20\x27primary\x27\x20||\x20a.mode\x20===\x20\x27all\x27;\x20});\x0a\x20\x20\x20\x20return\x20list.length\x20?\x20list\x20:\x20[{\x20id:\x20\x27build\x27,\x20name:\x20\x27build\x27\x20},\x20{\x20id:\x20\x27plan\x27,\x20name:\x20\x27plan\x27\x20}];\x0a\x20\x20}\x0a\x20\x20function\x20agentLabel(id)\x20{\x0a\x20\x20\x20\x20var\x20found\x20=\x20(STATE.agents\x20||\x20[]).find(function\x20(a)\x20{\x20return\x20a.id\x20===\x20id;\x20});\x0a\x20\x20\x20\x20return\x20(found\x20&&\x20found.name)\x20||\x20id\x20||\x20\x27build\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderAgents()\x20{\x0a\x20\x20\x20\x20var\x20list\x20=\x20primaryAgents();\x0a\x20\x20\x20\x20var\x20current\x20=\x20STATE.agent\x20&&\x20list.some(function\x20(a)\x20{\x20return\x20a.id\x20===\x20STATE.agent;\x20})\x20?\x20STATE.agent\x20:\x20list[0].id;\x0a\x20\x20\x20\x20var\x20index\x20=\x20Math.max(0,\x20list.findIndex(function\x20(a)\x20{\x20return\x20a.id\x20===\x20current;\x20}));\x0a\x20\x20\x20\x20var\x20target\x20=\x20list[(index\x20+\x201)\x20%\x20list.length];\x0a\x20\x20\x20\x20//\x20复用同一按钮节点,仅更新属性(避免重建\x20DOM\x20引起闪烁)\x0a\x20\x20\x20\x20var\x20button\x20=\x20agentSwitch.querySelector(\x27button\x27);\x0a\x20\x20\x20\x20if\x20(!button)\x20{\x0a\x20\x20\x20\x20\x20\x20agentSwitch.innerHTML\x20=\x20\x27<button></button>\x27;\x0a\x20\x20\x20\x20\x20\x20button\x20=\x20agentSwitch.querySelector(\x27button\x27);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20button.setAttribute(\x27data-agent\x27,\x20target.id);\x0a\x20\x20\x20\x20button.disabled\x20=\x20STATE.busy;\x0a\x20\x20\x20\x20button.title\x20=\x20\x27点击切换到\x20\x27\x20+\x20agentLabel(target.id)\x20+\x20\x27(Tab\x20/\x20Shift+Tab\x20循环)\x27;\x0a\x20\x20\x20\x20button.textContent\x20=\x20(list.length\x20>\x201\x20?\x20\x27\x27\x20:\x20\x27\x27)\x20+\x20agentLabel(current);\x0a\x20\x20}\x0a\x20\x20function\x20cycleAgent(direction)\x20{\x0a\x20\x20\x20\x20var\x20list\x20=\x20primaryAgents();\x0a\x20\x20\x20\x20if\x20(list.length\x20<\x202)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20current\x20=\x20STATE.agent\x20&&\x20list.some(function\x20(a)\x20{\x20return\x20a.id\x20===\x20STATE.agent;\x20})\x20?\x20STATE.agent\x20:\x20list[0].id;\x0a\x20\x20\x20\x20var\x20index\x20=\x20list.findIndex(function\x20(a)\x20{\x20return\x20a.id\x20===\x20current;\x20});\x0a\x20\x20\x20\x20var\x20next\x20=\x20list[(index\x20+\x20(direction\x20||\x201)\x20+\x20list.length)\x20%\x20list.length];\x0a\x20\x20\x20\x20switchAgent(next.id);\x0a\x20\x20}\x0a\x20\x20//\x20切换智能体(按钮点击\x20/\x20输入框\x20Tab\x20键共用);busy\x20或未就绪时忽略\x0a\x20\x20function\x20switchAgent(target)\x20{\x0a\x20\x20\x20\x20if\x20(!target\x20||\x20!STATE.sid\x20||\x20STATE.busy\x20||\x20target\x20===\x20STATE.agent)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20agentSwitch.querySelectorAll(\x27button\x27).forEach(function\x20(item)\x20{\x20item.disabled\x20=\x20true;\x20});\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/agent\x27,\x20{\x20agent:\x20target\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20仅更新模式标签:消息历史与事件流不受影响,避免整屏重渲抖动\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.agent\x20=\x20(payload.data\x20&&\x20payload.data.agent)\x20||\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setStatus(\x27切换失败:\x27\x20+\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20agentSwitch.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20button\x20=\x20event.target.closest(\x27button[data-agent]\x27);\x0a\x20\x20\x20\x20if\x20(!button\x20||\x20button.disabled)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20switchAgent(button.getAttribute(\x27data-agent\x27));\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20图片附件:必须经\x20kooteam\x20应用转发上传成功后才可发送(无降级)\x20----------\x0a\x20\x20//\x20自动获取登录\x20token:优先\x20AiWith\x20本机持久化(zen-aiwith:token),回退宿主页登录态\x0a\x20\x20function\x20getToken()\x20{\x0a\x20\x20\x20\x20try\x20{\x20return\x20localStorage.getItem(\x27zen-aiwith:token\x27)\x20||\x20localStorage.getItem(\x27_token_\x27);\x20}\x20catch\x20(e)\x20{\x20return\x20null;\x20}\x0a\x20\x20}\x0a\x20\x20function\x20uploadToKooteam(file)\x20{\x0a\x20\x20\x20\x20var\x20token\x20=\x20getToken();\x0a\x20\x20\x20\x20if\x20(!token)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20Promise.reject(new\x20Error(\x27未登录,无法上传图片,请先登录后再试\x27));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20form\x20=\x20new\x20FormData();\x0a\x20\x20\x20\x20form.append(\x27file\x27,\x20file,\x20file.name);\x0a\x20\x20\x20\x20form.append(\x27public\x27,\x20\x27public\x27);\x0a\x20\x20\x20\x20return\x20fetch(\x27/kooteam/api/zen/pair\x27,\x20{\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20token:\x20token\x20},\x20body:\x20form\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(response)\x20{\x20return\x20response.json();\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!payload\x20||\x20payload.success\x20===\x20false)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error((payload\x20&&\x20payload.message)\x20||\x20\x27kooteam\x20上传失败\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!payload.data\x20||\x20!payload.data.url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27kooteam\x20未返回图片地址\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20payload.data.url;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20renderAttachments()\x20{\x0a\x20\x20\x20\x20var\x20hasAny\x20=\x20STATE.attachments.length\x20||\x20STATE.mentions.length;\x0a\x20\x20\x20\x20attachBar.className\x20=\x20\x27attach-bar\x27\x20+\x20(hasAny\x20?\x20\x27\x20show\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20attachBar.innerHTML\x20=\x0a\x20\x20\x20\x20\x20\x20STATE.attachments.map(function\x20(item,\x20index)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22attach-thumb\x27\x20+\x20(item.uploading\x20?\x20\x27\x20pending\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20title=\x22\x27\x20+\x20escapeHtml(item.name)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<img\x20src=\x22\x27\x20+\x20escapeHtml(item.previewUrl)\x20+\x20\x27\x22\x20alt=\x22\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22remove\x22\x20data-index=\x22\x27\x20+\x20index\x20+\x20\x27\x22\x20title=\x22移除\x22>\x27\x20+\x20icon(\x27x\x27,\x2010)\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20STATE.mentions.map(function\x20(m,\x20index)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22attach-thumb\x20mention\x22\x20title=\x22\x27\x20+\x20escapeHtml(m.path)\x20+\x20\x27\x22\x20style=\x22width:auto;max-width:160px;padding:6px\x208px;display:flex;align-items:center;font-size:11px\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22tool-file-ref\x22>\x27\x20+\x20icon(\x27map-pin\x27,\x2011)\x20+\x20\x27\x20\x27\x20+\x20escapeHtml(m.path)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22remove\x22\x20data-mention=\x22\x27\x20+\x20index\x20+\x20\x27\x22\x20title=\x22移除\x22>\x27\x20+\x20icon(\x27x\x27,\x2010)\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20addFiles(fileList)\x20{\x0a\x20\x20\x20\x20var\x20files\x20=\x20Array.prototype.slice.call(fileList\x20||\x20[]);\x0a\x20\x20\x20\x20if\x20(!files.length)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20无降级:未登录直接拒绝上传\x0a\x20\x20\x20\x20if\x20(!getToken())\x20{\x0a\x20\x20\x20\x20\x20\x20setError(\x27未登录,无法上传图片,请先登录后再试\x27);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20files.forEach(function\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.attachments.length\x20>=\x205)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setError(\x27最多附加\x205\x20张图片\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(!/^image\x5c/(png|jpe?g|gif|webp)$/.test(file.type))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setError(\x27仅支持\x20png\x20/\x20jpeg\x20/\x20gif\x20/\x20webp\x20图片\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20entry\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20file.name\x20||\x20\x27image.png\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20previewUrl:\x20URL.createObjectURL(file),\x0a\x20\x20\x20\x20\x20\x20\x20\x20kooteamUrl:\x20\x27\x27,\x20uploading:\x20true,\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20STATE.attachments.push(entry);\x0a\x20\x20\x20\x20\x20\x20renderAttachments();\x0a\x20\x20\x20\x20\x20\x20//\x20必须上传成功后才成为有效附件;失败即移除并提示,不做任何降级\x0a\x20\x20\x20\x20\x20\x20uploadToKooteam(file)\x0a\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20(url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entry.kooteamUrl\x20=\x20url;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(entry.previewUrl.indexOf(\x27blob:\x27)\x20===\x200)\x20{\x20URL.revokeObjectURL(entry.previewUrl);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entry.previewUrl\x20=\x20url;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entry.uploading\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20renderAttachments();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setStatus(\x27\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20index\x20=\x20STATE.attachments.indexOf(entry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(index\x20>\x20-1)\x20{\x20STATE.attachments.splice(index,\x201);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(entry.previewUrl.indexOf(\x27blob:\x27)\x20===\x200)\x20{\x20URL.revokeObjectURL(entry.previewUrl);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20renderAttachments();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setError(\x27图片上传失败:\x27\x20+\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20attachBtn.addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20//\x20无降级:未登录先拦截,不进入选图流程\x0a\x20\x20\x20\x20if\x20(!getToken())\x20{\x0a\x20\x20\x20\x20\x20\x20setError(\x27未登录,无法上传图片,请先登录后再试\x27);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20attachInput.click();\x0a\x20\x20});\x0a\x20\x20attachInput.addEventListener(\x27change\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20addFiles(attachInput.files);\x0a\x20\x20\x20\x20attachInput.value\x20=\x20\x27\x27;\x0a\x20\x20});\x0a\x20\x20attachBar.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20mentionBtn\x20=\x20event.target.closest(\x27button[data-mention]\x27);\x0a\x20\x20\x20\x20if\x20(mentionBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.mentions.splice(Number(mentionBtn.getAttribute(\x27data-mention\x27)),\x201);\x0a\x20\x20\x20\x20\x20\x20renderAttachments();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20button\x20=\x20event.target.closest(\x27button[data-index]\x27);\x0a\x20\x20\x20\x20if\x20(!button)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20entry\x20=\x20STATE.attachments[Number(button.getAttribute(\x27data-index\x27))];\x0a\x20\x20\x20\x20if\x20(!entry)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(entry.previewUrl\x20&&\x20entry.previewUrl.indexOf(\x27blob:\x27)\x20===\x200)\x20{\x20URL.revokeObjectURL(entry.previewUrl);\x20}\x0a\x20\x20\x20\x20STATE.attachments.splice(STATE.attachments.indexOf(entry),\x201);\x0a\x20\x20\x20\x20renderAttachments();\x0a\x20\x20});\x0a\x20\x20//\x20从剪贴板/拖拽数据中提取图片文件:files\x20→\x20items(file)\x20→\x20HTML\x20img\x20src\x20兜底\x0a\x20\x20function\x20extractImageFiles(dataTransfer)\x20{\x0a\x20\x20\x20\x20var\x20files\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(!dataTransfer)\x20{\x20return\x20files;\x20}\x0a\x20\x20\x20\x20if\x20(dataTransfer.files\x20&&\x20dataTransfer.files.length)\x20{\x0a\x20\x20\x20\x20\x20\x20Array.prototype.slice.call(dataTransfer.files).forEach(function\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(/^image\x5c//.test(file.type))\x20{\x20files.push(file);\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(!files.length\x20&&\x20dataTransfer.items\x20&&\x20dataTransfer.items.length)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20dataTransfer.items.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20item\x20=\x20dataTransfer.items[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(item.kind\x20===\x20\x27file\x27\x20&&\x20/^image\x5c//.test(item.type\x20||\x20\x27\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20file\x20=\x20item.getAsFile();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(file)\x20{\x20files.push(file);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20files;\x0a\x20\x20}\x0a\x20\x20//\x20网页里复制的图片(HTML/URL)没有\x20File\x20对象,尽力抓取为\x20File\x0a\x20\x20function\x20fetchWebImage(dataTransfer)\x20{\x0a\x20\x20\x20\x20var\x20url\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20url\x20=\x20dataTransfer.getData(\x27text/uri-list\x27)\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(!url)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20html\x20=\x20dataTransfer.getData(\x27text/html\x27)\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20match\x20=\x20html.match(/<img[^>]+src=[\x22\x27]([^\x22\x27]+)[\x22\x27]/i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20url\x20=\x20match\x20?\x20match[1]\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20return\x20Promise.resolve(null);\x20}\x0a\x20\x20\x20\x20if\x20(!/^(https?:|data:image\x5c/)/.test(url))\x20{\x20return\x20Promise.resolve(null);\x20}\x0a\x20\x20\x20\x20return\x20fetch(url)\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(response)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!response.ok)\x20{\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20response.status);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20response.blob();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(blob)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!/^image\x5c//.test(blob.type))\x20{\x20throw\x20new\x20Error(\x27非图片内容\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20ext\x20=\x20(blob.type.split(\x27/\x27)[1]\x20||\x20\x27png\x27).replace(\x27jpeg\x27,\x20\x27jpg\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20new\x20File([blob],\x20\x27pasted-image.\x27\x20+\x20ext,\x20{\x20type:\x20blob.type\x20});\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{\x20return\x20null;\x20});\x0a\x20\x20}\x0a\x0a\x20\x20promptInput.addEventListener(\x27paste\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20data\x20=\x20event.clipboardData;\x0a\x20\x20\x20\x20if\x20(!data)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20files\x20=\x20extractImageFiles(data);\x0a\x20\x20\x20\x20if\x20(files.length)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20addFiles(files);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20无文件对象(网页图片)时尝试抓取\x0a\x20\x20\x20\x20fetchWebImage(data).then(function\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20addFiles([file]);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20拖拽图片到输入区\x0a\x20\x20function\x20setDragging(on)\x20{\x0a\x20\x20\x20\x20inputBox.classList.toggle(\x27dragover\x27,\x20on);\x0a\x20\x20}\x0a\x20\x20promptInput.addEventListener(\x27dragover\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(event.dataTransfer\x20&&\x20Array.prototype.some.call(event.dataTransfer.items\x20||\x20[],\x20function\x20(item)\x20{\x20return\x20item.kind\x20===\x20\x27file\x27;\x20}))\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20setDragging(true);\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x20\x20promptInput.addEventListener(\x27dragleave\x27,\x20function\x20()\x20{\x20setDragging(false);\x20});\x0a\x20\x20promptInput.addEventListener(\x27drop\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20files\x20=\x20extractImageFiles(event.dataTransfer);\x0a\x20\x20\x20\x20setDragging(false);\x0a\x20\x20\x20\x20if\x20(files.length)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20addFiles(files);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20fetchWebImage(event.dataTransfer).then(function\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(file)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20\x20\x20addFiles([file]);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20输入区弹层(/\x20命令、@\x20文件引用)\x20----------\x0a\x20\x20function\x20closeMenus()\x20{\x0a\x20\x20\x20\x20STATE.menu\x20=\x20null;\x0a\x20\x20\x20\x20STATE.menuItems\x20=\x20[];\x0a\x20\x20\x20\x20STATE.menuIndex\x20=\x200;\x0a\x20\x20\x20\x20cmdPanel.classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20mentionPanel.classList.remove(\x27show\x27);\x0a\x20\x20}\x0a\x20\x20function\x20renderMenu()\x20{\x0a\x20\x20\x20\x20if\x20(STATE.menu\x20===\x20\x27cmd\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20cmdPanel.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20mentionPanel.classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20cmdPanel.innerHTML\x20=\x20STATE.menuItems.length\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20STATE.menuItems.map(function\x20(c,\x20i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22cmd-item\x27\x20+\x20(i\x20===\x20STATE.menuIndex\x20?\x20\x27\x20active\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-i=\x22\x27\x20+\x20i\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22ci-name\x22>/\x27\x20+\x20escapeHtml(c.name)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22ci-desc\x22>\x27\x20+\x20escapeHtml(c.description\x20||\x20\x27\x27)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27<div\x20class=\x22cmd-item\x22>无匹配命令</div>\x27;\x0a\x20\x20\x20\x20}\x20else\x20if\x20(STATE.menu\x20===\x20\x27mention\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20mentionPanel.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20cmdPanel.classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20\x20\x20mentionPanel.innerHTML\x20=\x20STATE.menuItems.length\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20STATE.menuItems.map(function\x20(e,\x20i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22mention-item\x27\x20+\x20(i\x20===\x20STATE.menuIndex\x20?\x20\x27\x20active\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-i=\x22\x27\x20+\x20i\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22mi-path\x22>\x27\x20+\x20escapeHtml(e.path)\x20+\x20\x27</span>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22mi-type\x22>\x27\x20+\x20escapeHtml(e.type)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27<div\x20class=\x22mention-item\x22>无匹配文件</div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20var\x20mentionTimer\x20=\x20null;\x0a\x20\x20function\x20detectMenu()\x20{\x0a\x20\x20\x20\x20var\x20value\x20=\x20promptInput.value;\x0a\x20\x20\x20\x20if\x20(/^!/.test(value))\x20{\x20closeMenus();\x20setShellMode(true);\x20return;\x20}\x0a\x20\x20\x20\x20setShellMode(false);\x0a\x20\x20\x20\x20var\x20cmd\x20=\x20/^\x5c/([^\x5cs]*)$/.exec(value);\x0a\x20\x20\x20\x20if\x20(cmd)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.menu\x20=\x20\x27cmd\x27;\x0a\x20\x20\x20\x20\x20\x20STATE.menuIndex\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20STATE.menuItems\x20=\x20(STATE.commands\x20||\x20[]).filter(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20!cmd[1]\x20||\x20c.name.toLowerCase().indexOf(cmd[1].toLowerCase())\x20>\x20-1;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20renderMenu();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20caret\x20=\x20promptInput.selectionStart;\x0a\x20\x20\x20\x20var\x20before\x20=\x20value.slice(0,\x20caret);\x0a\x20\x20\x20\x20var\x20at\x20=\x20before.lastIndexOf(\x27@\x27);\x0a\x20\x20\x20\x20if\x20(at\x20>\x20-1\x20&&\x20!/\x5cs/.test(before.slice(at\x20+\x201)))\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20query\x20=\x20before.slice(at\x20+\x201);\x0a\x20\x20\x20\x20\x20\x20STATE.menu\x20=\x20\x27mention\x27;\x0a\x20\x20\x20\x20\x20\x20STATE.menuIndex\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20clearTimeout(mentionTimer);\x0a\x20\x20\x20\x20\x20\x20mentionTimer\x20=\x20setTimeout(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20api(\x27GET\x27,\x20\x27/files?query=\x27\x20+\x20encodeURIComponent(query)).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(STATE.menu\x20!==\x20\x27mention\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20STATE.menuItems\x20=\x20p.data\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20renderMenu();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).catch(function\x20()\x20{});\x0a\x20\x20\x20\x20\x20\x20},\x20120);\x0a\x20\x20\x20\x20\x20\x20renderMenu();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20closeMenus();\x0a\x20\x20}\x0a\x20\x20function\x20setShellMode(on)\x20{\x0a\x20\x20\x20\x20STATE.shellMode\x20=\x20on;\x0a\x20\x20\x20\x20shellBadge.style.display\x20=\x20on\x20?\x20\x27block\x27\x20:\x20\x27none\x27;\x0a\x20\x20\x20\x20promptInput.placeholder\x20=\x20on\x0a\x20\x20\x20\x20\x20\x20?\x20\x27输入\x20shell\x20命令,Enter\x20运行(Esc\x20退出)\x27\x0a\x20\x20\x20\x20\x20\x20:\x20\x27Enter键发送任务,Tab键切换模式\x27;\x0a\x20\x20}\x0a\x20\x20function\x20chooseMenuItem(index)\x20{\x0a\x20\x20\x20\x20var\x20item\x20=\x20STATE.menuItems[index];\x0a\x20\x20\x20\x20if\x20(!item)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(STATE.menu\x20===\x20\x27cmd\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20promptInput.value\x20=\x20\x27/\x27\x20+\x20item.name\x20+\x20\x27\x20\x27;\x0a\x20\x20\x20\x20\x20\x20closeMenus();\x0a\x20\x20\x20\x20\x20\x20promptInput.focus();\x0a\x20\x20\x20\x20\x20\x20autoGrow();\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20value\x20=\x20promptInput.value;\x0a\x20\x20\x20\x20var\x20caret\x20=\x20promptInput.selectionStart;\x0a\x20\x20\x20\x20var\x20at\x20=\x20value.slice(0,\x20caret).lastIndexOf(\x27@\x27);\x0a\x20\x20\x20\x20promptInput.value\x20=\x20value.slice(0,\x20at)\x20+\x20\x27@\x27\x20+\x20item.path\x20+\x20\x27\x20\x27\x20+\x20value.slice(caret);\x0a\x20\x20\x20\x20if\x20(!STATE.mentions.some(function\x20(m)\x20{\x20return\x20m.path\x20===\x20item.path;\x20}))\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.mentions.push({\x20path:\x20item.path\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20closeMenus();\x0a\x20\x20\x20\x20promptInput.focus();\x0a\x20\x20\x20\x20autoGrow();\x0a\x20\x20\x20\x20renderAttachments();\x0a\x20\x20}\x0a\x20\x20cmdPanel.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20event.target.closest(\x27[data-i]\x27);\x0a\x20\x20\x20\x20if\x20(el)\x20{\x20chooseMenuItem(Number(el.getAttribute(\x27data-i\x27)));\x20}\x0a\x20\x20});\x0a\x20\x20mentionPanel.addEventListener(\x27click\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20event.target.closest(\x27[data-i]\x27);\x0a\x20\x20\x20\x20if\x20(el)\x20{\x20chooseMenuItem(Number(el.getAttribute(\x27data-i\x27)));\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20输入\x20----------\x0a\x20\x20function\x20autoGrow()\x20{\x0a\x20\x20\x20\x20promptInput.style.height\x20=\x20\x27auto\x27;\x0a\x20\x20\x20\x20promptInput.style.height\x20=\x20Math.min(promptInput.scrollHeight,\x20132)\x20+\x20\x27px\x27;\x0a\x20\x20}\x0a\x20\x20function\x20clearInput()\x20{\x0a\x20\x20\x20\x20promptInput.value\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20autoGrow();\x0a\x20\x20\x20\x20STATE.attachments\x20=\x20[];\x0a\x20\x20\x20\x20STATE.mentions\x20=\x20[];\x0a\x20\x20\x20\x20closeMenus();\x0a\x20\x20\x20\x20setShellMode(false);\x0a\x20\x20\x20\x20renderAttachments();\x0a\x20\x20}\x0a\x20\x20function\x20appendUserBubble(text,\x20attachments)\x20{\x0a\x20\x20\x20\x20var\x20empty\x20=\x20messageList.querySelector(\x27.empty\x27);\x0a\x20\x20\x20\x20if\x20(empty)\x20{\x20empty.remove();\x20}\x0a\x20\x20\x20\x20var\x20attachHtml\x20=\x20attachments\x20&&\x20attachments.length\x0a\x20\x20\x20\x20\x20\x20?\x20\x27<div\x20class=\x22attach-grid\x22>\x27\x20+\x20attachments.map(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x27<img\x20src=\x22\x27\x20+\x20escapeHtml(item.previewUrl)\x20+\x20\x27\x22\x20alt=\x22\x27\x20+\x20escapeHtml(item.name)\x20+\x20\x27\x22>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27\x0a\x20\x20\x20\x20\x20\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20var\x20wrap\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20wrap.className\x20=\x20\x27msg\x20user\x27;\x0a\x20\x20\x20\x20wrap.innerHTML\x20=\x20\x27<div\x20class=\x22bubble\x22>\x27\x20+\x20attachHtml\x20+\x20renderMarkdown(text)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20messageList.appendChild(wrap);\x0a\x20\x20\x20\x20scrollBottom(true);\x0a\x20\x20}\x0a\x20\x20promptInput.addEventListener(\x27input\x27,\x20function\x20()\x20{\x20autoGrow();\x20detectMenu();\x20});\x0a\x20\x20promptInput.addEventListener(\x27keydown\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20if\x20(event.isComposing)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20弹层键盘导航\x0a\x20\x20\x20\x20if\x20(STATE.menu)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27ArrowDown\x27)\x20{\x20event.preventDefault();\x20STATE.menuIndex\x20=\x20Math.min(STATE.menuIndex\x20+\x201,\x20STATE.menuItems.length\x20-\x201);\x20renderMenu();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27ArrowUp\x27)\x20{\x20event.preventDefault();\x20STATE.menuIndex\x20=\x20Math.max(STATE.menuIndex\x20-\x201,\x200);\x20renderMenu();\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Enter\x27\x20||\x20event.key\x20===\x20\x27Tab\x27)\x20{\x20event.preventDefault();\x20chooseMenuItem(STATE.menuIndex);\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Escape\x27)\x20{\x20event.preventDefault();\x20closeMenus();\x20return;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20Tab:在所有主智能体之间循环\x0a\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Tab\x27\x20&&\x20!event.shiftKey)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20cycleAgent(1);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Tab\x27\x20&&\x20event.shiftKey)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20cycleAgent(-1);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Escape\x27\x20&&\x20STATE.shellMode)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20promptInput.value\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20autoGrow();\x0a\x20\x20\x20\x20\x20\x20setShellMode(false);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(event.key\x20===\x20\x27Enter\x27\x20&&\x20!event.shiftKey)\x20{\x0a\x20\x20\x20\x20\x20\x20event.preventDefault();\x0a\x20\x20\x20\x20\x20\x20//\x20运行中:Enter\x20引导(steer),Alt+Enter\x20排队(queue)\x0a\x20\x20\x20\x20\x20\x20if\x20(STATE.busy)\x20{\x20submit(event.altKey\x20?\x20\x27queue\x27\x20:\x20\x27steer\x27);\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20submit();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x20\x20messageList.addEventListener(\x27scroll\x27,\x20function\x20()\x20{\x20STATE.stickBottom\x20=\x20nearBottom();\x20});\x0a\x0a\x20\x20function\x20submit(delivery)\x20{\x0a\x20\x20\x20\x20var\x20text\x20=\x20promptInput.value.trim();\x0a\x20\x20\x20\x20if\x20(!text\x20&&\x20!STATE.attachments.length)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(STATE.attachments.some(function\x20(item)\x20{\x20return\x20item.uploading;\x20}))\x20{\x0a\x20\x20\x20\x20\x20\x20setStatus(\x27附件处理中,请稍候…\x27);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20shell\x20模式:!command\x0a\x20\x20\x20\x20if\x20(/^!/.test(text))\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20command\x20=\x20text.replace(/^!\x5cs?/,\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!command)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20clearInput();\x0a\x20\x20\x20\x20\x20\x20appendUserBubble(\x27!\x20\x27\x20+\x20command,\x20[]);\x0a\x20\x20\x20\x20\x20\x20setBusy(true);\x0a\x20\x20\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/shell\x27,\x20{\x20command:\x20command\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20setStatus(\x27已运行\x20shell\x20命令\x27);\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20setBusy(false);\x20setStatus(\x27shell\x20失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20斜杠命令:/name\x20args\x0a\x20\x20\x20\x20var\x20cmd\x20=\x20/^\x5c/([^\x5cs]+)\x5cs*([\x5cs\x5cS]*)$/.exec(text);\x0a\x20\x20\x20\x20if\x20(cmd)\x20{\x0a\x20\x20\x20\x20\x20\x20clearInput();\x0a\x20\x20\x20\x20\x20\x20appendUserBubble(\x27/\x27\x20+\x20cmd[1]\x20+\x20(cmd[2]\x20?\x20\x27\x20\x27\x20+\x20cmd[2]\x20:\x20\x27\x27),\x20[]);\x0a\x20\x20\x20\x20\x20\x20setBusy(true);\x0a\x20\x20\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/command\x27,\x20{\x20name:\x20cmd[1],\x20text:\x20cmd[2]\x20||\x20\x27\x27\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x20setStatus(\x27已运行命令\x20/\x27\x20+\x20cmd[1]);\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x20setBusy(false);\x20setStatus(\x27命令失败:\x27\x20+\x20error.message);\x20});\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//\x20常规\x20prompt(图片\x20+\x20@\x20文件引用\x20+\x20delivery)\x0a\x20\x20\x20\x20var\x20attachments\x20=\x20STATE.attachments.slice();\x0a\x20\x20\x20\x20var\x20images\x20=\x20attachments\x0a\x20\x20\x20\x20\x20\x20.filter(function\x20(item)\x20{\x20return\x20item.kooteamUrl;\x20})\x0a\x20\x20\x20\x20\x20\x20.map(function\x20(item)\x20{\x20return\x20item.kooteamUrl;\x20});\x0a\x20\x20\x20\x20var\x20mentions\x20=\x20STATE.mentions.slice();\x0a\x20\x20\x20\x20var\x20pageContext\x20=\x20hostPageContext();\x0a\x20\x20\x20\x20clearInput();\x0a\x20\x20\x20\x20appendUserBubble(text\x20||\x20\x27请参考图片\x27,\x20attachments);\x0a\x20\x20\x20\x20setBusy(true);\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/prompt\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20text:\x20text\x20||\x20\x27请参考图片\x27,\x0a\x20\x20\x20\x20\x20\x20...(images.length\x20?\x20{\x20images:\x20images\x20}\x20:\x20{}),\x0a\x20\x20\x20\x20\x20\x20...(mentions.length\x20?\x20{\x20mentions:\x20mentions\x20}\x20:\x20{}),\x0a\x20\x20\x20\x20\x20\x20...(delivery\x20?\x20{\x20delivery:\x20delivery\x20}\x20:\x20{}),\x0a\x20\x20\x20\x20\x20\x20...(pageContext\x20?\x20{\x20pageContext:\x20pageContext\x20}\x20:\x20{}),\x0a\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setStatus(delivery\x20===\x20\x27queue\x27\x20?\x20\x27已排队,稍后发送\x27\x20:\x20delivery\x20===\x20\x27steer\x27\x20?\x20\x27已发送引导\x27\x20:\x20\x27已发送,等待\x20AI\x20处理…\x27);\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20setBusy(false);\x0a\x20\x20\x20\x20\x20\x20\x20\x20setStatus(\x27发送失败:\x27\x20+\x20error.message);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20interrupt()\x20{\x0a\x20\x20\x20\x20if\x20(!STATE.sid)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20api(\x27POST\x27,\x20\x27/session/\x27\x20+\x20STATE.sid\x20+\x20\x27/interrupt\x27,\x20{}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20setStatus(\x27停止失败:\x27\x20+\x20error.message);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20sendBtn.addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20if\x20(STATE.busy)\x20{\x20interrupt();\x20}\x20else\x20{\x20submit();\x20}\x0a\x20\x20});\x0a\x0a\x20\x20$(\x27closeBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20parent.postMessage({\x20type:\x20\x27zen-aiwith-close\x27\x20},\x20\x27*\x27);\x0a\x20\x20});\x0a\x0a\x20\x20//\x20全屏:抽屉(右侧\x20min(520px,100vw))↔\x20整屏铺满(由\x20widget.js\x20的\x20.panel-wrap.full\x20承接样式)\x0a\x20\x20var\x20fullscreenOn\x20=\x20false;\x0a\x20\x20var\x20fullscreenBtn\x20=\x20$(\x27fullscreenBtn\x27);\x0a\x20\x20function\x20renderFullscreenBtn()\x20{\x0a\x20\x20\x20\x20if\x20(!fullscreenBtn)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20fullscreenBtn.innerHTML\x20=\x20icon(fullscreenOn\x20?\x20\x27minimize\x27\x20:\x20\x27maximize\x27,\x2016);\x0a\x20\x20\x20\x20fullscreenBtn.setAttribute(\x27data-tip\x27,\x20fullscreenOn\x20?\x20\x27退出全屏\x27\x20:\x20\x27全屏\x27);\x0a\x20\x20}\x0a\x20\x20if\x20(fullscreenBtn)\x20{\x0a\x20\x20\x20\x20fullscreenBtn.addEventListener(\x27click\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20fullscreenOn\x20=\x20!fullscreenOn;\x0a\x20\x20\x20\x20\x20\x20renderFullscreenBtn();\x0a\x20\x20\x20\x20\x20\x20try\x20{\x20parent.postMessage({\x20type:\x20\x27zen-aiwith-fullscreen\x27,\x20on:\x20fullscreenOn\x20},\x20\x27*\x27);\x20}\x20catch\x20(error)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20renderFullscreenBtn();\x0a\x20\x20}\x0a\x20\x20$(\x27newSessionBtn\x27).addEventListener(\x27click\x27,\x20newSession);\x0a\x0a\x20\x20//\x20任务中心「本地执行」:factory.js\x20新建本地会话并发出首个需求后,通知此处打开为标签\x0a\x20\x20window.addEventListener(\x27aiwith:open-session\x27,\x20function\x20(event)\x20{\x0a\x20\x20\x20\x20var\x20detail\x20=\x20event\x20&&\x20event.detail;\x0a\x20\x20\x20\x20if\x20(detail\x20&&\x20detail.id)\x20{\x20openSession(detail.id);\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20----------\x20分支名(WebSocket\x20指令):可能随\x20git\x20checkout\x20变化,定期\x20/\x20回到前台时刷新\x20----------\x0a\x20\x20var\x20BRANCH_POLL_MS\x20=\x2020000;\x0a\x20\x20function\x20refreshBranch()\x20{\x0a\x20\x20\x20\x20wsCall(\x27branch\x27).then(function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20renderBranch(p.data\x20&&\x20p.data.branch);\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20静默\x20*/\x20});\x0a\x20\x20}\x0a\x20\x20document.addEventListener(\x27visibilitychange\x27,\x20function\x20()\x20{\x0a\x20\x20\x20\x20if\x20(!document.hidden)\x20{\x20refreshBranch();\x20}\x0a\x20\x20});\x0a\x20\x20setInterval(function\x20()\x20{\x0a\x20\x20\x20\x20if\x20(!document.hidden)\x20{\x20refreshBranch();\x20}\x0a\x20\x20},\x20BRANCH_POLL_MS);\x0a\x0a\x20\x20//\x20----------\x20启动\x20----------\x0a\x20\x20function\x20boot()\x20{\x0a\x20\x20\x20\x20//\x20先尝试拉取统一下发的网关配置并注入(未登录/网络失败不阻断启动,退回手工配置)\x0a\x20\x20\x20\x20var\x20pre\x20=\x20getToken()\x0a\x20\x20\x20\x20\x20\x20?\x20api(\x27POST\x27,\x20\x27/aiconfig/ensure\x27,\x20{}).catch(function\x20()\x20{\x20return\x20null;\x20})\x0a\x20\x20\x20\x20\x20\x20:\x20Promise.resolve(null);\x0a\x20\x20\x20\x20pre.then(function\x20()\x20{\x20return\x20api(\x27GET\x27,\x20\x27/status\x27);\x20}).then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20STATE.root\x20=\x20payload.root\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20STATE.ctxLimit\x20=\x20(payload.defaultModel\x20&&\x20payload.defaultModel.contextLimit)\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20STATE.models\x20=\x20payload.models\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20STATE.model\x20=\x20payload.defaultModel\x20||\x20STATE.models[0]\x20||\x20null;\x0a\x20\x20\x20\x20\x20\x20STATE.agents\x20=\x20payload.agents\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20STATE.commands\x20=\x20payload.commands\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20running\x20=\x20payload.running\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20renderModelPicker();\x0a\x20\x20\x20\x20\x20\x20renderMcp(payload.mcp);\x0a\x20\x20\x20\x20\x20\x20renderBranch(payload.branch);\x0a\x20\x20\x20\x20\x20\x20ctxText.title\x20=\x20STATE.model\x20?\x20\x27当前模型:\x27\x20+\x20(STATE.model.name\x20||\x20STATE.model.modelID)\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20renderAgents();\x0a\x20\x20\x20\x20\x20\x20//\x20恢复标签:校验本地记录的会话仍存在(排除子会话),再取桥接层默认会话兜底\x0a\x20\x20\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/sessions\x27).then(function\x20(listResult)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20existing\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20(listResult.data\x20||\x20[]).forEach(function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(item.parentID)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20existing[item.id]\x20=\x20item;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20STATE.sessions[item.id]\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id:\x20item.id,\x20title:\x20item.title\x20||\x20\x27\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20busy:\x20running.indexOf(item.id)\x20>\x20-1,\x20unread:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20stored\x20=\x20loadTabs();\x0a\x20\x20\x20\x20\x20\x20\x20\x20STATE.tabs\x20=\x20(stored.tabs\x20||\x20[]).filter(function\x20(id)\x20{\x20return\x20existing[id];\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20api(\x27GET\x27,\x20\x27/session\x27).then(function\x20(result)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20current\x20=\x20result.data;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!current\x20||\x20!current.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ensureSession(current.id,\x20{\x20title:\x20current.title,\x20busy:\x20running.indexOf(current.id)\x20>\x20-1\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!STATE.tabs.length)\x20{\x20STATE.tabs\x20=\x20[current.id];\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(STATE.tabs.indexOf(current.id)\x20===\x20-1)\x20{\x20STATE.tabs.push(current.id);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20active\x20=\x20STATE.tabs.indexOf(stored.active)\x20>\x20-1\x20?\x20stored.active\x20:\x20STATE.tabs[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(active\x20===\x20current.id)\x20{\x20applySession(current);\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20seq\x20=\x20++switchSeq;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20api(\x27POST\x27,\x20\x27/session/switch\x27,\x20{\x20sessionID:\x20active\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.then(function\x20(p)\x20{\x20if\x20(seq\x20===\x20switchSeq)\x20{\x20applySession(p.data\x20||\x20{\x20id:\x20active\x20});\x20}\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{\x20if\x20(seq\x20===\x20switchSeq)\x20{\x20applySession(current);\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20saveTabs();\x0a\x20\x20\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20\x20\x20connectWs();\x0a\x20\x20\x20\x20\x20\x20openEventStream();\x0a\x20\x20\x20\x20}).catch(function\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20setStatus(\x27AiWith\x20服务不可用:\x27\x20+\x20(error.message\x20||\x20\x27未知错误\x27));\x0a\x20\x20\x20\x20\x20\x20messageList.innerHTML\x20=\x20\x27<div\x20class=\x22empty\x22><div\x20class=\x22big\x22>💤</div>AiWith\x20服务未就绪<br><br>请先完成运行环境安装后重启\x20dev\x20server<br><a\x20style=\x22color:#7ea6ff\x22\x20href=\x22https://opencode.ai\x22\x20target=\x22_blank\x22\x20rel=\x22noopener\x22>安装指引</a></div>\x27;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20boot();\x0a})();\x0a','widget.js':cM(0x1c8),'factory.css':cM(0x195),'factory.js':'/**\x0a\x20*\x20AiWith\x20任务中心(Thor)面板模块(仅\x20dev)。\x0a\x20*\x20与\x20panel.js\x20解耦:自身持有工具栏按钮、覆盖层、请求与渲染;SSE\x20实时\x20+\x20轮询兜底。\x0a\x20*\x20只管理「当前应用」——应用名由插件启动时的\x20name\x20决定,桥接层统一注入,面板不做应用切换。\x0a\x20*\x20契约:面板\x20→\x20/aiwith/api/factory*(桥接)→\x20Thor;Thor\x20一律\x20POST\x20+\x20JSON,\x0a\x20*\x20\x20\x20\x20\x20\x20响应信封\x20{\x20success,\x20action,\x20data,\x20message\x20}(action\x200=成功\x20/\x202=未登录\x20/\x209=错误)。\x0a\x20*/\x0a!(function\x20()\x20{\x0a\x20\x20\x27use\x20strict\x27;\x0a\x20\x20var\x20$\x20=\x20function\x20(id)\x20{\x20return\x20document.getElementById(id);\x20};\x0a\x20\x20if\x20(!$(\x27factoryOverlay\x27))\x20{\x20return;\x20}\x0a\x0a\x20\x20//\x20----------\x20字典(与\x20Thor\x20factoryTaskStatus\x20等一致)----------\x0a\x20\x20var\x20DICT\x20=\x20{\x0a\x20\x20\x20\x20task:\x20{\x200:\x20[\x27已创建\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27规划\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27执行\x27,\x20\x27#8B5CF6\x27],\x206:\x20[\x27门禁\x27,\x20\x27#F59E0B\x27],\x208:\x20[\x27完成\x27,\x20\x27#10B981\x27],\x2010:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x2012:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20stage:\x20{\x200:\x20[\x27排队\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27已派发\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27运行\x27,\x20\x27#8B5CF6\x27],\x206:\x20[\x27门禁\x27,\x20\x27#F59E0B\x27],\x208:\x20[\x27完成\x27,\x20\x27#10B981\x27],\x2010:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x2012:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20story:\x20{\x200:\x20[\x27待办\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27已下单\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27已完成\x27,\x20\x27#10B981\x27],\x206:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20priority:\x20{\x200:\x20[\x27高\x27,\x20\x27#EF4444\x27],\x202:\x20[\x27中\x27,\x20\x27#F59E0B\x27],\x204:\x20[\x27低\x27,\x20\x27#94A3B8\x27]\x20},\x0a\x20\x20\x20\x20issue:\x20{\x200:\x20[\x27待处理\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27修复中\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27已解决\x27,\x20\x27#10B981\x27],\x206:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x208:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20stageName:\x20{\x20plan:\x20\x27规划\x27,\x20confirm:\x20\x27双重确认\x27,\x20models:\x20\x27建模\x27,\x20tools:\x20\x27工具\x27,\x20pages:\x20\x27页面\x27,\x20backend:\x20\x27后端\x27,\x20review:\x20\x27复核\x27,\x20fix:\x20\x27修复\x27,\x20verify:\x20\x27门禁\x27,\x20e2e:\x20\x27e2e\x20验收\x27,\x20merge:\x20\x27合并发布\x27\x20},\x0a\x20\x20\x20\x20msgType:\x20{\x20text:\x20\x27文本\x27,\x20thinking:\x20\x27思考\x27,\x20tool_use:\x20\x27工具\x27,\x20tool_result:\x20\x27结果\x27,\x20user:\x20\x27用户\x27,\x20assistant:\x20\x27Agent\x27\x20},\x0a\x20\x20\x20\x20source:\x20{\x201:\x20\x27手动提交\x27,\x202:\x20\x27任务副产物\x27\x20},\x0a\x20\x20};\x0a\x20\x20var\x20ENDPOINTS\x20=\x20{\x0a\x20\x20\x20\x20task:\x20{\x20list:\x20\x27/api/factory/tasks\x27,\x20detail:\x20\x27/api/factory/task\x27,\x20activities:\x20\x27/api/factory/activities\x27,\x20messages:\x20\x27/api/factory/messages\x27,\x20idKey:\x20\x27taskId\x27\x20},\x0a\x20\x20\x20\x20story:\x20{\x20list:\x20\x27/api/factoryStory/stories\x27,\x20detail:\x20\x27/api/factoryStory/story\x27,\x20activities:\x20\x27/api/factoryStory/activities\x27,\x20idKey:\x20\x27storyId\x27\x20},\x0a\x20\x20\x20\x20issue:\x20{\x20list:\x20\x27/api/factoryIssue/issues\x27,\x20detail:\x20\x27/api/factoryIssue/issue\x27,\x20activities:\x20\x27/api/factoryIssue/activities\x27,\x20messages:\x20\x27/api/factoryIssue/messages\x27,\x20idKey:\x20\x27issueId\x27\x20},\x0a\x20\x20};\x0a\x20\x20var\x20FILTERS\x20=\x20{\x0a\x20\x20\x20\x20task:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x27active\x27,\x20\x27进行中\x27],\x20[\x27done\x27,\x20\x27完成\x27],\x20[\x27failed\x27,\x20\x27失败\x27],\x20[\x27cancelled\x27,\x20\x27取消\x27]],\x0a\x20\x20\x20\x20story:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x270\x27,\x20\x27待办\x27],\x20[\x272\x27,\x20\x27已下单\x27],\x20[\x274\x27,\x20\x27已完成\x27],\x20[\x276\x27,\x20\x27已取消\x27]],\x0a\x20\x20\x20\x20issue:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x270\x27,\x20\x27待处理\x27],\x20[\x272\x27,\x20\x27修复中\x27],\x20[\x274\x27,\x20\x27已解决\x27],\x20[\x276\x27,\x20\x27失败\x27],\x20[\x278\x27,\x20\x27已取消\x27]],\x0a\x20\x20};\x0a\x20\x20var\x20TAB_LABEL\x20=\x20{\x20task:\x20\x27任务\x27,\x20story:\x20\x27需求\x27,\x20issue:\x20\x27问题\x27\x20};\x0a\x20\x20var\x20ACTIVE_TASK\x20=\x20[0,\x202,\x204,\x206];\x0a\x0a\x20\x20var\x20S\x20=\x20{\x0a\x20\x20\x20\x20open:\x20false,\x20booted:\x20false,\x20app:\x20\x27\x27,\x0a\x20\x20\x20\x20tab:\x20\x27task\x27,\x20filters:\x20{\x20task:\x20\x27all\x27,\x20story:\x20\x27all\x27,\x20issue:\x20\x27all\x27\x20},\x0a\x20\x20\x20\x20lists:\x20{\x20task:\x20[],\x20story:\x20[],\x20issue:\x20[]\x20},\x0a\x20\x20\x20\x20detail:\x20null,\x20detailKind:\x20\x27\x27,\x20detailStage:\x20null,\x20activities:\x20[],\x20detailStageMessages:\x20[],\x0a\x20\x20\x20\x20streamDownUntil:\x200,\x0a\x20\x20};\x0a\x20\x20var\x20POLL_MS\x20=\x204000,\x20SAFETY_MS\x20=\x2030000,\x20BG_MS\x20=\x2030000;\x0a\x20\x20var\x20timers\x20=\x20{\x20poll:\x20null,\x20safety:\x20null,\x20bg:\x20null,\x20retry:\x20null,\x20debounce:\x20null\x20};\x0a\x20\x20var\x20streamAbort\x20=\x20null,\x20streamAlive\x20=\x20false;\x0a\x0a\x20\x20//\x20----------\x20工具\x20----------\x0a\x20\x20function\x20esc(s)\x20{\x0a\x20\x20\x20\x20return\x20String(s\x20==\x20null\x20?\x20\x27\x27\x20:\x20s).replace(/[&<>\x22\x27]/g,\x20function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20\x27&\x27:\x20\x27&\x27,\x20\x27<\x27:\x20\x27<\x27,\x20\x27>\x27:\x20\x27>\x27,\x20\x27\x22\x27:\x20\x27"\x27,\x20\x22\x27\x22:\x20\x27'\x27\x20}[c];\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20getToken()\x20{\x20try\x20{\x20return\x20localStorage.getItem(\x27zen-aiwith:token\x27)\x20||\x20localStorage.getItem(\x27_token_\x27)\x20||\x20\x27\x27;\x20}\x20catch\x20(e)\x20{\x20return\x20\x27\x27;\x20}\x20}\x0a\x20\x20function\x20fmtTime(sec)\x20{\x0a\x20\x20\x20\x20if\x20(!sec)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20d\x20=\x20new\x20Date(Number(sec)\x20*\x201000);\x0a\x20\x20\x20\x20\x20\x20var\x20p\x20=\x20function\x20(n)\x20{\x20return\x20n\x20<\x2010\x20?\x20\x270\x27\x20+\x20n\x20:\x20\x27\x27\x20+\x20n;\x20};\x0a\x20\x20\x20\x20\x20\x20return\x20d.getFullYear()\x20+\x20\x27-\x27\x20+\x20p(d.getMonth()\x20+\x201)\x20+\x20\x27-\x27\x20+\x20p(d.getDate())\x20+\x20\x27\x20\x27\x20+\x20p(d.getHours())\x20+\x20\x27:\x27\x20+\x20p(d.getMinutes());\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20}\x0a\x20\x20function\x20tag(map,\x20val)\x20{\x0a\x20\x20\x20\x20var\x20it\x20=\x20map[val];\x0a\x20\x20\x20\x20var\x20label\x20=\x20it\x20?\x20it[0]\x20:\x20String(val);\x0a\x20\x20\x20\x20var\x20color\x20=\x20it\x20?\x20it[1]\x20:\x20\x27#6B7280\x27;\x0a\x20\x20\x20\x20return\x20\x27<span\x20class=\x22factory-tag\x22\x20style=\x22background:\x27\x20+\x20color\x20+\x20\x27\x22>\x27\x20+\x20esc(label)\x20+\x20\x27</span>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20msg(text,\x20isErr)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryMsg\x27);\x0a\x20\x20\x20\x20el.textContent\x20=\x20text;\x0a\x20\x20\x20\x20el.className\x20=\x20\x27factory-msg\x20show\x27\x20+\x20(isErr\x20?\x20\x27\x20err\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20clearTimeout(msg._t);\x0a\x20\x20\x20\x20msg._t\x20=\x20setTimeout(function\x20()\x20{\x20el.className\x20=\x20\x27factory-msg\x27;\x20},\x20isErr\x20?\x205200\x20:\x202600);\x0a\x20\x20}\x0a\x20\x20function\x20promptLogin()\x20{\x0a\x20\x20\x20\x20msg(\x27未登录:请先登录任务中心服务后重试\x27,\x20true);\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20请求(面板\x20→\x20桥接\x20→\x20Thor;app\x20由桥接统一注入)----------\x0a\x20\x20function\x20head()\x20{\x0a\x20\x20\x20\x20return\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27,\x20Token:\x20getToken()\x20};\x0a\x20\x20}\x0a\x20\x20function\x20post(path,\x20body)\x20{\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith\x27\x20+\x20path,\x20{\x20method:\x20\x27POST\x27,\x20headers:\x20head(),\x20body:\x20JSON.stringify(body\x20||\x20{})\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20r.text().then(function\x20(t)\x20{\x20var\x20p\x20=\x20{};\x20try\x20{\x20p\x20=\x20JSON.parse(t);\x20}\x20catch\x20(e)\x20{\x20/*\x20非\x20JSON\x20*/\x20}\x20return\x20{\x20r:\x20r,\x20p:\x20p\x20};\x20});\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20p\x20=\x20o.p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(p\x20&&\x20p.action\x20===\x202)\x20{\x20var\x20e\x20=\x20new\x20Error(\x27未登录\x27);\x20e.login\x20=\x20true;\x20throw\x20e;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!o.r.ok\x20||\x20(p\x20&&\x20p.success\x20===\x20false))\x20{\x20throw\x20new\x20Error((p\x20&&\x20p.message)\x20||\x20(\x27HTTP\x20\x27\x20+\x20o.r.status));\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20p\x20?\x20p.data\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20头部\x20/\x20启动\x20----------\x0a\x20\x20function\x20renderHead()\x20{\x0a\x20\x20\x20\x20$(\x27factoryApp\x27).textContent\x20=\x20S.app\x20||\x20\x27未配置应用\x27;\x0a\x20\x20\x20\x20$(\x27factoryApp\x27).title\x20=\x20S.app\x20?\x20(\x27当前应用:\x27\x20+\x20S.app)\x20:\x20\x27未取到应用名(插件启动\x20name)\x27;\x0a\x20\x20}\x0a\x20\x20function\x20boot()\x20{\x0a\x20\x20\x20\x20if\x20(S.booted)\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20S.booted\x20=\x20true;\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api/factory/config\x27).then(function\x20(r)\x20{\x20return\x20r.json();\x20}).then(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(c)\x20{\x20S.app\x20=\x20c.app\x20||\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20renderHead();\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20renderHead();\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20列表\x20----------\x0a\x20\x20function\x20filtered(tab)\x20{\x0a\x20\x20\x20\x20var\x20f\x20=\x20S.filters[tab];\x0a\x20\x20\x20\x20var\x20list\x20=\x20S.lists[tab]\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(f\x20===\x20\x27all\x27)\x20{\x20return\x20list;\x20}\x0a\x20\x20\x20\x20return\x20list.filter(function\x20(it)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(tab\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27active\x27)\x20{\x20return\x20ACTIVE_TASK.indexOf(it.status)\x20>\x20-1;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27done\x27)\x20{\x20return\x20it.status\x20===\x208;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27failed\x27)\x20{\x20return\x20it.status\x20===\x2010;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27cancelled\x27)\x20{\x20return\x20it.status\x20===\x2012;\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20it.status\x20===\x20Number(f);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20renderTabs()\x20{\x0a\x20\x20\x20\x20var\x20tabs\x20=\x20$(\x27factoryTabs\x27).querySelectorAll(\x27.factory-tab\x27);\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20tabs.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20tabs[i].classList.toggle(\x27active\x27,\x20tabs[i].getAttribute(\x27data-tab\x27)\x20===\x20S.tab);\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20function\x20renderFilters()\x20{\x0a\x20\x20\x20\x20var\x20opts\x20=\x20FILTERS[S.tab]\x20||\x20[];\x0a\x20\x20\x20\x20$(\x27factoryFilters\x27).innerHTML\x20=\x20opts.map(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<button\x20class=\x22factory-filter\x27\x20+\x20(S.filters[S.tab]\x20===\x20o[0]\x20?\x20\x27\x20active\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-f=\x22\x27\x20+\x20o[0]\x20+\x20\x27\x22>\x27\x20+\x20o[1]\x20+\x20\x27</button>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20itemTask(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22task\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20(\x27任务\x20\x27\x20+\x20String(it.id).slice(-6)))\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.task,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20fmtTime(it.updateGmt)\x20+\x20\x27</span>\x27\x20+\x20(it.gitBranch\x20?\x20\x27<span>\x27\x20+\x20esc(it.gitBranch)\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20(it.destructive\x20?\x20\x27<span>高风险</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(it.failureReason\x20?\x20\x27<div\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(it.failureReason)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20itemStory(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22story\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20\x27需求\x27)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.story,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20tag(DICT.priority,\x20it.priority)\x20+\x20\x27</span><span>\x27\x20+\x20fmtTime(it.updateGmt)\x20+\x20\x27</span>\x27\x20+\x20(it.taskId\x20?\x20\x27<span>任务\x20\x27\x20+\x20esc(String(it.taskId).slice(-6))\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20itemIssue(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22issue\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20it.content\x20||\x20\x27问题\x27)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.issue,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20esc(DICT.source[it.source]\x20||\x20\x27手动提交\x27)\x20+\x20\x27</span><span>\x27\x20+\x20fmtTime(it.createGmt)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(it.failureReason\x20?\x20\x27<div\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(it.failureReason)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderList()\x20{\x0a\x20\x20\x20\x20renderFilters();\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryBody\x27);\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20el.innerHTML\x20=\x20\x27<div\x20class=\x22factory-empty\x22>未取到应用名(插件启动\x20name),无法管理工厂任务</div>\x27;\x20return;\x20}\x0a\x20\x20\x20\x20var\x20rows\x20=\x20filtered(S.tab);\x0a\x20\x20\x20\x20if\x20(!rows.length)\x20{\x20el.innerHTML\x20=\x20\x27<div\x20class=\x22factory-empty\x22>暂无\x27\x20+\x20TAB_LABEL[S.tab]\x20+\x20\x27</div>\x27;\x20return;\x20}\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20rows.map(function\x20(it)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(S.tab\x20===\x20\x27task\x27)\x20{\x20return\x20itemTask(it);\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(S.tab\x20===\x20\x27story\x27)\x20{\x20return\x20itemStory(it);\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20itemIssue(it);\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20loadList(tab)\x20{\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[tab].list,\x20{\x20page:\x200,\x20pageSize:\x2050\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.lists[tab]\x20=\x20(d\x20&&\x20d.list)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20return\x20d;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20refresh()\x20{\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20renderList();\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20return\x20loadList(S.tab).then(renderList).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27加载失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20详情\x20----------\x0a\x20\x20function\x20panelHead(title)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-panel-head\x22><button\x20class=\x22factory-icon-btn\x22\x20id=\x22factoryBack\x22\x20title=\x22返回\x22><svg\x20class=\x22ico\x22\x20width=\x2215\x22\x20height=\x2215\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22m15\x2018-6-6\x206-6\x22/></svg></button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22factory-panel-title\x22>\x27\x20+\x20esc(title)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20openDetail(kind,\x20id)\x20{\x0a\x20\x20\x20\x20S.detailKind\x20=\x20kind;\x20S.detailStage\x20=\x20null;\x20S.detailStageMessages\x20=\x20[];\x20S.detail\x20=\x20null;\x20S.activities\x20=\x20[];\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20el.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20panelHead(TAB_LABEL[kind]\x20+\x20\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22><div\x20class=\x22factory-empty\x22>加载中…</div></div>\x27;\x0a\x20\x20\x20\x20loadDetail(id);\x0a\x20\x20}\x0a\x20\x20function\x20closeDetail()\x20{\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x20el.classList.remove(\x27show\x27);\x20el.innerHTML\x20=\x20\x27\x27;\x20S.detail\x20=\x20null;\x20S.detailStage\x20=\x20null;\x20}\x0a\x20\x20function\x20loadDetail(id)\x20{\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[S.detailKind].detail,\x20{\x20id:\x20id\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.detail\x20=\x20d\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20return\x20loadActivities(S.detailKind,\x20id).then(function\x20(acts)\x20{\x20S.activities\x20=\x20acts\x20||\x20[];\x20renderDetail();\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(el)\x20{\x20el.innerHTML\x20=\x20panelHead(\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22><div\x20class=\x22factory-empty\x22>\x27\x20+\x20esc(e.login\x20?\x20\x27未登录\x27\x20:\x20(\x27加载失败:\x27\x20+\x20e.message))\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20loadActivities(kind,\x20id)\x20{\x0a\x20\x20\x20\x20var\x20body\x20=\x20{};\x20body[ENDPOINTS[kind].idKey]\x20=\x20id;\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[kind].activities,\x20body).catch(function\x20()\x20{\x20return\x20[];\x20});\x0a\x20\x20}\x0a\x20\x20function\x20infoRow(k,\x20v)\x20{\x20return\x20v\x20?\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>\x27\x20+\x20esc(k)\x20+\x20\x27</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20esc(v)\x20+\x20\x27</span></div>\x27\x20:\x20\x27\x27;\x20}\x0a\x20\x20function\x20renderDetail()\x20{\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.detailKind,\x20o\x20=\x20S.detail\x20||\x20{};\x0a\x20\x20\x20\x20var\x20body\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>任务信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.task,\x20o.status)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27分支\x27,\x20o.gitBranch)\x20+\x20infoRow(\x27创建人\x27,\x20o.creator)\x20+\x20infoRow(\x27更新时间\x27,\x20fmtTime(o.updateGmt))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(o.destructive\x20?\x20infoRow(\x27标记\x27,\x20\x27高风险(删除/重构/迁移)\x27)\x20:\x20\x27\x27)\x20+\x20infoRow(\x27失败原因\x27,\x20o.failureReason)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.description)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>需求描述</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.description)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.result\x20&&\x20o.result.summary)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>本地执行结果</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.result.summary)\x20+\x20\x27</div>\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20(Array.isArray(o.result.files)\x20&&\x20o.result.files.length\x20?\x20\x27<div\x20class=\x22factory-item-sub\x22\x20style=\x22margin-top:6px\x22>\x27\x20+\x20o.result.files.map(function\x20(f)\x20{\x20return\x20\x27<span>\x27\x20+\x20esc(f)\x20+\x20\x27</span>\x27;\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>阶段</div>\x27\x20+\x20stagesHtml(kind,\x20o.stages)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>故事信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.story,\x20o.status)\x20+\x20\x27\x20\x27\x20+\x20tag(DICT.priority,\x20o.priority)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27更新时间\x27,\x20fmtTime(o.updateGmt))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(o.taskId\x20?\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>关联任务</span><span\x20class=\x22factory-row-v\x22><a\x20href=\x22javascript:void(0)\x22\x20data-open-task=\x22\x27\x20+\x20esc(o.taskId)\x20+\x20\x27\x22>\x27\x20+\x20esc(o.taskId)\x20+\x20\x27</a></span></div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.description)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>需求描述\x20/\x20验收条件</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.description)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>问题信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.issue,\x20o.status)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27来源\x27,\x20DICT.source[o.source]\x20||\x20\x27手动提交\x27)\x20+\x20infoRow(\x27来源任务\x27,\x20o.taskId)\x20+\x20infoRow(\x27分支\x27,\x20o.gitBranch)\x20+\x20infoRow(\x27失败原因\x27,\x20o.failureReason)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.content)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>问题内容</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.content)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20\x20\x20if\x20(o.stages\x20&&\x20o.stages.length)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>修复阶段</div>\x27\x20+\x20stagesHtml(kind,\x20o.stages)\x20+\x20\x27</div>\x27;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(S.detailStage)\x20{\x20body\x20+=\x20transcriptHtml(S.detailStage);\x20}\x0a\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>活动时间线</div>\x27\x20+\x20activitiesHtml()\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20$(\x27factoryDetail\x27).innerHTML\x20=\x20panelHead(TAB_LABEL[kind]\x20+\x20\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22>\x27\x20+\x20body\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20stagesHtml(kind,\x20stages)\x20{\x0a\x20\x20\x20\x20if\x20(!stages\x20||\x20!stages.length)\x20{\x20return\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无阶段</div>\x27;\x20}\x0a\x20\x20\x20\x20return\x20stages.map(function\x20(t)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-stage\x22\x20data-stage=\x22\x27\x20+\x20esc(t.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(DICT.stageName[t.stage]\x20||\x20t.stage)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.stage,\x20t.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20esc(t.model\x20||\x20\x27-\x27)\x20+\x20\x27</span><span>第\x27\x20+\x20esc(t.attempt)\x20+\x20\x27次</span>\x27\x20+\x20(t.failureReason\x20?\x20\x27<span\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(t.failureReason)\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20isLocalTask(o)\x20{\x20return\x20!!(o\x20&&\x20o.gitBranch\x20&&\x20String(o.gitBranch).indexOf(\x27local-\x27)\x20===\x200);\x20}\x0a\x20\x20function\x20actionsHtml(kind,\x20o)\x20{\x0a\x20\x20\x20\x20var\x20b\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x200)\x20{\x20b.push(\x27<button\x20class=\x22factory-btn\x20primary\x22\x20data-act=\x22localStart\x22>本地执行</button>\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x204)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27localResult\x27,\x20\x27标记完成\x27,\x20\x27primary\x27,\x20\x27/api/factory/localResult\x27,\x20{\x20id:\x20o.id,\x20status:\x208\x20},\x20\x27确认本地执行已完成?\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27localResult\x27,\x20\x27标记失败\x27,\x20\x27danger\x27,\x20\x27/api/factory/localResult\x27,\x20{\x20id:\x20o.id,\x20status:\x2010\x20},\x20\x27确认本地执行失败?\x27));\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20//\x20本地任务(gitBranch=local-*):提供「转远端重跑」,把需求交回远端工厂流水线\x0a\x20\x20\x20\x20\x20\x20if\x20(isLocalTask(o)\x20&&\x20[0,\x204,\x208,\x2010].indexOf(o.status)\x20>\x20-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(\x27<button\x20class=\x22factory-btn\x22\x20data-act=\x22remoteRerun\x22>转远端重跑</button>\x27);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(ACTIVE_TASK.indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27cancelTask\x27,\x20\x27取消任务\x27,\x20\x27danger\x27,\x20\x27/api/factory/cancelTask\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此任务?进行中的阶段将停止\x27));\x20}\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27orderTask\x27,\x20\x27下单到工厂\x27,\x20\x27primary\x27,\x20\x27/api/factoryStory/orderTask\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定下单?将生成工厂任务并自动执行\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27removeStory\x27,\x20\x27删除\x27,\x20\x27danger\x27,\x20\x27/api/factoryStory/removeStory\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定删除此待办需求?\x27));\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(o.status\x20===\x202)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27markDone\x27,\x20\x27标记完成\x27,\x20\x27primary\x27,\x20\x27/api/factoryStory/markDone\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定验收通过并标记完成?\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27unorder\x27,\x20\x27撤回下单\x27,\x20\x27\x27,\x20\x27/api/factoryStory/unorder\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定撤回下单?运行中任务将一并取消\x27));\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20!==\x204)\x20{\x20b.push(btn(\x27cancelStory\x27,\x20\x27取消\x27,\x20\x27danger\x27,\x20\x27/api/factoryStory/cancelStory\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此需求?\x27));\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20([0,\x204,\x206].indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27reopenIssue\x27,\x20\x27重新修复\x27,\x20\x27primary\x27,\x20\x27/api/factoryIssue/reopenIssue\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定重新修复此问题?\x27));\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20([0,\x202].indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27cancelIssue\x27,\x20\x27取消问题\x27,\x20\x27danger\x27,\x20\x27/api/factoryIssue/cancelIssue\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此问题?\x27));\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20b.length\x20?\x20\x27<div\x20class=\x22factory-actions\x22>\x27\x20+\x20b.join(\x27\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27;\x0a\x20\x20}\x0a\x20\x20function\x20btn(name,\x20label,\x20cls,\x20ep,\x20body,\x20confirmText)\x20{\x0a\x20\x20\x20\x20return\x20\x27<button\x20class=\x22factory-btn\x20\x27\x20+\x20(cls\x20||\x20\x27\x27)\x20+\x20\x27\x22\x20data-act=\x22\x27\x20+\x20name\x20+\x20\x27\x22\x20data-ep=\x22\x27\x20+\x20esc(ep)\x20+\x20\x27\x22\x20data-body=\x22\x27\x20+\x20esc(JSON.stringify(body))\x20+\x20\x27\x22\x20data-confirm=\x22\x27\x20+\x20esc(confirmText\x20||\x20\x27\x27)\x20+\x20\x27\x22>\x27\x20+\x20esc(label)\x20+\x20\x27</button>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20activitiesHtml()\x20{\x0a\x20\x20\x20\x20var\x20acts\x20=\x20S.activities\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!acts.length)\x20{\x20return\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无活动</div>\x27;\x20}\x0a\x20\x20\x20\x20return\x20acts.map(function\x20(a)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20esc(a.summary\x20||\x20\x27\x27)\x20+\x20\x27</span><span\x20style=\x22color:var(--text-faint);font-size:11px\x22>\x27\x20+\x20fmtTime(a.createGmt)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20transcriptHtml(stageId)\x20{\x0a\x20\x20\x20\x20var\x20m\x20=\x20S.detailStageMessages\x20||\x20[];\x0a\x20\x20\x20\x20var\x20list\x20=\x20m.length\x20?\x20m.map(function\x20(x)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-msg-item\x22><span\x20class=\x22factory-msg-type\x22>\x27\x20+\x20esc(DICT.msgType[x.type]\x20||\x20x.type)\x20+\x20\x27</span>\x27\x20+\x20esc(x.content\x20||\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27)\x20:\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无执行消息</div>\x27;\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>执行记录\x20<span\x20style=\x22color:var(--text-faint)\x22>#\x27\x20+\x20esc(String(stageId).slice(-6))\x20+\x20\x27</span></div>\x27\x20+\x20list\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20动作\x20----------\x0a\x20\x20function\x20runAction(name,\x20ep,\x20body,\x20confirmText)\x20{\x0a\x20\x20\x20\x20if\x20(confirmText\x20&&\x20!window.confirm(confirmText))\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20return\x20post(ep,\x20body).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20msg(\x27已提交\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20refresh().then(function\x20()\x20{\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20return\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg((name\x20?\x20name\x20+\x20\x27:\x27\x20:\x20\x27\x27)\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20//\x20转远端重跑:新建一个非本地任务承接同一需求;当前本地任务若仍活跃则取消\x0a\x20\x20function\x20rerunRemote(task)\x20{\x0a\x20\x20\x20\x20if\x20(!task\x20||\x20!task.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(\x27/api/factory/createTask\x27,\x20{\x20title:\x20task.title\x20||\x20\x27\x27,\x20description:\x20task.description\x20||\x20\x27\x27\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20msg(\x27已转远端工厂执行\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(task.status\x20===\x200\x20||\x20task.status\x20===\x204)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20post(\x27/api/factory/cancelTask\x27,\x20{\x20id:\x20task.id\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20refresh().then(function\x20()\x20{\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27转远端失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20openTranscript(stageId)\x20{\x0a\x20\x20\x20\x20S.detailStage\x20=\x20stageId;\x20S.detailStageMessages\x20=\x20[];\x0a\x20\x20\x20\x20renderDetail();\x0a\x20\x20\x20\x20var\x20ep\x20=\x20ENDPOINTS[S.detailKind].messages;\x0a\x20\x20\x20\x20if\x20(!ep)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(ep,\x20{\x20stageId:\x20stageId,\x20page:\x200,\x20pageSize:\x20100\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.detailStageMessages\x20=\x20(d\x20&&\x20(d.list\x20||\x20d.data))\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detailStage\x20===\x20stageId)\x20{\x20renderDetail();\x20}\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20新建\x20----------\x0a\x20\x20function\x20openCreate()\x20{\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20msg(\x27未取到应用名,无法创建\x27,\x20true);\x20return;\x20}\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.tab;\x0a\x20\x20\x20\x20var\x20fields\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20var\x20localPref\x20=\x20true;\x0a\x20\x20\x20\x20try\x20{\x20localPref\x20=\x20localStorage.getItem(\x27zen-aiwith:factoryLocal\x27)\x20!==\x20\x270\x27;\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27需求标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27description\x27,\x20\x27需求描述\x27,\x20\x27textarea\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<label\x20class=\x22factory-check\x22><input\x20type=\x22checkbox\x22\x20id=\x22f_local\x22\x27\x20+\x20(localPref\x20?\x20\x27\x20checked\x27\x20:\x20\x27\x27)\x20+\x20\x27>\x20本地执行(不排远端,创建后在本地\x20AiWith\x20跑;夜间/批量/大改造建议取消勾选走远端)</label>\x27;\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27故事标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27description\x27,\x20\x27需求描述\x20/\x20验收条件\x27,\x20\x27textarea\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>优先级</label><select\x20class=\x22factory-input\x22\x20id=\x22f_priority\x22><option\x20value=\x220\x22>高</option><option\x20value=\x222\x22\x20selected>中</option><option\x20value=\x224\x22>低</option></select></div>\x27;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27问题标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27content\x27,\x20\x27问题描述\x27,\x20\x27textarea\x27,\x20\x27\x27,\x20true);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20el.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20panelHead(\x27新建\x27\x20+\x20TAB_LABEL[kind])\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22>\x27\x20+\x20fields\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22factory-submit\x22\x20id=\x22factorySubmit\x22>创建\x27\x20+\x20TAB_LABEL[kind]\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:10px\x200;text-align:left\x22>提交后自动进入工厂流水线(应用\x20\x27\x20+\x20esc(S.app)\x20+\x20\x27,同应用串行)。</div></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20field(name,\x20label,\x20type,\x20val,\x20required)\x20{\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27textarea\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>\x27\x20+\x20esc(label)\x20+\x20(required\x20?\x20\x27\x20*\x27\x20:\x20\x27\x27)\x20+\x20\x27</label><textarea\x20class=\x22factory-textarea\x22\x20id=\x22f_\x27\x20+\x20name\x20+\x20\x27\x22>\x27\x20+\x20esc(val\x20||\x20\x27\x27)\x20+\x20\x27</textarea></div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>\x27\x20+\x20esc(label)\x20+\x20(required\x20?\x20\x27\x20*\x27\x20:\x20\x27\x27)\x20+\x20\x27</label><input\x20class=\x22factory-input\x22\x20id=\x22f_\x27\x20+\x20name\x20+\x20\x27\x22\x20value=\x22\x27\x20+\x20esc(val\x20||\x20\x27\x27)\x20+\x20\x27\x22></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20submitCreate()\x20{\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.tab;\x0a\x20\x20\x20\x20var\x20body\x20=\x20{};\x0a\x20\x20\x20\x20var\x20title\x20=\x20($(\x27f_title\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(!title.trim())\x20{\x20msg(\x27标题不能为空\x27,\x20true);\x20return;\x20}\x0a\x20\x20\x20\x20body.title\x20=\x20title.trim();\x0a\x20\x20\x20\x20var\x20local\x20=\x20kind\x20===\x20\x27task\x27\x20&&\x20!!($(\x27f_local\x27)\x20||\x20{}).checked;\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x20localStorage.setItem(\x27zen-aiwith:factoryLocal\x27,\x20local\x20?\x20\x271\x27\x20:\x20\x270\x27);\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20\x20\x20body.description\x20=\x20($(\x27f_description\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(local)\x20{\x20body.local\x20=\x201;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x20body.description\x20=\x20($(\x27f_description\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x20body.priority\x20=\x20Number(($(\x27f_priority\x27)\x20||\x20{}).value\x20||\x202);\x20}\x0a\x20\x20\x20\x20else\x20{\x20body.content\x20=\x20($(\x27f_content\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20ep\x20=\x20{\x20task:\x20\x27/api/factory/createTask\x27,\x20story:\x20\x27/api/factoryStory/createStory\x27,\x20issue:\x20\x27/api/factoryIssue/createIssue\x27\x20}[kind];\x0a\x20\x20\x20\x20var\x20submit\x20=\x20$(\x27factorySubmit\x27);\x0a\x20\x20\x20\x20submit.disabled\x20=\x20true;\x0a\x20\x20\x20\x20post(ep,\x20body).then(function\x20(id)\x20{\x0a\x20\x20\x20\x20\x20\x20closeDetail();\x0a\x20\x20\x20\x20\x20\x20if\x20(local)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg(\x27本地任务已创建,开始本地执行…\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20startLocal({\x20id:\x20id,\x20title:\x20body.title,\x20description:\x20body.description\x20});\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg(\x27已创建,工厂开始执行\x27);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20refresh();\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20submit.disabled\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27创建失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20本地执行:把需求交给本地\x20AiWith\x20会话,在当前项目里跑\x20----------\x0a\x20\x20function\x20composeLocalPrompt(task)\x20{\x0a\x20\x20\x20\x20var\x20lines\x20=\x20[\x27【任务中心\x20·\x20本地执行】请在当前项目中完成以下任务,完成后简要总结改动:\x27,\x20\x27\x27];\x0a\x20\x20\x20\x20lines.push(\x27标题:\x27\x20+\x20(task.title\x20||\x20\x27\x27));\x0a\x20\x20\x20\x20if\x20(task.description)\x20{\x20lines.push(\x27描述:\x27);\x20lines.push(task.description);\x20}\x0a\x20\x20\x20\x20return\x20lines.join(\x27\x5cn\x27);\x0a\x20\x20}\x0a\x20\x20function\x20startLocal(task)\x20{\x0a\x20\x20\x20\x20if\x20(!task\x20||\x20!task.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20先写回「执行中(4)」;失败不阻断本地执行\x0a\x20\x20\x20\x20post(\x27/api/factory/localResult\x27,\x20{\x20id:\x20task.id,\x20status:\x204\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20\x20\x20var\x20prompt\x20=\x20composeLocalPrompt(task);\x0a\x20\x20\x20\x20fetch(\x27/aiwith/api/session/reset\x27,\x20{\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27\x20},\x20body:\x20\x27{}\x27\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(r)\x20{\x20return\x20r.json();\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20session\x20=\x20(payload\x20&&\x20payload.data)\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!session.id)\x20{\x20throw\x20new\x20Error(\x27未创建本地会话\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api/session/\x27\x20+\x20session.id\x20+\x20\x27/prompt\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27\x20},\x20body:\x20JSON.stringify({\x20text:\x20prompt\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20close();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.dispatchEvent(new\x20CustomEvent(\x27aiwith:open-session\x27,\x20{\x20detail:\x20{\x20id:\x20session.id,\x20title:\x20task.title\x20}\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20msg(\x27本地执行启动失败:\x27\x20+\x20(e\x20&&\x20e.message\x20?\x20e.message\x20:\x20e),\x20true);\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20SSE\x20实时\x20+\x20轮询兜底\x20----------\x0a\x20\x20function\x20scheduleRefresh()\x20{\x0a\x20\x20\x20\x20clearTimeout(timers.debounce);\x0a\x20\x20\x20\x20timers.debounce\x20=\x20setTimeout(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20refresh();\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x0a\x20\x20\x20\x20},\x20350);\x0a\x20\x20}\x0a\x20\x20function\x20connectStream()\x20{\x0a\x20\x20\x20\x20if\x20(!S.open)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20后端推送已知不可用:不反复请求,等低频重探时间到再试(轮询兜底接管)\x0a\x20\x20\x20\x20if\x20(S.streamDownUntil\x20&&\x20Date.now()\x20<\x20S.streamDownUntil)\x20{\x0a\x20\x20\x20\x20\x20\x20clearTimeout(timers.retry);\x0a\x20\x20\x20\x20\x20\x20timers.retry\x20=\x20setTimeout(connectStream,\x20S.streamDownUntil\x20-\x20Date.now());\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20ac\x20=\x20new\x20AbortController();\x0a\x20\x20\x20\x20streamAbort\x20=\x20ac;\x0a\x20\x20\x20\x20fetch(\x27/aiwith/api/factory/stream\x27,\x20{\x20headers:\x20{\x20Token:\x20getToken()\x20},\x20signal:\x20ac.signal\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(res)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!res.ok\x20||\x20!res.body)\x20{\x20throw\x20new\x20Error(\x27stream\x20http\x20\x27\x20+\x20res.status);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20streamAlive\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20S.retries\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20S.streamDownUntil\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20reader\x20=\x20res.body.getReader();\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20dec\x20=\x20new\x20TextDecoder();\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20buf\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pump\x20=\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20reader.read().then(function\x20(chunk)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(chunk.done)\x20{\x20throw\x20new\x20Error(\x27stream\x20ended\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf\x20+=\x20dec.decode(chunk.value,\x20{\x20stream:\x20true\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20idx;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20((idx\x20=\x20buf.indexOf(\x27\x5cn\x5cn\x27))\x20>=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handleFrame(buf.slice(0,\x20idx));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf\x20=\x20buf.slice(idx\x20+\x202);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20pump();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pump();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20streamAlive\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ac.signal.aborted)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20delay;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(S.streamDownUntil\x20&&\x20Date.now()\x20<\x20S.streamDownUntil)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20delay\x20=\x20S.streamDownUntil\x20-\x20Date.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S.retries\x20=\x20(S.retries\x20||\x200)\x20+\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20delay\x20=\x20S.retries\x20<=\x204\x20?\x201000\x20*\x20Math.pow(2,\x20S.retries)\x20:\x2060000;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20timers.retry\x20=\x20setTimeout(connectStream,\x20delay);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20handleFrame(frame)\x20{\x0a\x20\x20\x20\x20var\x20datas\x20=\x20frame.split(\x27\x5cn\x27).filter(function\x20(l)\x20{\x20return\x20l.indexOf(\x27data:\x27)\x20===\x200;\x20}).map(function\x20(l)\x20{\x20return\x20l.slice(5).trim();\x20});\x0a\x20\x20\x20\x20if\x20(!datas.length)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20evt\x20=\x20null;\x0a\x20\x20\x20\x20try\x20{\x20evt\x20=\x20JSON.parse(datas.join(\x27\x5cn\x27));\x20}\x20catch\x20(e)\x20{\x20evt\x20=\x20null;\x20}\x0a\x20\x20\x20\x20if\x20(evt\x20&&\x20evt.type\x20===\x20\x27ping\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(evt\x20&&\x20evt.type\x20===\x20\x27unavailable\x27)\x20{\x20S.streamDownUntil\x20=\x20Date.now()\x20+\x205\x20*\x2060\x20*\x201000;\x20return;\x20}\x0a\x20\x20\x20\x20scheduleRefresh();\x0a\x20\x20}\x0a\x20\x20function\x20startSync()\x20{\x0a\x20\x20\x20\x20stopSync();\x0a\x20\x20\x20\x20connectStream();\x0a\x20\x20\x20\x20timers.poll\x20=\x20setInterval(function\x20()\x20{\x20if\x20(!streamAlive)\x20{\x20refresh();\x20}\x20},\x20POLL_MS);\x0a\x20\x20\x20\x20timers.safety\x20=\x20setInterval(function\x20()\x20{\x20refresh();\x20},\x20SAFETY_MS);\x0a\x20\x20}\x0a\x20\x20function\x20stopSync()\x20{\x0a\x20\x20\x20\x20clearInterval(timers.poll);\x20clearInterval(timers.safety);\x20clearTimeout(timers.retry);\x20clearTimeout(timers.debounce);\x0a\x20\x20\x20\x20timers.poll\x20=\x20timers.safety\x20=\x20timers.retry\x20=\x20timers.debounce\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(streamAbort)\x20{\x20try\x20{\x20streamAbort.abort();\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x20streamAbort\x20=\x20null;\x20}\x0a\x20\x20\x20\x20streamAlive\x20=\x20false;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20后台低频(关闭时维护未读点)----------\x0a\x20\x20function\x20startBg()\x20{\x20stopBg();\x20timers.bg\x20=\x20setInterval(bgPoll,\x20BG_MS);\x20}\x0a\x20\x20function\x20stopBg()\x20{\x20clearInterval(timers.bg);\x20timers.bg\x20=\x20null;\x20}\x0a\x20\x20function\x20bgPoll()\x20{\x0a\x20\x20\x20\x20if\x20(S.open\x20||\x20!S.app)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(\x27/api/factory/tasks\x27,\x20{\x20page:\x200,\x20pageSize:\x2050\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20list\x20=\x20(d\x20&&\x20d.list)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20setUnread(list.some(function\x20(t)\x20{\x20return\x20ACTIVE_TASK.indexOf(t.status)\x20>\x20-1;\x20}));\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20}\x0a\x20\x20function\x20setUnread(on)\x20{\x20var\x20dot\x20=\x20$(\x27factoryUnread\x27);\x20if\x20(dot)\x20{\x20dot.classList.toggle(\x27show\x27,\x20!!on);\x20}\x20}\x0a\x20\x20function\x20clearUnread()\x20{\x20setUnread(false);\x20}\x0a\x0a\x20\x20//\x20----------\x20打开/关闭\x20----------\x0a\x20\x20function\x20open()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20true;\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).classList.add(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27false\x27);\x0a\x20\x20\x20\x20clearUnread();\x0a\x20\x20\x20\x20boot().then(function\x20()\x20{\x20refresh();\x20});\x0a\x20\x20\x20\x20startSync();\x0a\x20\x20\x20\x20stopBg();\x0a\x20\x20}\x0a\x20\x20function\x20close()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20false;\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27true\x27);\x0a\x20\x20\x20\x20closeDetail();\x0a\x20\x20\x20\x20stopSync();\x0a\x20\x20\x20\x20startBg();\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20事件绑定\x20----------\x0a\x20\x20$(\x27factoryBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20if\x20(S.open)\x20{\x20close();\x20}\x20else\x20{\x20open();\x20}\x20});\x0a\x20\x20//\x20切换到其它工具栏功能时收起工厂面板(主题切换除外,不打断),避免面板开在覆盖层之下\x0a\x20\x20var\x20toolRail\x20=\x20document.querySelector(\x27.tool-rail\x27);\x0a\x20\x20if\x20(toolRail)\x20{\x0a\x20\x20\x20\x20//\x20capture\x20阶段:panel.js\x20对\x20history/review\x20调了\x20stopPropagation,冒泡监听收不到\x0a\x20\x20\x20\x20toolRail.addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20b\x20=\x20e.target.closest(\x27.icon-btn\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!b\x20||\x20b.id\x20===\x20\x27factoryBtn\x27\x20||\x20b.id\x20===\x20\x27themeBtn\x27\x20||\x20b.id\x20===\x20\x27fullscreenBtn\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(S.open)\x20{\x20close();\x20}\x0a\x20\x20\x20\x20},\x20true);\x0a\x20\x20}\x0a\x20\x20$(\x27factoryClose\x27).addEventListener(\x27click\x27,\x20close);\x0a\x20\x20$(\x27factoryRefresh\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20refresh();\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20$(\x27factoryNew\x27).addEventListener(\x27click\x27,\x20openCreate);\x0a\x20\x20$(\x27factoryTabs\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20t\x20=\x20e.target.closest(\x27.factory-tab\x27);\x0a\x20\x20\x20\x20if\x20(!t)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20S.tab\x20=\x20t.getAttribute(\x27data-tab\x27);\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20refresh();\x0a\x20\x20});\x0a\x20\x20$(\x27factoryFilters\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20f\x20=\x20e.target.closest(\x27.factory-filter\x27);\x0a\x20\x20\x20\x20if\x20(!f)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20S.filters[S.tab]\x20=\x20f.getAttribute(\x27data-f\x27);\x0a\x20\x20\x20\x20renderList();\x0a\x20\x20});\x0a\x20\x20$(\x27factoryBody\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20it\x20=\x20e.target.closest(\x27.factory-item\x27);\x0a\x20\x20\x20\x20if\x20(it)\x20{\x20openDetail(it.getAttribute(\x27data-kind\x27),\x20it.getAttribute(\x27data-id\x27));\x20}\x0a\x20\x20});\x0a\x20\x20$(\x27factoryDetail\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20if\x20(e.target.closest(\x27#factoryBack\x27))\x20{\x20closeDetail();\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(e.target.closest(\x27#factorySubmit\x27))\x20{\x20submitCreate();\x20return;\x20}\x0a\x20\x20\x20\x20var\x20openTask\x20=\x20e.target.closest(\x27[data-open-task]\x27);\x0a\x20\x20\x20\x20if\x20(openTask)\x20{\x20openDetail(\x27task\x27,\x20openTask.getAttribute(\x27data-open-task\x27));\x20return;\x20}\x0a\x20\x20\x20\x20var\x20stage\x20=\x20e.target.closest(\x27.factory-stage\x27);\x0a\x20\x20\x20\x20if\x20(stage)\x20{\x20openTranscript(stage.getAttribute(\x27data-stage\x27));\x20return;\x20}\x0a\x20\x20\x20\x20var\x20localBtn\x20=\x20e.target.closest(\x27[data-act=\x22localStart\x22]\x27);\x0a\x20\x20\x20\x20if\x20(localBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20startLocal({\x20id:\x20S.detail.id,\x20title:\x20S.detail.title,\x20description:\x20S.detail.description\x20});\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20rerunBtn\x20=\x20e.target.closest(\x27[data-act=\x22remoteRerun\x22]\x27);\x0a\x20\x20\x20\x20if\x20(rerunBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(window.confirm(\x27转远端工厂重跑?将新建一个远端任务,当前本地任务将被取消\x27))\x20{\x20rerunRemote(S.detail\x20||\x20{});\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20act\x20=\x20e.target.closest(\x27.factory-btn[data-act]\x27);\x0a\x20\x20\x20\x20if\x20(act)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20body\x20=\x20{};\x20try\x20{\x20body\x20=\x20JSON.parse(act.getAttribute(\x27data-body\x27)\x20||\x20\x27{}\x27);\x20}\x20catch\x20(err)\x20{\x20body\x20=\x20{};\x20}\x0a\x20\x20\x20\x20\x20\x20runAction(act.getAttribute(\x27data-act\x27),\x20act.getAttribute(\x27data-ep\x27),\x20body,\x20act.getAttribute(\x27data-confirm\x27));\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x20\x20document.addEventListener(\x27keydown\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20if\x20(e.key\x20===\x20\x27Escape\x27\x20&&\x20S.open)\x20{\x20close();\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20启动:取工厂源与当前应用,开启后台未读轮询\x0a\x20\x20boot().then(startBg);\x0a})();\x0a','debug.css':cM(0x348),'debug.js':'/**\x0a\x20*\x20AiWith\x20页内调试面板(仅\x20dev):调试\x20/\x20点击\x20/\x20执行JS\x20/\x20截图。\x0a\x20*\x20与\x20chrome-devtools\x20MCP\x20的区别:直连\x20dev\x20server\x20的页内\x20agent,无浏览器授权弹窗、可脚本化。\x0a\x20*\x20通道:面板\x20→\x20/aiwith/api/page/*(桥接)→\x20WS(/aiwith/page)\x20→\x20宿主页\x20page-agent。\x0a\x20*/\x0a!(function\x20()\x20{\x0a\x20\x20\x27use\x20strict\x27;\x0a\x20\x20var\x20$\x20=\x20function\x20(id)\x20{\x20return\x20document.getElementById(id);\x20};\x0a\x20\x20if\x20(!$(\x27debugOverlay\x27))\x20{\x20return;\x20}\x0a\x0a\x20\x20var\x20S\x20=\x20{\x20open:\x20false,\x20tab:\x20\x27debug\x27,\x20auto:\x20true,\x20timer:\x20null\x20};\x0a\x0a\x20\x20function\x20req(cmd,\x20body)\x20{\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api/page/\x27\x20+\x20cmd,\x20{\x0a\x20\x20\x20\x20\x20\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27\x20},\x20body:\x20JSON.stringify(body\x20||\x20{}),\x0a\x20\x20\x20\x20}).then(function\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20r.json().catch(function\x20()\x20{\x20return\x20null;\x20}).then(function\x20(p)\x20{\x20return\x20{\x20r:\x20r,\x20p:\x20p\x20};\x20});\x0a\x20\x20\x20\x20}).then(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!o.p\x20||\x20o.p.ok\x20!==\x20true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20e\x20=\x20new\x20Error((o.p\x20&&\x20o.p.message)\x20||\x20(\x27HTTP\x20\x27\x20+\x20o.r.status));\x0a\x20\x20\x20\x20\x20\x20\x20\x20e.offline\x20=\x20!!(o.p\x20&&\x20o.p.code\x20===\x20\x27NO_PAGE\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20e;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20o.p.data;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20msg(text,\x20kind)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27debugMsg\x27);\x0a\x20\x20\x20\x20el.textContent\x20=\x20text\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20el.className\x20=\x20\x27debug-msg\x27\x20+\x20(kind\x20?\x20\x27\x20\x27\x20+\x20kind\x20:\x20\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20fail(e)\x20{\x20msg(e.message,\x20\x27err\x27);\x20if\x20(e.offline)\x20{\x20renderTarget(null);\x20}\x20}\x0a\x0a\x20\x20function\x20refreshStatus()\x20{\x0a\x20\x20\x20\x20fetch(\x27/aiwith/api/page/status\x27).then(function\x20(r)\x20{\x20return\x20r.json();\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(p)\x20{\x20renderTarget(p.data);\x20}).catch(function\x20()\x20{\x20renderTarget(null);\x20});\x0a\x20\x20}\x0a\x20\x20function\x20renderTarget(data)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27debugTarget\x27);\x0a\x20\x20\x20\x20if\x20(!data\x20||\x20!data.connected)\x20{\x0a\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20\x27未连接页面\x27;\x20el.className\x20=\x20\x27debug-target\x20offline\x27;\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20page\x20=\x20data.pages[data.activeIndex]\x20||\x20{};\x0a\x20\x20\x20\x20el.textContent\x20=\x20(page.title\x20||\x20page.url\x20||\x20\x27已连接\x27)\x20+\x20\x27\x20·\x20\x27\x20+\x20data.connected\x20+\x20\x27\x20个页面\x27;\x0a\x20\x20\x20\x20el.className\x20=\x20\x27debug-target\x20online\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20渲染\x20----------\x0a\x20\x20function\x20renderList(box,\x20rows)\x20{\x0a\x20\x20\x20\x20box.textContent\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(!rows.length)\x20{\x20box.textContent\x20=\x20\x27(无)\x27;\x20return;\x20}\x0a\x20\x20\x20\x20rows.forEach(function\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20div\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20div.className\x20=\x20\x27debug-line\x20\x27\x20+\x20(r.kind\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20div.textContent\x20=\x20r.text;\x0a\x20\x20\x20\x20\x20\x20box.appendChild(div);\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20box.scrollTop\x20=\x20box.scrollHeight;\x0a\x20\x20}\x0a\x20\x20function\x20fmtDom(node,\x20depth)\x20{\x0a\x20\x20\x20\x20if\x20(!node)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20pad\x20=\x20new\x20Array(depth\x20+\x201).join(\x27\x20\x20\x27);\x0a\x20\x20\x20\x20var\x20line\x20=\x20pad\x20+\x20node.tag\x20+\x20(node.id\x20?\x20\x27#\x27\x20+\x20node.id\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20+\x20(node.class\x20?\x20\x27.\x27\x20+\x20node.class.split(\x27\x20\x27).join(\x27.\x27)\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20+\x20(node.rect\x20?\x20\x27\x20[\x27\x20+\x20node.rect.join(\x27,\x27)\x20+\x20\x27]\x27\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20+\x20(node.text\x20?\x20\x27\x20\x22\x27\x20+\x20node.text\x20+\x20\x27\x22\x27\x20:\x20\x27\x27)\x20+\x20(node.hidden\x20?\x20\x27\x20(hidden)\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20var\x20out\x20=\x20[line];\x0a\x20\x20\x20\x20(node.children\x20||\x20[]).forEach(function\x20(child)\x20{\x20out.push(fmtDom(child,\x20depth\x20+\x201));\x20});\x0a\x20\x20\x20\x20return\x20out.join(\x27\x5cn\x27);\x0a\x20\x20}\x0a\x20\x20function\x20renderDebug(d)\x20{\x0a\x20\x20\x20\x20$(\x27debugMeta\x27).textContent\x20=\x20d.url\x20+\x20\x27\x5cn\x27\x20+\x20d.title\x20+\x20\x27\x5cn视口\x20\x27\x20+\x20d.viewport.w\x20+\x20\x27×\x27\x20+\x20d.viewport.h\x20+\x20\x27\x20\x20dpr\x20\x27\x20+\x20d.viewport.dpr;\x0a\x20\x20\x20\x20$(\x27debugErrorCount\x27).textContent\x20=\x20(d.errors\x20||\x20[]).length\x20?\x20\x27·\x20\x27\x20+\x20d.errors.length\x20:\x20\x27\x27;\x0a\x20\x20\x20\x20renderList($(\x27debugErrors\x27),\x20(d.errors\x20||\x20[]).map(function\x20(x)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20kind:\x20\x27err\x27,\x20text:\x20\x27[\x27\x20+\x20x.kind\x20+\x20\x27]\x20\x27\x20+\x20x.message\x20+\x20(x.source\x20?\x20\x27\x20\x20@\x27\x20+\x20x.source\x20+\x20\x27:\x27\x20+\x20x.line\x20:\x20\x27\x27)\x20+\x20(x.stack\x20?\x20\x27\x5cn\x27\x20+\x20x.stack\x20:\x20\x27\x27)\x20};\x0a\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20renderList($(\x27debugConsole\x27),\x20(d.console\x20||\x20[]).map(function\x20(x)\x20{\x20return\x20{\x20kind:\x20x.level,\x20text:\x20x.text\x20};\x20}));\x0a\x20\x20\x20\x20renderList($(\x27debugNet\x27),\x20(d.net\x20||\x20[]).map(function\x20(x)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20kind:\x20x.ok\x20?\x20\x27ok\x27\x20:\x20\x27err\x27,\x20text:\x20x.method\x20+\x20\x27\x20\x27\x20+\x20x.url\x20+\x20\x27\x20→\x20\x27\x20+\x20(x.status\x20||\x20x.error\x20||\x20\x27\x27)\x20+\x20\x27\x20\x20\x27\x20+\x20x.ms\x20+\x20\x27ms\x27\x20};\x0a\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20$(\x27debugDom\x27).textContent\x20=\x20fmtDom(d.dom,\x200)\x20||\x20\x27(空)\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20动作\x20----------\x0a\x20\x20function\x20runDebug(quiet)\x20{\x0a\x20\x20\x20\x20if\x20(!quiet)\x20{\x20msg(\x27采集中…\x27);\x20}\x0a\x20\x20\x20\x20req(\x27debug\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20selector:\x20$(\x27debugSelector\x27).value.trim()\x20||\x20undefined,\x0a\x20\x20\x20\x20\x20\x20maxNodes:\x20Number($(\x27debugMaxNodes\x27).value)\x20||\x20undefined,\x0a\x20\x20\x20\x20}).then(function\x20(d)\x20{\x20renderDebug(d);\x20if\x20(!quiet)\x20{\x20msg(\x27\x27);\x20}\x20}).catch(fail);\x0a\x20\x20}\x0a\x20\x20function\x20findElements()\x20{\x0a\x20\x20\x20\x20var\x20selector\x20=\x20$(\x27clickSelector\x27).value.trim();\x0a\x20\x20\x20\x20if\x20(!selector)\x20{\x20return\x20msg(\x27请输入选择器\x27,\x20\x27err\x27);\x20}\x0a\x20\x20\x20\x20req(\x27elements\x27,\x20{\x20selector:\x20selector,\x20limit:\x2030\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20box\x20=\x20$(\x27clickList\x27);\x0a\x20\x20\x20\x20\x20\x20box.textContent\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(!d.items\x20||\x20!d.items.length)\x20{\x20box.textContent\x20=\x20\x27(无匹配)\x27;\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20d.items.forEach(function\x20(it)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20b\x20=\x20document.createElement(\x27button\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.className\x20=\x20\x27debug-el\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.textContent\x20=\x20it.tag\x20+\x20(it.id\x20?\x20\x27#\x27\x20+\x20it.id\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20(it.class\x20?\x20\x27.\x27\x20+\x20it.class.split(\x27\x20\x27)[0]\x20:\x20\x27\x27)\x20+\x20\x27\x20\x20\x27\x20+\x20(it.text\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.title\x20=\x20\x27点击该元素\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.addEventListener(\x27click\x27,\x20function\x20()\x20{\x20doClick(it.id\x20?\x20\x27#\x27\x20+\x20it.id\x20:\x20selector);\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20box.appendChild(b);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20msg(\x27匹配\x20\x27\x20+\x20d.count\x20+\x20\x27\x20个\x27);\x0a\x20\x20\x20\x20}).catch(fail);\x0a\x20\x20}\x0a\x20\x20function\x20doClick(selector)\x20{\x0a\x20\x20\x20\x20selector\x20=\x20selector\x20||\x20$(\x27clickSelector\x27).value.trim();\x0a\x20\x20\x20\x20if\x20(!selector)\x20{\x20return\x20msg(\x27请输入选择器\x27,\x20\x27err\x27);\x20}\x0a\x20\x20\x20\x20req(\x27click\x27,\x20{\x20selector:\x20selector\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(d\x20&&\x20d.ok\x20===\x20false)\x20{\x20return\x20msg(\x27点击失败:\x27\x20+\x20d.error,\x20\x27err\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20$(\x27clickResult\x27).textContent\x20=\x20\x27已点击\x20\x27\x20+\x20d.tag\x20+\x20(d.text\x20?\x20\x27\x20\x20«\x27\x20+\x20d.text\x20+\x20\x27»\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20msg(\x27已点击\x20\x27\x20+\x20selector);\x0a\x20\x20\x20\x20}).catch(fail);\x0a\x20\x20}\x0a\x20\x20function\x20runEval()\x20{\x0a\x20\x20\x20\x20var\x20code\x20=\x20$(\x27evalCode\x27).value;\x0a\x20\x20\x20\x20if\x20(!code.trim())\x20{\x20return\x20msg(\x27请输入代码\x27,\x20\x27err\x27);\x20}\x0a\x20\x20\x20\x20req(\x27eval\x27,\x20{\x20code:\x20code\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20$(\x27evalResult\x27).textContent\x20=\x20d\x20&&\x20d.ok\x20===\x20false\x20?\x20(\x27执行出错:\x27\x20+\x20d.error)\x20:\x20String(d\x20&&\x20d.result);\x0a\x20\x20\x20\x20\x20\x20msg(\x27\x27);\x0a\x20\x20\x20\x20}).catch(fail);\x0a\x20\x20}\x0a\x20\x20function\x20runShot()\x20{\x0a\x20\x20\x20\x20msg(\x27截图中…\x27);\x0a\x20\x20\x20\x20req(\x27screenshot\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20selector:\x20$(\x27shotSelector\x27).value.trim()\x20||\x20undefined,\x0a\x20\x20\x20\x20\x20\x20scale:\x20Number($(\x27shotScale\x27).value)\x20||\x201,\x0a\x20\x20\x20\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!d\x20||\x20d.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error((d\x20&&\x20d.error)\x20||\x20\x27截图失败\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20var\x20box\x20=\x20$(\x27shotBox\x27);\x0a\x20\x20\x20\x20\x20\x20box.textContent\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20var\x20img\x20=\x20document.createElement(\x27img\x27);\x0a\x20\x20\x20\x20\x20\x20img.src\x20=\x20d.dataUrl;\x0a\x20\x20\x20\x20\x20\x20box.appendChild(img);\x0a\x20\x20\x20\x20\x20\x20var\x20link\x20=\x20$(\x27shotDownload\x27);\x0a\x20\x20\x20\x20\x20\x20link.href\x20=\x20d.dataUrl;\x0a\x20\x20\x20\x20\x20\x20link.style.display\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20msg(\x27截图完成\x20\x27\x20+\x20d.width\x20+\x20\x27×\x27\x20+\x20d.height);\x0a\x20\x20\x20\x20}).catch(fail);\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20页签\x20/\x20开关\x20----------\x0a\x20\x20function\x20setTab(tab)\x20{\x0a\x20\x20\x20\x20S.tab\x20=\x20tab;\x0a\x20\x20\x20\x20Array.prototype.forEach.call(document.querySelectorAll(\x27.debug-tab\x27),\x20function\x20(t)\x20{\x0a\x20\x20\x20\x20\x20\x20t.classList.toggle(\x27active\x27,\x20t.getAttribute(\x27data-tab\x27)\x20===\x20tab);\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20Array.prototype.forEach.call(document.querySelectorAll(\x27.debug-pane\x27),\x20function\x20(p)\x20{\x0a\x20\x20\x20\x20\x20\x20p.hidden\x20=\x20p.getAttribute(\x27data-pane\x27)\x20!==\x20tab;\x0a\x20\x20\x20\x20});\x0a\x20\x20\x20\x20if\x20(tab\x20===\x20\x27debug\x27)\x20{\x20runDebug();\x20}\x0a\x20\x20}\x0a\x20\x20function\x20startAuto()\x20{\x0a\x20\x20\x20\x20stopAuto();\x0a\x20\x20\x20\x20if\x20(!S.auto)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20S.timer\x20=\x20setInterval(function\x20()\x20{\x20if\x20(S.open\x20&&\x20S.tab\x20===\x20\x27debug\x27)\x20{\x20runDebug(true);\x20}\x20},\x202500);\x0a\x20\x20}\x0a\x20\x20function\x20stopAuto()\x20{\x20if\x20(S.timer)\x20{\x20clearInterval(S.timer);\x20S.timer\x20=\x20null;\x20}\x20}\x0a\x20\x20function\x20open()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20true;\x0a\x20\x20\x20\x20$(\x27debugOverlay\x27).classList.add(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27debugOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27false\x27);\x0a\x20\x20\x20\x20refreshStatus();\x0a\x20\x20\x20\x20setTab(S.tab);\x0a\x20\x20\x20\x20startAuto();\x0a\x20\x20}\x0a\x20\x20function\x20close()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20false;\x0a\x20\x20\x20\x20$(\x27debugOverlay\x27).classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27debugOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27true\x27);\x0a\x20\x20\x20\x20stopAuto();\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20事件绑定\x20----------\x0a\x20\x20$(\x27debugBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20if\x20(S.open)\x20{\x20close();\x20}\x20else\x20{\x20open();\x20}\x20});\x0a\x20\x20//\x20切到其它工具栏功能时收起(主题切换不打断);capture\x20阶段,绕开\x20panel.js\x20的\x20stopPropagation\x0a\x20\x20var\x20toolRail\x20=\x20document.querySelector(\x27.tool-rail\x27);\x0a\x20\x20if\x20(toolRail)\x20{\x0a\x20\x20\x20\x20toolRail.addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20b\x20=\x20e.target.closest(\x27.icon-btn\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!b\x20||\x20b.id\x20===\x20\x27debugBtn\x27\x20||\x20b.id\x20===\x20\x27themeBtn\x27\x20||\x20b.id\x20===\x20\x27fullscreenBtn\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(S.open)\x20{\x20close();\x20}\x0a\x20\x20\x20\x20},\x20true);\x0a\x20\x20}\x0a\x20\x20$(\x27debugClose\x27).addEventListener(\x27click\x27,\x20close);\x0a\x20\x20$(\x27debugRefresh\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20refreshStatus();\x20if\x20(S.tab\x20===\x20\x27debug\x27)\x20{\x20runDebug();\x20}\x20});\x0a\x20\x20$(\x27debugTabs\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20t\x20=\x20e.target.closest(\x27.debug-tab\x27);\x0a\x20\x20\x20\x20if\x20(t)\x20{\x20setTab(t.getAttribute(\x27data-tab\x27));\x20}\x0a\x20\x20});\x0a\x20\x20$(\x27debugRun\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20runDebug();\x20});\x0a\x20\x20$(\x27debugAuto\x27).addEventListener(\x27change\x27,\x20function\x20()\x20{\x20S.auto\x20=\x20$(\x27debugAuto\x27).checked;\x20startAuto();\x20});\x0a\x20\x20$(\x27clickFind\x27).addEventListener(\x27click\x27,\x20findElements);\x0a\x20\x20$(\x27clickRun\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20doClick();\x20});\x0a\x20\x20$(\x27evalRun\x27).addEventListener(\x27click\x27,\x20runEval);\x0a\x20\x20$(\x27shotRun\x27).addEventListener(\x27click\x27,\x20runShot);\x0a\x20\x20$(\x27evalCode\x27).addEventListener(\x27keydown\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20if\x20((e.ctrlKey\x20||\x20e.metaKey)\x20&&\x20e.key\x20===\x20\x27Enter\x27)\x20{\x20runEval();\x20}\x0a\x20\x20});\x0a})();\x0a','account.css':cM(0x156),'account.js':cM(0x1c9),'page-agent.js':cM(0x233),'opencode-plugin.js':cM(0x27b)};}),an=fe(c=>{W(),(function(){const cN=b;let d=/[\p{Lu}]/u,e=/[\p{Ll}]/u,g=/^[\p{Lu}](?![\p{Lu}])/gu,h=/([\p{Alpha}\p{N}_]|$)/u,i=/[_.\- ]+/,l=new RegExp('^'+i[cN(0x121)]),m=new RegExp(i[cN(0x121)]+h[cN(0x121)],'gu'),n=new RegExp('\x5cd+'+h['source'],'gu'),o=(s,t,u,x)=>{const cO=cN;let z=!0x1,C=!0x1,E=!0x1,F=!0x1;for(let G=0x0;G<s[cO(0x8d)];G++){let I=s[G];F=G>0x2?s[G-0x3]==='-':!0x0,z&&d[cO(0x18e)](I)?(s=s[cO(0x191)](0x0,G)+'-'+s['slice'](G),z=!0x1,E=C,C=!0x0,G++):C&&E&&e[cO(0x18e)](I)&&(!F||x)?(s=s[cO(0x191)](0x0,G-0x1)+'-'+s[cO(0x191)](G-0x1),E=C,C=!0x1,z=!0x0):(z=t(I)===I&&u(I)!==I,E=C,C=u(I)===I&&t(I)!==I);}return s;},p=(s,t)=>(g[cN(0x144)]=0x0,s[cN(0x345)](g,u=>t(u))),r=(s,t)=>(m[cN(0x144)]=0x0,n[cN(0x144)]=0x0,s['replaceAll'](n,(u,w,x)=>['_','-'][cN(0xdb)](s[cN(0x274)](x+u[cN(0x8d)]))?u:t(u))[cN(0x345)](m,(u,w)=>t(w)));c[cN(0x226)]=function(s,t){const cP=cN;if(!(typeof s=='string'||Array[cP(0xdc)](s)))throw new TypeError('Expected\x20the\x20input\x20to\x20be\x20`string\x20|\x20string[]`');if(t={'pascalCase':!0x1,'preserveConsecutiveUppercase':!0x1,...t},Array['isArray'](s)?s=s['map'](x=>x[cP(0x2b0)]())[cP(0x18b)](x=>x[cP(0x8d)])[cP(0x16c)]('-'):s=s[cP(0x2b0)](),s['length']===0x0)return'';let u=t[cP(0x117)]===!0x1?x=>x[cP(0x31d)]():x=>x[cP(0x15d)](t[cP(0x117)]),w=t['locale']===!0x1?x=>x[cP(0x8a)]():x=>x[cP(0x2ed)](t[cP(0x117)]);return s[cP(0x8d)]===0x1?i[cP(0x18e)](s)?'':t['pascalCase']?w(s):u(s):(s!==u(s)&&(s=o(s,u,w,t[cP(0x78)])),s=s[cP(0xcc)](l,''),s=t[cP(0x78)]?p(s,u):u(s),t[cP(0x21c)]&&(s=w(s[cP(0x274)](0x0))+s[cP(0x191)](0x1)),r(s,w));};}());}),on=fe(c=>{W(),(function(){const cQ=b;let d=require(cQ(0x192)),e=require('fs'),g=['components',cQ(0xaf)],{camelCase:h}=an(),i=function(n){const cR=cQ;let o=[],p=[],r=[];e[cR(0x1b6)](n)[cR(0x352)]((u,w)=>u[cR(0x2d9)](w))[cR(0xe0)](u=>{const cS=cR;let w=d[cS(0x16c)](n,u,'index.js');if(e['existsSync'](w))o[cS(0x358)]('import\x20'+u+cS(0x28f)+u+cS(0x1a3)),p[cS(0x358)](u);else{let x=d[cS(0x16c)](n,u,u+cS(0x2e1));if(e[cS(0x22c)](x))o[cS(0x358)]('import\x20'+u+'\x20from\x20\x27./'+u+'/'+u+'.vue\x27;'),r[cS(0x358)](''+u);else{if(u[cS(0x187)]('.')>-0x1)return;j(d[cS(0x16c)](n,u),u,n)&&(o[cS(0x358)]('import\x20'+u+cS(0x28f)+u+cS(0x1a3)),p[cS(0x358)](u));}}});let s=r[cR(0x8d)]>0x0?cR(0x2a3)+r[cR(0x16c)](cR(0x7e))+cR(0x2b4):'',t=o[cR(0x16c)]('\x0a')+'\x0a'+s+cR(0x218)+(s?cR(0x98):'')+cR(0x120)+(p[cR(0x8d)]>0x0?'...'+p[cR(0x16c)](cR(0x26e)):'')+cR(0x2b4);e['writeFileSync'](d[cR(0x16c)](n,cR(0x336)),t,()=>{});},j=function(n,o,p){const cT=cQ;let r=d[cT(0x16c)](n,'index.js'),s=[],t=[];if(!e[cT(0x22c)](n)||o[0x0]==='.'||g[cT(0xdb)](o))return!0x1;let u=!e[cT(0x22c)](r);if(e[cT(0x1b6)](n)[cT(0x352)]((x,z)=>x['localeCompare'](z))[cT(0xe0)](x=>{const cU=cT;let z=d[cU(0x16c)](n,x,'index.js'),C=[];if(e[cU(0x22c)](z)){C['push'](x),s[cU(0x358)](cU(0x184)+x+'\x20from\x20\x22./'+x+'/index.js\x22;'),t['push'](cU(0x100)+x);return;}let E=d['join'](n,x,x+cU(0x2e1));if(x[cU(0x187)]('.')>-0x1||!e['existsSync'](E))return;let F=h(o['replace'](/\//gi,'_')+'_'+x,{'pascalCase':!0x0});s['push'](cU(0x184)+F+cU(0x86)+x+'/'+x+'\x22;'),t[cU(0x358)]('\x27'+o+'/'+x+cU(0x2bb)+F);}),s[cT(0x8d)]===0x0)return!0x1;let w=s[cT(0x16c)]('\x0a')+'\x0a\x0aexport\x20default\x20{\x0a\x09'+t[cT(0x16c)](cT(0x7e))+'\x0a}';return e[cT(0x1af)](r,w),i(p),u&&i(p),!0x0;};function l(n){const cV=cQ;let o=d[cV(0x16c)](n,cV(0x336)),p=e[cV(0x1b6)](n),r=[],s=[];p[cV(0xf7)](u=>{const cW=cV;if(u[cW(0x187)]('.')>-0x1)return;let w=d['join'](n,u,u+'.vue');e['existsSync'](w)&&(s[cW(0x358)](u),r['unshift'](cW(0x184)+u+cW(0x86)+u+'/'+u+'\x22;'));});let t=r[cV(0x16c)]('\x0a')+cV(0xd6)+s[cV(0x16c)](cV(0x7e))+'\x0a}\x0a';return e[cV(0x1af)](o,t);}c[cQ(0x2f3)]=i,c[cQ(0xc4)]=j,c['makeComponentIndex']=l;}());}),sn=fe(c=>{W(),(function(){const cX=b;let e=require('os'),g=require(cX(0x1c7)),h=require(cX(0x28d)),i=new RegExp(cX(0x76),'gi'),n=[cX(0x200),'.css',cX(0x279)],o=[cX(0x200),cX(0xc9),cX(0x193)],p=require('fs'),{join:r,dirname:s,resolve:t,extname:u}=require(cX(0x192)),C=cX(0x2db),E='/',G=require(cX(0x2e2)),I=require(cX(0x15e)),{TosClient:J}=require('@volcengine/tos-sdk'),M,P,Q,U,Y;function a0(ac){const cY=cX;let ad=r(ac,'package.json'),ae=p[cY(0x2e5)](ad,cY(0xc3));return JSON[cY(0x331)](ae);}function a1(ac,ad){const cZ=cX;let ae={'Bucket':Q[cZ(0x1e9)],'Region':Q[cZ(0x272)],'Key':ac,'StorageClass':cZ(0x108)},af=ac[cZ(0x187)]('.js')>-0x1;af||ac[cZ(0x187)](cZ(0xc9))>-0x1?(ae[cZ(0x23e)]={'Content-Encoding':cZ(0x19f),'Content-Type':af?cZ(0x2c1):cZ(0x28a)},ae['Body']=Buffer[cZ(0x222)](h[cZ(0x19f)](p[cZ(0x2e5)](ad,cZ(0xc3))))):ae[cZ(0x25c)]=p[cZ(0x18c)](ad),P[cZ(0x211)](ae,(ag,ah)=>{const d0=cZ;if(ag)return console['log'](ag,ah);console[d0(0x198)](E+ac);});}function a2(ac,ad){const d1=cX;let ae={'bucket':Q[d1(0xa0)],'key':ac},af=ac['indexOf']('.js')>-0x1;af||ac[d1(0x187)](d1(0xc9))>-0x1?(ae[d1(0x140)]={'Content-Encoding':d1(0x19f),'Content-Type':af?d1(0x2c1):'text/css'},ae['body']=Buffer['from'](h['gzip'](p[d1(0x2e5)](ad,d1(0xc3))))):ae[d1(0x112)]=p['createReadStream'](ad),P['putObject'](ae,(ag,ah)=>{const d2=d1;if(ag)return console[d2(0x198)](ag,ah);console[d2(0x198)](E+ac);});}function a3(ac,ad){const d3=cX;let ae,af,ag=ac['indexOf'](d3(0x200))>-0x1;ag||ac[d3(0x187)](d3(0xc9))>-0x1?(af={'Content-Encoding':'gzip','Content-Type':ag?d3(0x2c1):'text/css'},ae=Buffer[d3(0x222)](h[d3(0x19f)](p['readFileSync'](ad,d3(0xc3))))):(ae=p[d3(0x18c)](ad),af={}),P[d3(0x292)](ac,ae,{'headers':af});}function a4(ac,ad){const d4=cX;p[d4(0x1b6)](ac)[d4(0xe0)](ae=>{const d5=d4;if(ae[d5(0x187)]('.')===0x0||ae[d5(0x187)]('.html')>-0x1)return;let af=r(ac,ae),ag=p[d5(0x16a)](af);if(ag[d5(0x119)]()&&a4(af,r(ad,ae)),ag[d5(0x31c)]()){let ah=r(ad,ae)[d5(0xcc)](/\\/gi,'/');console['log'](ah),Y(ah,af);}});}function a5(ac){const d6=cX;let ad=ac[d6(0x12d)](ac[d6(0x187)](d6(0x250))+0x4);ad['startsWith'](d6(0x2cf))&&(ad=ad['substr'](0x4));let ae=r(M,ad),af=u(ae);if(!p[d6(0x22c)](ae)||o['includes'](af)){g[d6(0x296)]('-p',s(ae));let ag=ac['indexOf'](':')>-0x1?ac:d6(0x337)+ac,ah=d6(0x33e)+C+'\x20-o\x20\x22'+ae+d6(0x2ab)+ag+'\x22';if(ae[d6(0x187)](d6(0x200))>-0x1||ae[d6(0x187)](d6(0xc9))>-0x1){let aj=ae+'.tmp';ah='curl\x20'+C+d6(0x256)+aj+d6(0x2ab)+ag+d6(0x2a5)+aj+'\x22\x20>\x20\x22'+ae+d6(0x264)+aj+d6(0x24b);}let ai=g[d6(0x153)](ah);if(ai[d6(0xac)]!==0x0)return console[d6(0x33f)]('Failed\x20to\x20download\x20'+ah+':\x20'+ai['stderr']),ac;}return ad;}function a6(ac){const d7=cX;let ad=u(ac);if(ac['indexOf']('.')===0x0||ad===d7(0xff))return;let ae;if(ac[d7(0x187)](d7(0x21b))>-0x1?ae=M+ac[d7(0x12d)](U[d7(0x8d)]+0x5):ae=M+ac['substr'](U['length']+0x7),g[d7(0x296)]('-p',s(ae)),!n['includes'](ad))return g['cp'](ac,ae);let af=p[d7(0x2e5)](ac,'utf8')['replace'](i,ag=>ag[d7(0x187)]('\x27')>-0x1||ag[d7(0x187)]('\x22')>-0x1?ag:a5(ag));p[d7(0x1af)](ae,Buffer[d7(0x222)](h[d7(0x19f)](af)),d7(0xc3));}function a7(ac){const d8=cX;let ad=p['readdirSync'](ac);for(let ae of ad){if(ae[d8(0x255)]('.'))continue;let af=r(ac,ae),ag=p[d8(0x16a)](af);ag[d8(0x119)]()?a7(af):ag[d8(0x31c)]()&&a6(af);}}function a8(ac,ad,ae){const d9=cX;let af=p[d9(0x1b6)](ac);for(let ag of af){let ah=r(ac,ag);if(p[d9(0x16a)](ah)[d9(0x119)]())a8(ah,ad,ae);else{if(ac[d9(0x187)]('.lowcode')>-0x1&&ag===d9(0xb0)){let ai=p['readFileSync'](ah,d9(0xc3)),{path:aj,basic:ak,actions:al=[]}=JSON[d9(0x331)](ai);if(!aj)continue;let am=ak[d9(0x1ac)];am&&(ae[am]?ae[am]['push'](aj):ae[am]=[aj]);let ao=[];ak[d9(0x315)][d9(0xe0)](({_id:ap,label:aq,mode:ar,href:as,url:au})=>{const da=d9;let av=ap+'',aw={'id':av,'label':aq};ar==='link'&&as&&(aw[da(0x275)]=as[da(0x12d)](0x1)),ao[da(0x358)](aw),au&&(ae[au]?ae[au][da(0x358)](av):ae[au]=[av]);}),al[d9(0xe0)](({_id:ap,label:aq,mode:ar,href:as,url:au})=>{const db=d9;let av=ap+'',aw={'id':av,'label':aq};ar===db(0x275)&&as&&(aw['link']=as[db(0x12d)](0x1)),ao['push'](aw),au&&(ae[au]?ae[au]['push'](av):ae[au]=[av]);}),ao[d9(0x8d)]>0x0&&(ad[aj]=ao);}}}}function a9(){const dc=cX;let ac=new Date(),ad=ac['getFullYear']()[dc(0x1a2)]()['slice'](-0x2),ae=(ac[dc(0x281)]()+0x1)[dc(0x1a2)]()[dc(0x235)](0x2,'0'),af=ac[dc(0xe5)]()[dc(0x1a2)]()[dc(0x235)](0x2,'0'),ag=ac[dc(0x1e7)]()[dc(0x1a2)]()['padStart'](0x2,'0'),ah=ac[dc(0x230)]()[dc(0x1a2)]()[dc(0x235)](0x2,'0');return ad+ae+af+ag+ah;}function aa(ac){const dd=cX;let ad=r(M,'..');if(!p[dd(0x22c)](ad))return;let ae={},af={};a8(r(ac,dd(0x2ef)),ae,af);let ag=r(ad,'points'),ah=r(ad,dd(0x2a0));p[dd(0x1af)](ah,JSON['stringify'](af),dd(0xc3)),p[dd(0x1af)](ag,JSON[dd(0x1f6)](ae),'utf8');}async function ab(ac){const de=cX;let ad=r(M,'..'),ae=a9();if(!p[de(0x22c)](ad)){let ag=r(ac,de(0x1d2));return p[de(0x1af)](ag,ae,'utf8'),ae;}let af=r(ad,de(0x284),de(0xfc));p[de(0x22c)](af)||g['mkdir']('-p',s(af));try{let ah={};return p['existsSync'](af)&&(ah=JSON['parse'](p[de(0x2e5)](af,de(0xc3)))),ah['fd']=ae,p[de(0x1af)](af,JSON[de(0x1f6)](ah),'utf8'),ae;}catch(ai){return console[de(0x198)](ai),'';}}c[cX(0x322)]=async function(ac,ad,ae){const df=cX;if(!ad)return;U=ac,Q=JSON[df(0x331)](p[df(0x2e5)](r(e[df(0x6e)](),'.cc.json'))),ad===df(0x122)?(P=new J({'accessKeyId':Q[df(0x35c)],'accessKeySecret':Q[df(0x131)],'region':Q[df(0x16d)],'endpoint':Q[df(0x113)]}),E=Q[df(0x8b)]+'/',Y=a2):ad==='oss'?(P=new I({'accessKeyId':Q[df(0x241)],'accessKeySecret':Q[df(0x2c9)],'bucket':Q[df(0x1df)],'region':df(0x2e3)+Q[df(0x252)],'authorizationV4':!0x0}),E=Q['ossDomain']+'/',Y=a3):(P=new G({'SecretId':Q['id'],'SecretKey':Q[df(0xb2)]}),E=Q[df(0xf0)]+'/',Y=a1);let af=a0(ac),ag=af[df(0x278)],ah,ai;if(ah=r(ac,df(0x21b)),ai=r(ac,df(0x351)),af['author']!=='zen'){let al=['zen.js',df(0x26d),df(0x1fe),'zen.wap.css'];g[df(0x296)]('-p',ai),al[df(0xe0)](am=>{const dg=df;let ao=r(ai,am),ap=ao+dg(0x2da),aq=dg(0x33e)+C+dg(0x256)+ap+dg(0x1fa)+ae+'/'+am+dg(0x2a9)+ap+'\x22\x20>\x20\x22'+ao+'\x22;\x20status=$?;\x20rm\x20-f\x20\x22'+ap+dg(0x24b);console[dg(0x198)](aq);let ar=g[dg(0x153)](aq);ar[dg(0xac)]!==0x0&&console[dg(0x33f)](dg(0x318)+aq+':\x20'+ar[dg(0x188)]);});}M=t(ac,'..',ag,df(0x2ef),df(0x311),'resources',df(0x288));let aj=await ab(ah),ak=ag+'/'+aj;aa(ac),a4(ah,ak),p[df(0x22c)](ai)&&a4(ai,ak);},c[cX(0x117)]=async function(ac,ad){const dh=cX;U=ac;let ae=a0(ac)['name'];M=t(ac,'..',ae,dh(0x2ef),'main','resources',dh(0x288)),aa(ac);let af=r(ac,dh(0x21b));await ab(af);let ag=r(ac,'public');g[dh(0x296)]('-p',ag),[dh(0x324),'zen.css',dh(0x1fe),dh(0x124)]['forEach'](ah=>{const di=dh;let ai=r(ag,ah),aj=ai+'.tmp',ak='curl\x20'+C+di(0x256)+aj+di(0x1fa)+ad+'/'+ah+di(0x2a9)+aj+di(0x22e)+ai+di(0x264)+aj+di(0x24b);console[di(0x198)](ak);let al=g[di(0x153)](ak);al['code']!==0x0&&console['error'](di(0x318)+ak+':\x20'+al['stderr']);}),a7(af),p[dh(0x22c)](ag)&&a7(ag);};}());}),ln=fe((c,d)=>{W(),(function(){const dj=b;let e=require('path'),g=require('fs'),h=require(dj(0x34e)),i=require(dj(0x1b3)),n=on(),{remote:o,locale:p}=sn(),{makeRootIndex:r,makeSonIndex:s,makeComponentIndex:t}=n,u=[dj(0x1b2),'blocks'];function x(P){const dk=dj;return dk(0x2e8)+P+dk(0x19d);}function z(P){const dl=dj;return'<!doctypehtml><meta\x20charset=utf-8><meta\x20content=\x22chrome,IE=edge\x22http-equiv=X-UA-Compatible><meta\x20content=true\x20name=HandheldFriendly><link\x20href=data:image/ico;base64,aWNv\x20rel=icon><meta\x20content=\x22telephone=no,email=no\x22name=format-detection><meta\x20content=\x22width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,user-scalable=no,minimal-ui,viewport-fit=cover\x22name=viewport><meta\x20content=webkit\x20name=renderer><meta\x20content=no\x20name=msapplication-tap-highlight><title>大屏设计器</title><script\x20src=//b.ebus.vip/zeto/latest/zen.js></script><link\x20href=//b.ebus.vip/zeto/latest/zen.css\x20rel=stylesheet><script>zen.host=\x22https://thor.zeto.me\x22,window.appName=\x22'+P+dl(0x9d);}function C(P,Q){const dm=dj;if(Q['length']<0x2)return;let R,T=Q['filter']((U,V)=>(V===0x0&&(R=e['join'](P,U),g[dm(0x22c)](R)||g[dm(0x126)](R)),V>0x0));C(R,T);}let E=dj(0x237),F=dj(0x12b);function G(P,Q){const dn=dj;P[dn(0xd7)](dn(0x10a),dn(0x307)),P[dn(0xa1)](JSON[dn(0x1f6)](Q));}function I(P,Q){const dp=dj;P[dp(0xd7)](dp(0x10a),'text/html;\x20charset=utf-8'),P[dp(0xa1)](Q);}function J(P,Q){const dq=dj;let R=e[dq(0x16c)](P,dq(0x2ef),dq(0x95)),T=i[dq(0x178)]();return function(U,V,Y){const dr=dq;let {url:Z,method:a0}=U;if(a0===dr(0xad)&&Z==='/coder.html')return I(V,x(Q));if(a0===dr(0xad)&&Z===dr(0x1bc))return I(V,z(Q));if(a0===dr(0x1bd)&&Z==='/coder/read')return T(U,V,()=>{const ds=dr;let {file:a1}=U[ds(0x112)]||{};if(!a1)return G(V,{'code':0x2711,'message':'\u53C2\u6570\u9519\u8BEF'});let a2=e[ds(0x16c)](R,a1);return g[ds(0x22c)](a2)?G(V,{'code':0x2710,'data':g['readFileSync'](a2,ds(0x1a5))}):G(V,{'code':0x2710,'data':null});});if(a0===dr(0x1bd)&&Z===dr(0x2ba))return T(U,V,()=>{const dt=dr;let {file:a1,content:a2,type:a3}=U[dt(0x112)]||{};if(!a1)return G(V,{'code':0x2711,'message':dt(0x1fb)});let a4=a1[dt(0x177)]('/');C(R,a4);let a5=e[dt(0x16c)](R,a1);if(g[dt(0x1af)](a5,a2),a3===dt(0x323)){let a6=a4[dt(0x73)](0x0,a4[dt(0x8d)]-0x2),a7=e[dt(0x16c)](R,a6[dt(0x16c)](e[dt(0x209)]));if(a6['length']===0x0)return r(R);s(a7,a6[dt(0x16c)]('/'),R);}return G(V,{'code':0x2710,'message':dt(0xdd)});});Y();};}function K(P){const du=dj;let Q=e[du(0x16c)](P,'src',du(0x95));if(!g[du(0x22c)](Q))return null;let R=h['watch'](Q,{'depth':0x2,'usePolling':!0x1});return R['on'](du(0x217),U=>{const dv=du;let V=e['join'](U,dv(0x336));if(g[dv(0x22c)](V)||U[dv(0x187)](dv(0x18a))>-0x1)return;let Y=e[dv(0x214)](U)[dv(0x177)](e['sep']),Z=Y['pop'](),a0=Y[Y[dv(0x8d)]-0x1],a1=e['join'](U,Z+dv(0x2e1));g[dv(0x22c)](a1)||u[dv(0xdb)](Z)||u['includes'](a0)||(Y[dv(0x8d)]-Y[dv(0x187)](a0)===0x1&&Y[dv(0x8d)]-Y['indexOf'](dv(0x95))!==0x2&&(a0=Y[Y[dv(0x8d)]-0x2]+e[dv(0x209)]+a0),g[dv(0x1af)](a1,E),s(Y['join'](e[dv(0x209)]),a0,Q));}),R['on'](du(0x12e),T=>{const dw=du;let U=e['resolve'](T)[dw(0x177)](e['sep']);U['pop']();let V=U[dw(0x16c)](e[dw(0x209)]),Y=U['pop']();Y===dw(0x95)?r(Q):(U[dw(0x8d)]-U[dw(0x187)](dw(0x95))===0x2&&(Y=U[dw(0x10b)]()+e[dw(0x209)]+Y),s(V,Y,Q));}),r(Q),R['on'](du(0x33f),function(T){const dx=du;console[dx(0x33f)](dx(0xeb),T);}),R;}function M(P){const dy=dj;let Q=e['join'](P,dy(0x2ef),dy(0x1b2));if(!g[dy(0x22c)](Q))return null;let R=h[dy(0x231)](Q,{'depth':0x1,'usePolling':!0x1});return R['on'](dy(0x217),U=>{const dz=dy;let V=e['resolve'](U)[dz(0x177)](e[dz(0x209)]),Y=V[dz(0x10b)](),Z=e['join'](U,Y+dz(0x2e1)),a0=e[dz(0x16c)](U,Y+dz(0x200));g['existsSync'](Z)||g[dz(0x22c)](a0)||Y===dz(0x1b2)||V[V['length']-0x1]!=='components'||(g[dz(0x1af)](Z,F),t(Q));}),R['on']('unlinkDir',T=>{const dA=dy;let U=e[dA(0x214)](T)[dA(0x177)](e['sep']);U[U[dA(0x8d)]-0x2]==='components'&&t(Q);}),R['on']('error',function(T){const dB=dy;console[dB(0x33f)](dB(0xeb),T);}),R;}d[dj(0xa8)]=function({target:P,ROOT:Q,name:R,core:T,isDev:U}){const dC=dj;return{'name':dC(0x12f),'configureServer'(V){const dD=dC;V[dD(0x277)]['use'](J(Q,R));let Y=[K(Q),M(Q)];V[dD(0x1db)]&&V[dD(0x1db)]['on'](dD(0x82),()=>{const dE=dD;Y[dE(0xe0)](Z=>Z&&Z[dE(0x82)]());});},'closeBundle'(){U||setTimeout(()=>{P==='local'?p(Q,T):P&&o(Q,P,T);},0x64);}};};}());}),Ke=fe((c,d)=>{W(),(function(){const dF=b;let e=require('fs'),f=require(dF(0x192));d[dF(0xa8)]=function({outDir:g}){const dG=dF;return{'name':dG(0x290),'closeBundle'(){const dH=dG;if(!g||!e[dH(0x22c)](g))return;e[dH(0x1b6)](g)['filter'](h=>h[dH(0x22b)]('.css'))[dH(0xe0)](h=>{const dI=dH;let i=e[dI(0x2e5)](f[dI(0x16c)](g,h),dI(0xc3)),l=f[dI(0x16c)](g,h[dI(0xcc)](/\.css$/,dI(0x200)));if(e[dI(0x22c)](l)){let m=e[dI(0x2e5)](l,dI(0xc3)),n=dI(0x29e)+JSON['stringify'](i)+'));document.head.appendChild(s)})();';e[dI(0x1af)](l,n+m);}e[dI(0x26c)](f[dI(0x16c)](g,h));});}};};}());}),pn=fe((c,d)=>{W(),(function(){const dJ=b;let e=require('fs'),g=require(dJ(0x192)),h={'compact':!0x0,'stringArray':!0x0,'stringArrayEncoding':[dJ(0x88)],'stringArrayThreshold':0.75,'identifierNamesGenerator':'mangled','selfDefending':!0x1,'target':dJ(0xa4),'renameGlobals':!0x1};d[dJ(0xa8)]=function({outDir:i}){return{'name':'zen-obfuscate','closeBundle'(){const dK=b;if(!i||!e[dK(0x22c)](i))return;let j=e[dK(0x1b6)](i)[dK(0x18b)](m=>m[dK(0x22b)](dK(0x200)));if(j[dK(0x8d)]===0x0)return;let l;try{l=require('javascript-obfuscator');}catch{throw new Error(dK(0x229));}j[dK(0xe0)](m=>{const dL=dK;let n=g[dL(0x16c)](i,m),o=e[dL(0x2e5)](n,dL(0xc3)),p=l[dL(0xf2)](o,h)[dL(0x141)]();e['writeFileSync'](n,p),console[dL(0x198)](dL(0x1b0)+m,'('+(p[dL(0x8d)]/0x400)[dL(0x305)](0x1)+dL(0x2ec));});}};};}());}),mn=fe((c,d)=>{W(),(function(){const dM=b;let e=require(dM(0x192)),g=Ke(),h=['vue',dM(0x245),dM(0x2ea),dM(0xec)],i={'vue':'Vue','vue-router':dM(0x2dd),'element-plus':dM(0x2aa),'vant':dM(0xec)};d['exports']=function({outDir:l,extraEntries:m,ROOT:n,srcRoot:o}){const dN=dM;return{'name':dN(0x2b9),async 'closeBundle'(){const dO=dN;if(!m||m[dO(0x8d)]===0x0)return;let {default:p}=await import(dO(0x219)),{default:r}=await import(dO(0x346)),{build:s}=await import('vite');for(let t of m){let u=e[dO(0xe6)](t,dO(0x200));await s({'configFile':!0x1,'root':n,'logLevel':dO(0x33f),'plugins':[p(),r({'include':/\.(jsx|js)/}),g({'outDir':l})],'define':{'__VUE_OPTIONS_API__':!0x0,'__VUE_PROD_DEVTOOLS__':!0x1},'resolve':{'extensions':[dO(0x200),dO(0x2e1),'.jsx',dO(0x70)],'alias':{'@':o,'@icons':e[dO(0x214)](n,dO(0x9a))}},'css':{'cssCodeSplit':!0x1},'build':{'outDir':l,'emptyOutDir':!0x1,'copyPublicDir':!0x1,'minify':dO(0x31f),'target':dO(0xd9),'sourcemap':!0x1,'lib':{'entry':t,'formats':[dO(0x148)],'name':dO(0x2ae),'fileName':()=>u+dO(0x200),'cssFileName':u},'rolldownOptions':{'external':h,'output':{'globals':i,'minify':{'compress':{'dropConsole':!0x0,'dropDebugger':!0x0},'mangle':!0x0,'codegen':{'legalComments':'none'}}}}}});}}};};}());}),hn=fe((c,d)=>{W(),(function(){const dP=b;let e={'vue':dP(0x1dd),'vue-router':'VueRouter','element-plus':dP(0x2aa),'vant':dP(0xec)},g=dP(0xf1),h=new RegExp('import\x5cs*\x5c*\x5cs*as\x5cs+([\x5cw$]+)\x5cs*from\x5cs*[\x27\x5c\x22]('+g+dP(0x127),'g'),i=new RegExp('import\x5cs+([\x5cw$]+)\x5cs*,\x5cs*\x5c{([^}]*)\x5c}\x5cs*from\x5cs*[\x27\x5c\x22]('+g+dP(0x127),'g'),j=new RegExp(dP(0x2ca)+g+dP(0x127),'g'),l=new RegExp(dP(0xe1)+g+dP(0x127),'g'),m=new RegExp(dP(0x183)+g+dP(0x127),'g');d['exports']=function({isDev:n}){return{'name':'zen-umd-globals','transform'(o,p){const dQ=b;if(!n||!o||p[dQ(0x187)](dQ(0xc2))>-0x1)return null;let r=!0x1;return o=o['replace'](h,(s,t,u)=>(r=!0x0,dQ(0x1e1)+t+dQ(0x2ad)+e[u])),o=o[dQ(0xcc)](i,(s,t,u,x)=>{const dR=dQ;r=!0x0;let y=u[dR(0x2b0)]()[dR(0xcc)](/\s+as\s+/g,':\x20');return dR(0x1e1)+t+'\x20=\x20window.'+e[x]+';\x0aconst\x20{\x20'+y+dR(0x27c)+e[x];}),o=o[dQ(0xcc)](j,(s,t,u)=>(r=!0x0,dQ(0x186)+t[dQ(0x2b0)]()[dQ(0xcc)](/\s+as\s+/g,':\x20')+dQ(0x27c)+e[u])),o=o[dQ(0xcc)](l,(s,t,u)=>(r=!0x0,dQ(0x1e1)+t+'\x20=\x20window.'+e[u])),o=o['replace'](m,(s,t)=>(r=!0x0,dQ(0x2eb)+e[t]+dQ(0x2e7))),r?{'code':o,'map':null}:null;}};};}());}),bn=fe((c,d)=>{const dS=cJ;W();var e=require('fs'),f=require('os'),g=require('path'),h=['compile',dS(0x254),'TransitionGroup',dS(0xcb),dS(0x342),dS(0x2f4),'defineCustomElement',dS(0x11a),dS(0x1de),dS(0x2d5),'nodeOps',dS(0x17c),dS(0x163),dS(0x15c),dS(0x31e),'useHost',dS(0x1f7),'vModelCheckbox',dS(0x2c2),dS(0x21f),dS(0x182),dS(0x20a),'vShow','withKeys',dS(0x257),'EffectScope','ReactiveEffect','TrackOpTypes',dS(0x213),dS(0x158),dS(0x271),dS(0x7f),dS(0x79),'getCurrentWatcher',dS(0x242),dS(0x225),dS(0x136),dS(0x268),dS(0xa5),dS(0x248),'onScopeDispose',dS(0x1ec),dS(0x280),dS(0x7b),'readonly','ref',dS(0x24a),dS(0x29c),'shallowRef',dS(0x1ef),dS(0x8e),dS(0x340),'toRefs',dS(0x24f),dS(0x273),dS(0x259),dS(0x206),dS(0x1e4),'normalizeClass',dS(0x27a),dS(0xee),dS(0x160),dS(0x19a),dS(0x30b),dS(0x1d0),dS(0x20f),'DeprecationTypes','ErrorCodes',dS(0x25b),dS(0x2e0),dS(0x16f),dS(0x27f),dS(0x1d4),dS(0x2b8),dS(0x295),dS(0x10f),'callWithAsyncErrorHandling','callWithErrorHandling',dS(0x236),dS(0xb1),dS(0x99),dS(0x1be),dS(0x15a),dS(0x13e),dS(0x111),dS(0x239),dS(0x174),dS(0x90),'createSlots',dS(0x21a),dS(0x300),dS(0x343),'defineAsyncComponent',dS(0x1d1),dS(0xe2),dS(0x202),dS(0x24d),dS(0xea),dS(0x17b),'defineSlots',dS(0x17e),'getCurrentInstance',dS(0x1ba),dS(0x13b),'h','handleError','hasInjectionContext',dS(0x18f),dS(0x338),dS(0x89),'hydrateOnVisible',dS(0x1a9),dS(0x347),dS(0x22f),dS(0x8c),dS(0x30c),'mergeDefaults',dS(0x2cc),dS(0x145),'nextTick','onActivated',dS(0x2c7),dS(0x2ce),dS(0x314),dS(0x20d),'onErrorCaptured',dS(0x355),dS(0x35a),dS(0xe4),'onServerPrefetch',dS(0x2ff),dS(0x142),dS(0x333),dS(0x25e),dS(0x1fc),dS(0x319),dS(0x137),dS(0x10c),dS(0x1da),dS(0x2fd),dS(0x216),dS(0x2ac),dS(0x1ea),dS(0x266),'resolveTransitionHooks',dS(0x327),dS(0x11b),dS(0x2d0),dS(0x328),'ssrUtils',dS(0x118),dS(0x110),dS(0xbd),dS(0x149),dS(0x203),dS(0x2f9),dS(0x2c8),dS(0x2f5),dS(0x251),dS(0x357),'warn','watch',dS(0x33c),dS(0x162),dS(0x269),dS(0x2fc),dS(0x34c),dS(0x25f),dS(0x175),dS(0x32e),dS(0x114)];d['exports']=function(){const dT=dS;let i=g[dT(0x16c)](f['tmpdir'](),dT(0x133)),j=dT(0x2bf)+h['map'](k=>'export\x20const\x20'+k+dT(0x101)+JSON['stringify'](k)+']')[dT(0x16c)]('\x0a')+dT(0x325);try{e['writeFileSync'](i,j);}catch{return null;}return{'file':i,'rolldownPlugin':{'name':dT(0x334),'resolveId'(k){if(k==='vue')return i;}}};};}),Tn=fe((c,d)=>{'use strict';const dU=cJ;W();var e=require('fs'),f=require('os'),g=require(dU(0x192)),h=dU(0x2ae),i=g[dU(0x16c)](f['homedir'](),'.cache',dU(0x197)),j=dU(0x26b),k='/'+j;function l(w){const dV=dU;return String(w||dV(0x261))[dV(0xcc)](/[^a-zA-Z0-9._-]/g,'_');}function m(w){const dW=dU;return g[dW(0x16c)](i,dW(0xb5)+l(w)+dW(0x70));}function n(w){const dX=dU;try{return JSON[dX(0x331)](e[dX(0x2e5)](m(w),dX(0xc3)));}catch{return null;}}function o(w,x){const dY=dU;let y=m(w);e[dY(0x126)](i,{'recursive':!0x0,'mode':0x1c0}),e[dY(0x1af)](y,JSON[dY(0x1f6)](x,null,0x2),{'mode':0x180});try{e['chmodSync'](y,0x180);}catch{}return y;}function p(w){const dZ=dU;let x={};return(w||[])[dZ(0xe0)](function(y){const e0=dZ;let z=typeof y=='string'?y:y&&y['id'];if(!z)return;let A={'name':y&&y[e0(0x278)]||String(z)};y&&y['limit']&&(A['limit']=y[e0(0xf3)]),y&&y['capabilities']&&(A[e0(0x1ee)]=y['capabilities']),x[z]=A;}),x;}function q(w){const e1=dU;return{'providerId':w[e1(0x1f4)]||h,'entry':{'name':w['gateway']&&w[e1(0x1d5)]['name']||e1(0x2c5),'package':'aisdk:@ai-sdk/openai-compatible','settings':{'baseURL':w[e1(0x1d5)][e1(0xbe)],'apiKey':w[e1(0x1d5)]['token']},'models':p(w['models'])}};}function r(w,x){const e2=dU;if(!w||!x||!x['gateway']||!x[e2(0x1d5)][e2(0xbe)]||!x['gateway'][e2(0x339)])throw new Error(e2(0x13a));let y=g[e2(0x16c)](w,j);if(e[e2(0x22c)](y)&&s(w,j))throw new Error(j+'\x20\u5DF2\u88AB\x20git\x20\u8DDF\u8E2A\uFF0C\u4E3A\u907F\u514D\u4EE4\u724C\u5165\u5E93\u800C\u62D2\u7EDD\u5199\u5165\uFF1B\u8BF7\u5C06\u5176\u52A0\u5165\x20.gitignore\x20\u540E\u91CD\u8BD5');let z={};try{z=JSON[e2(0x331)](e[e2(0x2e5)](y,'utf8'))||{};}catch{z={};}let A=q(x);(!z[e2(0x2d8)]||typeof z[e2(0x2d8)]!=e2(0x9b))&&(z[e2(0x2d8)]={}),z['providers'][A['providerId']]=A['entry'],e[e2(0x1af)](y,JSON[e2(0x1f6)](z,null,0x2),{'mode':0x180});try{e[e2(0x155)](y,0x180);}catch{}return t(w),{'file':y,'providerId':A[e2(0x1f4)]};}function s(w,x){const e3=dU;try{let {execFileSync:y}=require('child_process');return y('git',[e3(0xf4),e3(0xbc),'--',x],{'cwd':w,'stdio':e3(0x93)}),!0x0;}catch{return!0x1;}}function t(w){const e4=dU;try{let x=g[e4(0x16c)](w,e4(0xe8));if(!e[e4(0x22c)](x)||!e['statSync'](x)[e4(0x119)]())return;let y=g[e4(0x16c)](x,'info',e4(0x11c)),z='';try{z=e['readFileSync'](y,e4(0xc3));}catch{z='';}if(z[e4(0x177)]('\x0a')[e4(0xa3)](function(A){const e5=e4;return A[e5(0x2b0)]()===k;}))return;e[e4(0x126)](g[e4(0x22a)](y),{'recursive':!0x0}),e[e4(0x1af)](y,z['replace'](/\n*$/,'\x0a')+k+'\x0a');}catch{}}function u(w,x){const e6=dU;if(!w)return!0x1;let y=h;try{let B=n(x||'');B&&B[e6(0x1f4)]&&(y=B[e6(0x1f4)]);}catch{}let z=g[e6(0x16c)](w,j),A;try{A=JSON[e6(0x331)](e['readFileSync'](z,'utf8'))||{};}catch{return!0x1;}if(!A[e6(0x2d8)]||typeof A['providers']!=e6(0x9b)||!A[e6(0x2d8)][y])return!0x1;delete A[e6(0x2d8)][y],Object['keys'](A[e6(0x2d8)])['length']===0x0&&delete A[e6(0x2d8)],e[e6(0x1af)](z,JSON[e6(0x1f6)](A,null,0x2),{'mode':0x180});try{e[e6(0x155)](z,0x180);}catch{}return!0x0;}function v(w){const e7=dU;return w?{'version':w[e7(0x357)],'providerId':w[e7(0x1f4)]||h,'modelCount':(w[e7(0x2b7)]||[])[e7(0x8d)]}:null;}d[dU(0xa8)]={'PROVIDER_ID':h,'CONFIG_FILE':j,'readCache':n,'writeCache':o,'inject':r,'removeInjected':u,'sanitize':v};}),An=fe((c,d)=>{W(),(function(){const e8=b;let e=require('fs'),g=require(e8(0x192)),h=require('os'),{Readable:i}=require(e8(0x344)),n=Tn(),o=null;try{o=require(e8(0xc6))['simpleGit'];}catch(a0){console[e8(0x26f)](e8(0x1a6),a0&&a0['message']);}let p=null;try{p=require('ws')[e8(0x19e)];}catch(a1){console[e8(0x26f)](e8(0x207),a1&&a1['message']);}let r=0x14*0x400*0x400,s=0x4*0x400*0x400,t=['zeto.me'];function u(a2){const e9=e8;try{let a3=new URL(a2);return a3[e9(0x1fd)]!==e9(0x1b1)&&a3[e9(0x1fd)]!==e9(0x337)?!0x1:t[e9(0xa3)](a4=>a3['hostname']===a4||a3[e9(0x94)]['endsWith']('.'+a4));}catch{return!0x1;}}async function x(a2){const ea=e8;if(!o)return'';try{let a3=o({'baseDir':a2});if(!await a3[ea(0x301)]())return'';let a4=await a3[ea(0x1e0)]();return a4&&a4['current']||'';}catch{return'';}}let C=typeof oe<'u'?oe:null;function E(a2){const eb=e8;return C&&typeof C[a2]==eb(0x329)?C[a2]:e[eb(0x2e5)](g[eb(0x16c)](__dirname,a2),eb(0xc3));}async function G(a2){const ec=e8;if(!u(a2))throw new Error(ec(0x294));let a3=await fetch(a2,{'signal':AbortSignal[ec(0x12c)](0x4e20)});if(!a3['ok'])throw new Error(ec(0x96)+a3[ec(0x33d)]);if(Number(a3['headers'][ec(0x129)](ec(0x283))||0x0)>r)throw new Error(ec(0x1b7));let a4=(a3[ec(0x140)][ec(0x129)]('content-type')||'')['split'](';')[0x0][ec(0x2b0)]();if(!/^image\/(png|jpe?g|gif|webp)$/[ec(0x18e)](a4))throw new Error(ec(0xb6)+(a4||'\u672A\u77E5\u7C7B\u578B'));let a5=Buffer[ec(0x222)](await a3[ec(0x20b)]());if(!a5[ec(0x8d)]||a5[ec(0x8d)]>r)throw new Error(ec(0x29d));return ec(0x312)+a4+ec(0x349)+a5[ec(0x1a2)]('base64');}let I='\u672A\u68C0\u6D4B\u5230\u53EF\u7528\u7684\x20AiWith\x20\u8FD0\u884C\u670D\u52A1\u3002\u8BF7\u5148\u5B8C\u6210\u8FD0\u884C\u73AF\u5883\u5B89\u88C5\uFF08https://opencode.ai\uFF09\uFF0C\u5E76\u786E\u8BA4\u670D\u52A1\u53EF\u7528\u540E\u91CD\u542F\x20dev\x20server\u3002';function J(a2){return new Promise((a3,a4)=>{const ee=b;let a5=[],a6=0x0,a7=!0x1;a2['on']('data',a8=>{const ed=b;if(!a7){if(a6+=a8['length'],a6>s){a7=!0x0,a5['length']=0x0,a4(new Error('\u8BF7\u6C42\u4F53\u8FC7\u5927'));return;}a5[ed(0x358)](a8);}}),a2['on'](ee(0xa1),()=>{const ef=ee;if(!a7)try{let a8=Buffer['concat'](a5)[ef(0x1a2)](ef(0xc3));a3(a8?JSON[ef(0x331)](a8):{});}catch(a9){a4(a9);}}),a2['on'](ee(0x33f),a4);});}function M(a2,a3,a4){const eg=e8;a2[eg(0x335)]=a3,a2[eg(0xd7)](eg(0x10a),'application/json;\x20charset=utf-8'),a2[eg(0xa1)](JSON[eg(0x1f6)](a4));}function P(a2,a3){const eh=e8;a2[eh(0x309)](0xc8,{'Content-Type':eh(0x1ce),'Cache-Control':eh(0x7c),'Connection':eh(0x232)}),a2[eh(0x1f2)]&&a2[eh(0x1f2)](),a2['write'](eh(0xda)+JSON[eh(0x1f6)]({'type':eh(0xd1),'reason':String(a3||'')})+'\x0a\x0a'),a2[eh(0xa1)]();}function Q(a2,a3,a4){const ei=e8;try{let a5=E(a3);a2['statusCode']=0xc8,a2['setHeader']('Content-Type',a4+ei(0x2ee)),a2[ei(0xd7)]('Cache-Control','no-cache'),a2[ei(0xa1)](a5);}catch{M(a2,0x1f4,{'ok':!0x1,'message':'\u8BFB\u53D6\u8D44\u6E90\u5931\u8D25:\x20'+a3});}}function R(a2){const ej=e8;try{let a3=require[ej(0x214)]('@zumer/snapdom/package.json',{'paths':[__dirname,g[ej(0x16c)](__dirname,'..')]}),a4=g[ej(0x16c)](g[ej(0x22a)](a3),ej(0x21b),ej(0x1bb));a2['statusCode']=0xc8,a2[ej(0xd7)](ej(0x10a),ej(0x7d)),a2[ej(0xd7)]('Cache-Control',ej(0x286)),a2['end'](e['readFileSync'](a4,ej(0xc3)));}catch{M(a2,0x194,{'ok':!0x1,'message':ej(0xae)});}}function T(a2,a3){const ek=e8;var a4=String(a2||'');return/^thor:/i[ek(0x18e)](a4)&&!/^thor:factory/i[ek(0x18e)](a4)&&!/黑灯工厂/[ek(0x18e)](String(a3||''));}function U(a2,a3,a4){const em=e8;return(()=>{const el=b;try{return Promise[el(0x214)](a2());}catch(a5){return Promise['reject'](a5);}})()[em(0x28b)](function(a5){const en=em;if(a3<=0x1)throw a5;return new Promise(function(a6){setTimeout(a6,a4);})[en(0x10d)](function(){return U(a2,a3-0x1,a4);});});}function V(a2){const eo=e8;return String(a2??'')['replace'](/[\u0000-\u001f\u007f]+/g,'\x20')['replace'](/[<>]/g,'')[eo(0x2b0)]();}function Y(a2){const ep=e8;if(!a2||typeof a2!='object')return'';let a3=V(a2['route']);if(!a3||a3[ep(0x8d)]>0x1f4||a3[0x0]!=='/'&&a3[0x0]!=='#')return'';let a4=V(a2[ep(0x265)]);if(a4[ep(0x8d)]>0xc8)return'';let a5=[ep(0x2bd),'\u5F53\u524D\x20dev\x20\u9875\u9762\uFF1A'+a3];return a4&&a5['push'](ep(0x354)+a4),a5[ep(0x358)]('</aiwith-page-context>'),a5[ep(0x16c)]('\x0a');}function Z({ROOT:a2,name:a3,aiwithRoot:a4,kooteamOrigin:a5,factoryOrigin:a6,aiwithRemote:a7,mcpDisable:a8,gatewaySecret:a9,ai_gateway:aa}){const eq=e8;let ab=a5||eq(0x25d),ac=!0x1,ad=a8===!0x1||a8===null?[]:(Array[eq(0xdc)](a8)?a8:['chrome-devtools'])[eq(0x18b)](Boolean),ae=g[eq(0x16c)](h[eq(0xfd)](),'aiwith-mcp.json'),af=0x7530,ag=Object[eq(0x299)](null),ah=Object[eq(0x299)](null),ai=null,aj=!0x1;ad['forEach'](function(bo){ag[bo]=!0x1;});function ak(){const er=eq;if(!aj){aj=!0x0;try{let bo=JSON[er(0x331)](e[er(0x2e5)](ae,er(0xc3)));bo&&bo[er(0x308)]===aD&&bo['desired']&&typeof bo[er(0x81)]=='object'&&Object[er(0x92)](bo[er(0x81)])[er(0xe0)](function(bp){const es=er;ag[bp]=!!bo[es(0x81)][bp];});}catch(bp){bp&&bp[er(0xac)]!==er(0x24e)&&console[er(0x26f)](er(0x166),bp&&bp[er(0x1d3)]||bp);}}}function al(){const et=eq;try{e['writeFileSync'](ae,JSON[et(0x1f6)]({'root':aD,'desired':ag}));}catch{}}function am(bo){const eu=eq;return ai||(ai=ao(bo)[eu(0x28b)](function(){return null;})['then'](function(bp){return ai=null,bp;}),ai);}async function ao(bo){const ev=eq;ak();let bp=bo||await aI()[ev(0x28b)](function(){return null;});if(!bp)return null;let bq;try{bq=await aG(bp);}catch{return null;}for(let br of bq){let bs=ag[br[ev(0x278)]];if(bs===void 0x0)continue;let bt=br['status'];if(!(bs?bt===ev(0x1e2)||bt==='failed'&&Date[ev(0xc1)]()>=(ah[br[ev(0x278)]]||0x0):bt===ev(0x164)))continue;let bu={'server':br[ev(0x278)],'location':{'directory':aD}};try{bs?await bp[ev(0x1c3)]['connect'](bu):await bp[ev(0x1c3)][ev(0x19b)](bu),delete ah[br[ev(0x278)]];}catch(bv){ah[br[ev(0x278)]]=Date['now']()+af,console['warn'](ev(0x1c0)+(bs?'connect':ev(0x19b))+'\x20'+br[ev(0x278)]+'\x20\u5931\u8D25:',bv&&bv[ev(0x1d3)]||bv);}}return aG(bp)[ev(0x28b)](function(){return null;});}let ap=a9?String(a9):'';function aq(bo){const ew=eq;if(a7)return!0x0;if(ap){let br=(bo&&bo[ew(0x140)]||{})[ew(0x215)];return(Array['isArray'](br)?br[0x0]:br)===ap;}let bp=bo&&bo['socket']&&bo[ew(0x14c)][ew(0x316)]||'',bq=bp[ew(0x187)](ew(0x9c))===0x0?bp[ew(0x191)](0x7):bp;return bq===ew(0x285)||bq===ew(0x1eb);}let ar=String(a6||eq(0x2b5))[eq(0xcc)](/\/+$/,''),as=a3||'',au={'factory':['tasks',eq(0xcd),eq(0x29b),'cancelTask','localResult',eq(0x21e),eq(0x2e6)],'factoryStory':['stories',eq(0x1a4),eq(0x253),eq(0x2f7),eq(0xd3),'orderTask',eq(0x161),eq(0x35b),'cancelStory',eq(0x2e6)],'factoryIssue':[eq(0xf6),'issue',eq(0x33a),'cancelIssue',eq(0xb7),eq(0x21e),eq(0x2e6)],'factoryCell':[eq(0x33d),eq(0x2a6)],'userGit':[eq(0x1ab),eq(0x190),eq(0x2d3)]};function av(bo,bp){const ey=eq;let bq=bu=>{const ex=b;let bv=bo[ex(0x140)][bu[ex(0x31d)]()];return Array['isArray'](bv)?bv[0x0]:bv;},br={};bp&&(br['Content-Type']=ey(0x307));let bs=bq(ey(0x339));bs&&(br[ey(0xe3)]=bs),as&&(br[ey(0xfc)]=as);let bt=bq(ey(0x2a7));return bt&&(br['zid']=bt),br;}async function aw(bo,bp,bq,br){const ez=eq;let bs;try{bs=await fetch(ar+bp,{'method':ez(0x1bd),'headers':av(br,!0x0),'body':JSON[ez(0x1f6)](bq||{}),'signal':AbortSignal['timeout'](0x7530)});}catch(bu){return M(bo,0x1f6,{'ok':!0x1,'message':ez(0xde)+ar+'\uFF1A'+(bu&&bu[ez(0x1d3)]?bu[ez(0x1d3)]:String(bu))});}let bt=await bs[ez(0x2d4)]();bo['statusCode']=bs[ez(0x33d)],bo[ez(0xd7)](ez(0x10a),'application/json;\x20charset=utf-8'),bo['setHeader'](ez(0x196),ez(0x286)),bo['end'](bt);}let ax=String(aa||'')['trim']()[eq(0xcc)](/\/+$/,'');async function ay(bo,bp){const eA=eq;if(!ax)return M(bp,0xc8,{'ok':!0x0,'applied':!0x1,'reason':eA(0x71)});let bq=av(bo,!0x0);if(!bq[eA(0xe3)])return M(bp,0x191,{'ok':!0x1,'needLogin':!0x0,'message':eA(0x1cf)});let br;try{let bt=await fetch(ar+eA(0x11d),{'method':eA(0x1bd),'headers':bq,'body':'{}','signal':AbortSignal[eA(0x12c)](0x7530)});if(br=await bt[eA(0x178)]()['catch'](function(){return{};}),!bt['ok']||br[eA(0x179)]===!0x1||typeof br['action']==eA(0x22d)&&br['action']!==0x0)return M(bp,bt[eA(0x33d)]>=0x190?bt[eA(0x33d)]:0x1f6,{'ok':!0x1,'message':br[eA(0x1d3)]||eA(0x20c)});}catch(bu){return M(bp,0x1f6,{'ok':!0x1,'message':eA(0x208)+ar+'\uFF1A'+(bu&&bu[eA(0x1d3)]?bu[eA(0x1d3)]:String(bu))});}let bs=br[eA(0xb0)]||{};if(!bs[eA(0x1d5)]||!bs[eA(0x1d5)][eA(0xbe)]||!bs[eA(0x1d5)][eA(0x339)])return M(bp,0x1f6,{'ok':!0x1,'message':eA(0xd0)});bs[eA(0x1d5)][eA(0xbe)]=ax;try{n['writeCache'](a3||'',bs),n[eA(0x347)](aD,bs);}catch(bv){return M(bp,0x1f4,{'ok':!0x1,'message':eA(0xd4)+(bv&&bv[eA(0x1d3)]?bv[eA(0x1d3)]:String(bv))});}return M(bp,0xc8,Object[eA(0x13f)]({'ok':!0x0,'applied':!0x0},n[eA(0x23f)](bs)));}async function az(bo,bp,bq){const eB=eq;let br=bq[eB(0x177)]('?')[0x0];if(br===eB(0xfb))return M(bp,0xc8,{'ok':!0x0,'origin':ar,'app':as});if(bo[eB(0x2d7)]!=='POST')return M(bp,0x195,{'ok':!0x1,'message':'\u5DE5\u5382\u63A5\u53E3\u4EC5\u652F\u6301\x20POST'});let bs=br[eB(0x330)](/^\/api\/(factory[A-Za-z]*|userGit)\/([A-Za-z]+)$/);if(!bs||!au[bs[0x1]]||au[bs[0x1]][eB(0x187)](bs[0x2])===-0x1)return M(bp,0x194,{'ok':!0x1,'message':'\u4E0D\u652F\u6301\u7684\u5DE5\u5382\u63A5\u53E3:\x20'+br});let bt=await J(bo)['catch'](()=>({}));return bt[eB(0xfc)]=as,aw(bp,br,bt,bo);}async function aA(bo,bp,bq){const eC=eq;let br=bq[eC(0x177)]('?')[0x1]||'',bs=av(bo,!0x1),bt=br;bs[eC(0xe3)]&&bt[eC(0x187)](eC(0x2cb))===-0x1&&(bt+=(bt?'&':'')+eC(0x2cb)+encodeURIComponent(bs[eC(0xe3)])),as&&bt[eC(0x187)](eC(0x157))===-0x1&&(bt+=(bt?'&':'')+eC(0x157)+encodeURIComponent(as));let bu;try{bu=await fetch(ar+eC(0x201)+(bt?'?'+bt:''),{'headers':bs});}catch(by){return P(bp,eC(0x1cb)+(by&&by[eC(0x1d3)]?by[eC(0x1d3)]:String(by)));}if(!bu['ok']||!bu[eC(0x112)])return P(bp,eC(0x2a1)+bu[eC(0x33d)]);let bv=bu[eC(0x140)]['get']('content-type')||'';if(bv['indexOf'](eC(0x220))===-0x1){try{bu['body'][eC(0xb3)]&&bu['body']['cancel']();}catch{}return P(bp,eC(0xe7)+bv);}bp['writeHead'](0xc8,{'Content-Type':eC(0x1ce),'Cache-Control':eC(0x7c),'Connection':eC(0x232),'X-Accel-Buffering':'no'}),bp['flushHeaders']&&bp['flushHeaders']();let bw=i[eC(0xa2)](bu[eC(0x112)]),bx=()=>{const eD=eC;try{bw[eD(0x2de)]();}catch{}};bo['on'](eC(0x82),bx),bp['on'](eC(0x82),bx),bw['on'](eC(0x33f),()=>{const eE=eC;try{bp[eE(0xa1)]();}catch{}}),bw[eC(0x173)](bp);}function aB(bo){const eF=eq;if(typeof bo!=eF(0x329)||!bo)return null;let bp=bo;return bp[eF(0x187)]('//')===0x0&&(bp=eF(0x337)+bp),/^https?:\/\//i['test'](bp)?bp:bp['indexOf']('/kooteam/')===0x0?ab+bp[eF(0x191)](0x8):null;}function aC(bo){const eG=eq;if(a4)return g[eG(0x214)](bo,a4);let bp=g['dirname'](bo);if(!bp||bp===bo)return bo;try{let bq=e[eG(0x1b6)](bp,{'withFileTypes':!0x0}),br=g['basename'](bo),bs=bq[eG(0x18b)](bu=>bu[eG(0x119)]()&&bu[eG(0x278)]!==br&&bu[eG(0x278)][0x0]!=='.')['some'](bu=>e[eG(0x22c)](g[eG(0x16c)](bp,bu[eG(0x278)],'pom.xml'))&&e[eG(0x22c)](g['join'](bp,bu[eG(0x278)],'src',eG(0x311),eG(0x2f8)))),bt=e[eG(0x22c)](g['join'](bp,eG(0x29f)))||e[eG(0x22c)](g[eG(0x16c)](bp,eG(0xfa),eG(0x26b)));if(bs||bt)return bp;}catch{}return bo;}let aD=aC(a2);aD!==a2&&console[eq(0x198)](eq(0xbb)+aD);try{if(ax){let bo=n[eq(0x276)](a3||'');bo&&bo[eq(0x1d5)]&&bo[eq(0x1d5)][eq(0xbe)]&&(bo[eq(0x1d5)]['baseURL']=ax,n[eq(0x347)](aD,bo));}else n['removeInjected'](aD,a3||'')&&console['log'](eq(0x228));}catch(bp){console['warn'](eq(0x246),bp&&bp[eq(0x1d3)]);}let aE=null,aF=new Set();function aG(bq){const eH=eq;return bq['mcp'][eH(0x1f8)]({'location':{'directory':aD}})[eH(0x10d)](br=>(br['data']||[])[eH(0xf7)](bs=>({'name':bs[eH(0x278)],'status':bs[eH(0x33d)]&&bs[eH(0x33d)][eH(0x33d)]||eH(0x1ae),'error':bs[eH(0x33d)]&&bs[eH(0x33d)]['error']?String(bs[eH(0x33d)][eH(0x33f)]):''})))[eH(0x28b)](br=>(console[eH(0x26f)]('[AiWith]\x20mcp.list\x20failed:',br&&br[eH(0x1d3)]),[]));}function aH(bq){const eK=eq;return U(function(){const eI=b;return bq[eI(0x2fe)][eI(0x1f8)]({'location':{'directory':aD}})[eI(0x10d)](function(br){const eJ=eI;if(!br||!br[eJ(0xb0)]||br[eJ(0xb0)][eJ(0x8d)]===0x0)throw new Error(eJ(0x103));return br;});},0x4,0x320)[eK(0x28b)](function(){return{'data':[]};});}async function aI(){const eM=eq;return aE||(aE=(async()=>{const eL=b;let bq=await import(eL(0x171)),br=await import('@opencode/client'),bs=await bq[eL(0x240)][eL(0x1c1)](),bt=bq[eL(0x240)][eL(0x140)](bs);return br[eL(0xe9)][eL(0x151)]({'baseUrl':bs[eL(0x1ac)],'headers':bt});})()[eM(0x28b)](bq=>{const eN=eM;aE=null;let br=new Error(bq&&bq['message']?bq['message']:String(bq));throw br[eN(0xac)]=eN(0x115),br;})),aE;}function aJ(bq,br){const eO=eq;let bs=br&&br[eO(0x1d3)]?String(br[eO(0x1d3)]):String(br);M(bq,0x1f7,{'ok':!0x1,'code':eO(0x115),'message':I,'detail':bs});}let aK=null,aL=null,aM=eq(0x33b);function aN(bq){const eP=eq;return bq[eP(0x1aa)](br=>br[eP(0x180)]==='deepseek'&&br['modelID']==='deepseek-flash')||bq[eP(0x1aa)](br=>(br[eP(0x278)]||'')[eP(0x31d)]()[eP(0x187)](aM)>-0x1)||bq[eP(0x1aa)](br=>(br['modelID']||'')['toLowerCase']()[eP(0x187)](aM)>-0x1)||null;}async function aO(bq){let br=await aH(bq);return aN(br['data']||[]);}function aP(bq){return o?o({'baseDir':aD,'timeout':{'block':bq||0x7530}}):null;}function aQ(bq){const eQ=eq;return typeof bq!=eQ(0x329)||!bq||bq[0x0]==='/'||/^[a-zA-Z]:[\\/]/[eQ(0x18e)](bq)||bq[eQ(0x177)](/[\\/]/)[eQ(0xa3)](br=>br==='..')?null:bq;}function aR(bq,br){const eR=eq;let bs=(bq['files']||[])[eR(0xf7)](bt=>({'path':bt[eR(0x192)],'index':bt[eR(0x2b2)]||'\x20','working':bt[eR(0x32a)]||'\x20'}));return{'isRepo':!0x0,'branch':bq['current']||br&&br[eR(0x247)]||'','tracking':bq[eR(0xf8)]||'','ahead':bq[eR(0xa7)]||0x0,'behind':bq['behind']||0x0,'detached':!!bq[eR(0x1f5)],'clean':bs[eR(0x8d)]===0x0,'branches':br&&br[eR(0x2f1)]||[],'files':bs};}async function aS(){const eS=eq;let bq=aP();if(!bq)return{'isRepo':!0x1,'reason':eS(0xc8)};if(!await bq[eS(0x301)]()[eS(0x28b)](()=>!0x1))return{'isRepo':!0x1,'reason':'\u5F53\u524D\u9879\u76EE\u4E0D\u662F\x20Git\x20\u4ED3\u5E93'};let [br,bs]=await Promise[eS(0x2f1)]([bq[eS(0x33d)](),bq['branchLocal']()[eS(0x28b)](()=>({'all':[],'current':''}))]);return aR(br,bs);}async function aT(bq,br){const eT=eq;let bs=aP();if(!bs)throw new Error(eT(0xc8));let bt=br||{},bu=()=>{const eU=eT;let bv=Array[eU(0xdc)](bt[eU(0x2df)])?bt['paths']:[],bw=bv[eU(0xf7)](aQ)[eU(0x18b)](Boolean);if(bv[eU(0x8d)]&&!bw['length'])throw new Error(eU(0x227));return bw;};switch(bq){case eT(0x33d):return{'data':await aS()};case'stage':{let bv=bu();return bv[eT(0x8d)]?await bs[eT(0x194)](bv):await bs[eT(0x194)](['-A']),{'data':await aS()};}case eT(0x32c):{let bw=bu();return await bs[eT(0x1c5)](bw[eT(0x8d)]?[eT(0x74),'--',...bw]:['HEAD']),{'data':await aS()};}case'commit':{let bx=typeof bt[eT(0x1d3)]=='string'?bt['message'][eT(0x2b0)]():'';if(!bx)throw new Error(eT(0x125));if(bx[eT(0x8d)]>0xfa0)throw new Error('\u63D0\u4EA4\u4FE1\u606F\u8FC7\u957F\uFF08\u4E0A\u9650\x204000\x20\u5B57\uFF09');let by=await bs[eT(0x1ff)](bx);if(!by||!by['commit'])throw new Error(eT(0x1dc));return{'data':await aS(),'summary':{'text':eT(0x1f0)+by[eT(0x1ff)][eT(0x191)](0x0,0x8)}};}case eT(0x77):{let bz=typeof bt['branch']=='string'?bt[eT(0x14e)]:'';if(!bz)throw new Error(eT(0x221));if(!(await bs[eT(0x1e0)]())[eT(0x2f1)]['includes'](bz))throw new Error(eT(0xdf)+bz);return await bs[eT(0x77)](bz),{'data':await aS(),'summary':{'text':'\u5DF2\u5207\u6362\u5230\x20'+bz}};}case eT(0x152):{let bA=await aP(0x1d4c0)[eT(0x152)](),bB=bA&&bA[eT(0x244)]&&bA[eT(0x244)][eT(0x262)]||0x0;return{'data':await aS(),'summary':{'text':eT(0x2f6)+bB+eT(0x291)}};}case eT(0x358):{let bC=await aP(0x1d4c0)[eT(0x358)](),bD=bC&&bC[eT(0x258)]&&bC[eT(0x258)][0x0]||null;return{'data':await aS(),'summary':{'text':bD?eT(0xb4)+bD['remote']+'/'+bD[eT(0x321)]:'\u5DF2\u63A8\u9001'}};}default:throw new Error(eT(0x243)+bq);}}function aU(bq,br){const eV=eq;if(bq[eV(0x2a4)]===0x1)try{bq[eV(0xb8)](JSON[eV(0x1f6)](br));}catch{}}async function aV(bq,br){const eW=eq;if(bq===eW(0x14e))return{'data':{'branch':await x(aD)}};if(typeof bq==eW(0x329)&&bq[eW(0x187)](eW(0x1c6))===0x0)return aT(bq[eW(0x191)](0x4),br);throw new Error(eW(0x11e)+bq);}let aW=new Set(),aX=null,aY=0x0,aZ=new Map();function b0(){const eX=eq;if(aX&&aX[eX(0x2a4)]===0x1&&aW[eX(0x102)](aX))return aX;let bq=null;return aW[eX(0xe0)](br=>{br['readyState']===0x1&&(bq=br);}),aX=bq,bq;}function b1(bq){const f2=eq;if(!p||!bq)return null;let br=new p({'noServer':!0x0,'maxPayload':0x400*0x400});return bq['on']('upgrade',(bs,bt,bu)=>{const eY=b;let bv=(bs[eY(0x1ac)]||'')[eY(0x177)]('?')[0x0];if((bv==='/aiwith/page'||bv===eY(0x1d6))&&!aq(bs)){bt[eY(0x2de)]();return;}if(bv===eY(0x13c)){br['handleUpgrade'](bs,bt,bu,bw=>br['emit'](eY(0x323),bw,bs));return;}bv==='/aiwith/ws'&&br[eY(0x147)](bs,bt,bu,bw=>br['emit']('connection',bw,bs));}),br['on']('connection',bs=>{const f0=b;let bt=setInterval(()=>{const eZ=b;try{bs[eZ(0x2a4)]===0x1&&bs['ping']();}catch{}},0x4e20);bs['on']('close',()=>clearInterval(bt)),bs['on'](f0(0x33f),()=>clearInterval(bt)),bs['on'](f0(0x1d3),bu=>{const f1=f0;let bv;try{bv=JSON['parse'](String(bu));}catch{return;}if(!bv||typeof bv[f1(0x32d)]!=f1(0x329))return;let bw=bv['id'],bx=Object[f1(0x13f)]({},bv);delete bx['id'],delete bx[f1(0x32d)],aV(bv['cmd'],bx)[f1(0x10d)](by=>aU(bs,Object['assign']({'id':bw,'ok':!0x0},by)))[f1(0x28b)](by=>aU(bs,{'id':bw,'ok':!0x1,'message':by&&by[f1(0x1d3)]||String(by)}));});}),br['on'](f2(0x323),bs=>{const f3=f2;aW['add'](bs),aX=bs,bs[f3(0x16e)]=!0x0;let bt=setInterval(()=>{const f4=f3;try{if(bs[f4(0x16e)]===!0x1){bs['terminate']();return;}bs['__aiwithAlive']=!0x1,bs[f4(0x2a4)]===0x1&&bs[f4(0x185)]();}catch{}},0x4e20);bs['on']('pong',()=>{const f5=f3;bs[f5(0x16e)]=!0x0;});let bu=()=>{clearInterval(bt),aW['delete'](bs),aX===bs&&(aX=null);};bs['on'](f3(0x82),bu),bs['on'](f3(0x33f),bu),bs['on'](f3(0x1d3),bv=>{const f6=f3;let bw;try{bw=JSON[f6(0x331)](String(bv));}catch{return;}if(!bw)return;if(bw['type']===f6(0x91)){bs[f6(0x15f)]={'url':bw[f6(0x1ac)],'title':bw[f6(0x265)],'at':Date[f6(0xc1)]()};return;}if(!bw['id'])return;let bx=aZ[f6(0x129)](bw['id']);bx&&(aZ[f6(0x128)](bw['id']),bx(bw));});}),br;}function b2(bq,br,bs){return new Promise((bt,bu)=>{const f8=b;let bv=b0();if(!bv){bu(new Error('NO_PAGE'));return;}let bw='p'+ ++aY,bx=setTimeout(()=>{const f7=b;aZ[f7(0x128)](bw),bu(new Error(f7(0x143)));},bs||0x4e20);aZ[f8(0xa6)](bw,by=>{clearTimeout(bx),bt(by);});try{bv[f8(0xb8)](JSON['stringify']({'id':bw,'cmd':bq,'args':br||{}}));}catch(by){clearTimeout(bx),aZ['delete'](bw),bu(by);}});}function b3(){const f9=eq;let bq=[],br=b0();return aW[f9(0xe0)](bs=>{const fa=f9;let bt=bs[fa(0x15f)]||{};bq[fa(0x358)]({'url':bt[fa(0x1ac)]||'','title':bt['title']||'','active':bs===br,'at':bt['at']||0x0});}),{'connected':bq[f9(0x8d)],'activeIndex':bq[f9(0xf9)](bs=>bs[f9(0x2d2)]),'pages':bq};}function b4(bq){return new Promise(br=>setTimeout(br,bq));}async function b5(bq){const fb=eq;let br=Date['now']()+(bq||0x1388);for(;Date[fb(0xc1)]()<br;){let bs=b0();if(bs)return bs;await b4(0x78);}return b0();}async function b6(bq,br,bs){const fc=eq;let bt=Date['now']()+(bs||0x1f40);for(;Date[fc(0xc1)]()<bt;){await b4(0x78);let bv=b0();if(!bv)continue;let bw=bv[fc(0x15f)]&&bv[fc(0x15f)][fc(0x1ac)]||'';if(bv!==bq||bw!==br){await b4(0x78);let bx=b0();return bx&&bx[fc(0x15f)]&&bx[fc(0x15f)][fc(0x1ac)]||bw;}}let bu=b0();return bu&&bu[fc(0x15f)]&&bu[fc(0x15f)]['url']||'';}async function b7(bq,br,bs){const fd=eq;let bt=bs[fd(0x177)]('?')[0x0];if(bt===fd(0x168))return bq[fd(0x2d7)]!=='GET'?M(br,0x195,{'ok':!0x1,'message':fd(0x23a)}):M(br,0xc8,{'ok':!0x0,'data':b3()});let bu=bt[fd(0x330)](/^\/api\/page\/([a-z]+)$/);if(!bu)return M(br,0x194,{'ok':!0x1,'message':fd(0x32f)+bt});if(bq[fd(0x2d7)]!==fd(0x1bd))return M(br,0x195,{'ok':!0x1,'message':fd(0x1f9)});let bv=await J(bq)[fd(0x28b)](()=>({})),bw=bu[0x1];if(bw===fd(0x132)){if(!String(bv&&bv['to']||'')[fd(0x2b0)]())return M(br,0x190,{'ok':!0x1,'message':fd(0x223)});let bx=b0();if(!bx)return M(br,0x1f7,{'ok':!0x1,'code':fd(0x1e8),'message':fd(0x21d)});let by=bx[fd(0x15f)]&&bx[fd(0x15f)][fd(0x1ac)]||'';try{bx['send'](JSON['stringify']({'id':'p'+ ++aY,'cmd':fd(0x132),'args':bv||{}}));}catch(bA){return M(br,0x1f4,{'ok':!0x1,'message':bA&&bA['message']||String(bA)});}let bz=await b6(bx,by,0x1f40);return M(br,0xc8,{'ok':!0x0,'data':{'ok':!0x0,'url':bz}});}if(bw===fd(0xd5)){if(!await b5(0x1388))return M(br,0x1f7,{'ok':!0x1,'code':fd(0x1e8),'message':'\u6CA1\u6709\u5DF2\u8FDE\u63A5\u7684\u9875\u9762\uFF08\u8BF7\u786E\u8BA4\x20dev\x20\u9875\u9762\u5DF2\u6253\u5F00\u5E76\u5B8C\u6210\u52A0\u8F7D\uFF09'});let bB=Math[fd(0x289)](Math[fd(0x80)](Number(bv&&bv[fd(0x12c)])||0x3a98,0x3e8),0xea60);try{let bC=await b2(fd(0xd5),Object['assign']({},bv,{'timeout':bB}),bB+0xbb8);return M(br,0xc8,{'ok':!0x0,'data':bC['data']});}catch(bD){return M(br,0x1f4,{'ok':!0x1,'message':bD&&bD[fd(0x1d3)]||String(bD)});}}try{let bE=await b2(bw,bv,0x61a8);return M(br,0xc8,{'ok':!0x0,'data':bE[fd(0xb0)]});}catch(bF){return bF&&bF['message']==='NO_PAGE'?M(br,0x1f7,{'ok':!0x1,'code':fd(0x1e8),'message':fd(0x21d)}):M(br,0x1f4,{'ok':!0x1,'message':bF&&bF[fd(0x1d3)]||String(bF)});}}function b8(bq){const ff=eq;let br=bq&&bq[ff(0x1db)];if(!br||!bq[ff(0x284)])return;let bs=()=>{const fg=ff;try{let bt=br[fg(0x1e3)](),bu=bt&&typeof bt==fg(0x9b)?bt['port']:null;if(!bu)return;let bv=fg(0x30d)+bu;e[fg(0x1af)](g[fg(0x16c)](h[fg(0xfd)](),fg(0x34d)),JSON['stringify']({'root':aD,'origin':bv,'at':Date['now']()})),bb(bv);}catch{}};br[ff(0x106)]&&bs(),br['on'](ff(0x106),bs);}let b9=eq(0x17f);function ba(){const fh=eq;let bq=g[fh(0x22a)](aD);for(;bq&&bq!==g[fh(0x22a)](bq);){let br=g[fh(0x16c)](bq,fh(0xfa),fh(0x2b1),fh(0x30e));try{let bs=g[fh(0x16c)](br,fh(0x30a));e[fh(0x22c)](bs)&&e[fh(0x2e5)](bs,fh(0xc3))[fh(0x187)](b9)===0x0&&(e['rmSync'](br,{'recursive':!0x0,'force':!0x0}),console[fh(0x26f)](fh(0x263)+br));}catch{}bq=g[fh(0x22a)](bq);}}function bb(bq){const fi=eq;try{ba();let br=E(fi(0x1b8)),bs=b9+'\x0a//\x20目标\x20dev\x20server:\x20'+bq+'\x0a'+br[fi(0x345)](fi(0x270),bq),bt=g[fi(0x16c)](aD,fi(0xfa),fi(0x2b1),fi(0x30e)),bu=g['join'](bt,fi(0x30a)),bv=null;try{bv=e['readFileSync'](bu,fi(0xc3));}catch{bv=null;}if(bv===bs)return;e[fi(0x126)](bt,{'recursive':!0x0}),e['writeFileSync'](bu,bs);}catch{}}async function bc(bq){const fj=eq;let br=await aO(bq)[fj(0x28b)](()=>null);return aK=await bq[fj(0x1c2)]['create']({'agent':fj(0x287),...br?{'model':{'id':br[fj(0x2c6)],'providerID':br[fj(0x180)]}}:{},'location':{'directory':aD}}),br||console[fj(0x26f)](fj(0x2d1)+aM+fj(0x359)),aK;}async function bd(bq){const fk=eq;let br=((await bq[fk(0x1c2)][fk(0x1f8)]({'directory':aD,'limit':0x14,'order':fk(0x181)})[fk(0x28b)](()=>({'data':[]})))[fk(0xb0)]||[])[fk(0x1aa)](bs=>!bs['parentID']);return br?(aK=br,console[fk(0x198)](fk(0xce)+br['id']),br):bc(bq);}async function bf(bq){const fl=eq;if(aK){let br=await bq[fl(0x1c2)][fl(0x129)]({'sessionID':aK['id']})[fl(0x28b)](()=>null);if(br)return br;aK=null;}return aL||(aL=bd(bq)['finally'](()=>{aL=null;})),aL;}async function bg(bq,br,bs){const fm=eq;let bt=await aI(),bu=bs['split']('?')[0x0],bv=bx=>bu['match'](bx),bw;if(bq[fm(0x2d7)]===fm(0xad)&&bu===fm(0x23d)){let [bx,by,bz,bA,bB,bC,bD]=await Promise['all']([bt[fm(0x2b6)][fm(0x28c)]()['catch'](bI=>(console['warn'](fm(0x107),bI&&bI['message']),null)),bt[fm(0x2f0)][fm(0x1f8)]({'location':{'directory':aD}})[fm(0x28b)](bI=>(console['warn'](fm(0x123),bI&&bI['message']),{'data':[]})),aH(bt),aG(bt),bt[fm(0x1d8)][fm(0x1f8)]({'location':{'directory':aD}})['catch'](bI=>(console['warn']('[AiWith]\x20command.list\x20failed:',bI&&bI['message']),{'data':[]})),bt['session'][fm(0x2d2)]()[fm(0x28b)](bI=>(console[fm(0x26f)](fm(0x159),bI&&bI[fm(0x1d3)]),{})),x(aD)]),bE=(bz[fm(0xb0)]||[])[fm(0x18b)](bI=>bI[fm(0x172)]!==!0x1),bF=aN(bE),bG=bI=>bI[fm(0x180)]!==fm(0x1d7)||(bI[fm(0xb9)]||[])[fm(0xa3)](bJ=>(bJ['input']||0x0)>0x0||(bJ[fm(0x104)]||0x0)>0x0||bJ['cache']&&((bJ[fm(0xfe)]['read']||0x0)>0x0||(bJ['cache'][fm(0x31b)]||0x0)>0x0)),bH=bI=>({'providerID':bI[fm(0x180)],'modelID':bI[fm(0x2c6)],'name':bI[fm(0x278)],'contextLimit':bI[fm(0xf3)]?bI[fm(0xf3)]['context']:0x0,'variants':(bI['variants']||[])[fm(0xf7)](bJ=>bJ['id']),'paid':bG(bI)});return M(br,0xc8,{'ok':!0x0,'root':aD,'name':a3,'server':bx,'mcp':bA,'running':Object[fm(0x92)](bC||{}),'branch':bD||'','models':bE[fm(0xf7)](bH),'defaultModel':bF?bH(bF):null,'agents':(by[fm(0xb0)]||[])[fm(0x18b)](bI=>!bI[fm(0x15b)])[fm(0xf7)](bI=>({'id':bI['id'],'name':bI[fm(0x278)],'description':bI[fm(0x306)],'mode':bI[fm(0x109)]})),'commands':(bB['data']||[])[fm(0x18b)](bI=>T(bI[fm(0x278)],bI[fm(0x306)]))[fm(0xf7)](bI=>({'name':bI[fm(0x278)],'description':bI[fm(0x306)]||''}))});}if(bq['method']===fm(0xad)&&bu===fm(0x1f1)){let bI=await bt[fm(0x1d8)][fm(0x1f8)]({'location':{'directory':aD}});return M(br,0xc8,{'ok':!0x0,'data':(bI[fm(0xb0)]||[])[fm(0x18b)](bJ=>T(bJ['name'],bJ[fm(0x306)]))[fm(0xf7)](bJ=>({'name':bJ[fm(0x278)],'description':bJ[fm(0x306)]||''}))});}if(bq[fm(0x2d7)]===fm(0xad)&&bu===fm(0x20e)){let bJ=bs[fm(0x177)]('?')[0x1]||'',bK=decodeURIComponent((bJ[fm(0x330)](/(?:^|&)query=([^&]*)/)||[])[0x1]||''),bL=(bJ[fm(0x330)](/(?:^|&)type=(file|directory)/)||[])[0x1],bM=await bt[fm(0x167)][fm(0x1aa)]({'location':{'directory':aD},'query':bK,...bL?{'type':bL}:{},'limit':0x1e});return M(br,0xc8,{'ok':!0x0,'data':(bM[fm(0xb0)]||[])[fm(0xf7)](bN=>({'path':bN[fm(0x192)],'type':bN[fm(0x135)]}))});}if(bq[fm(0x2d7)]===fm(0xad)&&bu===fm(0x320)){let bN=ac?await am(bt)[fm(0x28b)](function(){return null;}):null;return M(br,0xc8,{'ok':!0x0,'data':bN||await aG(bt)});}if(bq['method']===fm(0x1bd)&&bu==='/api/mcp/toggle'){let bO=await J(bq)['catch'](function(){return{};}),bP=String(bO&&bO[fm(0x278)]||'');if(!bP)return M(br,0x190,{'ok':!0x1,'message':fm(0x23b)});ag[bP]=!!bO['on'],delete ah[bP],aj=!0x0,al();let bQ=await am(bt)[fm(0x28b)](function(){return null;});return M(br,0xc8,{'ok':!0x0,'data':bQ||await aG(bt)});}if(bq[fm(0x2d7)]===fm(0xad)&&bu===fm(0x1b9)){let bR=await bf(bt);return M(br,0xc8,{'ok':!0x0,'data':bR});}if(bq[fm(0x2d7)]===fm(0xad)&&bu===fm(0x1d9)){let bS=await bt[fm(0x1c2)][fm(0x1f8)]({'directory':aD,'limit':0x1e,'order':fm(0x181)});return M(br,0xc8,{'ok':!0x0,'data':(bS['data']||[])[fm(0x18b)](bT=>!bT['parentID'])[fm(0xf7)](bT=>({'id':bT['id'],'title':bT[fm(0x265)]||'','agent':bT[fm(0x2f0)]||'','time':bT[fm(0x234)]||{},'cost':bT[fm(0xb9)]||0x0,'tokens':bT[fm(0x8f)]||null}))});}if(bq[fm(0x2d7)]===fm(0x1bd)&&bu===fm(0xed)){let bT=await J(bq);if(!bT[fm(0xc7)]||typeof bT[fm(0xc7)]!=fm(0x329))return M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20sessionID'});let bU=await bt['session']['get']({'sessionID':bT['sessionID']});return!bU||!bU[fm(0x238)]||bU[fm(0x238)][fm(0x28e)]!==aD?M(br,0x193,{'ok':!0x1,'message':fm(0x6f)}):(aK=bU,M(br,0xc8,{'ok':!0x0,'data':bU}));}if(bq[fm(0x2d7)]==='POST'&&bu===fm(0x13d)){let bV=await bc(bt);return M(br,0xc8,{'ok':!0x0,'data':bV});}if(bw=bv(/^\/api\/session\/([^/]+)$/)){let bW=bw[0x1];if(bq['method']===fm(0xad)){let bX=await bt[fm(0x1c2)][fm(0x129)]({'sessionID':bW});return M(br,0xc8,{'ok':!0x0,'data':bX});}return bq[fm(0x2d7)]===fm(0x298)?(await bt[fm(0x1c2)][fm(0xf5)]({'sessionID':bW}),aK&&aK['id']===bW&&(aK=null),M(br,0xc8,{'ok':!0x0})):M(br,0x195,{'ok':!0x1,'message':fm(0x27d)});}if((bw=bv(/^\/api\/session\/([^/]+)\/messages$/))&&bq['method']===fm(0xad)){let bY=bs[fm(0x177)]('?')[0x1]||'',bZ=Number((bY[fm(0x330)](/(?:^|&)limit=(\d+)/)||[])[0x1]||0x0),c0=bZ>0x0?Math['min'](bZ,0xc8):0xc8,c1=(bY[fm(0x330)](/(?:^|&)order=(asc|desc)/)||[])[0x1],c2=decodeURIComponent((bY[fm(0x330)](/(?:^|&)cursor=([^&]*)/)||[])[0x1]||''),c3={'sessionID':bw[0x1],'limit':c0};c2?c3[fm(0xef)]=c2:c3['order']=c1||fm(0x7a);let c4=await bt[fm(0x1d3)][fm(0x1f8)](c3);return M(br,0xc8,{'ok':!0x0,'data':c4[fm(0xb0)]||[],'cursor':c4[fm(0xef)]});}if((bw=bv(/^\/api\/session\/([^/]+)\/prompt$/))&&bq['method']==='POST'){let c5=await J(bq);if(!c5[fm(0x2d4)]||typeof c5[fm(0x2d4)]!='string')return M(br,0x190,{'ok':!0x1,'message':fm(0x2c0)});let c6=[],c7=Array[fm(0xdc)](c5[fm(0x170)])?c5[fm(0x170)]:[];if(c7[fm(0x8d)]>0x5)return M(br,0x190,{'ok':!0x1,'message':'\u56FE\u7247\u6700\u591A\x205\x20\u5F20'});let c8=[];for(let cd of c7){let cf=aB(cd);if(!cf||!u(cf))return M(br,0x190,{'ok':!0x1,'message':fm(0x212)});c8[fm(0x358)](cf);}if(c8[fm(0x8d)]){let cg=await Promise['all'](c8[fm(0xf7)](async ch=>{const fn=fm;let ci=await G(ch),cj=fn(0x2fb);try{cj=decodeURIComponent(ch[fn(0x177)]('?')[0x0][fn(0x177)]('/')[fn(0x10b)]()||'')[fn(0x191)](0x0,0x78)||fn(0x2fb);}catch{}return{'uri':ci,'name':cj};}));c6['push'](...cg);}let c9=Array[fm(0xdc)](c5['mentions'])?c5[fm(0x85)]:[];for(let ch of c9){if(!ch||typeof ch['path']!=fm(0x329)||!ch[fm(0x192)])continue;let ci=g[fm(0x214)](aD,ch[fm(0x192)]);ci!==aD&&ci['indexOf'](aD+g[fm(0x209)])!==0x0||c6[fm(0x358)]({'uri':fm(0x2dc)+ci,'name':ch[fm(0x192)],...ch[fm(0x306)]?{'description':ch[fm(0x306)]}:{},...ch[fm(0x2be)]?{'mention':ch[fm(0x2be)]}:{}});}let ca=c5[fm(0x105)]===fm(0x260)||c5['delivery']===fm(0x2bc)?c5['delivery']:void 0x0,cb=Y(c5[fm(0x18d)]),cc=await bt[fm(0x1c2)][fm(0x2e9)]({'sessionID':bw[0x1],'text':cb?c5[fm(0x2d4)]+'\x0a\x0a'+cb:c5['text'],...c6[fm(0x8d)]?{'files':c6}:{},...c8[fm(0x8d)]?{'metadata':{'images':c8}}:{},...ca?{'delivery':ca}:{}});return M(br,0xc8,{'ok':!0x0,'data':cc});}if((bw=bv(/^\/api\/session\/([^/]+)\/command$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cj=await J(bq);return!cj[fm(0x278)]||typeof cj[fm(0x278)]!=fm(0x329)?M(br,0x190,{'ok':!0x1,'message':fm(0x1ad)}):(await bt[fm(0x1c2)][fm(0x1d8)]({'sessionID':bw[0x1],'name':cj['name'],'text':typeof cj[fm(0x2d4)]==fm(0x329)?cj['text']:'',...Array[fm(0xdc)](cj[fm(0x2b3)])&&cj[fm(0x2b3)][fm(0x8d)]?{'files':cj[fm(0x2b3)]}:{}}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/shell$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let ck=await J(bq);return!ck[fm(0x1d8)]||typeof ck[fm(0x1d8)]!=fm(0x329)?M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20command'}):(await bt[fm(0x1c2)][fm(0x11f)]({'sessionID':bw[0x1],'command':ck[fm(0x1d8)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/compact$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cl=await J(bq)[fm(0x28b)](()=>({})),cm=cl[fm(0x105)]===fm(0x260)||cl[fm(0x105)]===fm(0x2bc)?cl['delivery']:fm(0x2bc),cn=await bt[fm(0x1c2)]['compact']({'sessionID':bw[0x1],'delivery':cm});return M(br,0xc8,{'ok':!0x0,'data':cn});}if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/stage$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let co=await J(bq);if(!co[fm(0x310)]||typeof co[fm(0x310)]!=fm(0x329))return M(br,0x190,{'ok':!0x1,'message':fm(0x134)});let cp=await bt[fm(0x1c2)][fm(0x2fa)][fm(0x24c)]({'sessionID':bw[0x1],'messageID':co[fm(0x310)]});return M(br,0xc8,{'ok':!0x0,'data':cp});}if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/clear$/))&&bq[fm(0x2d7)]===fm(0x1bd))return await bt[fm(0x1c2)][fm(0x2fa)]['clear']({'sessionID':bw[0x1]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/commit$/))&&bq[fm(0x2d7)]==='POST')return await bt['session'][fm(0x2fa)][fm(0x1ff)]({'sessionID':bw[0x1]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/diff$/))&&bq[fm(0x2d7)]===fm(0xad)){let cq=await bt[fm(0x1c2)][fm(0x1c4)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cq||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/children$/))&&bq['method']===fm(0xad)){let cr=await bt['session'][fm(0x1f8)]({'parentID':bw[0x1],'limit':0x14,'order':'asc'})[fm(0x28b)](()=>({'data':[]}));return M(br,0xc8,{'ok':!0x0,'data':(cr[fm(0xb0)]||[])['map'](cs=>({'id':cs['id'],'title':cs[fm(0x265)]||'','agent':cs[fm(0x2f0)]||'','outcome':cs[fm(0x297)]||'','time':cs['time']||{}}))});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms$/))&&bq[fm(0x2d7)]===fm(0xad)){let cs=await bt[fm(0x1c2)][fm(0x9f)][fm(0x1f8)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cs||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)$/))&&bq['method']===fm(0xad)){let cu=await bt['session'][fm(0x9f)][fm(0x129)]({'sessionID':bw[0x1],'formID':bw[0x2]});return M(br,0xc8,{'ok':!0x0,'data':cu});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)\/reply$/))&&bq[fm(0x2d7)]==='POST'){let cv=await J(bq);return!cv[fm(0x204)]||typeof cv[fm(0x204)]!=fm(0x9b)?M(br,0x190,{'ok':!0x1,'message':fm(0x1cd)}):(await bt['session'][fm(0x9f)][fm(0x34b)]({'sessionID':bw[0x1],'formID':bw[0x2],'answer':cv[fm(0x204)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)\/cancel$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cw=await J(bq)[fm(0x28b)](()=>({}));return await bt['session']['form'][fm(0xb3)]({'sessionID':bw[0x1],'formID':bw[0x2],...cw[fm(0x1d3)]?{'message':cw[fm(0x1d3)]}:{}}),M(br,0xc8,{'ok':!0x0});}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox$/))&&bq[fm(0x2d7)]==='GET'){let cx=await bt[fm(0x1c2)][fm(0x10e)][fm(0x1f8)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cx||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox\/([^/]+)\/delivery$/))&&bq['method']===fm(0x1bd)){let cy=await J(bq);return cy[fm(0x105)]!==fm(0x260)&&cy[fm(0x105)]!=='queue'?M(br,0x190,{'ok':!0x1,'message':fm(0x154)}):(await bt[fm(0x1c2)][fm(0x10e)]['update']({'sessionID':bw[0x1],'inboxID':bw[0x2],'delivery':cy[fm(0x105)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox\/([^/]+)\/cancel$/))&&bq[fm(0x2d7)]===fm(0x1bd))return await bt[fm(0x1c2)][fm(0x10e)]['cancel']({'sessionID':bw[0x1],'inboxID':bw[0x2]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/title$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cz=await J(bq);if(typeof cz[fm(0x265)]!='string'||!cz['title'][fm(0x2b0)]())return M(br,0x190,{'ok':!0x1,'message':fm(0x1e5)});await bt['session'][fm(0x165)]({'sessionID':bw[0x1],'title':cz[fm(0x265)][fm(0x2b0)]()});let cA=await bt['session'][fm(0x129)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cA});}if((bw=bv(/^\/api\/session\/([^/]+)\/interrupt$/))&&bq[fm(0x2d7)]==='POST'){let cB=await bt[fm(0x1c2)]['interrupt']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cB});}if((bw=bv(/^\/api\/session\/([^/]+)\/agent$/))&&bq[fm(0x2d7)]==='POST'){let cC=await J(bq);if(!cC[fm(0x2f0)]||typeof cC[fm(0x2f0)]!='string')return M(br,0x190,{'ok':!0x1,'message':fm(0x356)});await bt['session'][fm(0x313)]({'sessionID':bw[0x1],'agent':cC[fm(0x2f0)]});let cD=await bt[fm(0x1c2)][fm(0x129)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cD});}if((bw=bv(/^\/api\/session\/([^/]+)\/model$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cE=await J(bq);if(!cE['model']||!cE[fm(0x2fe)]['id']||!cE[fm(0x2fe)][fm(0x180)])return M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20model.{id,providerID}'});await bt[fm(0x1c2)][fm(0x205)]({'sessionID':bw[0x1],'model':{'id':cE[fm(0x2fe)]['id'],'providerID':cE['model'][fm(0x180)],...cE[fm(0x2fe)][fm(0xc0)]?{'variant':cE['model'][fm(0xc0)]}:{}}});let cF=await bt[fm(0x1c2)][fm(0x129)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cF});}if((bw=bv(/^\/api\/session\/([^/]+)\/permissions$/))&&bq[fm(0x2d7)]===fm(0xad)){let cG=await bt[fm(0x12a)]['list']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cG||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/permissions\/([^/]+)\/reply$/))&&bq[fm(0x2d7)]===fm(0x1bd)){let cH=await J(bq);return[fm(0x304),'always',fm(0x189)]['indexOf'](cH[fm(0x2d6)])===-0x1?M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20decision'}):(await bt[fm(0x12a)][fm(0x34b)]({'sessionID':bw[0x1],'requestID':bw[0x2],'decision':cH[fm(0x2d6)]}),M(br,0xc8,{'ok':!0x0}));}return bu===fm(0x2cd)?bh(bq,br,bt,bs):M(br,0x194,{'ok':!0x1,'message':fm(0x32f)+bs});}async function bh(bq,br,bs,bt){const fo=eq;let bu=bt[fo(0x177)]('?')[0x1]||'',bv=decodeURIComponent((bu['match'](/(?:^|&)session=([^&]*)/)||[])[0x1]||'');br['writeHead'](0xc8,{'Content-Type':fo(0x220),'Cache-Control':'no-cache,\x20no-transform','Connection':fo(0x232),'X-Accel-Buffering':'no'}),br['flushHeaders']&&br[fo(0x1f2)](),br['write'](fo(0x25a));let bw=setInterval(()=>{const fp=fo;try{br[fp(0x31b)](fp(0x150));}catch{}},0x3a98),bx=!0x1,by=bs[fo(0x2e4)][fo(0x1bf)]()[Symbol[fo(0x84)]](),bz=()=>{const fq=fo;by['return']&&Promise[fq(0x214)](by[fq(0x32b)]())[fq(0x28b)](()=>{});},bA=()=>{const fr=fo;bx=!0x0,clearInterval(bw),aF[fr(0x128)](br),bz();};bq['on'](fo(0x82),bA),br['on'](fo(0x82),bA),aF['add'](br);try{for(;!bx;){let bB=await by[fo(0x267)]();if(bB[fo(0x87)]||bx)break;let bC=bB[fo(0x224)];if(!bC)continue;let bD=bC[fo(0x135)]||'',bE=bC[fo(0xb0)]||{},bF=bD['indexOf'](fo(0x303))===0x0;bv&&!bF&&bE[fo(0xc7)]&&bE[fo(0xc7)]!==bv||br[fo(0x31b)](fo(0xda)+JSON[fo(0x1f6)]({'type':bD,'data':bE})+'\x0a\x0a');}}catch{}finally{if(clearInterval(bw),bz(),!bx)try{br['end']();}catch{}}}function bi(bq,br){const fs=eq;let bs=bq['url']||'/';if(!aq(bq))return M(br,0x193,{'ok':!0x1,'message':'AiWith\x20\u63A7\u5236\u9762\u4EC5\u9650\u672C\u673A\u8BBF\u95EE\uFF08\u5982\u9700\u5C40\u57DF\u7F51/\u624B\u673A\u8054\u8C03\u8BF7\u5F00\u542F\x20aiwithRemote\uFF09'});if(bs==='/widget.js')return Q(br,fs(0x14f),fs(0x2c1));if(bs===fs(0x1a1))return Q(br,'panel.html',fs(0xd2));if(bs===fs(0x2c3))return Q(br,fs(0x2af),fs(0x28a));if(bs==='/panel.js')return Q(br,'panel.js','application/javascript');if(bs==='/factory.css')return Q(br,fs(0x1cc),'text/css');if(bs===fs(0x1b5))return Q(br,fs(0xab),fs(0x2c1));if(bs===fs(0x83))return Q(br,fs(0x1ca),fs(0x28a));if(bs===fs(0x1ed))return Q(br,fs(0x353),'application/javascript');if(bs===fs(0x26a))return Q(br,fs(0x326),'text/css');if(bs===fs(0x27e))return Q(br,fs(0xbf),fs(0x2c1));if(bs==='/page-agent.js')return Q(br,fs(0x1e6),'application/javascript');if(bs==='/snapdom.js')return R(br);if(bs[fs(0x177)]('?')[0x0][fs(0x187)](fs(0x341))===0x0){b7(bq,br,bs)[fs(0x28b)](bt=>{const ft=fs;if(br[ft(0x16b)]){try{br[ft(0xa1)]();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[ft(0x1d3)]?bt['message']:String(bt)});});return;}if(bs[fs(0x177)]('?')[0x0]===fs(0x146)){ay(bq,br)[fs(0x28b)](bt=>{const fu=fs;if(br[fu(0x16b)]){try{br[fu(0xa1)]();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[fu(0x1d3)]?bt['message']:String(bt)});});return;}if(bs[fs(0x177)]('?')[0x0]['indexOf'](fs(0x9e))===0x0){(bs[fs(0x177)]('?')[0x0]===fs(0x14d)?aA(bq,br,bs):az(bq,br,bs))['catch'](bt=>{const fv=fs;if(br['headersSent']){try{br[fv(0xa1)]();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[fv(0x1d3)]?bt[fv(0x1d3)]:String(bt)});});return;}if(bs[fs(0x187)](fs(0x34a))===0x0){bg(bq,br,bs)[fs(0x28b)](bt=>{const fw=fs;if(br['headersSent']){try{br[fw(0xa1)]();}catch{}return;}if(bt&&bt[fw(0xac)]===fw(0x115))return aJ(br,bt);let bu=bt&&bt['message']?bt['message']:String(bt),bv=/not found|NoSuchKey|no such/i[fw(0x18e)](bu);M(br,bv?0x194:0x1f4,{'ok':!0x1,'message':bu});});return;}M(br,0x194,{'ok':!0x1,'message':fs(0x32f)+bs});}let bj=null;function bk(bq,br){const fx=eq;return ac=!!(br||{})[fx(0x34f)],aI()[fx(0x28b)](()=>{}),ac&&aI()[fx(0x10d)](function(bs){return am(bs);})[fx(0x28b)](()=>{}),bj=b1(bq),bj;}function bl(){const fy=eq;if(bj){bj[fy(0x1f3)][fy(0xe0)](bq=>{const fz=fy;try{bq[fz(0x14b)]();}catch{}});try{bj[fy(0x82)]();}catch{}bj=null;}aF[fy(0xe0)](bq=>{try{bq['destroy']();}catch{}}),aF[fy(0x130)]();}function bm(){const fA=eq;return[{'tag':fA(0xd8),'attrs':{'src':fA(0x138)},'injectTo':'head-prepend'},{'tag':fA(0xd8),'attrs':{'src':fA(0x2f2),'defer':!0x0},'injectTo':fA(0x176)}];}return{'handle':bi,'attachRuntime':bk,'close':bl,'transformIndexHtml':bm,'writeDevArtifacts':b8,'writeAgentPlugin':bb,get 'root'(){return aD;}};}d[e8(0xa8)]={'createBridge':Z,'composePageContextSuffix':Y};}());}),Mn=fe((c,d)=>{W();var {createBridge:e}=An();d['exports']=function(g){const fB=b;let h=e(g||{});return{'name':fB(0x2a2),'configureServer'(i){const fC=fB;h['attachRuntime'](i[fC(0x1db)],{'devServer':!!(i&&i['config'])}),h[fC(0x116)](i),i[fC(0x277)]['use']('/aiwith',(j,k)=>h['handle'](j,k)),i[fC(0x1db)]&&i['httpServer']['on'](fC(0x82),()=>h[fC(0x82)]());},'transformIndexHtml'(){const fD=fB;return h[fD(0x75)]();}};};});W(),(function(){const fE=cJ;let d=require('path'),e=require('fs'),g=ln(),h=Ke(),i=pn(),l=mn(),m=hn(),n=bn(),o=Mn(),p=[fE(0x321),fE(0x122),fE(0x302),fE(0x1a8),fE(0x322)];module['exports']=({core:r=fE(0x17a),command:s,plugins:t=[],obfuscate:u=!0x1,ROOT:G,port:J,name:P,ws:Q,apps:R={},moduled:U,aiwith:Y=!0x0,aiwithRoot:a0,factoryOrigin:a1,aiwithRemote:a2=!0x1,mcpDisable:a3,ai_gateway:a4})=>{const fF=fE;let a5=s===fF(0x30f),a6=s===fF(0x287)&&p['includes'](process.env.TARGET)?process.env.TARGET:'',a7=d[fF(0x214)](G,'src'),a8=(e[fF(0x22c)](a7)?e[fF(0x1b6)](a7):[])['filter'](ai=>ai[fF(0x22b)]('.js'))[fF(0xf7)](ai=>ai[fF(0xcc)](/\.js$/,''))['sort'](),a9=a8[0x0]||fF(0xfc),aa=a8[fF(0x191)](0x1)[fF(0xf7)](ai=>d[fF(0x214)](a7,ai+fF(0x200))),ab={[a9]:d[fF(0x214)](a7,a9+fF(0x200))},ac=JSON[fF(0x331)](e[fF(0x2e5)](d['resolve'](G,'package.json'),fF(0xc3))),ad=U?d[fF(0x214)](G,'..',fF(0x17d),'public',ac[fF(0x278)]):d[fF(0x214)](G,fF(0x21b)),ae=a5?n():null,af='https://daily.zeto.me',ag={};a5&&(ag[fF(0x97)]={'target':fF(0x30d)+J,'secure':!0x1,'changeOrigin':!0x0},ag[fF(0xca)]={'target':fF(0x30d)+J,'secure':!0x1,'changeOrigin':!0x0},ag[fF(0x14a)]={'target':'https://thor.zeto.me','secure':!0x1,'changeOrigin':!0x0},ag['/'+P+'/']={'target':fF(0x30d)+J,'secure':!0x1,'changeOrigin':!0x0,'compress':!0x1,'headers':{'Content-Type':fF(0x210)},'ws':!!Q},ag[fF(0x249)]||(ag[fF(0x249)]={'target':af,'secure':!0x1,'changeOrigin':!0x0}),Object[fF(0x92)](R)[fF(0xe0)](ai=>{const fG=fF;let aj=R[ai]+'';aj['indexOf'](':')===-0x1&&(aj=fG(0x30d)+aj),ag['/'+ai+'/']={'target':aj,'secure':!0x1,'changeOrigin':!0x0};}));let ah=JSON['stringify'](a5?fF(0xba):fF(0x169));return{'root':G,'define':{'__VUE_OPTIONS_API__':!0x0,'__VUE_PROD_DEVTOOLS__':!0x1,'process.env':'{}','process.env.NODE_ENV':ah},'optimizeDeps':{'rolldownOptions':{'moduleTypes':{'.js':'jsx'},...ae?{'plugins':[ae[fF(0x199)]]}:{}},'exclude':['vue','vue-router',fF(0x245),fF(0xec)]},'plugins':[...t,m({'isDev':a5}),h({'outDir':ad}),l({'outDir':ad,'extraEntries':aa,'ROOT':G,'srcRoot':a7}),u&&i({'outDir':ad}),g({'target':a6,'ROOT':G,'name':P,'isDev':a5,'core':r}),a5&&Y!==!0x1&&o({'ROOT':G,'name':P,'aiwithRoot':a0,'kooteamOrigin':af,'factoryOrigin':a1,'aiwithRemote':a2,'mcpDisable':a3,'ai_gateway':a4})][fF(0x18b)](Boolean),'resolve':{'extensions':[fF(0x200),fF(0x2e1),fF(0x23c),fF(0x70)],'alias':{'@':d[fF(0x214)](G,fF(0x2ef)),'@icons':d[fF(0x214)](G,fF(0x9a)),...ae?{'vue':ae['file']}:{}}},'css':{'cssCodeSplit':!0x1},'server':{'host':'0.0.0.0','open':!0x0,'cors':!0x0,'allowedHosts':!0x0,'hmr':P!=='thor','proxy':ag},'build':{'minify':fF(0x31f),'target':fF(0xd9),'sourcemap':!0x1,'emptyOutDir':!0x0,'copyPublicDir':!0x1,'outDir':ad,'chunkSizeWarningLimit':0x200,'lib':{'entry':ab,'formats':[fF(0x148)],'name':fF(0x2ae),'fileName':()=>a9+fF(0x200),'cssFileName':a9},'rolldownOptions':{'external':['vue',fF(0x245),fF(0x2ea),'vant'],'output':{'globals':{'vue':'Vue','vue-router':fF(0x2dd),'element-plus':fF(0x2aa),'vant':fF(0xec)},'minify':{'compress':{'dropConsole':!0x0,'dropDebugger':!0x0},'mangle':!0x0,'codegen':{'legalComments':fF(0x19c)}}}}}};};}());
|
|
1
|
+
function a(){const fL=['z2v0twLUDxrLCW','iow3SUIIQYbNAxqG6lEF6lIQ77Ym5lI66yg/5ywn5lUK54Mm5ywL5BQt6icm5OUs57UD5yAz5ywL77YB6k+35Bcg5yw25yQG5ywLic5NAxrPz25VCMuG5zco6yEn6k+v','5y+c5PwW6zsz6k+VoIbTB2rLBc57AwqSChjVDMLKzxjjrh0','ywrKrgLY','rxjYB3juExbLu3rYAw5NCW','vNvLuM91DgvY','vhjHBNnPDgLVBKDYB3vW','CMvWBhK','BwfRzvjVB3rjBMrLEa','C3rVCNK','z3PPCa','6ywn572U5PYn5yQH6l+u5zUE5lIn5A6m5Pw077Yi57Y65BcrigDHDgv3yxKUyMfZzvvstc90B2TLBU+8Iq','Ahr0CfnLCNzLCG','y29Zlw5VzgvQCY1ZzgSTDJu','B25ezwfJDgL2yxrLza','lMPZB24','y2fWywjPBgL0AwvZ','Dg9iyw5KBgvYs2v5','C29Tzq','CMv0DxjU','twv0Ag9Kie5VDcbbBgXVD2vK','Dg9Zswq','DxnLq3nZtw9KDwXL','yxnZAwDU','C2HHBgXVD1jLywn0AxzL','ChjVDMLKzxjjra','D2L0Aen0Ea','C3rHDhvZ','l3rOB3iV','D2f0y2HtEw5JrwzMzwn0','zMLUzeLUzgv4','5BEY5O+q5lQKia','ANn4','CMvHzgrPCLn5BMm','z2v0q3vYCMvUDfDHDgnOzxi','AxnqCM94Eq','Cgf0y2HtDg9YEq','yxbWBgLJyxrPB24VANnVBG','zgvJAxnPB24','zgvMyxvSDa','DhjPBq','AgvHzgvYC1nLBNq','w0fPv2L0Af0G5Qoa5Rwl5yIWihPLBIdPOBNNM67NU5pMNOtVViZLT6xKVzZNM67LVzxKUiRNP7VOH7m6ia','Dw5ZDgfNzq','B25vBM1VDw50zwq','zw1PDa','y29ZDa','zgvZDhjVEq','ywX3yxLZ','Dg1WzgLY','yMfZzw5HBwu','zgLZy29UBMvJDa','EMvUlw9IzNvZy2f0zq','z2v0sg91CNm','vgvSzxbVCNq','C2LTCgXLlwDPDcdKUi3LJ6/NLkG','Cg9PBNrZqxbP','5PYQ6ywn572UigfPx2DHDgv3yxNVViZOT7pOV4FNVzhLHBpPHy3NVA7KUiVLJ5e','A2v5CW','s0iP','ounhwKrbDW','yxv0Ag9Y','CM91Dgu','yxbWBgLJyxrPB24VAMf2yxnJCMLWDa','5BEY5yIh5O2I5yIWia','sgvHzgvYCW','C3jJ','Dg9ZqNvJA2v0','rMfPBgvKihrVigrVD25SB2fKia','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','z2f0zxDHEq','C2v0rgv2Dg9VBhniB29R','AxnZDwvZ','zgLZDa','BwfW','Dw5HDMfPBgfIBgu','vg9Rzw4','l2fWAs9JB21Tyw5KCW','Dw5ZAgLMDa','Dg9Z','B3bLBMnVzguTCgX1z2LUlMPZ','BM8Ty2fJAgu','5y+c5PwW6zsz6k+VoIbUyw1L','ANnVBG','y3jLyxrLu2XVDhm','Dgv4Dc9LDMvUDc1ZDhjLyw07ignOyxjZzxq9DxrMltG','iIaMjIbNDw56AxaGlwmGiG','qhzPDgvQCY9WBhvNAw4TDNvL','AxntAgfSBg93','zMLUza','AxnbCNjHEq','l2fWAs9ZDgf0Dxm','oYHMDw5JDgLVBIGPE3zHCIbZpwrVy3vTzw50lMnYzwf0zuvSzw1LBNqOj3n0EwXLjYK7CY5HChbLBMrdAgLSzcHKB2n1BwvUDc5JCMvHDgvuzxH0tM9KzsG','BwvUDgLVBNm','kgH0DhbZpZOPpY8VkcHIFgePxc4Ozwj1CYKPxc52AxaVlIS/xc4OC3zNFgPZFhbUz3XNAwz8ANbLp2D8DhrMFhDVzMyYp3XLB3r8y3nZkq','lMnZCW','Aw5Qzwn0','yNvJA2v0','lNHTBa','igzYB20GiI4V','DK1VzgvSvgv4Da','CgfYC2u','C2vZC2LVBKLe','BM93','l2fWAs9Ty3a','C25HCgrVBs5QCW','CgfNzxm','iIaI','C291CMnL','lNrTCa','Dg9Rzw49','Chv0t2jQzwn0','CgX1z2LUCW','l2fJy291BNqUANm','DLnOB3C','CMvZB2X2zurPCMvJDgL2zq','mc4WlJaUma','6Ag15yAf5O6L5y+J5lUf5PsV5OYbifbpu1q','CgfRBW','iJSGC3rHDhvZpsq/oYbYBsaTzIaI','Dg9syxC','C2HHBgXVD1jLywrVBMX5','Ag9TzwrPCG','ywXPlw9ZCW','xgqR','C2nYAxb0','zxmYmde1','tM90iezVDw5KoIa','CgfNzs1Hz2vUDc5QCW','DK1VzgvSq2HLy2TIB3G','BwfRzunVBxbVBMvUDeLUzgv4','BgvUz3rO','AgfUzgXL','C3rHDhvZios7HEAuR+AmGsbhrvq','yM9KEs1LBMq','DxrMoa','nvLHsuL5tG','yM9KEs1WyxjZzxi','l2fWAs9Mywn0B3j5l3n0CMvHBq','C3rHDfn5BMm','w0fPv2L0Af0GC2LTCgXLlwDPDcdKUi3LJ6/NLkJVViZLIiBMLk/LKi3LSiBKUi3MMl7NPlO6','B25tzxj2zxjqCMvMzxrJAa','iJSGzxHPDcaKC3rHDhvZ','CgfNzq','CgvYBwLZC2LVBG','y2XLyxi','y3jLyxrLu1nsqxbW','l2fWAs9Mywn0B3j5','rgvWCMvJyxrPB25uExbLCW','zMLSzq','u3vZCgvUC2u','y3jLyxrLshLKCMf0Aw9UuMvUzgvYzxi','D2L0Ae1VzgLMAwvYCW','DhjPz2DLCLjLzG','iIaIAhr0Chm6lY9IlMvIDxmUDMLWl3PLDg8V','B3bLBMnVzgu','A2vLCc1HBgL2zq','zxHWB3j0CW','l2zHy3rVCNKUy3nZ','Aw5PDen1C3rVBuzVCM1HDhrLCG','C2vYDMvY','C2v0qMXVy2TuCMfJA2LUzW','rwXLBwvUDfbSDxm','DMfUDa','DML0zq','BwvZC2fNzuLe','C2vUza','z2v0','B3nZrg9TywLU','lMPZ','ywrK','y29TCg9Uzw50CW','yNjHBMnO','lNz1zsC7','Aw5KzxHpzG','y2fSBfDPDgHfCNjVCKHHBMrSAw5N','zw5KC1DPDgG','BgLZDgvUAw5N','ChvSBa','y2fSBfDPDgHbC3LUy0vYCM9YsgfUzgXPBMC','l2fPD2L0Ac9WywDL','DMfYAwfUDhm','C2HLBgXQCW','z2v0q3vYCMvUDfnJB3bL','C2HLBgW','EMvUlxz1zs10BY1NBg9IywW','BwLKzgXLD2fYzxm','cMv4Cg9YDcbKzwzHDwX0ihSkica','nJrhvwn0sxK','vhjHBNnPDgLVBG','BwvYz2vezwzHDwX0CW','zgvMAw5Lt3b0Aw9UCW','57Y65Bcrie1ducdLKi3NP7a','B3bLBMnVzguUANnVBG','y3vYBca','BM8Ty2fJAguSig5VlxrYyw5ZzM9YBq','l2fWAs9MAwXLCW','Dg9Zu2vJCMv0','zgvMAw5Lu2XVDhm','zw51BwvYywjSzq','ywL3AxrOlw1JCc5QC29U','z2L0oG','B25fCNjVCKnHChr1CMvK','y2HLy2TjC1jLCg8','l2fWAs9HAwnVBMzPzY9LBNn1CMu','y3vYCMvUDa','y3jLyxrLsxnZDwu','CgvYBwLZC2LVBI4','EMvUlwf1Dg8Ty29Kzq','5B2t5yMn6Ag555UU5lIn5PIVieDPDcdKU5pLUPm','ue9tva','BgLUAW','C3DPDgnOqwDLBNq','zMX1C2HizwfKzxjZ','zxjYB3i','AMf2yq','B25ty29WzurPC3bVC2u','mJm5ntmWmND0yxzjBG','igzYB20GjY4V','A2v5u3rHDhvZ','w0fPv2L0Af0GywDLBNqUBgLZDcbMywLSzwq6','5PYQ5Qoa5Rwl5yIW5y+V55sO55QeiefPv2L0AcdOV5dOOyZMNi3LIQhJGilOR7FLHyJLROZMIjdOV5dOOyZNJQ/LOOpLRONOO4xVViHODhrWCZOVl29Wzw5JB2rLlMfP77Yj77Ym5BM256gU6k6K5PYn5yQH5y+V55sO5zco6yEn5zcVigrLDIbZzxj2zxlJGii','Aw5KzxGUDhm','zxHPC3rZu3LUyW','CMvQzwn0','zgvSzxrL','5Pon5l2C5OIq5yQF','DxnL','l2rLyNvNlMnZCW','Ag9ZDg5HBwu','Dw5SAw5Ru3LUyW','5PYQ55+L57g75z6l','qMfZzvrYyw5ZAxrPB25qCM9WC1zHBgLKyxrVCNm','DgLTzw91Da','EMvUlxvTzc1NBg9IywXZ','l3nZzs9Mywn0B3j5','kvSNxcjD','5BEL5y6c5O6L5y+J5lUf5PsV5OYbifbpu1q','Aw1Hz2u','C2HHBgXVD1jLzG','5zU+54Mh5PYa5AsAiduG5BYG','5lYA6k+D5lIn5BgE5lQo5B2t5yMn6Ag555UU','oYbJAgfYC2v0pxv0zI04','ywnJB3vUDc5JC3m','zgLYBMfTzq','BwfRzq','AhLKCMf0zq','ChjVDMLKzq','z2v0rgf0zq','Dgv4Dc9LDMvUDc1ZDhjLyw0','C2v0sgvHzgvY','ChjVDMLKzxjZ','BwTKAxi','l2fWAs9ZzxnZAw9U','zw50CNK','DxnLsg9ZDa','zw5HyMXLza','Aw5JBhvKzxm','w0fPv2L0Af0G5PYQ6ywn572UigfPx2DHDgv3yxNVViZLT7lMUixNKiBMS6JLHAxNMOtNVzhLHBmGChjVDMLKzxlVViJKUi3OTBdNVzhLHBpVViK','Aw5KzxGUANm','y2HTB2rtEw5J','id0GD2LUzg93lG','5y+c5PwW6zsz6k+VoIbTzxnZywDLsuq','y3jLyxrLqxbW','u3rHDgLJ','zgvMAw5LuhjVCgvYDhK','DxnLu2HHzg93uM9VDa','Dg9tDhjPBMC','yNjVD3nLCG','CMvVCgvUsxnZDwu','ywn0Aw9U','5y+c5PwW6zsz6k+V','yxbWpq','ChjVBxb0','C2vW','yMfZzty0','uMvHy3rPDMvfzMzLy3q','yxbW','DhjHBNnMB3jTvK5VzgvbCMDZ','C3rLzxi','B3nZ','CMvZB2X2zur5BMfTAwndB21WB25LBNq','yMXVy2TZ','5PYQ55+L5OYh5lUKoIa','mtmWndm5mhvOtwPKsa','CgfJA2fNzs5QC29U','r0vu','Axnszwy','BwTKAxjtEw5J','B25xyxrJAgvYq2XLyw51Ca','ywXS','z2v0t2jMDxnJyxrLzenVzgu','pcfet0nuwvbfigH0BwW+pgH0BwW+pgHLywq+idXTzxrHignOyxjZzxq9iNv0zI04iI8+idXTzxrHigH0DhaTzxf1Axy9iLGTvueTq29TCgf0AwjSzsiGy29UDgvUDd0Iy2HYB21LleLfpwvKz2uIlZ4Gpg1LDgeGBMfTzt0IsgfUzgHLBgrgCMLLBMrSEsiGy29UDgvUDd0IDhj1zsiVpJXSAw5RihjLBd0IAwnVBIiGAhjLzJ0Izgf0ytPPBwfNzs9Py287yMfZzty0lgfxtNyIlZ48Bwv0ysbUyw1LpsjMB3jTyxqTzgv0zwn0Aw9UiIbJB250zw50psj0zwXLCgHVBMu9BM8Szw1HAwW9BM8IlZ4Gpg1LDgeGBMfTzt0IDMLLD3bVCNqIignVBNrLBNq9iNDPzhrOpwrLDMLJzs13Awr0AcWGAw5PDgLHBc1Zy2fSzt0XlJaSig1HEgLTDw0TC2nHBgu9ms4Wlcb1C2vYlxnJywXHyMXLptaSihvZzxiTC2nHBgfIBgu9BM8Sig1PBMLTywWTDwKSihzPzxDWB3j0lwzPDd1JB3zLCIiVpIa8Bwv0ysbUyw1LpsjYzw5KzxjLCIiGy29UDgvUDd0ID2vIA2L0iI8+idXTzxrHig5HBwu9iM1ZyxbWBgLJyxrPB24TDgfWlwHPz2HSAwDODciGy29UDgvUDd0IBM8IlZ4GphrPDgXLpKfj57Yw56Il5BYv5Poopc90AxrSzt4GphnJCMLWDcbZCMm9iI8VyI5LyNvZlNzPCc96zxrVl2XHDgvZDc96zw4UANmIpJWVC2nYAxb0pIa8BgLUAYbYzwW9iNn0EwXLC2HLzxqIihr5Cgu9iNrLEhqVy3nZiIbOCMvMpsiVl2iUzwj1CY52AxaVEMv0BY9SyxrLC3qVEMvUlMnZCYi+idXZy3jPChq+ihDPBMrVDY5JB2rLCKHVC3qGpsaIAhr0Chm6lY90Ag9YlNPLDg8UBwuIo3DPBMrVDY5HChboyw1LpsC','Bg9JywXL','l2nVzgvYl3DYAxrL','BM90lxnZztOG','B25czwzVCMvnB3vUDa','yMfZzvvsta','CMvTB3zLu3rVCNK','Bwf4','EMvUlwfPD2L0Aa','C3rYAw5N','C3vTBwfYEq','ru5pru5u','yxn5BMnjDgvYyxrVCG','y3jLyxrL','5PEG5Rov6l+E5O6L6ywn572U5PYn5yQHia','lM9Wzw5JB2rL','jYa8l3nJCMLWDd48l2HLywq+pgjVzhK+phnJCMLWDcbZCMm9iMH0DhbZoI8VyI5LyNvZlNzPCc90Ag9Yl3yWlJaUmI9KzxrHAwWUANmIpJWVC2nYAxb0pJWVyM9KEt48l2H0BwW+','yw5ZD2vY','q29TBwvUDa','5PYQ55+LieDPDcdMJiFKU6q6ia','ChvZAgvK','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','Cgf0Ahm','CMvHzg9UBhK','DMvYC2LVBG','y2fTzwXdyxnL','B3jKzxjuyxnR','zM9YrwfJAa','u0vsvKLdrv9vtKfwquLmqujmrq','AhLKCMf0zu9UswrSzq','B3nZlq','BhmTzMLSzxm','vhjHy2TpCfr5CgvZ','D3jPDgvizwfK','CMvZB2X2zuzPBhrLCG','Bwf0y2G','BgLTAxq','Dw5SAw5RrgLY','y2HYB21LlwrLDNrVB2XZ','Bwv0Ag9K','zxHLyW','zgvMAw5Ltw9KzwW','D2L0AefZEw5Jq29UDgv4Da','y29TCgf0vxrPBhm','6k+75y+w6lwe5RQq5AsX6lsLoIa','D2L0Ae1LBw8','EMvU','zgv2zwXVCg1LBNq','tK9Fuefhrq','y29TChv0zwq','lMPZEa','l3nUyxbKB20UANm','DgvYBwLUyxrL','BMfTzq','l2fWAs9LDMvUDhm','icOV','DxnLtw9KzwW','yMvOAw5K','AxneAxjLy3rVCNK','y29UDgvUDc10ExbL','Cg9TlNHTBa','q2fJAguTq29UDhjVBa','B25vCgrHDgvK','zgLZywjSzwq','y29UBMvJDdOG','CMvTB3rLqwrKCMvZCW','CMvTB3zLs2v5','l2fWAs9WywDLlW','AgvHzgvYCW','B25nB3vUDgvK','CMvTB3rL','Ahr0CdO','C2v0','Dg9mB2nHBgvvChbLCKnHC2u','B3jKzxi','B3nZswq','w0fPv2L0Af0GC2vYDMvYlMLUzM8GzMfPBgvKoG','y3jLyxrLvK5Vzgu','zxHJBhvKzq','lY8G5PYS5PAh5lU255sXihPLBI1HChaTCgX1z2LUkefPv2L0AcKG5lQoigrLDIdLKk/LIQJML7BOH6RLIQJNLj/MIjdVViZOR7FLI7/MIyVMLlNJGii','DK1VzgvSrhLUyw1PyW','yNjHBMnOtg9JywW','qg9Wzw5JB2rLl2nSAwvUDc9Zzxj2AwnL','AxnszwfJDgL2zq','EMvUlMnZCW','Dg9Zrg9TywLU','pcfKB2n0ExbLAhrTBd48Bwv0ysbJAgfYC2v0pxv0zI04pJXTzxrHignVBNrLBNq9iMnOCM9TzsXjrt1LzgDLiMH0DhaTzxf1Axy9wc1vqs1dB21WyxrPyMXLpJXTzxrHignVBNrLBNq9Dhj1zsbUyw1LpuHHBMrOzwXKrNjPzw5KBhK+pgXPBMSGAhjLzJ1KyxrHoMLTywDLl2LJBZTIyxnLnJqSyvDoDIbYzwW9AwnVBJ48Bwv0ysbJB250zw50psj0zwXLCgHVBMu9BM8Szw1HAwW9BM8IBMfTzt1MB3jTyxqTzgv0zwn0Aw9UpJXTzxrHignVBNrLBNq9iNDPzhrOpwrLDMLJzs13Awr0AcXPBML0AwfSlxnJywXLpteSBwf4Aw11Bs1Zy2fSzt0XlhvZzxiTC2nHBgfIBgu9mcX1C2vYlxnJywXHyMXLpw5Vlg1PBMLTywWTDwKSDMLLD3bVCNqTzML0pwnVDMvYiM5HBwu9DMLLD3bVCNq+pg1LDgeGy29UDgvUDd13zwjRAxqGBMfTzt1Yzw5KzxjLCJ48Bwv0ysbJB250zw50pw5Vig5HBwu9BxnHChbSAwnHDgLVBI10yxaTAgLNAgXPz2H0pJX0AxrSzt7LPkFLSy/ORR7ORQhLMAG8l3rPDgXLpJXZy3jPChqGC3jJps8VyI5LyNvZlNzPCc96zxrVl2XHDgvZDc96zw4UANm+pc9Zy3jPChq+pgXPBMSGAhjLzJ0Vl2iUzwj1CY52AxaVEMv0BY9SyxrLC3qVEMvUlMnZCYbYzwW9C3r5BgvZAgvLDd48C2nYAxb0pNPLBI5OB3n0psjODhrWCZOVl3rOB3iUEMv0BY5TzsiSD2LUzg93lMfWCe5HBwu9iG','w0fPv2L0Af0GBwnWlMXPC3qGzMfPBgvKoG','C3DPDgnOtw9KzwW','y29UzMLN','Cg9Wu2nVCgvjza','Dgv4Dc9ODg1S','yM9KEq','mJeXmduZmevyq0LTvG','D2LKz2v0lMPZ','DxbKyxrL','zgvMAw5Lq29TCg9Uzw50','yxjYyxLcDwzMzxi','C3rVCMLLCW','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','Ahr0Chm6lY90Ag9YlNPLDg8UBwu','BwvZC2fNzq','AgvSBg8','oMnVBM5Ly3rLzaOk','zgvZy3jPChrPB24','ywn0Aw9UCW','l3bHBMvSlMnZCW','C3rHDgLJ','6k+35Rgc5l2t6l+h5AsN','D2L0AfnJB3bLswq','C3vIC3rY','D3jPDgvdywnOzq','Bg9JyxrPB24','CMvZB2X2zvrYyw5ZAxrPB25iB29RCW','y29Zrg9TywLU','mti3lJaUmc4X','5lIn5PsV5OYb55Qe5BEL5y6c5O6L5y+JoIa','DxnLqxr0CNm','5PEG5Rov6l+E5O6L5BEL5y6c5PYn5yQHia','Bg9N','u2vYDMLJzq','l2rLyNvNlMPZ','zgvLChnLzwSTDJqTzMXHC2G','Aw5IB3G','Bw9KzwW','Cg9YDa','5y+c5PwW6zsz6k+VoIbHz2vUDa','AgfUzgXLvxbNCMfKzq','Bgf0zxn0','Aw1Hz2vZ','lwzZu0WGls1JB25Uzwn0lxrPBwvVDxqGmtuGls1TyxGTDgLTzsaZmdaGls1YzxrYEsaZic0TCMv0CNKTzgvSyxKGmIaTlxjLDhj5lwnVBM5Yzwz1C2vK','Aw1WB3j0xhmRkfTCDYrDkYLCCYPMCM9TxhmQwYDCiL0O','zgf0yq','DhLWzq','Dw5RBM93BG','AxnsDw50Aw1Lt25SEq','BM9YBwfSAxPLu3r5Bgu','AgfZt3DUuhjVCgvYDhK','y29Uy2f0','ywL3AxrO','CMvZB2X2zq','l2fPD2L0Aa','oNbPBMCkcG','y29TBwL0','y29UC3qGEYa','EMvUlMPZ','l3bHBMvSlMH0BwW','t3bLBKnVzgu','BwLU','zgf0ytOG','Ahr0Chm6','CMvTB3zLsw5Qzwn0zwq','DNvL','y29UBMvJDa','BgLZDa','ls1LCNjVCI11BM1HDgnO','D29YA2LUz19KAxi','CgfUzwWUy3nZ','zMLUywXSEq','rxjYB3jdB2rLCW','ChjLC2vYDMvdB25Zzwn1DgL2zvvWCgvYy2fZzq','AgfZsw5Qzwn0Aw9Uq29UDgv4Da','ywL3AxrOlxbHz2uUANnVBG','qhzVBgnLBMDPBMuVDg9ZlxnKAW','iJWVC2nYAxb0pJXIB2r5pJXZy3jPChqGC3jJpwH0DhbZoI8VyI5LyNvZlNzPCc9KyxrHDI92mc4WlJeVzwrPDg9YlMPZpJWVC2nYAxb0pG','D2L0AerLzMf1BhrZ','l2fWAs9HAunVBMzPzY9LBNn1CMu','y29UBMvJDgvK','C3rHz2u','EMvUlNDHCc5QCW','zw1WDhKGBw9KzwWGBgLZDa','CMvUzgvYu2XVDa','5PYS5zYW5yIg5PsV5lIn5A2y5zYOoIa','y29TBwfUza','BM8TDhjHBNnMB3jT','ywHLywq','DxrMltG','lMXVD2nVzgu','yNvPBgq','AhLKCMf0zu9Usw50zxjHy3rPB24','CMvM','Aw1WB3j0xhmRkfTCDYrDkYLCCYOSxhmQxhSOw159xsOPxh1CCYPMCM9TxhmQwYDCiL0O','Cgf0Aa','zgvLChnLzwSTzMXHC2G','6ywn572U5lIn5A6m5Pw077Ym5PEG5Rov5RoO5ywL','Dw1K','cMv4Cg9YDcbKzwzHDwX0ihDPBMrVDY5wDwuk','ody5otu2rw93Afrq','DxjS','BMf2AwDHDgu','DMfYAwfUDa','lYOQcIaQiefPv2L0AcdLIy3NQ6/LIQNMIySGD2LKz2v077Yizgv2ioEuSEApKUs7TUAZQowfPEMHTEMDOU+8IE+8MGOGkIdLJ7pKUiVOP5lOK53OIBiGquKG5yQP5OMl5PY65zMO5lQ65lI7igLJB27VViHSDwnPzguVyM90ioE6V+ADOEMJJU+8JoAxOowCHUw6LEoaGwrYB3aTC2HHzg93ioAcRoA1RU+8IsSG5lIj5lIK5lQr54Q25Ocb5B6956UG77Yi57U/pEwpR+EuQcaVioE6OJ3KUi3LJ6/NLkGGlYdNGBa95PYQ55+L77Yj77YmcIaQioEcUEwhU+w8Gc/LHBmGsduG5A+56k+D6z2I5P2/77YiAwzYyw1LiowkOoI9VsaVywL3AxrOl3bHBMvSlMH0BwZVViNJGiikicOGu2HHzg93ierptsdMOlFLVi/PMPtNPRVVVjTqqYdLJ7pKVQFMIR3LSyNVViW8nZy4ChGG5BQv6yoO5OQ95Bgj77YBC2fMzs1HCMvHioMaGUMfJEoaGGOGkI8kisHMDw5JDgLVBIaOksb7cIaGAwyGkhDPBMrVDY5Fx3PLBKfPv2L0AfDPzgDLDcKGEWOGicaGCMv0DxjUoWOGih0kicb3Aw5KB3CUx196zw5bAvDPDgHxAwrNzxqGpsb0CNvLoWOkicb2yxiGu1rbveuGpsb7ihn0yxr1CZOGBNvSBcWGCgfUzwXpCgvUoIbMywXZzsWGC3rHDhvZtg9HzgvKoIbMywXZzsWGzNvSBdOGzMfSC2uGFtSkcIaGlY8G5RwU5Qch5lI7igLJB27VVjPbssdLIQNMIyVMNlRLMAJKURRVViHSDwnPzguVyM9077Ym57Q/5P2H6Aoo77Ymy3vYCMvUDenVBg9Y4OAs5zob54Mm6joD77Yj77YB54Q25Ocb5B6956UG77YA5zob54Mm5lIj5lIK5lQrigXVz2/VViJNIRBMGihOIBlVViKkicb2yxiGu1zhx0Xpr08GpqOGicaGjZXZDMCGDMLLD0jVEd0ImcaWidi5nYaYmdGIigzPBgW9iMn1CNjLBNrdB2XVCIi+jYaRcIaGicaNphbHDgGGzd0IttCWlJm0ldiWnY44oee3mc4ZnsW3mc4ZnsWWldaSmsW0mYW3mI43m2eXoc44nYWXoc44nYWWldaSmsWXnc43ldm0lJC2ldmYlJyXldmYlJyXldaSmcWWldeYlJy4ldyYlJy1lde4lJG3lde4lJG3ldaSmcWXldaSmZCUnZrAiI8+jYaRcIaGicaNphbHDgGGzd0IttCZldiWnY44ogeXoc44nYWXoc44nYWWldaSmsWWltm3lJC0qtmYlJq2ldmYlJq2ldaSmcWWldK1lJCXlde2msWXoc44nIWXoc44nIWWldeSmsWXmJiSmtG4lJa2ldCWldCWldaSmcWXldCZldiWnY44ofOIlZ4NicSkicaGicC8Cgf0AcbKpsjnmJi2lJa2ldiWnY43ouG4oc44m2eXoc44nYWXoc44nYWWldaSmsWWltm3lJCZsdiYnI4WnMeXoc44nYWXoc44nYWWldaSmsWWldm3lJCZwIiVpICGkWOGicaGjZXWyxrOigq9iK04nc42nYWYmduUotnJmY45mIWWldCUmJeUmtGSmtaUndqTmI4ZosWXnc41nY0Xms42ldmZlJu4lti2lJC4lduYltqXlJq2lde0lJm3lteXlJq3ldi4lJqTmJiUnJCSmZKUnZyTmZeUnZiSms0UodeSmI0XlJyXldmUmdCTmI40mMe5nc41ncW5nc41ncWWldaSmcWXmI4Xos0Xmc43yZe0lJmYlte1lJGXldiWlJq2ltm0lJqSmtGUmJuTntuUmJvHnJGUnZeSnJGUnZeSmcWWldaTmJeUndqTndndmtG0lduUmdCSmty2lJeTms4YnIWXnduUodmUmJfbnJGUnZGSnJGUnZGSmcWWldaSotKUntKSmJiUnJGSnJKUnJySnJKUnJySmcWWldaSodqSntbHmtCUotiSmtCUotiSmcWWldaTlJKZldiUoduSnZaUmZCSnZaUmZCSmcWWldaSoc4XocW1mI43mueXoc40ncWXoc40ncWWldaSmcWXmJiUocW4nI40mYWZmY4YosWZmY4YosWWldaSmsWXmtGSnJKUmNeWlteSlJa2ltjHmI40nsWYlJq1ldaSmcWXldaTlJi3yZaTlJq3lJa3ls45nc4XmI0XlJqSmc0UmJqUmduTlJq3lJa4ls43CZaTlJiZldaTlJm0ytmZlJi3ldmZlJi3ldaSmcWXldi5lJa5lti3lJCZqtmZlJy3ldmZlJy3ldaSmcWXlde3mYW0nc45ncWZmI40nsWZmI40nsWWldaSmsWXodqU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','C3bSAxq','CM9VDa','D3jPDgvezxzbCNrPzMfJDhm','qhzPDgvQCY9WBhvNAw4TDNvLlwPZEa','vhjPz2DLCK9WvhLWzxm','CMvWBgfJzufSBa','vNvLrwXLBwvUDa','l2LUzgv4jZS','BwnW','zgv0ywnOzwq','Dg9Rzw5Z','Dg9Zrw5KCg9PBNq','otKXndaXBePktMHb','Bw9KzwXZ','phrLBxbSyxrLpGOGicaGpgrPDJ5Azw4Gq29TCg9Uzw50pc9KAxy+cJWVDgvTCgXHDgu+cGO8C2nYAxb0ihnLDhvWpGO8l3nJCMLWDd4','l3bHBMvSlMPZ','cN07','ywLJB25MAwCT','zM9YBq','CMvUzgvYtgLZDa','cI8VioEBRUAGHYbKzxyGC2vYDMvYoIa','y2HVA2LKyxi','C3rHDhvZq29Kzq','revmrvrf','5zU+54Mh6lAf6l+hidiWtwLcioMzKowiTG','yxnJ','zgvMAw5Lu1nsq3vZDg9TrwXLBwvUDa','y3jLyxrLrwXLBwvUDejSB2nR','zw5K','CgLWzq','y2HHCKf0','ywL3AxrOlxbHz2u','y2fUy2vSvgfZAW','Aw1WB3j0ia','CMvHy3rPDMu','cN0k','pc9HAxDPDgGTCgfNzs1JB250zxH0pG','CxvLDwu','zxHWB3j0ignVBNn0ia','C29JA2v0','qMfZzvrYyw5ZAxrPB24','zgvZyW','BwvUDgLVBG','x19HAxDPDgHnzxrH','C2fUAxrPEMu','Cg9PBNrZ','zgv2Dg9VBhm','zMLSzxm','ChjVDg9JB2W','ic1Vici','DxnLswq','w0fPv2L0Af0G5OgI5Asn5PYa6l+r5lYA6k+Dia','5RkH5PYj5BEY6l+E5O6L55Qe6Ag16z2I77Yi6k+356gU6k6KigrLDIdPOBxPNAlLT7lMIzpLVidLUBBLROZMIjdLIQdOVB3VViK','y2fUy2vSsxnZDwu','Dg9Rzw4','Aw5MBW','y2fJAgu','Bg9JywW','ChvZAfnJB3bLswq','zNjVBq','B25szw5KzxjuCMfJA2vK','z3vHCMrszwfJDgL2zvbYB3bZ','y2fUy2vS','Dg9mB2nHBgvmB3DLCKnHC2u','ChjVDMLKzxjjza','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nJi4mwm7cIaGicaTlxnOywrVDZOGmcaXmhb4idmWChGGCMDIysGWlcaWlcaWlcaUnduPoWOGicaGls1IzY1NBg93oIbYz2jHkdqSideYnsWGmJuXlcaUmdKPoWOGicaGls1OzwfKzxiTyMC6ihjNyMeOmtySidiWlcaYocWGlJCYktSkicaGic0TzM9VDgvYlwjNoIbYz2jHkde2lcaYmcWGmJGSic43ocK7cIaGicaTlw92zxjSyxKTyMC6ihjNyMeOmJeSidi3lcaZnYWGlJK2ktSkicaGic0TAw5ZzxqTyMC6ihjNyMeOmcWGmcWGmcWGlJi4ktSkicaGic0Ty29Kzs1IzZOGiZa4mgiXmdSGls1JB2rLlxrLEhq6icnJowq1ztq7cIaGicaTlxnJCM9SBgjHCJOGCMDIysGXndGSide2mYWGmtG0lcaUmtGPoWOGicaGls1PBMXPBMuTy29Kzs1IzZOGCMDIysGXndGSide2mYWGmtG0lcaUmtyPoWOGicaGls1MB2XKlwjNoIbYz2jHkde0ocWGmtyZlcaXodqSic4WnsK7cIaGicaTlwzVBgqTAg92zxiTyMC6ihjNyMeOmtq4lcaXnJmSide4ncWGlJa5ktSkicb9cIaGkIb7igjVEc1ZAxPPBMC6igjVCMrLCI1IB3G7ig1HCMDPBJOGmdSGCgfKzgLUzZOGmdSGFqOGigH0BwWSigjVzhKGEYbOzwLNAhq6ideWmcu7ih0kicbIB2r5ihSkicaGigrPC3bSyxK6igzSzxG7igzSzxGTzgLYzwn0Aw9UoIbJB2X1Bw47cIaGicbIywnRz3jVDw5KoIbYywrPywWTz3jHzgLLBNqOmtiWmhb4idyWmhb4igf0ideWmcuGmcuSihzHCIGTlwjNlwDSB3CPlcb0CMfUC3bHCMvUDca2mcuPlcb2yxiOls1IzYK7cIaGicbJB2XVCJOGDMfYkc0TDgv4DcK7cIaGicbMB250oIaXnhb4lZeUnJuGlwfWCgXLlxn5C3rLBsWGqMXPBMTnywntExn0zw1gB250lcaIu2vNB2uGvuKIlcaIugLUz0zHBMCGu0mIlcaItwLJCM9ZB2z0ifLHsgvPiIWGC2fUCY1ZzxjPzJSkicaGigHLAwDODdOGmtaWzhzOoYbVDMvYzMXVDZOGAgLKzgvUoWOGicaGCgfK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','l3bHz2uTywDLBNqUANm','Ahr0Chm6lY9KywLSEs56zxrVlM1L','C3rHCNrZv2L0Aa','w0fPv2L0Af0G5OgI5AsniefjioMfJEE9RUE8K+wTMowKSEI0PtO','z2L0','kd86DNvLFhz1zs1YB3v0zxj8zwXLBwvUDc1WBhvZFhzHBNqP','D3jPDgvgAwXLu3LUyW','sfruuca','l2TVB3rLyw0V','D2L0AerPCMvJDgL2zxm','y3jLyxrLuMvHzfn0CMvHBq','zgvLChnLzwS','qhP1BwvYl3nUyxbKB20G5PYQ5A6j6kof77Yi5zYOihPLBI1HChaTCgX1z2LUioMhJcbUCg0GAsbaENvTzxiVC25HCgrVBE+8Iq','B3HJ','DNvLlwDSB2jHBc5TANm','w0fPv2L0Af0G5PYQ5OM+5yIW6BUy6k6K5QIH5z6lia','5O+q5lQK5l+H5OgV6l+h6zw/77Yi5lIk6zMqidqWmdaG5A2x77Yj','CgfYzw50suq','EMvUlNDHCc5JC3m','Dg9mB3DLCKnHC2u','y29UC3qG','C2vZC2LVBG','zgvMAw5Lrw1PDhm','l2fPD2L0Ac9WywDLlwfNzw50lMPZ','DgHLBG','y2HPBgrFChjVy2vZCW','w0fPv2L0Af0GC2vZC2LVBI5Hy3rPDMuGzMfPBgvKoG','Dg9gAxHLza','57Y65BcrihrV77Yi55UU5Qch6lEV55sX5OIw5zYW5z2a77Yj','ih0Gpsb3Aw5KB3CU','Aw5PDerPCMvJDgL2zxngB3jtu1i','l2yWmq','CMvNAxn0zxjsDw50Aw1Lq29TCgLSzxi','B3v0y29Tzq','BwvZC2fNzxm','l2nVzgvYl3jLywq','zNvUy3rPB24','x19HAxDPDgHbBgL2zq','DgvZDa','w0fPv2L0Af0GtunqioACN+ACM+AaGEIVU+wpLUwKSEI0PE+8JowBNUIqVEM7MoIUPdO','ywDLBNq','C3bSAwnL','BM9Kzu9WCW','5y+c5PwW6zsz6k+VoIbKzwnPC2LVBG','CgfUzwWUAhrTBa','isHMDw5JDgLVBIaOksb7cIaGj3vZzsbZDhjPy3qNoWOGihzHCIbtvefursa9ihSkicaGihjVB3q6icCNlcbZAwq6icCNlcbIDxn5oIbMywXZzsWGywDLBNq6icCNlcbZB3vYy2u6ig51BgWScIaGicbJDhHmAw1PDdOGmcWGy29ZDdOGmcWGAgLZDg9YEu9Wzw46igzHBhnLlcbTB2rLBe9Wzw46igzHBhnLlcbTB2rLBev4CgfUzgvKoIb7FsWkicaGigrPzMzpCgvUoIbMywXZzsWkicaGigDPDe9Wzw46igzHBhnLlaOGicaGBw9KzwXZoIbBxsWGBw9KzwW6ig51BgWScIaGicbHz2vUDhm6ifTDlcbJB21Tyw5KCZOGw10ScIaGicb0ywjZoIbBxsWGicaGicaGicaGlY8G5BEY5OMt5BYa55Qe5lYA6k+D5Qch562+77Yi5PYj5BQp77YjcIaGicbZzxnZAw9UCZOGE30SicaGicaGlY8GC2vZC2LVBKLeic0+ihSGAwqSihrPDgXLlcbIDxn5lcb1BNjLywqGFsdMOiFNRB7NUQFOVBVPH4/NIRBMGiekicaGigXPDMu6ihT9lcaGicaGicaGicaVlYbHC3nPC3rHBNrnzxnZywDLsuqGlt4GEYbLBcWGDgv4DevSlcbYzwfZB25PBMDfBcb9cIaGicbWzxjTAxnZAw9UCZOGw10SicaGlY8G5B6f5A6H5OM55P2d6zMq5y2HcIaGicbMB3jTCZOGw10SicaGicaGicaGlY8G5B6f5zUE562u6zEU6Aky77YiCxvLC3rPB24G5BEL5yw377YjcIaGicbMB3jTC0rLDgfPBdOGE30SicaGlY8GzM9YBuLeic0+iezVCM1ezxrHAwWkicaGihf1zxvLoIbBxsWGicaGicaGicaVlYdLT7lMJPlPMj8V5BYv5A+85RAi5OgVcIaGicbYzxzLCNq6ig51BgWSicaGicaGlY8G5B2t5yMn5PQc5A2y55Qe5zUE6ycacIaGicbJAgLSzhjLBJOGw10SicaGicaGlY8G5A2q5lUJ55cg5A2q5lYA6k+DifT7igLKlcbHz2vUDcWGB3v0y29Tzsb9xqOGicaGy2HPBgruzxH0oIb7FsWGicaGic8VignOAwXKsuqGlt4G5PYa6l+r5zUE5Asn5Pgy6kAbcIaGicbJAgLSzeH0BwW6ihT9lcaGicaGlY8Gy2HPBgrjrcaTpIdLSzxLVidNMOtLROZMLBtOVAZLHPKkicaGignOAwXKt3bLBJOGE30SicaGicaVlYbJAgLSzeLeic0+ioAyR+wqPUwXLEw8GaOGicaGy2HPBgrdB2XSyxbZzwq6igzHBhnLlcaVlYdLRzdKU6pNKiBMOi/MLBtKVzpMIPJLJ6dVViJKU4xLIANMOiFPOPJOOyZVViZLJ6/LHO3LSzxLVidVViKkicaGignOAwXKrgLZBwLZC2vKoIbMywXZzsWGlY8G5A2q5lUJ55cg5Qcp5Pw05l2t5ywZ6zET77Yi5yE6546W5PAW5A2q5lUJ55cg5PE26iEQ5yQO5OgI5Asn5PI+56s677YjcIaGicbJAgLSzezLDgnOAw5NoIbMywXZzsWkicaGignOAwXKug9SBhm6idaScIaGicbHDhrHy2HTzw50CZOGw10SicaGlY8GEYbUyw1LlcbWCMv2Awv3vxjSlcbRB290zwfTvxjSlcb1CgXVywrPBMCGFqOGicaGBwvUDgLVBNm6ifTDlcaGicaGic8VihSGCgf0Acb9ioMaMUI/HYbaiow8LEEuQoEAHoAwH+s7TGOGicaGBwvUDtOGBNvSBcWGicaGicaGic8VicDJBwqNihWGj21LBNrPB24NihWGBNvSBcdOVPpLHAxLJlRLVlNLSyikicaGig1LBNvjBMrLEdOGmcWkicaGig1LBNvjDgvTCZOGw10ScIaGicbZAgvSBe1Vzgu6igzHBhnLlaOGicaGBM90AwnLoIbUDwXSlcaGicaGic8VioEkTUAaGs/PLjNOR6/MJ5dNPlOGEYb0zxH0lcbLCNjVCIb977Ym5PI+56s65zYO5RAi5OgV5yY6cIaGicbZDgLJA0jVDhrVBtOGDhj1zsWGlY8G5PIV5zcM6iEQ5yQO5RUA5yQOcIaGFtSkicb2yxiGjca9igz1BMn0Aw9UicHPzcKGEYbYzxr1CM4Gzg9JDw1LBNqUz2v0rwXLBwvUDej5swqOAwqPoYb9oWOGihzHCIbTzxnZywDLtgLZDca9icqOj21LC3nHz2vmAxn0jYKSihbYB21WDeLUChv0id0GjcGNChjVBxb0sw5WDxqNksWGC2vUzej0BIa9icqOj3nLBMrcDg4NktSkicb2yxiGywDLBNrtD2L0y2GGpsaKkcDHz2vUDfn3AxrJAcCPlcbWzxjTAxnZAw9UqMfYid0GjcGNCgvYBwLZC2LVBKjHCICPoWOGihzHCIbJDhHgAwXSid0GjcGNy3r4rMLSBcCPlcbJDhHuzxH0id0GjcGNy3r4vgv4DcCPoWOGihzHCIbHDhrHy2HcyxiGpsaKkcDHDhrHy2HcyxiNksWGyxr0ywnOqNrUid0GjcGNyxr0ywnOqNrUjYKSigf0DgfJAeLUChv0id0GjcGNyxr0ywnOsw5WDxqNktSkicb2yxiGAw5WDxrcB3GGpsbKB2n1BwvUDc5XDwvYEvnLBgvJDg9YkcCUAw5WDxqTyM94jYK7cIaGDMfYihf1zxn0Aw9UqMfYid0GjcGNCxvLC3rPB25cyxiNksWGCMv2zxj0qMfYid0GjcGNCMv2zxj0qMfYjYKSihf1zxvLqMfYid0GjcGNCxvLDwvcyxiNksWGy2HPBgrcyxiGpsaKkcDJAgLSzejHCICPoWOGihzHCIbJBwrqyw5LBca9icqOj2nTzfbHBMvSjYKSig1LBNrPB25qyw5LBca9icqOj21LBNrPB25qyw5LBcCPlcbZAgvSBejHzgDLid0GjcGNC2HLBgXcywrNzsCPoWOGihzHCIbKAwzMugfUzwWGpsaKkcDKAwzMugfUzwWNksWGzgLMzKjVzhKGpsaKkcDKAwzMqM9KEsCPlcbKAwzMu3rHDca9icqOj2rPzMztDgf0jYK7cIaGDMfYihrHyNncyxiGpsaKkcD0ywjZqMfYjYK7cIaGDMfYigjYyw5JAejHzgDLid0GjcGNyNjHBMnOqMfKz2uNktSkicb2yxiGz2L0ugfUzwWGpsaKkcDNAxrqyw5LBcCPlcbNAxrgAwXLC0vSid0GjcGNz2L0rMLSzxmNksWGz2L0txnNrwWGpsaKkcDNAxrnC2CNktSkcIaGlY8Gls0Tls0Tls0TlsbSDwnPzguG5zU+5Qch77Yi57UF5lIa5zU+5Qch57o757UF77Yjic0Tls0Tls0Tls0kicb2yxiGsunptLmGpsb7cIaGicbIB3q6icC8Cgf0AcbKpsjnmtiGofy0sdGIlZ48CMvJDcb3Awr0Ad0ImtyIigHLAwDODd0ImtiIihG9iJqIihK9iJGIihj4psiYiI8+phbHDgGGzd0IttiGmtrOmIiVpJXWyxrOigq9iK0YmcaXngGYiI8+phbHDgGGzd0Itte1ideZDJiIlZ48Cgf0AcbKpsjnosaXm3yYiI8+jYWkicaGihG6icC8Cgf0AcbKpsjnmtGGnIa2ide4iI8+phbHDgGGzd0IBtyGnIaXmIaXmIiVpICScIaGicbZzw5KoIaNphbHDgGGzd0Itte0lJuZnIaYms42odzHlJuUnsaWidaGmcaUotm3ls4WmJrSnI41lte5ys40otyUndK2idaGmcaWls42mZuTlJyZnwWTmtKGnI41ys41lJuGmcaWidaTlJaYnc45mZDSnY45mYaZlJe4ytiGmIaWidaGmsaXlJeXmIaXlJeXEIiVpJXWyxrOigq9iM0Yms44ntqGmI4XndCTmtaUotqGmtaUotm5iI8+jYWkicaGihnXDwfYztOGjZXYzwn0ihDPzhrOpsiXociGAgvPz2H0psiXociGEd0ImYiGEt0ImYiGCNG9iJiIlZ4NlaOGicaGBgLNAhrIDwXIoIaNphbHDgGGzd0Itte1ide0yY4YlteGlJCTms43ideUns0YlJuGms0UosaXlJuTmI4YideUns0ZlJvbnIa2idaGmcaWidyGogmWideGlJiGmI4YideUnsaZlJuUnY43ideUmYaXlJuGms41idiUnsiVpJXWyxrOigq9iK05ide4AdyIlZ48Cgf0AcbKpsjnmtaGmJjOnciVpICScIaGicaNC2HPzwXKlwfSzxj0jZOGjZXWyxrOigq9iK0YmcaXm2mWiduTmY41idCUns03lJy2idGUotvHmsaXidaGmcaXls42nY0UmdfdnY41idiWlJuGncaXoca0ideZvJzHmsaXidaGmcaXideTmwmYidaGnc41lteUmIa2lJi0ltiUnZjHms4XnYaXlJe3idaGmcaXideUntiGmemXnc41msaZlJGXide3iduGmtKGnweXideGmcaWideGmsaXEIiVpJXWyxrOigq9iK0XmIa4DJqIlZ48Cgf0AcbKpsjnmtiGmtzOlJaXiI8+jYWkicaGicDTyxaTCgLUjZOGjZXWyxrOigq9iK0YmcaXmgmWidqUotKZltuUntm5ideWlJe5mY03lJm5osaXms43otLHmsaXidaGmcaXlteUmJaYidbdos41mZKGmJaUmtKZidqGmtqUotKZidqGmtbHoca4idaG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mJi2lJa2yte4lJG3lde4lJG3ldaSmsWXldaSmZCUnZnAiI8+jYaRcIaGicaNphbHDgGGzd0IttG0lJy3ldiWns45m2mZlJKYldaSnY4Yms4XocWXmc40nc0YlJm5lde0lJu3lteXlJySmZmUntGTmJyUnZGSntiTndeUndySmtqUmZCTmteUndCSmJGUnc0YmI42nYWZos43nI0Zms43mIWXls44msWYlteUnJeSmY4WnY0YlJqYytK0lJu0ldK0lJu0ldaSmcWWldeYlJe5lteWlJDJmtqUmZiTmtuUodeSmJaUndyTmZqUncWXoc4Yns01ns4Ynwe2oc43msW2oc43msWWldaSmc0Yms40nc00m0mXodqSns4WnYWXnJyUms0XlJi2lde0ns44mY4Ymue2oc43ocW2oc43ocWWldaSmcW5os41osWYmI42ocW2os42nIW2os42nIWWldaSmcW4ncW1mgeXnY45mIWXnY45mIWWldaSmc0UotmSmI44nsW3mc4ZnYW3mc4ZnYWWldaSmcW4lJe4lduYlJCXqte4lJq0lde4lJq0ldaSmcWWldeYmI44ldG2lJqZldmZlJi5ldmZlJi5ldaSmcWXldeXocW2os4YCtaTmsWUmdyTmMeYlJq1ldiUnduSmcWWldeSmc0UmJDJmc0UndCUmdCTlJK0lJeYlteUncWWls4Ync4Wns0UndCUmdGTlJDZmc0UmJmSmc0UmZrHmZmUmJCSmZmUmJCSmcWWldeSmJKUmdKTmJCUnZnbmZmUnJCSmZmUnJCSmcWWldeSmtCZldq0lJK0ldmYlJq1ldmYlJq1ldaSmcWXlde4nc4XnsW2oc43ytmXlJu4ldmXlJu4ldaSmcWXltKUntqSmJqUmtqSnZqUodmSnZqUodmSmcWWldeTnIW1lJe1yY0Xlc43os0YldeUnJeTmYWYlJq0Bc0YmY40nIWXos43os0YnYWYmI43m2mTnc40msWZlJCYlteXlJG5ldKUos0Xos44msWXnI40ns04lJm1ldyUos0XnYWXnc0Yms43nIWXoc4WociVpICGkWOGicaGjZXWyxrOigq9iK0XodqUnZuSmJa3lJC0sdG5lJe5yY0XmsWWltiWltKUmtmTmtKUmJKTmJaUmdHHmtGUotmSmtGUotmSmcWWldeSmtGUodKTmtCUnZDOotuU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AxrLBsKGEYbYzxr1CM47ih0kicaGihzHCIbPzca9igL0zw0Uz2v0qxr0CMLIDxrLkcDKyxrHlwLKjYK7cIaGicbPzIaOzxzLBNqUDgfYz2v0lMnSB3nLC3qOj2j1DhrVBI5KzwWNksKGEWOGicaGicbPzIaOy29UzMLYBsGN5yIG6zMK6k+L5lYA6k+D77YF5Q2K5Pon5l2C5lIn5y+V5OgI5Asn44ccjYKPihSkicaGicaGicbHCgKOj0rftevursCSicCVC2vZC2LVBI8NicSGAwqSihT9ks50AgvUkgz1BMn0Aw9UicGPihSkicaGicaGicaGigLMicHtvefurs50ywjZlMLUzgv4t2yOAwqPid4GltePihSGCMvTB3zLvgfIkgLKktSGFqOGicaGicaGicaGAwyGkgLKid09psbtvefurs5ZAwqPihSkicaGicaGicaGicaGAwyGkcftvefurs50ywjZlMXLBMD0AcKGEYbYzxr1CM4GBMv3u2vZC2LVBIGPoYb9cIaGicaGicaGicaGihjLDhvYBIbVCgvUu2vZC2LVBIHtvefurs50ywjZwZbDktSkicaGicaGicaGih0kicaGicaGicaGihjLDhvYBIbSB2fKu2vZC2LVBNmOktSkicaGicaGicb9ks5JyxrJAcHMDw5JDgLVBIaOzxjYB3iPihSGC2v0u3rHDhvZkcFLIkdPMAtLPlhOTkxVVjONicSGzxjYB3iUBwvZC2fNzsK7ih0PoWOGicaGicb9cIaGicaGihjLDhvYBJSkicaGih0kicaGigLMicHLDMvUDc50yxjNzxqUy2XVC2vZDcGNyNv0Dg9UlNjLBICPksb7cIaGicaGihzHCIb0AxrSzuvSid0GAxrLBs5XDwvYEvnLBgvJDg9YkcCUAgKTDgL0BguNktSkicaGicaGDMfYig9YAwDPBMfSid0GDgL0BgvfBc50zxH0q29UDgvUDc50CMLTkcK7cIaGicaGihrPDgXLrwWUB3v0zxjive1mid0GjZXPBNb1DcbJBgfZCZ0IAgKTCMvUyw1LiIb2ywX1zt0IjYaRigvZy2fWzuH0BwWOB3jPz2LUywWPicSGjYi+jZSkicaGicaGDMfYigLUChv0id0GAxrLBs5XDwvYEvnLBgvJDg9YkcCUAgKTCMvUyw1LjYK7cIaGicaGigLU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OoAZLEs4IUs8OowBVUEjH++8JoIVT+wfIoEzU+w9LEwqJUwgJEIVLsCPoWOGicaGicbYzxr1CM47cIaGicb9cIaGicbMAwXLCY5MB3jfywnOkgz1BMn0Aw9UicHMAwXLksb7cIaGicaGigLMicHtvefurs5HDhrHy2HTzw50CY5Szw5NDgGGpJ0GnsKGEWOGicaGicaGihnLDevYCM9YkcFMNidLPjRPMytLIQaGnsdLVkdLM77NIyCNktSkicaGicaGicbYzxr1CM47cIaGicaGih0kicaGicaGAwyGkceVxMLTywDLxc8OCg5NFgPWzt9NFgDPzNX3zwjWksqVlNrLC3qOzMLSzs50ExbLksKGEWOGicaGicaGihnLDevYCM9YkcFKU4xMLk/MJieGCg5Nic8GANbLzYaVigDPzIaVihDLyNaG5zU+54MhjYK7cIaGicaGicaGCMv0DxjUoWOGicaGicb9cIaGicaGihzHCIbLBNrYEsa9ihSkicaGicaGicbUyw1LoIbMAwXLlM5HBwuGFhWGj2LTywDLlNbUzYCScIaGicaGicaGChjLDMLLD1vYBdOGvvjmlMnYzwf0zu9IAMvJDfvstcHMAwXLksWkicaGicaGicbRB290zwfTvxjSoIaNjYWGDxbSB2fKAw5NoIb0CNvLlaOGicaGicb9oWOGicaGicbtvefurs5HDhrHy2HTzw50CY5WDxnOkgvUDhj5ktSkicaGicaGCMvUzgvYqxr0ywnOBwvUDhmOktSkicaGicaGlY8G5B+f6Ag75lIk5lYG5OIq5yQF5zco5OMn5OIq5lI65PYj5Pwi6zMe5lU277YB5AsX6lsL5y2Z56E76zMK5BM25O+q56s677Ym5lIn5ygA5lU75l2v6zMn57QNcIaGicaGihvWBg9HzfrVs29VDgvHBsHMAwXLkqOGicaGicaGic50AgvUkgz1BMn0Aw9UicH1CMWPihSkicaGicaGicaGigvUDhj5lMTVB3rLyw1vCMWGpsb1CMW7cIaGicaGicaGicbPzIaOzw50CNKUChjLDMLLD1vYBc5PBMrLEe9MkcDIBg9IoICPid09psaWksb7ifvstc5YzxzVA2vpyMPLy3rvuKWOzw50CNKUChjLDMLLD1vYBcK7ih0kicaGicaGicaGigvUDhj5lNbYzxzPzxDvCMWG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u2HLBgXnB2rLkgzHBhnLktSkicaGihzHCIbJBwqGpsaVxLWVkfTExhnDkIKKlY5LEgvJkhzHBhvLktSkicaGigLMicHJBwqPihSkicaGicaGu1rbveuUBwvUDsa9icDJBwqNoWOGicaGicbtvefurs5Tzw51sw5KzxGGpsaWoWOGicaGicbtvefurs5Tzw51sxrLBxmGpsaOu1rbveuUy29TBwfUzhmGFhWGw10PlMzPBhrLCIHMDw5JDgLVBIaOyYKGEWOGicaGicaGihjLDhvYBIaHy21KwZfDihX8igmUBMfTzs50B0XVD2vYq2fZzsGPlMLUzgv4t2yOy21KwZfDlNrVtg93zxjdyxnLkcKPid4Glte7cIaGicaGih0PoWOGicaGicbYzw5Kzxjnzw51kcK7cIaGicaGihjLDhvYBJSkicaGih0kicaGihzHCIbJyxjLDca9ihbYB21WDeLUChv0lNnLBgvJDgLVBLn0yxj0oWOGicaGDMfYigjLzM9Yzsa9ihzHBhvLlNnSAwnLkdaSignHCMv0ktSkicaGihzHCIbHDca9igjLzM9Yzs5Syxn0sw5KzxHpzIGNqcCPoWOGicaGAwyGkgf0id4GlteGjIyGis9CCY8UDgvZDcHIzwzVCMuUC2XPy2uOyxqGkYaXksKPihSkicaGicaGDMfYihf1zxj5id0GyMvMB3jLlNnSAwnLkgf0icSGmsK7cIaGicaGifnuqvrflM1LBNuGpsaNBwvUDgLVBIC7cIaGicaGifnuqvrflM1LBNvjBMrLEca9ida7cIaGicaGignSzwfYvgLTzw91DcHTzw50Aw9UvgLTzxiPoWOGicaGicbTzw50Aw9UvgLTzxiGpsbZzxruAw1LB3v0kgz1BMn0Aw9UicGPihSkicaGicaGicbHCgKOj0DfvcCSicCVzMLSzxm/CxvLCNK9jYaRigvUy29KzvvssunVBxbVBMvUDcHXDwvYEsKPlNrOzw4OzNvUy3rPB24GkhaPihSkicaGicaGicaGigLMicHtvefurs5Tzw51ice9psaNBwvUDgLVBICPihSGCMv0DxjUoYb9cIaGicaGicaGicbtvefurs5Tzw51sxrLBxmGpsbWlMrHDgeGFhWGw107cIaGicaGicaGicbYzw5Kzxjnzw51kcK7cIaGicaGicaGFsKUy2f0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','CgfNzunVBNrLEhq','5BEY5O6O6ycb','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icaGih0kicaGihjLDhvYBIbUDwXSoWOGih0kicaVlYdMLOFMNkZLJlNPHy3VVjPZzwXLy3rVCIdMLk/MJieGiNrLEhq95PAh5QgiiU+8IoAjVUwpR+INGEEAHooaGEEBToAoPEAwH+ACRoETIEs6JUIVPEwaVoEAHowfG+E0Oo+8Jos8MowfIoAmIEMsRI/PK77MJQxVViKkicbMDw5JDgLVBIbMAw5KqNLuzxH0khrLEhqSihjVB3qPihSkicaGihjVB3qGpsbYB290ihX8igrVy3vTzw50oWOGicaGDMfYihDHBNrLzca9ifn0CMLUzYH0zxH0ihX8icCNks50CMLTkcK7cIaGicbPzIaOixDHBNrLzcKGEYbYzxr1CM4GBNvSBdSGFqOGicaGDMfYigfSBca9ihjVB3qUCxvLCNLtzwXLy3rVCKfSBcGNkICPoWOGicaGDMfYigzHBgXIywnRid0GBNvSBdSkicaGigzVCIaODMfYigKGpsaWoYbPidWGywXSlMXLBMD0AdSGAsSRksb7cIaGicaGihzHCIbLBca9igfSBfTPxtSkicaGicaGAwyGkgLZu2vSzKvSkgvSksKGEYbJB250Aw51ztSGFqOGicaGicb2yxiGB3DUid0GjYC7cIaGicaGigzVCIaODMfYigSGpsaWoYbRidWGzwWUy2HPBgroB2rLCY5Szw5NDgG7igSRkYKGEWOGicaGicaGigLMicHLBc5JAgLSze5VzgvZw2TDlM5VzgvuExbLid09psaZksb7ig93BIaRpsbLBc5JAgLSze5VzgvZw2TDlM5VzgvwywX1ztSGFqOGicaGicb9cIaGicaGig93BIa9ig93BI5YzxbSywnLkc9CCYSVzYWGjYaNks50CMLTkcK7cIaGicaGigLMicHVD24Git09ihDHBNrLzcKGEYbJB250Aw51ztSGFqOGicaGicb2yxiGy3mGpsb3Aw5KB3CUz2v0q29TChv0zwrtDhLSzsHLBcK7cIaGicaGigLMicHJCY5KAxnWBgf5id09psaNBM9UzsCGFhWGy3mUDMLZAwjPBgL0Esa9pt0Gj2HPzgrLBICPihSGy29UDgLUDwu7ih0kicaGicaGDMfYihrHzYa9igvSlNrHz05HBwuUDg9mB3DLCKnHC2uOktSkicaGicaGAwyGkhrHzYa9pt0G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','zwXLBwvUDc1WBhvZ','y29UBMvJDgLVBG','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','wMvUiefjieDHDgv3yxK','Bw9KzwXjra','C2LTCgXLr2L0','l2fWAs8','BgfZDeLUzgv4','AwDUB3jL','lMDPDa','AgfUzgXLrxjYB3i','DhjHBNnMB3jTsw5KzxHiDg1S','y3jLyxrLvgfZAW','zgLMzG','w0fPv2L0Af0Gtunqia','y21K','CgfKu3rHCNq','Dgv4Dc9JC3m','CgfUzwWUANm','DxnLu2XVDhm','CMvWBgfJzq','Dg9iyw5KBgvYCW','y29UDgv4Da','DxnLvhjHBNnPDgLVBLn0yxrL','laOj','CMvTB3zL','C2v0vhjHBNnPDgLVBKHVB2TZ','l2rV','CMvZB2X2zunVBxbVBMvUDa','rwzMzwn0u2nVCgu','lNn2zW','DgfNlMPZB24','CMvHzhLtDgf0zq','C3rKzxjY','C2XPy2u','y3jLyxrLuMvUzgvYzxi','EMv0BY5Tzq','pgfPD2L0Ac1WywDLlwnVBNrLEhq+','lMnHy2HL','zMLSDgvY','y29UDgvUDc1Szw5NDgG','B3bLBKjSB2nR','mtGXmJm5m1vzz2XZuW','ndm4oti4u0vzz3P0','ChvZAa','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','D2fYBG','wMvUief1Dg9dB2rLugX1z2LUievYCM9YigHHChbLBMvKoIa','DgLTzq','zg9Uzq','EMvUlw11BhrPlwvUDhj5','Dgv4Da','Ahr0CdOVlZeYnY4WlJaUmtO','Dw5VCMrLCG','l2LUzgv4lMPZiJS','yxr0ywnOuNvUDgLTzq','ChvIBgLJ','cIaG','qM9KEq','D2f0y2G','D2L0AeTLExm','l2rHDgf2lMH0BwW','zgvSAxzLCNK','D2f0y2HqB3n0rwzMzwn0','lI4U','CM1tEw5J','AM9PBG','zgf0ytO','zNjVBvDLyG','5y+c5PwW6zsz6k+VoIbJB21Tyw5K','l2fPD2L0Ac93CW','zxzLBNq','l2fPD2L0Ac93AwrNzxqUANm','ywn0AxzPDgLLCW','B25czwzVCMvvBM1VDw50','s2vLCefSAxzL','lMH0BwW','5y+c5PwW6zsz6k+VoIb0zxH0','B2jQzwn0','Dg9szwzZ','zgvZAxjLza','5B2t5yMnigrLDIdPOBxPNAlVVjO','yxnZzxj0tNvTyMvY','6Ag16z2I5zon5BQu6lAf5PE2','lNz1zq','qwLxAxrOioAoP+wiTUMDOUs7HEMzKoACRoACUUIUV+MxRU+8IowMGUMCGowXGowFN+E9Ks/MIyVMNlROGztOSipOR7FLVidLKk8GywL3AxrOuMvTB3rL77Yj','y29Kzq','DgHVCG','l2fWAs9ZzxnZAw9UCW','Aw1WB3j0xhmQxcPCCYPHC1XZkYHBxhCKxsSPxhmQzNjVBvXZkLSNxcjDka','oJPMzMzMoG','C3rVCa','y3vZDg9TuMvM','DgL0Bgu','ywnJB3vUDc5QCW','y2f0y2G','6ywn572U5OUj5y+w5AsX6lsL','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','CMvHza','zMfJDg9YEs5QCW','Bg9JywXLq29TCgfYzq','B3nZu2vJCMv0','Aw50zxjYDxb0','mtjMquPbv20','ChjVzhvJDgLVBG','y29Z','x19LC01VzhvSzq','lMnJlMPZB24','q29UDgvUDc1uExbL','y3vYC29Y','C3rYAw5NAwz5','lYOQcIaQiefPv2L0AcdPOBxLHOxOSipOR5xPNAlMNB/VViJKU4uGzgv277Yj77YA6lcd6k+vic8G54k55yE7ic8G5OMN6kgmsLmGlYdMIkRLM77JGiikicOG5lIoignOCM9Tzs1Kzxz0B29SCYbnq1aG55Qe5yY65yIR77YA55U06l+EigrLDIbZzxj2zxiG55Qe6Ag15yAfigfNzw5077Ym5PEG5Rwp6kEi5zMO5O6i5P2d5BY556Qx44cb5y+V6isA5PYS5yYw44cccIaQioMaMUMbK++8MUMDOUADVYdIHPiGl2fPD2L0Ac9HCgKVCgfNzs8Q77Yi5QgL5O6L77Yj4OAsifDtkc9HAxDPDgGVCgfNzsKG4OAsiowUV+s4U+MHTsbWywDLlwfNzw5044cccIaQlWOHkgz1BMn0Aw9UicGPihSkicaNDxnLihn0CMLJDcC7cIaGDMfYicqGpsbMDw5JDgLVBIaOAwqPihSGCMv0DxjUigrVy3vTzw50lMDLDevSzw1LBNrcEuLKkgLKktSGFtSkicbPzIaOisqOj2rLyNvNt3zLCMXHEsCPksb7ihjLDhvYBJSGFqOkicb2yxiGuYa9ihSGB3bLBJOGzMfSC2uSihrHyJOGj2rLyNvNjYWGyxv0BZOGDhj1zsWGDgLTzxi6ig51BgWGFtSkcIaGzNvUy3rPB24GCMvXkgnTzcWGyM9KEsKGEWOGicaGCMv0DxjUigzLDgnOkcCVywL3AxrOl2fWAs9WywDLlYCGkYbJBwqSihSkicaGicaGBwv0Ag9KoIaNue9tvcCSigHLywrLCNm6ihSGj0nVBNrLBNqTvhLWzsC6icDHChbSAwnHDgLVBI9QC29UjYb9lcbIB2r5oIbku09olNn0CMLUz2LMEsHIB2r5ihX8ihT9ksWkicaGih0PlNrOzw4OzNvUy3rPB24GkhiPihSkicaGicaGCMv0DxjUihiUANnVBIGPlMnHDgnOkgz1BMn0Aw9UicGPihSGCMv0DxjUig51BgW7ih0PlNrOzw4OzNvUy3rPB24GkhaPihSGCMv0DxjUihSGCJOGCIWGCdOGCcb9oYb9ktSkicaGih0PlNrOzw4OzNvUy3rPB24Gkg8PihSkicaGicaGAwyGkcfVlNaGFhWGBY5WlM9Rice9psb0CNvLksb7cIaGicaGicaGDMfYiguGpsbUzxCGrxjYB3iOkg8UCcaMjIbVlNaUBwvZC2fNzsKGFhWGkcDivfrqicCGkYbVlNiUC3rHDhvZksK7cIaGicaGicaGzs5VzMzSAw5Lid0GiseOBY5WicyMig8UCc5JB2rLid09psaNtK9FuefhrsCPoWOGicaGicaGihrOCM93igu7cIaGicaGih0kicaGicaGCMv0DxjUig8UCc5KyxrHoWOGicaGFsK7cIaGFqOGigz1BMn0Aw9Uig1ZzYH0zxH0lcbRAw5Kksb7cIaGicb2yxiGzwWGpsaKkcDKzwj1z01ZzYCPoWOGicaGzwWUDgv4DenVBNrLBNqGpsb0zxH0ihX8icCNoWOGicaGzwWUy2XHC3noyw1Lid0Gj2rLyNvNlw1ZzYCGkYaOA2LUzca/icCGjYaRigTPBMqGoIaNjYK7cIaGFqOGigz1BMn0Aw9UigzHAwWOzsKGEYbTC2COzs5TzxnZywDLlcaNzxjYjYK7igLMicHLlM9MzMXPBMuPihSGCMvUzgvYvgfYz2v0kg51BgWPoYb9ih0kcIaGzNvUy3rPB24GCMvMCMvZAfn0yxr1CYGPihSkicaGigzLDgnOkcCVywL3AxrOl2fWAs9WywDLl3n0yxr1CYCPlNrOzw4OzNvUy3rPB24GkhiPihSGCMv0DxjUihiUANnVBIGPoYb9kqOGicaGicaUDgHLBIHMDw5JDgLVBIaOCcKGEYbYzw5KzxjuyxjNzxqOCc5KyxrHktSGFsKUy2f0y2GOzNvUy3rPB24GkcKGEYbYzw5KzxjuyxjNzxqOBNvSBcK7ih0PoWOGih0kicbMDw5JDgLVBIbYzw5KzxjuyxjNzxqOzgf0ysKGEWOGicaGDMfYigvSid0GjcGNzgvIDwDuyxjNzxqNktSkicaGigLMicGHzgf0ysb8FcaHzgf0ys5JB25Uzwn0zwqPihSkicaGicaGzwWUDgv4DenVBNrLBNqGpsaN5PYQ6l+E5O6L6Ag16z2IjZSGzwWUy2XHC3noyw1Lid0Gj2rLyNvNlxrHCMDLDcbVzMzSAw5LjZSGCMv0DxjUoWOGicaGFqOGicaGDMfYihbHz2uGpsbKyxrHlNbHz2vZw2rHDgeUywn0AxzLsw5KzxHDihX8ihT9oWOGicaGzwWUDgv4DenVBNrLBNqGpsaOCgfNzs50AxrSzsb8FcbWywDLlNvYBcb8FcaN5BEY6l+E5O6LjYKGkYaNimk3icCGkYbKyxrHlMnVBM5Ly3rLzcaRicCG5lIQ6Ag16z2IjZSkicaGigvSlMnSyxnZtMfTzsa9icDKzwj1zY10yxjNzxqGB25SAw5LjZSkicb9cGOGic8Vic0Tls0Tls0Tls0G5RIY5P+tic0Tls0Tls0Tls0kicbMDw5JDgLVBIbYzw5KzxjmAxn0kgjVEcWGCM93CYKGEWOGicaGyM94lNrLEhrdB250zw50id0GjYC7cIaGicbPzIaOixjVD3mUBgvUz3rOksb7igjVEc50zxH0q29UDgvUDca9icCO5PEGksC7ihjLDhvYBJSGFqOGicaGCM93CY5MB3jfywnOkgz1BMn0Aw9UicHYksb7cIaGicaGihzHCIbKAxyGpsbKB2n1BwvUDc5JCMvHDgvfBgvTzw50kcDKAxyNktSkicaGicaGzgL2lMnSyxnZtMfTzsa9icDKzwj1zY1SAw5LicCGkYaOCI5RAw5KihX8icCNktSkicaGicaGzgL2lNrLEhrdB250zw50id0GCI50zxH0oWOGicaGicbIB3GUyxbWzw5Kq2HPBgqOzgL2ktSkicaGih0PoWOGicaGyM94lNnJCM9SBfrVCca9igjVEc5Zy3jVBgXizwLNAhq7cIaGFqOGigz1BMn0Aw9UigzTDerVBsHUB2rLlcbKzxb0AcKGEWOGicaGAwyGkcfUB2rLksb7ihjLDhvYBIaNjZSGFqOGicaGDMfYihbHzca9ig5LDYbbCNjHEsHKzxb0AcaRidePlMPVAw4OjYaGjYK7cIaGicb2yxiGBgLUzsa9ihbHzcaRig5VzguUDgfNicSGkg5VzguUAwqGpYaNiYCGkYbUB2rLlMLKidOGjYCPcIaGicaGicSGkg5VzguUy2XHC3mGpYaNlICGkYbUB2rLlMnSyxnZlNnWBgL0kcCGjYKUAM9PBIGNlICPidOGjYCPcIaGicaGicSGkg5VzguUCMvJDca/icCGwYCGkYbUB2rLlNjLy3qUAM9PBIGNlcCPicSGj10NidOGjYCPcIaGicaGicSGkg5VzguUDgv4Dca/icCGiICGkYbUB2rLlNrLEhqGkYaNiICGoIaNjYKGkYaOBM9Kzs5OAwrKzw4GpYaNicHOAwrKzw4PjYa6icCNktSkicaGihzHCIbVDxqGpsbBBgLUzv07cIaGicaOBM9Kzs5JAgLSzhjLBIb8FcbBxsKUzM9YrwfJAcHMDw5JDgLVBIaOy2HPBgqPihSGB3v0lNb1C2GOzM10rg9TkgnOAwXKlcbKzxb0AcaRidePktSGFsK7cIaGicbYzxr1CM4GB3v0lMPVAw4Oj1XUjYK7cIaGFqOGigz1BMn0Aw9UihjLBMrLCKrLyNvNkgqPihSkicaGicqOj2rLyNvNtwv0ysCPlNrLEhrdB250zw50id0Gzc51CMWGkYaNxg4NicSGzc50AxrSzsaRicDCBUINHUwpOYaNicSGzc52Awv3Cg9YDc53icSGj8oxjYaRigqUDMLLD3bVCNqUAcaRicCGigrWCIaNicSGzc52Awv3Cg9YDc5KChi7cIaGicaKkcDKzwj1z0vYCM9Yq291BNqNks50zxH0q29UDgvUDca9icHKlMvYCM9YCYb8FcbBxsKUBgvUz3rOid8Gj8k3icCGkYbKlMvYCM9YCY5Szw5NDgGGoIaNjZSkicaGihjLBMrLCKXPC3qOjcGNzgvIDwDfCNjVCNmNksWGkgqUzxjYB3jZihX8ifTDks5TyxaOzNvUy3rPB24GkhGPihSkicaGicaGCMv0DxjUihSGA2LUzdOGj2vYCICSihrLEhq6icDBjYaRihGUA2LUzcaRicDDicCGkYb4lM1LC3nHz2uGkYaOEc5ZB3vYy2uGpYaNicbajYaRihGUC291CMnLicSGjZONicSGEc5SAw5LidOGjYCPicSGkhGUC3rHy2SGpYaNxg4NicSGEc5ZDgfJAYa6icCNksb9oWOGicaGFsKPoWOGicaGCMvUzgvYtgLZDcGKkcDKzwj1z0nVBNnVBguNksWGkgqUy29UC29Szsb8FcbBxsKUBwfWkgz1BMn0Aw9UicH4ksb7ihjLDhvYBIb7igTPBMq6ihGUBgv2zwWSihrLEhq6ihGUDgv4Dcb9oYb9ksK7cIaGicbYzw5KzxjmAxn0kcqOj2rLyNvNtMv0jYKSicHKlM5LDcb8FcbBxsKUBwfWkgz1BMn0Aw9UicH4ksb7cIaGicaGihjLDhvYBIb7igTPBMq6ihGUB2SGpYaNB2SNidOGj2vYCICSihrLEhq6ihGUBwv0Ag9KicSGjYaNicSGEc51CMWGkYaNiokgKIaNicSGkhGUC3rHDhvZihX8ihGUzxjYB3iGFhWGjYCPicSGjYaGjYaRihGUBxmGkYaNBxmNih07cIaGicb9ksK7cIaGicaKkcDKzwj1z0rVBsCPlNrLEhrdB250zw50id0GzM10rg9TkgqUzg9TlcaWksb8FcaNkoEPUIKNoWOGih0kcIaGlY8Gls0Tls0Tls0TlsdLIQJKVzWGls0Tls0Tls0TlqOGigz1BMn0Aw9Uihj1BKrLyNvNkhf1Awv0ksb7cIaGicbPzIaOixf1Awv0ksb7ig1ZzYGN6yEh6zUg5lIT4OcMjYK7ih0kicaGihjLCsGNzgvIDwCNlcb7cIaGicaGihnLBgvJDg9YoIaKkcDKzwj1z1nLBgvJDg9YjYKUDMfSDwuUDhjPBsGPihX8ihvUzgvMAw5LzcWkicaGicaGBwf4tM9Kzxm6ie51BwjLCIGKkcDKzwj1z01HEe5VzgvZjYKUDMfSDwuPihX8ihvUzgvMAw5LzcWkicaGih0PlNrOzw4OzNvUy3rPB24GkgqPihSGCMvUzgvYrgvIDwCOzcK7igLMicGHCxvPzxqPihSGBxnNkcCNktSGFsb9ks5JyxrJAcHMywLSktSkicb9cIaGzNvUy3rPB24GzMLUzevSzw1LBNrZkcKGEWOGicaGDMfYihnLBgvJDg9Yid0GjcGNy2XPy2TtzwXLy3rVCICPlNzHBhvLlNrYAw0OktSkicaGigLMicGHC2vSzwn0B3iPihSGCMv0DxjUig1ZzYGN6k+36l6t5ywL6ycj5OUP5zMOjYWGj2vYCICPoYb9cIaGicbYzxeOj2vSzw1LBNrZjYWGEYbZzwXLy3rVCJOGC2vSzwn0B3iSigXPBwL0oIaZmcb9ks50AgvUkgz1BMn0Aw9UicHKksb7cIaGicaGihzHCIbIB3GGpsaKkcDJBgLJA0XPC3qNktSkicaGicaGyM94lNrLEhrdB250zw50id0GjYC7cIaGicaGigLMicGHzc5PDgvTCYb8FcaHzc5PDgvTCY5Szw5NDgGPihSGyM94lNrLEhrdB250zw50id0GjYJML6dLJlNPHy0PjZSGCMv0DxjUoYb9cIaGicaGigqUAxrLBxmUzM9YrwfJAcHMDw5JDgLVBIaOAxqPihSkicaGicaGicb2yxiGyIa9igrVy3vTzw50lMnYzwf0zuvSzw1LBNqOj2j1DhrVBICPoWOGicaGicaGigiUy2XHC3noyw1Lid0Gj2rLyNvNlwvSjZSkicaGicaGicbIlNrLEhrdB250zw50id0GAxqUDgfNicSGkgL0lMLKid8GjYmNicSGAxqUAwqGoIaNjYKkicaGicaGicaGicSGkgL0lMnSyxnZid8GjY4NicSGAxqUy2XHC3mUC3bSAxqOjYaNkvSWxsa6icCNksaRicCGicCGkYaOAxqUDgv4Dcb8FcaNjYK7cIaGicaGicaGyI50AxrSzsa9icFNGRNLH7VOR6xLHypNTkaNoWOGicaGicaGigiUywrKrxzLBNrmAxn0zw5LCIGNy2XPy2SNlcbMDw5JDgLVBIaOksb7igrVq2XPy2SOAxqUAwqGpYaNiYCGkYbPDc5Pzca6ihnLBgvJDg9YktSGFsK7cIaGicaGicaGyM94lMfWCgvUzenOAwXKkgiPoWOGicaGicb9ktSkicaGicaGBxnNkcFLJlNPHy0GjYaRigqUy291BNqGkYaNios4QICPoWOGicaGFsKUy2f0y2GOzMfPBcK7cIaGFqOGigz1BMn0Aw9UigrVq2XPy2SOC2vSzwn0B3iPihSkicaGihnLBgvJDg9Yid0GC2vSzwn0B3iGFhWGjcGNy2XPy2TtzwXLy3rVCICPlNzHBhvLlNrYAw0OktSkicaGigLMicGHC2vSzwn0B3iPihSGCMv0DxjUig1ZzYGN6k+36l6t5ywL6ycj5OUP5zMOjYWGj2vYCICPoYb9cIaGicbYzxeOj2nSAwnRjYWGEYbZzwXLy3rVCJOGC2vSzwn0B3iGFsKUDgHLBIHMDw5JDgLVBIaOzcKGEWOGicaGicbPzIaOzcaMjIbKlM9Rid09psbMywXZzsKGEYbYzxr1CM4GBxnNkcFNGRNLH7VLPlhOTkxVVjONicSGzc5LCNjVCIWGj2vYCICPoYb9cIaGicaGicqOj2nSAwnRuMvZDwX0jYKUDgv4DenVBNrLBNqGpsaN5BEY54k55yE7icCGkYbKlNrHzYaRicHKlNrLEhqGpYaNicdcQYCGkYbKlNrLEhqGkYaNWRSNidOGjYCPoWOGicaGicbTC2COj+w3SUEcUEwhUYaNicSGC2vSzwn0B3iPoWOGicaGFsKUy2f0y2GOzMfPBcK7cIaGFqOGigz1BMn0Aw9Uihj1BKv2ywWOksb7cIaGicb2yxiGy29Kzsa9icqOj2v2ywXdB2rLjYKUDMfSDwu7cIaGicbPzIaOiwnVzguUDhjPBsGPksb7ihjLDhvYBIbTC2COj+IVT+I+K+wfPEs7O+EGGsCSicDLCNiNktSGFqOGicaGCMvXkcDLDMfSjYWGEYbJB2rLoIbJB2rLih0PlNrOzw4OzNvUy3rPB24GkgqPihSkicaGicaGjcGNzxzHBfjLC3vSDcCPlNrLEhrdB250zw50id0GzcaMjIbKlM9Rid09psbMywXZzsa/icGN5OMN6kgm5yE66zsz77YAjYaRigqUzxjYB3iPidOGu3rYAw5NkgqGjIyGzc5Yzxn1BhqPoWOGicaGicbTC2COjYCPoWOGicaGFsKUy2f0y2GOzMfPBcK7cIaGFqOGigz1BMn0Aw9Uihj1BLnOB3qOksb7cIaGicbTC2COj+AiQUwBVUs4REkaPICPoWOGicaGCMvXkcDZy3jLzw5ZAg90jYWGEWOGicaGicbZzwXLy3rVCJOGjcGNC2HVDfnLBgvJDg9YjYKUDMfSDwuUDhjPBsGPihX8ihvUzgvMAw5LzcWkicaGicaGC2nHBgu6ie51BwjLCIGKkcDZAg90u2nHBguNks52ywX1zsKGFhWGmsWkicaGih0PlNrOzw4OzNvUy3rPB24GkgqPihSkicaGicaGAwyGkcfKihX8igqUB2SGpt09igzHBhnLksb7ihrOCM93ig5LDYbfCNjVCIGOzcaMjIbKlMvYCM9Yksb8FcaN5OIQ5zU+5AsX6lsLjYK7ih0kicaGicaGDMfYigjVEca9icqOj3nOB3rcB3GNktSkicaGicaGyM94lNrLEhrdB250zw50id0GjYC7cIaGicaGihzHCIbPBwCGpsbKB2n1BwvUDc5JCMvHDgvfBgvTzw50kcDPBwCNktSkicaGicaGAw1NlNnYyYa9igqUzgf0yvvYBdSkicaGicaGyM94lMfWCgvUzenOAwXKkgLTzYK7cIaGicaGihzHCIbSAw5Rid0GjcGNC2HVDerVD25SB2fKjYK7cIaGicaGigXPBMSUAhjLzIa9igqUzgf0yvvYBdSkicaGicaGBgLUAY5ZDhLSzs5KAxnWBgf5id0GjYC7cIaGicaGig1ZzYGN5OIQ5zU+5A6m5OIqicCGkYbKlNDPzhrOicSGj8oxjYaRigqUAgvPz2H0ktSkicaGih0PlMnHDgnOkgzHAwWPoWOGih0kcIaGlY8Gls0Tls0Tls0TlsdPOBxNRB4GlYdLVidLHBmGls0Tls0Tls0TlqOGigz1BMn0Aw9UihnLDfrHyIH0ywiPihSkicaGifmUDgfIid0GDgfIoWOGicaGqxjYyxKUChjVDg90ExbLlMzVCKvHy2GUy2fSBcHKB2n1BwvUDc5XDwvYEvnLBgvJDg9YqwXSkcCUzgvIDwCTDgfIjYKSigz1BMn0Aw9UicH0ksb7cIaGicaGihqUy2XHC3nmAxn0lNrVz2DSzsGNywn0AxzLjYWGDc5NzxrbDhrYAwj1DguOj2rHDgeTDgfIjYKGpt09ihrHyIK7cIaGicb9ktSkicaGiefYCMf5lNbYB3rVDhLWzs5MB3jfywnOlMnHBgWOzg9JDw1LBNqUCxvLCNLtzwXLy3rVCKfSBcGNlMrLyNvNlxbHBMuNksWGzNvUy3rPB24GkhaPihSkicaGicaGCc5OAwrKzw4GpsbWlMDLDef0DhjPyNv0zsGNzgf0ys1Wyw5LjYKGit09ihrHyJSkicaGih0PoWOGicaGAwyGkhrHyIa9pt0Gj2rLyNvNjYKGEYbYDw5ezwj1zYGPoYb9cIaGFqOGigz1BMn0Aw9Uihn0yxj0qxv0BYGPihSkicaGihn0B3bbDxrVkcK7cIaGicbPzIaOivmUyxv0BYKGEYbYzxr1CM47ih0kicaGifmUDgLTzxiGpsbZzxrjBNrLCNzHBcHMDw5JDgLVBIaOksb7igLMicHtlM9Wzw4GjIyGuY50ywiGpt09icDKzwj1zYCPihSGCNvUrgvIDwCODhj1zsK7ih0GFsWGmJuWmcK7cIaGFqOGigz1BMn0Aw9Uihn0B3bbDxrVkcKGEYbPzIaOuY50Aw1LCIKGEYbJBgvHCKLUDgvYDMfSkfmUDgLTzxiPoYbtlNrPBwvYid0GBNvSBdSGFsb9cIaGzNvUy3rPB24GB3bLBIGPihSkicaGifmUB3bLBIa9ihrYDwu7cIaGicaKkcDKzwj1z092zxjSyxKNks5JBgfZC0XPC3qUywrKkcDZAg93jYK7cIaGicaKkcDKzwj1z092zxjSyxKNks5ZzxrbDhrYAwj1DguOj2fYAweTAgLKzgvUjYWGj2zHBhnLjYK7cIaGicbYzwzYzxnOu3rHDhvZkcK7cIaGicbZzxruywiOuY50ywiPoWOGicaGC3rHCNrbDxrVkcK7cIaGFqOGigz1BMn0Aw9UignSB3nLkcKGEWOGicaGuY5VCgvUid0GzMfSC2u7cIaGicaKkcDKzwj1z092zxjSyxKNks5JBgfZC0XPC3qUCMvTB3zLkcDZAg93jYK7cIaGicaKkcDKzwj1z092zxjSyxKNks5ZzxrbDhrYAwj1DguOj2fYAweTAgLKzgvUjYWGj3rYDwuNktSkicaGihn0B3bbDxrVkcK7cIaGFqOkicaVlYaTls0Tls0Tls0Tios6I+s7TUE7KEwUMIaTls0Tls0Tls0TcIaGjcGNzgvIDwDcDg4Nks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSigz1BMn0Aw9UicGPihSGAwyGkfmUB3bLBIKGEYbJBg9ZzsGPoYb9igvSC2uGEYbVCgvUkcK7ih0GFsK7cIaGlY8G5yIh5yIW5yw25A6d5BEL5yw35Qcp5yQF6io95PE25Ps26lw377Yi5lI76Aky5yIh5O2I5lIn5OMt5PAT77Yj77YBy2fWDhvYzsdPMlBMRRxVViZNU5xLViaGCgfUzwWUANmG55Qeihn0B3bqCM9WywDHDgLVBGOGihzHCIb0B29SuMfPBca9igrVy3vTzw50lNf1zxj5u2vSzwn0B3iOjY50B29SlxjHAwWNktSkicbPzIaODg9VBfjHAwWPihSkicaGihrVB2XsywLSlMfKzev2zw50tgLZDgvUzxiOj2nSAwnRjYWGzNvUy3rPB24GkguPihSkicaGicaGDMfYigiGpsbLlNrHCMDLDc5JBg9Zzxn0kcCUAwnVBI1IDg4NktSkicaGicaGAwyGkcfIihX8igiUAwqGpt09icDKzwj1z0j0BICGFhWGyI5Pzca9pt0Gj3rOzw1LqNrUjYb8FcbIlMLKid09psaNzNvSBhnJCMvLBKj0BICPihSGCMv0DxjUoYb9cIaGicaGigLMicHtlM9Wzw4PihSGy2XVC2uOktSGFqOGicaGFsWGDhj1zsK7cIaGFqOGicqOj2rLyNvNq2XVC2uNks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSignSB3nLktSkicaKkcDKzwj1z1jLzNjLC2GNks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSigz1BMn0Aw9UicGPihSGCMvMCMvZAfn0yxr1CYGPoYbPzIaOuY50ywiGpt09icDKzwj1zYCPihSGCNvUrgvIDwCOktSGFsb9ktSkicaKkcDKzwj1z1rHyNmNks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSigz1BMn0Aw9UicHLksb7cIaGicb2yxiGDca9iguUDgfYz2v0lMnSB3nLC3qOjY5Kzwj1zY10ywiNktSkicaGigLMicH0ksb7ihnLDfrHyIH0lMDLDef0DhjPyNv0zsGNzgf0ys10ywiNksK7ih0kicb9ktSkicaKkcDKzwj1z1j1BICPlMfKzev2zw50tgLZDgvUzxiOj2nSAwnRjYWGzNvUy3rPB24GkcKGEYbYDw5ezwj1zYGPoYb9ktSkicaKkcDKzwj1z0f1Dg8Nks5HzgrfDMvUDeXPC3rLBMvYkcDJAgfUz2uNlcbMDw5JDgLVBIaOksb7ifmUyxv0BYa9icqOj2rLyNvNqxv0BYCPlMnOzwnRzwq7ihn0yxj0qxv0BYGPoYb9ktSkicaKkcDJBgLJA0zPBMqNks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSigzPBMrfBgvTzw50CYK7cIaGjcGNy2XPy2TsDw4Nks5HzgrfDMvUDeXPC3rLBMvYkcDJBgLJAYCSigz1BMn0Aw9UicGPihSGzg9dBgLJAYGPoYb9ktSkicaKkcDLDMfSuNvUjYKUywrKrxzLBNrmAxn0zw5LCIGNy2XPy2SNlcbYDw5fDMfSktSkicaKkcDZAg90uNvUjYKUywrKrxzLBNrmAxn0zw5LCIGNy2XPy2SNlcbYDw5tAg90ktSkicaKkcDLDMfSq29KzsCPlMfKzev2zw50tgLZDgvUzxiOj2TLEwrVD24NlcbMDw5JDgLVBIaOzsKGEWOGicaGAwyGkcHLlMn0CMXlzxKGFhWGzs5TzxrHs2v5ksaMjIbLlMTLEsa9pt0Gj0vUDgvYjYKGEYbYDw5fDMfSkcK7ih0kicb9ktSkFsKOktSk','B3nZqNvJA2v0','Cgf0y2HqCM9W','CMvHzezPBgvtEw5J','C3nYq29UDgv4DeTLEq','sevbra','EMLK','DMfSDwu','iIaMjIbNEMLWic1Jici','BwfPBG','w0fPv2L0Af0GD3mG5lIn5y+V55sO77Ymv2vIu29JA2v0ioMaMUMbK+s4JEwpR+EuQdO','Ec1HAxDPDgGTz2f0zxDHEq','cMv4Cg9YDcbKzwzHDwX0ihS','CgLUzW','lNzPCa','l2fWAs9WywDLl3n0yxr1CW','D3jPDgu','y2XVC2u','zgv2u2vYDMvY','id0GD2LUzg93lLz1zvS','C29YDa','CMv2zxj0','C3rYzwfT','BwfYA0rVBMu','ywn0AxzL','Aw1WB3j0xhmQxhSOw159xsOPxh1CCYPMCM9TxhmQwYDCiL0O','l2fJy291BNqUy3nZ','BM9YBwfSAxPLq2XHC3m','Aw1WB3j0xhmQwYDCiL0O','Dg9szwy','BM9Uzq','AxnszwfKB25SEq','zgvIDwCUANm','B3nZuMvNAw9U','ksK7zg9JDw1LBNqUAgvHzc5HChbLBMrdAgLSzcHZkx0PkcK7','Cg9W','D2fPDa','iIa+ici'];a=function(){return fL;};return a();}const cJ=b;(function(c,d){const cI=b,e=c();while(!![]){try{const f=-parseInt(cI(0x1be))/0x1+parseInt(cI(0x44d))/0x2+parseInt(cI(0x1cf))/0x3*(parseInt(cI(0x29e))/0x4)+parseInt(cI(0x354))/0x5*(-parseInt(cI(0x3a5))/0x6)+parseInt(cI(0x262))/0x7*(-parseInt(cI(0x388))/0x8)+-parseInt(cI(0x308))/0x9*(-parseInt(cI(0x3e8))/0xa)+parseInt(cI(0x261))/0xb;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x8b6b7));function b(c,d){c=c-0x162;const e=a();let f=e[c];if(b['pyyWii']===undefined){var g=function(l){const m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let n='',o='';for(let p=0x0,q,r,s=0x0;r=l['charAt'](s++);~r&&(q=p%0x4?q*0x40+r:r,p++%0x4)?n+=String['fromCharCode'](0xff&q>>(-0x2*p&0x6)):0x0){r=m['indexOf'](r);}for(let t=0x0,u=n['length'];t<u;t++){o+='%'+('00'+n['charCodeAt'](t)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(o);};b['xpfQQz']=g,b['uyUgke']={},b['pyyWii']=!![];}const h=e[0x0],i=c+h,j=b['uyUgke'][i];return!j?(f=b['xpfQQz'](f),b['uyUgke'][i]=f):f=j,f;}var tt=Object[cJ(0x3fd)],tn=Object[cJ(0x3d5)],rt=Object['getOwnPropertyDescriptor'],at=Object['getOwnPropertyNames'],it=Object['getPrototypeOf'],ot=Object['prototype'][cJ(0x18c)],st=(d,e,g)=>()=>{if(g)throw g[0x0];try{return d&&(e=d(d=0x0)),e;}catch(h){throw g=[h],h;}},fe=(d,e)=>()=>{const cK=cJ;try{return e||d((e={'exports':{}})['exports'],e),e[cK(0x369)];}catch(g){throw e=0x0,g;}},ct=(d,e,g,h)=>{const cL=cJ;if(e&&typeof e=='object'||typeof e==cL(0x22a)){for(let i of at(e))!ot['call'](d,i)&&i!==g&&tn(d,i,{'get':()=>e[i],'enumerable':!(h=rt(e,i))||h[cL(0x393)]});}return d;},Pe=(d,e,g)=>(g=d!=null?tt(it(d)):{},ct(e||!d||!d[cJ(0x2a1)]?tn(g,cJ(0x2f3),{'value':d,'enumerable':!0x0}):g,d)),oe,W=st(()=>{const cM=cJ;oe={'panel.html':'<!DOCTYPE\x20html>\x0a<html\x20lang=\x22zh-CN\x22\x20data-theme=\x22light\x22>\x0a<head>\x0a<meta\x20charset=\x22utf-8\x22>\x0a<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1.0,\x20viewport-fit=cover,\x20user-scalable=no\x22>\x0a<title>AiWith</title>\x0a<script>try{if(localStorage.getItem(\x27zen-aiwith:theme\x27)===\x27dark\x27){document.documentElement.setAttribute(\x27data-theme\x27,\x27dark\x27)}}catch(e){}</script>\x0a<link\x20rel=\x22stylesheet\x22\x20href=\x22/aiwith/panel.css\x22>\x0a<link\x20rel=\x22stylesheet\x22\x20href=\x22/aiwith/factory.css\x22>\x0a<link\x20rel=\x22stylesheet\x22\x20href=\x22/aiwith/debug.css\x22>\x0a<link\x20rel=\x22stylesheet\x22\x20href=\x22/aiwith/account.css\x22>\x0a</head>\x0a<body>\x0a<nav\x20class=\x22tool-rail\x22\x20id=\x22toolRail\x22>\x0a\x20\x20<div\x20class=\x22mcp-badge\x22\x20id=\x22mcpBadge\x22\x20style=\x22display:none\x22></div>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22newSessionBtn\x22\x20data-tip=\x22新建会话\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M5\x2012h14\x22/><path\x20d=\x22M12\x205v14\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22historyBtn\x22\x20data-tip=\x22历史会话\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x2012a9\x209\x200\x201\x200\x209-9\x209.75\x209.75\x200\x200\x200-6.74\x202.74L3\x208\x22/><path\x20d=\x22M3\x203v5h5\x22/><path\x20d=\x22M12\x207v5l4\x202\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22themeBtn\x22\x20data-tip=\x22切换主题\x22\x20data-tip-pos=\x22right\x22></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22reviewBtn\x22\x20data-tip=\x22会话更改(审查)\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M15\x202H6a2\x202\x200\x200\x200-2\x202v16a2\x202\x200\x200\x200\x202\x202h12a2\x202\x200\x200\x200\x202-2V7Z\x22/><path\x20d=\x22M14\x202v4a2\x202\x200\x200\x200\x202\x202h4\x22/><path\x20d=\x22M9\x2015h6\x22/><path\x20d=\x22M9\x2011h2\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22undoBtn\x22\x20data-tip=\x22撤销上一条消息\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x207v6h6\x22/><path\x20d=\x22M21\x2017a9\x209\x200\x200\x200-9-9\x209\x209\x200\x200\x200-6\x202.3L3\x2013\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22redoBtn\x22\x20data-tip=\x22重做(取消撤销)\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M21\x207v6h-6\x22/><path\x20d=\x22M3\x2017a9\x209\x200\x200\x201\x209-9\x209\x209\x200\x200\x201\x206\x202.3L21\x2013\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22compactBtn\x22\x20data-tip=\x22压缩会话(总结以减少上下文)\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22m7\x2020\x205-5\x205\x205\x22/><path\x20d=\x22m7\x204\x205\x205\x205-5\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22factoryBtn\x22\x20data-tip=\x22任务中心\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M2\x2020a2\x202\x200\x200\x200\x202\x202h16a2\x202\x200\x200\x200\x202-2V8l-7\x205V8l-7\x205V4a2\x202\x200\x200\x200-2-2H4a2\x202\x200\x200\x200-2\x202Z\x22/><path\x20d=\x22M17\x2018h1\x22/><path\x20d=\x22M12\x2018h1\x22/><path\x20d=\x22M7\x2018h1\x22/></svg><span\x20class=\x22factory-unread\x22\x20id=\x22factoryUnread\x22></span></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22debugBtn\x22\x20data-tip=\x22调试(页内)\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22m8\x202\x201.88\x201.88\x22/><path\x20d=\x22M14.12\x203.88\x2016\x202\x22/><path\x20d=\x22M9\x207.13v-1a3.003\x203.003\x200\x201\x201\x206\x200v1\x22/><path\x20d=\x22M12\x2020c-3.3\x200-6-2.7-6-6v-3a4\x204\x200\x200\x201\x204-4h4a4\x204\x200\x200\x201\x204\x204v3c0\x203.3-2.7\x206-6\x206\x22/><path\x20d=\x22M12\x2020v-9\x22/><path\x20d=\x22M6.53\x209C4.6\x208.8\x203\x207.1\x203\x205\x22/><path\x20d=\x22M6\x2013H2\x22/><path\x20d=\x22M3\x2021c0-2.1\x201.7-3.9\x203.8-4\x22/><path\x20d=\x22M20.97\x205c0\x202.1-1.6\x203.8-3.5\x204\x22/><path\x20d=\x22M22\x2013h-4\x22/><path\x20d=\x22M17.2\x2017c2.1.1\x203.8\x201.9\x203.8\x204\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22accountBtn\x22\x20data-tip=\x22账号(Token\x20/\x20SSH\x20Key)\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M19\x2021v-2a4\x204\x200\x200\x200-4-4H9a4\x204\x200\x200\x200-4\x204v2\x22/><circle\x20cx=\x2212\x22\x20cy=\x227\x22\x20r=\x224\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x22\x20id=\x22fullscreenBtn\x22\x20data-tip=\x22全屏\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M8\x203H5a2\x202\x200\x200\x200-2\x202v3\x22/><path\x20d=\x22M21\x208V5a2\x202\x200\x200\x200-2-2h-3\x22/><path\x20d=\x22M3\x2016v3a2\x202\x200\x200\x200\x202\x202h3\x22/><path\x20d=\x22M16\x2021h3a2\x202\x200\x200\x200\x202-2v-3\x22/></svg></button>\x0a\x20\x20<button\x20class=\x22icon-btn\x20has-tip\x20push-bottom\x22\x20id=\x22closeBtn\x22\x20data-tip=\x22收起面板\x22\x20data-tip-pos=\x22right\x22><svg\x20class=\x22ico\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M18\x206\x206\x2018\x22/><path\x20d=\x22m6\x206\x2012\x2012\x22/></svg></button>\x0a</nav>\x0a<header>\x0a\x20\x20<div\x20class=\x22ctx-track\x22><div\x20class=\x22ctx-fill\x22\x20id=\x22ctxFill\x22></div></div>\x0a\x20\x20<button\x20class=\x22model-picker\x22\x20id=\x22modelPicker\x22\x20title=\x22切换模型\x22></button>\x0a\x20\x20<span\x20class=\x22ctx-text\x22\x20id=\x22ctxText\x22></span>\x0a\x20\x20<span\x20class=\x22branch-badge\x22\x20id=\x22branchBadge\x22\x20style=\x22display:none\x22></span>\x0a</header>\x0a<div\x20class=\x22tabs\x22\x20id=\x22tabsBar\x22></div>\x0a<div\x20class=\x22mcp-tip\x22\x20id=\x22mcpTip\x22></div>\x0a<div\x20class=\x22model-panel\x22\x20id=\x22modelPanel\x22>\x0a\x20\x20<div\x20class=\x22model-head\x22>选择模型</div>\x0a\x20\x20<div\x20class=\x22model-list\x22\x20id=\x22modelList\x22></div>\x0a</div>\x0a<div\x20class=\x22diff-panel\x22\x20id=\x22diffPanel\x22>\x0a\x20\x20<div\x20class=\x22history-head\x22>会话更改\x20<span\x20id=\x22diffStat\x22></span></div>\x0a\x20\x20<div\x20class=\x22diff-body\x22\x20id=\x22diffBody\x22></div>\x0a</div>\x0a<div\x20class=\x22git-panel\x22\x20id=\x22gitPanel\x22>\x0a\x20\x20<div\x20class=\x22git-head\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22git-branch\x22><svg\x20class=\x22ico\x22\x20width=\x2213\x22\x20height=\x2213\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x226\x22\x20x2=\x226\x22\x20y1=\x223\x22\x20y2=\x2215\x22/><circle\x20cx=\x2218\x22\x20cy=\x226\x22\x20r=\x223\x22/><circle\x20cx=\x226\x22\x20cy=\x2218\x22\x20r=\x223\x22/><path\x20d=\x22M18\x209a9\x209\x200\x200\x201-9\x209\x22/></svg><span\x20id=\x22gitBranchLabel\x22>—</span></span>\x0a\x20\x20\x20\x20<select\x20class=\x22git-branch-select\x22\x20id=\x22gitBranchSelect\x22\x20title=\x22切换本地分支\x22></select>\x0a\x20\x20\x20\x20<button\x20class=\x22git-icon-btn\x22\x20id=\x22gitRefreshBtn\x22\x20title=\x22刷新状态\x22><svg\x20class=\x22ico\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x2012a9\x209\x200\x200\x201\x209-9\x209.75\x209.75\x200\x200\x201\x206.74\x202.74L21\x208\x22/><path\x20d=\x22M21\x203v5h-5\x22/><path\x20d=\x22M21\x2012a9\x209\x200\x200\x201-9\x209\x209.75\x209.75\x200\x200\x201-6.74-2.74L3\x2016\x22/><path\x20d=\x22M8\x2016H3v5\x22/></svg></button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22git-body\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22git-changes-head\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20id=\x22gitChangesCount\x22>变更</span>\x0a\x20\x20\x20\x20\x20\x20<button\x20class=\x22git-mini\x22\x20id=\x22gitStageAll\x22>全部暂存</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20class=\x22git-mini\x22\x20id=\x22gitUnstageAll\x22>全部取消暂存</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22git-files\x22\x20id=\x22gitFiles\x22></div>\x0a\x20\x20\x20\x20<div\x20class=\x22git-commit\x22>\x0a\x20\x20\x20\x20\x20\x20<textarea\x20id=\x22gitCommitMsg\x22\x20rows=\x222\x22\x20placeholder=\x22提交信息(Enter\x20提交,Shift+Enter\x20换行)\x22></textarea>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22git-commit-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22git-btn\x20primary\x22\x20id=\x22gitCommitBtn\x22>提交</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22git-btn\x22\x20id=\x22gitPullBtn\x22>拉取</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22git-btn\x22\x20id=\x22gitPushBtn\x22>推送</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22git-msg\x22\x20id=\x22gitMsg\x22></div>\x0a\x20\x20</div>\x0a</div>\x0a<div\x20class=\x22history-panel\x22\x20id=\x22historyPanel\x22>\x0a\x20\x20<div\x20class=\x22history-head\x22><svg\x20class=\x22ico\x22\x20width=\x2213\x22\x20height=\x2213\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x2012a9\x209\x200\x201\x200\x209-9\x209.75\x209.75\x200\x200\x200-6.74\x202.74L3\x208\x22/><path\x20d=\x22M3\x203v5h5\x22/><path\x20d=\x22M12\x207v5l4\x202\x22/></svg>\x20历史会话</div>\x0a\x20\x20<div\x20class=\x22history-list\x22\x20id=\x22historyList\x22></div>\x0a</div>\x0a<div\x20class=\x22revert-bar\x22\x20id=\x22revertBar\x22></div>\x0a<div\x20class=\x22queue-bar\x22\x20id=\x22queueBar\x22></div>\x0a<div\x20class=\x22child-bar\x22\x20id=\x22childBar\x22></div>\x0a<div\x20id=\x22questionBar\x22></div>\x0a<div\x20id=\x22permissionBar\x22></div>\x0a<main\x20id=\x22messageList\x22><div\x20class=\x22empty\x22><div\x20class=\x22big\x22><svg\x20class=\x22ico\x22\x20width=\x2244\x22\x20height=\x2244\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x221.5\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M12\x208V4H8\x22/><rect\x20width=\x2216\x22\x20height=\x2212\x22\x20x=\x224\x22\x20y=\x228\x22\x20rx=\x222\x22/><path\x20d=\x22M2\x2014h2\x22/><path\x20d=\x22M20\x2014h2\x22/><path\x20d=\x22M15\x2013v2\x22/><path\x20d=\x22M9\x2013v2\x22/></svg></div>有什么需求您请说</div></main>\x0a<footer>\x0a\x20\x20<div\x20class=\x22attach-bar\x22\x20id=\x22attachBar\x22></div>\x0a\x20\x20<div\x20class=\x22cmd-panel\x22\x20id=\x22cmdPanel\x22></div>\x0a\x20\x20<div\x20class=\x22mention-panel\x22\x20id=\x22mentionPanel\x22></div>\x0a\x20\x20<div\x20class=\x22input-row\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22input-box\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22agent-switch\x22\x20id=\x22agentSwitch\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22shell-badge\x22\x20id=\x22shellBadge\x22\x20style=\x22display:none\x22>Shell</div>\x0a\x20\x20\x20\x20\x20\x20<textarea\x20id=\x22promptInput\x22\x20rows=\x221\x22\x20title=\x22Enter\x20发送\x20/\x20运行中\x20Enter\x20引导、Alt+Enter\x20排队;Tab\x20切换智能体;/\x20命令;@\x20引用文件;!\x20shell\x22\x20placeholder=\x22Enter键发送任务,Tab键切换模式\x22></textarea>\x0a\x20\x20\x20\x20\x20\x20<button\x20class=\x22img-btn\x22\x20id=\x22attachBtn\x22\x20title=\x22上传图片(经\x20kooteam\x20转发)\x22><svg\x20class=\x22ico\x22\x20width=\x2217\x22\x20height=\x2217\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M16\x205h6\x22/><path\x20d=\x22M19\x202v6\x22/><path\x20d=\x22M21\x2011.5V19a2\x202\x200\x200\x201-2\x202H5a2\x202\x200\x200\x201-2-2V5a2\x202\x200\x200\x201\x202-2h7.5\x22/><path\x20d=\x22m21\x2015-3.086-3.086a2\x202\x200\x200\x200-2.828\x200L6\x2021\x22/><circle\x20cx=\x229\x22\x20cy=\x229\x22\x20r=\x222\x22/></svg></button>\x0a\x20\x20\x20\x20\x20\x20<input\x20type=\x22file\x22\x20id=\x22attachInput\x22\x20accept=\x22image/png,image/jpeg,image/gif,image/webp\x22\x20multiple\x20style=\x22display:none\x22>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<button\x20class=\x22send-btn\x22\x20id=\x22sendBtn\x22\x20title=\x22发送\x22><svg\x20class=\x22ico\x22\x20width=\x2217\x22\x20height=\x2217\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M14.536\x2021.686a.5.5\x200\x200\x200\x20.937-.024l6.5-19a.496.496\x200\x200\x200-.635-.635l-19\x206.5a.5.5\x200\x200\x200-.024.937l7.93\x203.18a2\x202\x200\x200\x201\x201.112\x201.11z\x22/><path\x20d=\x22m21.854\x202.147-10.94\x2010.939\x22/></svg></button>\x0a\x20\x20</div>\x0a</footer>\x0a\x0a<div\x20class=\x22account-overlay\x22\x20id=\x22accountOverlay\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20<div\x20class=\x22account-head\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22account-title\x22>账号</span>\x0a\x20\x20\x20\x20<span\x20class=\x22account-sub\x22\x20id=\x22accountSub\x22></span>\x0a\x20\x20\x20\x20<button\x20class=\x22account-icon-btn\x22\x20id=\x22accountClose\x22\x20title=\x22关闭\x22><svg\x20class=\x22ico\x22\x20width=\x2215\x22\x20height=\x2215\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M18\x206\x206\x2018\x22/><path\x20d=\x22m6\x206\x2012\x2012\x22/></svg></button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22account-body\x22>\x0a\x20\x20\x20\x20<section\x20class=\x22account-card\x22>\x0a\x20\x20\x20\x20\x20\x20<h4>用户\x20Token</h4>\x0a\x20\x20\x20\x20\x20\x20<p\x20class=\x22account-hint\x22>用于任务中心与\x20SSH\x20Key\x20管理;保存后存在本机\x20AiWith(localStorage),凭证不随后端下发。留空则回退宿主页登录态。</p>\x0a\x20\x20\x20\x20\x20\x20<input\x20class=\x22account-input\x22\x20id=\x22accountToken\x22\x20type=\x22password\x22\x20autocomplete=\x22off\x22\x20placeholder=\x22粘贴\x20Token\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22account-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22account-btn\x20primary\x22\x20id=\x22accountTokenSave\x22>保存</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22account-btn\x22\x20id=\x22accountTokenClear\x22>清除</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22account-state\x22\x20id=\x22accountTokenState\x22></span>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22account-card\x22>\x0a\x20\x20\x20\x20\x20\x20<h4>Git\x20SSH\x20Key</h4>\x0a\x20\x20\x20\x20\x20\x20<p\x20class=\x22account-hint\x22>黑灯工厂\x20cell\x20/\x20工作台以本人\x20key\x20拉取推送代码;私钥加密存服务端(按用户),本机不留私钥。</p>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22account-key-state\x22\x20id=\x22accountKeyState\x22>加载中…</div>\x0a\x20\x20\x20\x20\x20\x20<textarea\x20class=\x22account-textarea\x22\x20id=\x22accountKeyInput\x22\x20rows=\x225\x22\x20autocomplete=\x22off\x22\x20placeholder=\x22-----BEGIN\x20OPENSSH\x20PRIVATE\x20KEY-----\x22></textarea>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22account-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22account-btn\x20primary\x22\x20id=\x22accountKeySave\x22>保存\x20Key</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22account-btn\x20danger\x22\x20id=\x22accountKeyRemove\x22>移除</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22account-state\x22\x20id=\x22accountKeyMsg\x22></span>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22account-card\x22>\x0a\x20\x20\x20\x20\x20\x20<h4>工作台与预览</h4>\x0a\x20\x20\x20\x20\x20\x20<p\x20class=\x22account-hint\x22>云端工作台状态与已注册的项目预览入口(本地\x20dev\x20打开的面板无需工作台)。</p>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22account-key-state\x22\x20id=\x22accountCellState\x22>未加载</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22account-preview-list\x22\x20id=\x22accountPreviewList\x22></div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20</div>\x0a</div>\x0a\x0a<div\x20class=\x22factory-overlay\x22\x20id=\x22factoryOverlay\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20<div\x20class=\x22factory-head\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22factory-title\x22>任务中心</span>\x0a\x20\x20\x20\x20<span\x20class=\x22factory-app\x22\x20id=\x22factoryApp\x22\x20title=\x22当前应用\x22></span>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-icon-btn\x22\x20id=\x22factoryRefresh\x22\x20title=\x22刷新\x22><svg\x20class=\x22ico\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x2012a9\x209\x200\x200\x201\x209-9\x209.75\x209.75\x200\x200\x201\x206.74\x202.74L21\x208\x22/><path\x20d=\x22M21\x203v5h-5\x22/><path\x20d=\x22M21\x2012a9\x209\x200\x200\x201-9\x209\x209.75\x209.75\x200\x200\x201-6.74-2.74L3\x2016\x22/><path\x20d=\x22M8\x2016H3v5\x22/></svg></button>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-icon-btn\x22\x20id=\x22factoryClose\x22\x20title=\x22关闭\x22><svg\x20class=\x22ico\x22\x20width=\x2215\x22\x20height=\x2215\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M18\x206\x206\x2018\x22/><path\x20d=\x22m6\x206\x2012\x2012\x22/></svg></button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22factory-tabs\x22\x20id=\x22factoryTabs\x22>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-tab\x20active\x22\x20data-tab=\x22task\x22>任务</button>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-tab\x22\x20data-tab=\x22story\x22>需求</button>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-tab\x22\x20data-tab=\x22issue\x22>问题</button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22factory-toolbar\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22factory-filters\x22\x20id=\x22factoryFilters\x22></div>\x0a\x20\x20\x20\x20<button\x20class=\x22factory-new\x22\x20id=\x22factoryNew\x22>新建</button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22factory-body\x22\x20id=\x22factoryBody\x22></div>\x0a\x20\x20<div\x20class=\x22factory-detail\x22\x20id=\x22factoryDetail\x22\x20style=\x22display:none\x22></div>\x0a\x20\x20<div\x20class=\x22factory-msg\x22\x20id=\x22factoryMsg\x22></div>\x0a</div>\x0a\x0a<div\x20class=\x22debug-overlay\x22\x20id=\x22debugOverlay\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20<div\x20class=\x22debug-head\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22debug-title\x22>调试</span>\x0a\x20\x20\x20\x20<span\x20class=\x22debug-target\x20offline\x22\x20id=\x22debugTarget\x22>未连接页面</span>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-icon-btn\x22\x20id=\x22debugRefresh\x22\x20title=\x22刷新\x22><svg\x20class=\x22ico\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M3\x2012a9\x209\x200\x200\x201\x209-9\x209.75\x209.75\x200\x200\x201\x206.74\x202.74L21\x208\x22/><path\x20d=\x22M21\x203v5h-5\x22/><path\x20d=\x22M21\x2012a9\x209\x200\x200\x201-9\x209\x209.75\x209.75\x200\x200\x201-6.74-2.74L3\x2016\x22/><path\x20d=\x22M8\x2016H3v5\x22/></svg></button>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-icon-btn\x22\x20id=\x22debugClose\x22\x20title=\x22关闭\x22><svg\x20class=\x22ico\x22\x20width=\x2215\x22\x20height=\x2215\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M18\x206\x206\x2018\x22/><path\x20d=\x22m6\x206\x2012\x2012\x22/></svg></button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22debug-tabs\x22\x20id=\x22debugTabs\x22>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-tab\x20active\x22\x20data-tab=\x22debug\x22>调试</button>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-tab\x22\x20data-tab=\x22click\x22>点击</button>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-tab\x22\x20data-tab=\x22eval\x22>执行JS</button>\x0a\x20\x20\x20\x20<button\x20class=\x22debug-tab\x22\x20data-tab=\x22shot\x22>截图</button>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22debug-body\x22>\x0a\x20\x20\x20\x20<section\x20class=\x22debug-pane\x22\x20data-pane=\x22debug\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label>区域</label><input\x20id=\x22debugSelector\x22\x20placeholder=\x22选择器,默认整页\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label>节点上限</label><input\x20id=\x22debugMaxNodes\x22\x20type=\x22number\x22\x20value=\x22250\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22debug-btn\x20primary\x22\x20id=\x22debugRun\x22>采集</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22debug-auto\x22><input\x20type=\x22checkbox\x22\x20id=\x22debugAuto\x22\x20checked>自动刷新</label>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-grid\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>页面</h4><pre\x20id=\x22debugMeta\x22></pre></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>错误\x20<span\x20id=\x22debugErrorCount\x22></span></h4><pre\x20id=\x22debugErrors\x22></pre></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>控制台</h4><pre\x20id=\x22debugConsole\x22></pre></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>网络</h4><pre\x20id=\x22debugNet\x22></pre></div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>DOM\x20摘要</h4><pre\x20id=\x22debugDom\x22></pre></div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22debug-pane\x22\x20data-pane=\x22click\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label>选择器</label><input\x20id=\x22clickSelector\x22\x20placeholder=\x22#app\x20.btn\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22debug-btn\x22\x20id=\x22clickFind\x22>查询</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22debug-btn\x20primary\x22\x20id=\x22clickRun\x22>点击</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>结果</h4><pre\x20id=\x22clickResult\x22>—</pre></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>匹配元素(点条目直接点击)</h4><div\x20class=\x22debug-list\x22\x20id=\x22clickList\x22></div></div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22debug-pane\x22\x20data-pane=\x22eval\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-row\x22><label>JavaScript(Ctrl/Cmd+Enter\x20执行)</label></div>\x0a\x20\x20\x20\x20\x20\x20<textarea\x20id=\x22evalCode\x22\x20rows=\x225\x22\x20placeholder=\x22document.title\x22></textarea>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-row\x22><button\x20class=\x22debug-btn\x20primary\x22\x20id=\x22evalRun\x22>执行</button><span\x20class=\x22debug-hint\x22>最后表达式的值即结果</span></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><h4>结果</h4><pre\x20id=\x22evalResult\x22>—</pre></div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22debug-pane\x22\x20data-pane=\x22shot\x22\x20hidden>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label>区域</label><input\x20id=\x22shotSelector\x22\x20placeholder=\x22选择器,默认整页\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label>缩放</label><input\x20id=\x22shotScale\x22\x20type=\x22number\x22\x20value=\x221\x22\x20step=\x220.5\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22debug-btn\x20primary\x22\x20id=\x22shotRun\x22>截图</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\x22debug-btn\x22\x20id=\x22shotDownload\x22\x20download=\x22aiwith-shot.png\x22\x20style=\x22display:none\x22>下载</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22debug-hint\x22>自动排除\x20AiWith\x20浮标/抽屉</span>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22debug-card\x22><div\x20class=\x22debug-shot\x22\x20id=\x22shotBox\x22>暂无截图</div></div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20</div>\x0a\x20\x20<div\x20class=\x22debug-msg\x22\x20id=\x22debugMsg\x22></div>\x0a</div>\x0a<script\x20src=\x22/aiwith/panel.js\x22></script>\x0a<script\x20src=\x22/aiwith/factory.js\x22></script>\x0a<script\x20src=\x22/aiwith/debug.js\x22></script>\x0a<script\x20src=\x22/aiwith/account.js\x22></script>\x0a</body>\x0a</html>\x0a','panel.css':cM(0x204),'panel.js':cM(0x233),'widget.js':cM(0x1c2),'factory.css':'/*\x20AiWith\x20任务中心(Thor)覆盖层\x20——\x20复用\x20panel.css\x20的主题变量\x20*/\x0a#factoryBtn\x20{\x20position:\x20relative;\x20}\x0a.factory-unread\x20{\x20position:\x20absolute;\x20top:\x202px;\x20right:\x202px;\x20width:\x208px;\x20height:\x208px;\x20border-radius:\x2050%;\x20background:\x20var(--err);\x20display:\x20none;\x20}\x0a.factory-unread.show\x20{\x20display:\x20block;\x20}\x0a\x0a.factory-overlay\x20{\x0a\x20\x20position:\x20fixed;\x20top:\x200;\x20right:\x200;\x20bottom:\x200;\x20left:\x2046px;\x20z-index:\x2088;\x0a\x20\x20display:\x20none;\x20flex-direction:\x20column;\x0a\x20\x20background:\x20var(--bg);\x20color:\x20var(--text);\x20font-size:\x2013px;\x0a}\x0a.factory-overlay.show\x20{\x20display:\x20flex;\x20}\x0a\x0a.factory-head\x20{\x0a\x20\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x208px;\x20padding:\x2010px\x2012px;\x0a\x20\x20border-bottom:\x201px\x20solid\x20var(--border);\x20background:\x20var(--header-bg);\x20backdrop-filter:\x20blur(8px);\x0a}\x0a.factory-title\x20{\x20font-weight:\x20600;\x20font-size:\x2014px;\x20}\x0a.factory-app\x20{\x0a\x20\x20margin-left:\x20auto;\x20font-size:\x2012px;\x20padding:\x202px\x209px;\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--border-strong);\x20background:\x20var(--bg-card);\x20color:\x20var(--text-dim);\x0a\x20\x20max-width:\x20150px;\x20overflow:\x20hidden;\x20text-overflow:\x20ellipsis;\x20white-space:\x20nowrap;\x0a}\x0a.factory-icon-btn\x20{\x0a\x20\x20display:\x20flex;\x20align-items:\x20center;\x20justify-content:\x20center;\x20width:\x2026px;\x20height:\x2026px;\x0a\x20\x20border:\x201px\x20solid\x20var(--border);\x20border-radius:\x208px;\x20background:\x20none;\x20color:\x20var(--text-dim);\x20cursor:\x20pointer;\x0a}\x0a.factory-icon-btn:hover\x20{\x20color:\x20var(--brand-text);\x20border-color:\x20var(--brand-strong);\x20background:\x20var(--brand-soft);\x20}\x0a\x0a.factory-tabs\x20{\x20display:\x20flex;\x20gap:\x204px;\x20padding:\x208px\x2012px\x200;\x20}\x0a.factory-tab\x20{\x0a\x20\x20border:\x20none;\x20background:\x20none;\x20color:\x20var(--text-dim);\x20font-size:\x2013px;\x20padding:\x206px\x2012px\x208px;\x0a\x20\x20border-radius:\x208px\x208px\x200\x200;\x20cursor:\x20pointer;\x20border-bottom:\x202px\x20solid\x20transparent;\x0a}\x0a.factory-tab.active\x20{\x20color:\x20var(--brand-text);\x20border-bottom-color:\x20var(--brand);\x20font-weight:\x20600;\x20}\x0a\x0a.factory-toolbar\x20{\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x208px;\x20padding:\x208px\x2012px;\x20border-bottom:\x201px\x20solid\x20var(--border);\x20}\x0a.factory-filters\x20{\x20display:\x20flex;\x20gap:\x206px;\x20flex:\x201;\x20overflow-x:\x20auto;\x20}\x0a.factory-filter\x20{\x0a\x20\x20font-size:\x2012px;\x20padding:\x203px\x209px;\x20border-radius:\x20999px;\x20border:\x201px\x20solid\x20var(--border);\x0a\x20\x20background:\x20none;\x20color:\x20var(--text-dim);\x20cursor:\x20pointer;\x20white-space:\x20nowrap;\x0a}\x0a.factory-filter.active\x20{\x20background:\x20var(--brand-soft);\x20color:\x20var(--brand-text);\x20border-color:\x20var(--brand-strong);\x20}\x0a.factory-new\x20{\x20font-size:\x2012px;\x20padding:\x205px\x2012px;\x20border-radius:\x208px;\x20border:\x20none;\x20background:\x20var(--gradient);\x20color:\x20#fff;\x20cursor:\x20pointer;\x20}\x0a\x0a.factory-body\x20{\x20flex:\x201;\x20overflow-y:\x20auto;\x20padding:\x2010px\x2012px\x2024px;\x20}\x0a.factory-item\x20{\x20border:\x201px\x20solid\x20var(--border);\x20border-radius:\x2010px;\x20padding:\x209px\x2011px;\x20margin-bottom:\x208px;\x20background:\x20var(--bg-card);\x20cursor:\x20pointer;\x20}\x0a.factory-item:hover\x20{\x20border-color:\x20var(--brand-strong);\x20}\x0a.factory-item-top\x20{\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x208px;\x20}\x0a.factory-item-title\x20{\x20flex:\x201;\x20font-size:\x2013px;\x20font-weight:\x20500;\x20overflow:\x20hidden;\x20text-overflow:\x20ellipsis;\x20white-space:\x20nowrap;\x20}\x0a.factory-tag\x20{\x20font-size:\x2011px;\x20padding:\x201px\x207px;\x20border-radius:\x20999px;\x20color:\x20#fff;\x20white-space:\x20nowrap;\x20}\x0a.factory-item-sub\x20{\x20margin-top:\x205px;\x20font-size:\x2011px;\x20color:\x20var(--text-faint);\x20display:\x20flex;\x20gap:\x2010px;\x20flex-wrap:\x20wrap;\x20}\x0a.factory-fail\x20{\x20color:\x20var(--err);\x20font-size:\x2011px;\x20margin-top:\x204px;\x20word-break:\x20break-all;\x20}\x0a.factory-empty\x20{\x20text-align:\x20center;\x20color:\x20var(--text-faint);\x20font-size:\x2012px;\x20padding:\x2040px\x200;\x20}\x0a\x0a.factory-form,\x20.factory-detail\x20{\x20position:\x20absolute;\x20inset:\x200;\x20z-index:\x205;\x20display:\x20none;\x20flex-direction:\x20column;\x20background:\x20var(--bg);\x20}\x0a.factory-form.show,\x20.factory-detail.show\x20{\x20display:\x20flex;\x20}\x0a.factory-panel-head\x20{\x0a\x20\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x208px;\x20padding:\x2010px\x2012px;\x0a\x20\x20border-bottom:\x201px\x20solid\x20var(--border);\x20background:\x20var(--header-bg);\x20backdrop-filter:\x20blur(8px);\x0a}\x0a.factory-panel-title\x20{\x20flex:\x201;\x20font-weight:\x20600;\x20font-size:\x2014px;\x20}\x0a.factory-panel-body\x20{\x20flex:\x201;\x20overflow-y:\x20auto;\x20padding:\x2012px;\x20}\x0a\x0a.factory-field\x20{\x20margin-bottom:\x2012px;\x20}\x0a.factory-label\x20{\x20display:\x20block;\x20font-size:\x2012px;\x20color:\x20var(--text-dim);\x20margin-bottom:\x205px;\x20}\x0a.factory-input,\x20.factory-textarea\x20{\x0a\x20\x20width:\x20100%;\x20box-sizing:\x20border-box;\x20font-size:\x2013px;\x20padding:\x208px\x2010px;\x20border-radius:\x208px;\x0a\x20\x20border:\x201px\x20solid\x20var(--border-strong);\x20background:\x20var(--bg-card);\x20color:\x20var(--text);\x20font-family:\x20inherit;\x0a}\x0a.factory-textarea\x20{\x20min-height:\x20110px;\x20resize:\x20vertical;\x20}\x0a.factory-submit\x20{\x0a\x20\x20width:\x20100%;\x20padding:\x209px;\x20border:\x20none;\x20border-radius:\x209px;\x20background:\x20var(--gradient);\x20color:\x20#fff;\x0a\x20\x20font-size:\x2013px;\x20cursor:\x20pointer;\x0a}\x0a.factory-submit[disabled]\x20{\x20opacity:\x20.6;\x20cursor:\x20default;\x20}\x0a.factory-check\x20{\x20display:\x20flex;\x20align-items:\x20center;\x20gap:\x208px;\x20font-size:\x2013px;\x20color:\x20var(--text-dim);\x20margin:\x204px\x200\x2014px;\x20cursor:\x20pointer;\x20}\x0a.factory-check\x20input\x20{\x20width:\x2015px;\x20height:\x2015px;\x20accent-color:\x20var(--brand);\x20}\x0a\x0a.factory-group\x20{\x20margin-bottom:\x2014px;\x20}\x0a.factory-group-title\x20{\x20font-size:\x2012px;\x20color:\x20var(--text-dim);\x20margin-bottom:\x206px;\x20font-weight:\x20600;\x20}\x0a.factory-row\x20{\x20display:\x20flex;\x20gap:\x208px;\x20padding:\x205px\x200;\x20font-size:\x2013px;\x20border-bottom:\x201px\x20dashed\x20var(--border);\x20}\x0a.factory-row-k\x20{\x20color:\x20var(--text-dim);\x20min-width:\x2062px;\x20}\x0a.factory-row-v\x20{\x20flex:\x201;\x20word-break:\x20break-all;\x20}\x0a.factory-stage\x20{\x20border:\x201px\x20solid\x20var(--border);\x20border-radius:\x209px;\x20padding:\x208px\x2010px;\x20margin-bottom:\x207px;\x20background:\x20var(--bg-card);\x20cursor:\x20pointer;\x20}\x0a.factory-stage:hover\x20{\x20border-color:\x20var(--brand-strong);\x20}\x0a.factory-actions\x20{\x20display:\x20flex;\x20flex-wrap:\x20wrap;\x20gap:\x208px;\x20margin:\x2010px\x200;\x20}\x0a.factory-btn\x20{\x20padding:\x206px\x2014px;\x20border-radius:\x208px;\x20border:\x201px\x20solid\x20var(--border-strong);\x20background:\x20none;\x20color:\x20var(--text);\x20font-size:\x2012px;\x20cursor:\x20pointer;\x20}\x0a.factory-btn.primary\x20{\x20background:\x20var(--brand-soft);\x20color:\x20var(--brand-text);\x20border-color:\x20var(--brand-strong);\x20}\x0a.factory-btn.danger\x20{\x20background:\x20rgba(220,\x2038,\x2038,\x20.08);\x20color:\x20var(--err);\x20border-color:\x20rgba(220,\x2038,\x2038,\x20.35);\x20}\x0a.factory-btn[disabled]\x20{\x20opacity:\x20.5;\x20cursor:\x20default;\x20}\x0a.factory-msg-item\x20{\x20font-size:\x2012px;\x20padding:\x206px\x200;\x20border-bottom:\x201px\x20dashed\x20var(--border);\x20}\x0a.factory-msg-type\x20{\x20color:\x20var(--brand-text);\x20margin-right:\x206px;\x20}\x0a\x0a.factory-msg\x20{\x0a\x20\x20position:\x20absolute;\x20left:\x2050%;\x20bottom:\x2018px;\x20transform:\x20translateX(-50%);\x20max-width:\x2088%;\x0a\x20\x20padding:\x208px\x2014px;\x20border-radius:\x209px;\x20font-size:\x2012px;\x20background:\x20#1f2733;\x20color:\x20#dbe4f0;\x0a\x20\x20box-shadow:\x20var(--shadow);\x20display:\x20none;\x20z-index:\x209;\x20word-break:\x20break-all;\x0a}\x0a.factory-msg.show\x20{\x20display:\x20block;\x20}\x0a.factory-msg.err\x20{\x20background:\x20rgba(220,\x2038,\x2038,\x20.95);\x20color:\x20#fff;\x20}\x0a','factory.js':'/**\x0a\x20*\x20AiWith\x20任务中心(Thor)面板模块(仅\x20dev)。\x0a\x20*\x20与\x20panel.js\x20解耦:自身持有工具栏按钮、覆盖层、请求与渲染;SSE\x20实时\x20+\x20轮询兜底。\x0a\x20*\x20只管理「当前应用」——应用名由插件启动时的\x20name\x20决定,桥接层统一注入,面板不做应用切换。\x0a\x20*\x20契约:面板\x20→\x20/aiwith/api/factory*(桥接)→\x20Thor;Thor\x20一律\x20POST\x20+\x20JSON,\x0a\x20*\x20\x20\x20\x20\x20\x20响应信封\x20{\x20success,\x20action,\x20data,\x20message\x20}(action\x200=成功\x20/\x202=未登录\x20/\x209=错误)。\x0a\x20*/\x0a!(function\x20()\x20{\x0a\x20\x20\x27use\x20strict\x27;\x0a\x20\x20var\x20$\x20=\x20function\x20(id)\x20{\x20return\x20document.getElementById(id);\x20};\x0a\x20\x20if\x20(!$(\x27factoryOverlay\x27))\x20{\x20return;\x20}\x0a\x0a\x20\x20//\x20----------\x20字典(与\x20Thor\x20factoryTaskStatus\x20等一致)----------\x0a\x20\x20var\x20DICT\x20=\x20{\x0a\x20\x20\x20\x20task:\x20{\x200:\x20[\x27已创建\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27规划\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27执行\x27,\x20\x27#8B5CF6\x27],\x206:\x20[\x27门禁\x27,\x20\x27#F59E0B\x27],\x208:\x20[\x27完成\x27,\x20\x27#10B981\x27],\x2010:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x2012:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20stage:\x20{\x200:\x20[\x27排队\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27已派发\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27运行\x27,\x20\x27#8B5CF6\x27],\x206:\x20[\x27门禁\x27,\x20\x27#F59E0B\x27],\x208:\x20[\x27完成\x27,\x20\x27#10B981\x27],\x2010:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x2012:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20story:\x20{\x200:\x20[\x27待办\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27已下单\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27已完成\x27,\x20\x27#10B981\x27],\x206:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20priority:\x20{\x200:\x20[\x27高\x27,\x20\x27#EF4444\x27],\x202:\x20[\x27中\x27,\x20\x27#F59E0B\x27],\x204:\x20[\x27低\x27,\x20\x27#94A3B8\x27]\x20},\x0a\x20\x20\x20\x20issue:\x20{\x200:\x20[\x27待处理\x27,\x20\x27#94A3B8\x27],\x202:\x20[\x27修复中\x27,\x20\x27#3B82F6\x27],\x204:\x20[\x27已解决\x27,\x20\x27#10B981\x27],\x206:\x20[\x27失败\x27,\x20\x27#EF4444\x27],\x208:\x20[\x27已取消\x27,\x20\x27#6B7280\x27]\x20},\x0a\x20\x20\x20\x20stageName:\x20{\x20plan:\x20\x27规划\x27,\x20confirm:\x20\x27双重确认\x27,\x20models:\x20\x27建模\x27,\x20tools:\x20\x27工具\x27,\x20pages:\x20\x27页面\x27,\x20backend:\x20\x27后端\x27,\x20review:\x20\x27复核\x27,\x20fix:\x20\x27修复\x27,\x20verify:\x20\x27门禁\x27,\x20e2e:\x20\x27e2e\x20验收\x27,\x20merge:\x20\x27合并发布\x27\x20},\x0a\x20\x20\x20\x20msgType:\x20{\x20text:\x20\x27文本\x27,\x20thinking:\x20\x27思考\x27,\x20tool_use:\x20\x27工具\x27,\x20tool_result:\x20\x27结果\x27,\x20user:\x20\x27用户\x27,\x20assistant:\x20\x27Agent\x27\x20},\x0a\x20\x20\x20\x20source:\x20{\x201:\x20\x27手动提交\x27,\x202:\x20\x27任务副产物\x27\x20},\x0a\x20\x20};\x0a\x20\x20var\x20ENDPOINTS\x20=\x20{\x0a\x20\x20\x20\x20task:\x20{\x20list:\x20\x27/api/factory/tasks\x27,\x20detail:\x20\x27/api/factory/task\x27,\x20activities:\x20\x27/api/factory/activities\x27,\x20messages:\x20\x27/api/factory/messages\x27,\x20idKey:\x20\x27taskId\x27\x20},\x0a\x20\x20\x20\x20story:\x20{\x20list:\x20\x27/api/factoryStory/stories\x27,\x20detail:\x20\x27/api/factoryStory/story\x27,\x20activities:\x20\x27/api/factoryStory/activities\x27,\x20idKey:\x20\x27storyId\x27\x20},\x0a\x20\x20\x20\x20issue:\x20{\x20list:\x20\x27/api/factoryIssue/issues\x27,\x20detail:\x20\x27/api/factoryIssue/issue\x27,\x20activities:\x20\x27/api/factoryIssue/activities\x27,\x20messages:\x20\x27/api/factoryIssue/messages\x27,\x20idKey:\x20\x27issueId\x27\x20},\x0a\x20\x20};\x0a\x20\x20var\x20FILTERS\x20=\x20{\x0a\x20\x20\x20\x20task:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x27active\x27,\x20\x27进行中\x27],\x20[\x27done\x27,\x20\x27完成\x27],\x20[\x27failed\x27,\x20\x27失败\x27],\x20[\x27cancelled\x27,\x20\x27取消\x27]],\x0a\x20\x20\x20\x20story:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x270\x27,\x20\x27待办\x27],\x20[\x272\x27,\x20\x27已下单\x27],\x20[\x274\x27,\x20\x27已完成\x27],\x20[\x276\x27,\x20\x27已取消\x27]],\x0a\x20\x20\x20\x20issue:\x20[[\x27all\x27,\x20\x27全部\x27],\x20[\x270\x27,\x20\x27待处理\x27],\x20[\x272\x27,\x20\x27修复中\x27],\x20[\x274\x27,\x20\x27已解决\x27],\x20[\x276\x27,\x20\x27失败\x27],\x20[\x278\x27,\x20\x27已取消\x27]],\x0a\x20\x20};\x0a\x20\x20var\x20TAB_LABEL\x20=\x20{\x20task:\x20\x27任务\x27,\x20story:\x20\x27需求\x27,\x20issue:\x20\x27问题\x27\x20};\x0a\x20\x20var\x20ACTIVE_TASK\x20=\x20[0,\x202,\x204,\x206];\x0a\x0a\x20\x20var\x20S\x20=\x20{\x0a\x20\x20\x20\x20open:\x20false,\x20booted:\x20false,\x20app:\x20\x27\x27,\x0a\x20\x20\x20\x20tab:\x20\x27task\x27,\x20filters:\x20{\x20task:\x20\x27all\x27,\x20story:\x20\x27all\x27,\x20issue:\x20\x27all\x27\x20},\x0a\x20\x20\x20\x20lists:\x20{\x20task:\x20[],\x20story:\x20[],\x20issue:\x20[]\x20},\x0a\x20\x20\x20\x20detail:\x20null,\x20detailKind:\x20\x27\x27,\x20detailStage:\x20null,\x20activities:\x20[],\x20detailStageMessages:\x20[],\x0a\x20\x20\x20\x20streamDownUntil:\x200,\x0a\x20\x20};\x0a\x20\x20var\x20POLL_MS\x20=\x204000,\x20SAFETY_MS\x20=\x2030000,\x20BG_MS\x20=\x2030000;\x0a\x20\x20var\x20timers\x20=\x20{\x20poll:\x20null,\x20safety:\x20null,\x20bg:\x20null,\x20retry:\x20null,\x20debounce:\x20null\x20};\x0a\x20\x20var\x20streamAbort\x20=\x20null,\x20streamAlive\x20=\x20false;\x0a\x0a\x20\x20//\x20----------\x20工具\x20----------\x0a\x20\x20function\x20esc(s)\x20{\x0a\x20\x20\x20\x20return\x20String(s\x20==\x20null\x20?\x20\x27\x27\x20:\x20s).replace(/[&<>\x22\x27]/g,\x20function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20\x27&\x27:\x20\x27&\x27,\x20\x27<\x27:\x20\x27<\x27,\x20\x27>\x27:\x20\x27>\x27,\x20\x27\x22\x27:\x20\x27"\x27,\x20\x22\x27\x22:\x20\x27'\x27\x20}[c];\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20getToken()\x20{\x20try\x20{\x20return\x20localStorage.getItem(\x27zen-aiwith:token\x27)\x20||\x20localStorage.getItem(\x27_token_\x27)\x20||\x20\x27\x27;\x20}\x20catch\x20(e)\x20{\x20return\x20\x27\x27;\x20}\x20}\x0a\x20\x20function\x20fmtTime(sec)\x20{\x0a\x20\x20\x20\x20if\x20(!sec)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20d\x20=\x20new\x20Date(Number(sec)\x20*\x201000);\x0a\x20\x20\x20\x20\x20\x20var\x20p\x20=\x20function\x20(n)\x20{\x20return\x20n\x20<\x2010\x20?\x20\x270\x27\x20+\x20n\x20:\x20\x27\x27\x20+\x20n;\x20};\x0a\x20\x20\x20\x20\x20\x20return\x20d.getFullYear()\x20+\x20\x27-\x27\x20+\x20p(d.getMonth()\x20+\x201)\x20+\x20\x27-\x27\x20+\x20p(d.getDate())\x20+\x20\x27\x20\x27\x20+\x20p(d.getHours())\x20+\x20\x27:\x27\x20+\x20p(d.getMinutes());\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x20return\x20\x27\x27;\x20}\x0a\x20\x20}\x0a\x20\x20function\x20tag(map,\x20val)\x20{\x0a\x20\x20\x20\x20var\x20it\x20=\x20map[val];\x0a\x20\x20\x20\x20var\x20label\x20=\x20it\x20?\x20it[0]\x20:\x20String(val);\x0a\x20\x20\x20\x20var\x20color\x20=\x20it\x20?\x20it[1]\x20:\x20\x27#6B7280\x27;\x0a\x20\x20\x20\x20return\x20\x27<span\x20class=\x22factory-tag\x22\x20style=\x22background:\x27\x20+\x20color\x20+\x20\x27\x22>\x27\x20+\x20esc(label)\x20+\x20\x27</span>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20msg(text,\x20isErr)\x20{\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryMsg\x27);\x0a\x20\x20\x20\x20el.textContent\x20=\x20text;\x0a\x20\x20\x20\x20el.className\x20=\x20\x27factory-msg\x20show\x27\x20+\x20(isErr\x20?\x20\x27\x20err\x27\x20:\x20\x27\x27);\x0a\x20\x20\x20\x20clearTimeout(msg._t);\x0a\x20\x20\x20\x20msg._t\x20=\x20setTimeout(function\x20()\x20{\x20el.className\x20=\x20\x27factory-msg\x27;\x20},\x20isErr\x20?\x205200\x20:\x202600);\x0a\x20\x20}\x0a\x20\x20function\x20promptLogin()\x20{\x0a\x20\x20\x20\x20msg(\x27未登录:请先登录任务中心服务后重试\x27,\x20true);\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20请求(面板\x20→\x20桥接\x20→\x20Thor;app\x20由桥接统一注入)----------\x0a\x20\x20function\x20head()\x20{\x0a\x20\x20\x20\x20return\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27,\x20Token:\x20getToken()\x20};\x0a\x20\x20}\x0a\x20\x20function\x20post(path,\x20body)\x20{\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith\x27\x20+\x20path,\x20{\x20method:\x20\x27POST\x27,\x20headers:\x20head(),\x20body:\x20JSON.stringify(body\x20||\x20{})\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(r)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20r.text().then(function\x20(t)\x20{\x20var\x20p\x20=\x20{};\x20try\x20{\x20p\x20=\x20JSON.parse(t);\x20}\x20catch\x20(e)\x20{\x20/*\x20非\x20JSON\x20*/\x20}\x20return\x20{\x20r:\x20r,\x20p:\x20p\x20};\x20});\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20p\x20=\x20o.p;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(p\x20&&\x20p.action\x20===\x202)\x20{\x20var\x20e\x20=\x20new\x20Error(\x27未登录\x27);\x20e.login\x20=\x20true;\x20throw\x20e;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!o.r.ok\x20||\x20(p\x20&&\x20p.success\x20===\x20false))\x20{\x20throw\x20new\x20Error((p\x20&&\x20p.message)\x20||\x20(\x27HTTP\x20\x27\x20+\x20o.r.status));\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20p\x20?\x20p.data\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20头部\x20/\x20启动\x20----------\x0a\x20\x20function\x20renderHead()\x20{\x0a\x20\x20\x20\x20$(\x27factoryApp\x27).textContent\x20=\x20S.app\x20||\x20\x27未配置应用\x27;\x0a\x20\x20\x20\x20$(\x27factoryApp\x27).title\x20=\x20S.app\x20?\x20(\x27当前应用:\x27\x20+\x20S.app)\x20:\x20\x27未取到应用名(插件启动\x20name)\x27;\x0a\x20\x20}\x0a\x20\x20function\x20boot()\x20{\x0a\x20\x20\x20\x20if\x20(S.booted)\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20S.booted\x20=\x20true;\x0a\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api/factory/config\x27).then(function\x20(r)\x20{\x20return\x20r.json();\x20}).then(function\x20(c)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(c)\x20{\x20S.app\x20=\x20c.app\x20||\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20renderHead();\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20renderHead();\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20列表\x20----------\x0a\x20\x20function\x20filtered(tab)\x20{\x0a\x20\x20\x20\x20var\x20f\x20=\x20S.filters[tab];\x0a\x20\x20\x20\x20var\x20list\x20=\x20S.lists[tab]\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(f\x20===\x20\x27all\x27)\x20{\x20return\x20list;\x20}\x0a\x20\x20\x20\x20return\x20list.filter(function\x20(it)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(tab\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27active\x27)\x20{\x20return\x20ACTIVE_TASK.indexOf(it.status)\x20>\x20-1;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27done\x27)\x20{\x20return\x20it.status\x20===\x208;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27failed\x27)\x20{\x20return\x20it.status\x20===\x2010;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(f\x20===\x20\x27cancelled\x27)\x20{\x20return\x20it.status\x20===\x2012;\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20it.status\x20===\x20Number(f);\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20renderTabs()\x20{\x0a\x20\x20\x20\x20var\x20tabs\x20=\x20$(\x27factoryTabs\x27).querySelectorAll(\x27.factory-tab\x27);\x0a\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20tabs.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20tabs[i].classList.toggle(\x27active\x27,\x20tabs[i].getAttribute(\x27data-tab\x27)\x20===\x20S.tab);\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20function\x20renderFilters()\x20{\x0a\x20\x20\x20\x20var\x20opts\x20=\x20FILTERS[S.tab]\x20||\x20[];\x0a\x20\x20\x20\x20$(\x27factoryFilters\x27).innerHTML\x20=\x20opts.map(function\x20(o)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<button\x20class=\x22factory-filter\x27\x20+\x20(S.filters[S.tab]\x20===\x20o[0]\x20?\x20\x27\x20active\x27\x20:\x20\x27\x27)\x20+\x20\x27\x22\x20data-f=\x22\x27\x20+\x20o[0]\x20+\x20\x27\x22>\x27\x20+\x20o[1]\x20+\x20\x27</button>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20itemTask(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22task\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20(\x27任务\x20\x27\x20+\x20String(it.id).slice(-6)))\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.task,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20fmtTime(it.updateGmt)\x20+\x20\x27</span>\x27\x20+\x20(it.gitBranch\x20?\x20\x27<span>\x27\x20+\x20esc(it.gitBranch)\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20(it.destructive\x20?\x20\x27<span>高风险</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(it.failureReason\x20?\x20\x27<div\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(it.failureReason)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20itemStory(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22story\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20\x27需求\x27)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.story,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20tag(DICT.priority,\x20it.priority)\x20+\x20\x27</span><span>\x27\x20+\x20fmtTime(it.updateGmt)\x20+\x20\x27</span>\x27\x20+\x20(it.taskId\x20?\x20\x27<span>任务\x20\x27\x20+\x20esc(String(it.taskId).slice(-6))\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20itemIssue(it)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-item\x22\x20data-kind=\x22issue\x22\x20data-id=\x22\x27\x20+\x20esc(it.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(it.title\x20||\x20it.content\x20||\x20\x27问题\x27)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.issue,\x20it.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20esc(DICT.source[it.source]\x20||\x20\x27手动提交\x27)\x20+\x20\x27</span><span>\x27\x20+\x20fmtTime(it.createGmt)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20(it.failureReason\x20?\x20\x27<div\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(it.failureReason)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20renderList()\x20{\x0a\x20\x20\x20\x20renderFilters();\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryBody\x27);\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20el.innerHTML\x20=\x20\x27<div\x20class=\x22factory-empty\x22>未取到应用名(插件启动\x20name),无法管理工厂任务</div>\x27;\x20return;\x20}\x0a\x20\x20\x20\x20var\x20rows\x20=\x20filtered(S.tab);\x0a\x20\x20\x20\x20if\x20(!rows.length)\x20{\x20el.innerHTML\x20=\x20\x27<div\x20class=\x22factory-empty\x22>暂无\x27\x20+\x20TAB_LABEL[S.tab]\x20+\x20\x27</div>\x27;\x20return;\x20}\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20rows.map(function\x20(it)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(S.tab\x20===\x20\x27task\x27)\x20{\x20return\x20itemTask(it);\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(S.tab\x20===\x20\x27story\x27)\x20{\x20return\x20itemStory(it);\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20itemIssue(it);\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20loadList(tab)\x20{\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[tab].list,\x20{\x20page:\x200,\x20pageSize:\x2050\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.lists[tab]\x20=\x20(d\x20&&\x20d.list)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20return\x20d;\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20refresh()\x20{\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20renderList();\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20return\x20loadList(S.tab).then(renderList).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27加载失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20详情\x20----------\x0a\x20\x20function\x20panelHead(title)\x20{\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-panel-head\x22><button\x20class=\x22factory-icon-btn\x22\x20id=\x22factoryBack\x22\x20title=\x22返回\x22><svg\x20class=\x22ico\x22\x20width=\x2215\x22\x20height=\x2215\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22m15\x2018-6-6\x206-6\x22/></svg></button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<span\x20class=\x22factory-panel-title\x22>\x27\x20+\x20esc(title)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20openDetail(kind,\x20id)\x20{\x0a\x20\x20\x20\x20S.detailKind\x20=\x20kind;\x20S.detailStage\x20=\x20null;\x20S.detailStageMessages\x20=\x20[];\x20S.detail\x20=\x20null;\x20S.activities\x20=\x20[];\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20el.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20panelHead(TAB_LABEL[kind]\x20+\x20\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22><div\x20class=\x22factory-empty\x22>加载中…</div></div>\x27;\x0a\x20\x20\x20\x20loadDetail(id);\x0a\x20\x20}\x0a\x20\x20function\x20closeDetail()\x20{\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x20el.classList.remove(\x27show\x27);\x20el.innerHTML\x20=\x20\x27\x27;\x20S.detail\x20=\x20null;\x20S.detailStage\x20=\x20null;\x20}\x0a\x20\x20function\x20loadDetail(id)\x20{\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[S.detailKind].detail,\x20{\x20id:\x20id\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.detail\x20=\x20d\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20return\x20loadActivities(S.detailKind,\x20id).then(function\x20(acts)\x20{\x20S.activities\x20=\x20acts\x20||\x20[];\x20renderDetail();\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(el)\x20{\x20el.innerHTML\x20=\x20panelHead(\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22><div\x20class=\x22factory-empty\x22>\x27\x20+\x20esc(e.login\x20?\x20\x27未登录\x27\x20:\x20(\x27加载失败:\x27\x20+\x20e.message))\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20loadActivities(kind,\x20id)\x20{\x0a\x20\x20\x20\x20var\x20body\x20=\x20{};\x20body[ENDPOINTS[kind].idKey]\x20=\x20id;\x0a\x20\x20\x20\x20return\x20post(ENDPOINTS[kind].activities,\x20body).catch(function\x20()\x20{\x20return\x20[];\x20});\x0a\x20\x20}\x0a\x20\x20function\x20infoRow(k,\x20v)\x20{\x20return\x20v\x20?\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>\x27\x20+\x20esc(k)\x20+\x20\x27</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20esc(v)\x20+\x20\x27</span></div>\x27\x20:\x20\x27\x27;\x20}\x0a\x20\x20function\x20renderDetail()\x20{\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.detailKind,\x20o\x20=\x20S.detail\x20||\x20{};\x0a\x20\x20\x20\x20var\x20body\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>任务信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.task,\x20o.status)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27分支\x27,\x20o.gitBranch)\x20+\x20infoRow(\x27创建人\x27,\x20o.creator)\x20+\x20infoRow(\x27更新时间\x27,\x20fmtTime(o.updateGmt))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(o.destructive\x20?\x20infoRow(\x27标记\x27,\x20\x27高风险(删除/重构/迁移)\x27)\x20:\x20\x27\x27)\x20+\x20infoRow(\x27失败原因\x27,\x20o.failureReason)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.description)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>需求描述</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.description)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.result\x20&&\x20o.result.summary)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>本地执行结果</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.result.summary)\x20+\x20\x27</div>\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20(Array.isArray(o.result.files)\x20&&\x20o.result.files.length\x20?\x20\x27<div\x20class=\x22factory-item-sub\x22\x20style=\x22margin-top:6px\x22>\x27\x20+\x20o.result.files.map(function\x20(f)\x20{\x20return\x20\x27<span>\x27\x20+\x20esc(f)\x20+\x20\x27</span>\x27;\x20}).join(\x27\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>阶段</div>\x27\x20+\x20stagesHtml(kind,\x20o.stages)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>故事信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.story,\x20o.status)\x20+\x20\x27\x20\x27\x20+\x20tag(DICT.priority,\x20o.priority)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27更新时间\x27,\x20fmtTime(o.updateGmt))\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20(o.taskId\x20?\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>关联任务</span><span\x20class=\x22factory-row-v\x22><a\x20href=\x22javascript:void(0)\x22\x20data-open-task=\x22\x27\x20+\x20esc(o.taskId)\x20+\x20\x27\x22>\x27\x20+\x20esc(o.taskId)\x20+\x20\x27</a></span></div>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.description)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>需求描述\x20/\x20验收条件</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.description)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>问题信息</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27标题\x27,\x20o.title)\x20+\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-k\x22>状态</span><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20tag(DICT.issue,\x20o.status)\x20+\x20\x27</span></div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20infoRow(\x27来源\x27,\x20DICT.source[o.source]\x20||\x20\x27手动提交\x27)\x20+\x20infoRow(\x27来源任务\x27,\x20o.taskId)\x20+\x20infoRow(\x27分支\x27,\x20o.gitBranch)\x20+\x20infoRow(\x27失败原因\x27,\x20o.failureReason)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(o.content)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>问题内容</div><div\x20class=\x22factory-row-v\x22\x20style=\x22white-space:pre-wrap\x22>\x27\x20+\x20esc(o.content)\x20+\x20\x27</div></div>\x27;\x20}\x0a\x20\x20\x20\x20\x20\x20body\x20+=\x20actionsHtml(kind,\x20o);\x0a\x20\x20\x20\x20\x20\x20if\x20(o.stages\x20&&\x20o.stages.length)\x20{\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>修复阶段</div>\x27\x20+\x20stagesHtml(kind,\x20o.stages)\x20+\x20\x27</div>\x27;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(S.detailStage)\x20{\x20body\x20+=\x20transcriptHtml(S.detailStage);\x20}\x0a\x20\x20\x20\x20body\x20+=\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>活动时间线</div>\x27\x20+\x20activitiesHtml()\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20$(\x27factoryDetail\x27).innerHTML\x20=\x20panelHead(TAB_LABEL[kind]\x20+\x20\x27详情\x27)\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22>\x27\x20+\x20body\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20stagesHtml(kind,\x20stages)\x20{\x0a\x20\x20\x20\x20if\x20(!stages\x20||\x20!stages.length)\x20{\x20return\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无阶段</div>\x27;\x20}\x0a\x20\x20\x20\x20return\x20stages.map(function\x20(t)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-stage\x22\x20data-stage=\x22\x27\x20+\x20esc(t.id)\x20+\x20\x27\x22>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-top\x22><span\x20class=\x22factory-item-title\x22>\x27\x20+\x20esc(DICT.stageName[t.stage]\x20||\x20t.stage)\x20+\x20\x27</span>\x27\x20+\x20tag(DICT.stage,\x20t.status)\x20+\x20\x27</div>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-item-sub\x22><span>\x27\x20+\x20esc(t.model\x20||\x20\x27-\x27)\x20+\x20\x27</span><span>第\x27\x20+\x20esc(t.attempt)\x20+\x20\x27次</span>\x27\x20+\x20(t.failureReason\x20?\x20\x27<span\x20class=\x22factory-fail\x22>\x27\x20+\x20esc(t.failureReason)\x20+\x20\x27</span>\x27\x20:\x20\x27\x27)\x20+\x20\x27</div></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20isLocalTask(o)\x20{\x20return\x20!!(o\x20&&\x20o.gitBranch\x20&&\x20String(o.gitBranch).indexOf(\x27local-\x27)\x20===\x200);\x20}\x0a\x20\x20function\x20actionsHtml(kind,\x20o)\x20{\x0a\x20\x20\x20\x20var\x20b\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x200)\x20{\x20b.push(\x27<button\x20class=\x22factory-btn\x20primary\x22\x20data-act=\x22localStart\x22>本地执行</button>\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x204)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27localResult\x27,\x20\x27标记完成\x27,\x20\x27primary\x27,\x20\x27/api/factory/localResult\x27,\x20{\x20id:\x20o.id,\x20status:\x208\x20},\x20\x27确认本地执行已完成?\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27localResult\x27,\x20\x27标记失败\x27,\x20\x27danger\x27,\x20\x27/api/factory/localResult\x27,\x20{\x20id:\x20o.id,\x20status:\x2010\x20},\x20\x27确认本地执行失败?\x27));\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20//\x20本地任务(gitBranch=local-*):提供「转远端重跑」,把需求交回远端工厂流水线\x0a\x20\x20\x20\x20\x20\x20if\x20(isLocalTask(o)\x20&&\x20[0,\x204,\x208,\x2010].indexOf(o.status)\x20>\x20-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(\x27<button\x20class=\x22factory-btn\x22\x20data-act=\x22remoteRerun\x22>转远端重跑</button>\x27);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(ACTIVE_TASK.indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27cancelTask\x27,\x20\x27取消任务\x27,\x20\x27danger\x27,\x20\x27/api/factory/cancelTask\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此任务?进行中的阶段将停止\x27));\x20}\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27orderTask\x27,\x20\x27下单到工厂\x27,\x20\x27primary\x27,\x20\x27/api/factoryStory/orderTask\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定下单?将生成工厂任务并自动执行\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27removeStory\x27,\x20\x27删除\x27,\x20\x27danger\x27,\x20\x27/api/factoryStory/removeStory\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定删除此待办需求?\x27));\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(o.status\x20===\x202)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27markDone\x27,\x20\x27标记完成\x27,\x20\x27primary\x27,\x20\x27/api/factoryStory/markDone\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定验收通过并标记完成?\x27));\x0a\x20\x20\x20\x20\x20\x20\x20\x20b.push(btn(\x27unorder\x27,\x20\x27撤回下单\x27,\x20\x27\x27,\x20\x27/api/factoryStory/unorder\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定撤回下单?运行中任务将一并取消\x27));\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(o.status\x20!==\x204)\x20{\x20b.push(btn(\x27cancelStory\x27,\x20\x27取消\x27,\x20\x27danger\x27,\x20\x27/api/factoryStory/cancelStory\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此需求?\x27));\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20([0,\x204,\x206].indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27reopenIssue\x27,\x20\x27重新修复\x27,\x20\x27primary\x27,\x20\x27/api/factoryIssue/reopenIssue\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定重新修复此问题?\x27));\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20([0,\x202].indexOf(o.status)\x20>\x20-1)\x20{\x20b.push(btn(\x27cancelIssue\x27,\x20\x27取消问题\x27,\x20\x27danger\x27,\x20\x27/api/factoryIssue/cancelIssue\x27,\x20{\x20id:\x20o.id\x20},\x20\x27确定取消此问题?\x27));\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20b.length\x20?\x20\x27<div\x20class=\x22factory-actions\x22>\x27\x20+\x20b.join(\x27\x27)\x20+\x20\x27</div>\x27\x20:\x20\x27\x27;\x0a\x20\x20}\x0a\x20\x20function\x20btn(name,\x20label,\x20cls,\x20ep,\x20body,\x20confirmText)\x20{\x0a\x20\x20\x20\x20return\x20\x27<button\x20class=\x22factory-btn\x20\x27\x20+\x20(cls\x20||\x20\x27\x27)\x20+\x20\x27\x22\x20data-act=\x22\x27\x20+\x20name\x20+\x20\x27\x22\x20data-ep=\x22\x27\x20+\x20esc(ep)\x20+\x20\x27\x22\x20data-body=\x22\x27\x20+\x20esc(JSON.stringify(body))\x20+\x20\x27\x22\x20data-confirm=\x22\x27\x20+\x20esc(confirmText\x20||\x20\x27\x27)\x20+\x20\x27\x22>\x27\x20+\x20esc(label)\x20+\x20\x27</button>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20activitiesHtml()\x20{\x0a\x20\x20\x20\x20var\x20acts\x20=\x20S.activities\x20||\x20[];\x0a\x20\x20\x20\x20if\x20(!acts.length)\x20{\x20return\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无活动</div>\x27;\x20}\x0a\x20\x20\x20\x20return\x20acts.map(function\x20(a)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-row\x22><span\x20class=\x22factory-row-v\x22>\x27\x20+\x20esc(a.summary\x20||\x20\x27\x27)\x20+\x20\x27</span><span\x20style=\x22color:var(--text-faint);font-size:11px\x22>\x27\x20+\x20fmtTime(a.createGmt)\x20+\x20\x27</span></div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27);\x0a\x20\x20}\x0a\x20\x20function\x20transcriptHtml(stageId)\x20{\x0a\x20\x20\x20\x20var\x20m\x20=\x20S.detailStageMessages\x20||\x20[];\x0a\x20\x20\x20\x20var\x20list\x20=\x20m.length\x20?\x20m.map(function\x20(x)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-msg-item\x22><span\x20class=\x22factory-msg-type\x22>\x27\x20+\x20esc(DICT.msgType[x.type]\x20||\x20x.type)\x20+\x20\x27</span>\x27\x20+\x20esc(x.content\x20||\x20\x27\x27)\x20+\x20\x27</div>\x27;\x0a\x20\x20\x20\x20}).join(\x27\x27)\x20:\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:12px\x200\x22>暂无执行消息</div>\x27;\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-group\x22><div\x20class=\x22factory-group-title\x22>执行记录\x20<span\x20style=\x22color:var(--text-faint)\x22>#\x27\x20+\x20esc(String(stageId).slice(-6))\x20+\x20\x27</span></div>\x27\x20+\x20list\x20+\x20\x27</div>\x27;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20动作\x20----------\x0a\x20\x20function\x20runAction(name,\x20ep,\x20body,\x20confirmText)\x20{\x0a\x20\x20\x20\x20if\x20(confirmText\x20&&\x20!window.confirm(confirmText))\x20{\x20return\x20Promise.resolve();\x20}\x0a\x20\x20\x20\x20return\x20post(ep,\x20body).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20msg(\x27已提交\x27);\x0a\x20\x20\x20\x20\x20\x20return\x20refresh().then(function\x20()\x20{\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20return\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg((name\x20?\x20name\x20+\x20\x27:\x27\x20:\x20\x27\x27)\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20//\x20转远端重跑:新建一个非本地任务承接同一需求;当前本地任务若仍活跃则取消\x0a\x20\x20function\x20rerunRemote(task)\x20{\x0a\x20\x20\x20\x20if\x20(!task\x20||\x20!task.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(\x27/api/factory/createTask\x27,\x20{\x20title:\x20task.title\x20||\x20\x27\x27,\x20description:\x20task.description\x20||\x20\x27\x27\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20msg(\x27已转远端工厂执行\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(task.status\x20===\x200\x20||\x20task.status\x20===\x204)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20post(\x27/api/factory/cancelTask\x27,\x20{\x20id:\x20task.id\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20refresh().then(function\x20()\x20{\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27转远端失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20openTranscript(stageId)\x20{\x0a\x20\x20\x20\x20S.detailStage\x20=\x20stageId;\x20S.detailStageMessages\x20=\x20[];\x0a\x20\x20\x20\x20renderDetail();\x0a\x20\x20\x20\x20var\x20ep\x20=\x20ENDPOINTS[S.detailKind].messages;\x0a\x20\x20\x20\x20if\x20(!ep)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(ep,\x20{\x20stageId:\x20stageId,\x20page:\x200,\x20pageSize:\x20100\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20S.detailStageMessages\x20=\x20(d\x20&&\x20(d.list\x20||\x20d.data))\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detailStage\x20===\x20stageId)\x20{\x20renderDetail();\x20}\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20新建\x20----------\x0a\x20\x20function\x20openCreate()\x20{\x0a\x20\x20\x20\x20if\x20(!S.app)\x20{\x20msg(\x27未取到应用名,无法创建\x27,\x20true);\x20return;\x20}\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.tab;\x0a\x20\x20\x20\x20var\x20fields\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20var\x20localPref\x20=\x20true;\x0a\x20\x20\x20\x20try\x20{\x20localPref\x20=\x20localStorage.getItem(\x27zen-aiwith:factoryLocal\x27)\x20!==\x20\x270\x27;\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27需求标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27description\x27,\x20\x27需求描述\x27,\x20\x27textarea\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<label\x20class=\x22factory-check\x22><input\x20type=\x22checkbox\x22\x20id=\x22f_local\x22\x27\x20+\x20(localPref\x20?\x20\x27\x20checked\x27\x20:\x20\x27\x27)\x20+\x20\x27>\x20本地执行(不排远端,创建后在本地\x20AiWith\x20跑;夜间/批量/大改造建议取消勾选走远端)</label>\x27;\x0a\x20\x20\x20\x20}\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27故事标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27description\x27,\x20\x27需求描述\x20/\x20验收条件\x27,\x20\x27textarea\x27)\x20+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>优先级</label><select\x20class=\x22factory-input\x22\x20id=\x22f_priority\x22><option\x20value=\x220\x22>高</option><option\x20value=\x222\x22\x20selected>中</option><option\x20value=\x224\x22>低</option></select></div>\x27;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20fields\x20=\x20field(\x27title\x27,\x20\x27问题标题\x27,\x20\x27input\x27,\x20\x27\x27,\x20true)\x20+\x20field(\x27content\x27,\x20\x27问题描述\x27,\x20\x27textarea\x27,\x20\x27\x27,\x20true);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20el\x20=\x20$(\x27factoryDetail\x27);\x0a\x20\x20\x20\x20el.classList.add(\x27show\x27);\x0a\x20\x20\x20\x20el.innerHTML\x20=\x20panelHead(\x27新建\x27\x20+\x20TAB_LABEL[kind])\x20+\x20\x27<div\x20class=\x22factory-panel-body\x22>\x27\x20+\x20fields\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<button\x20class=\x22factory-submit\x22\x20id=\x22factorySubmit\x22>创建\x27\x20+\x20TAB_LABEL[kind]\x20+\x20\x27</button>\x27\x20+\x0a\x20\x20\x20\x20\x20\x20\x27<div\x20class=\x22factory-empty\x22\x20style=\x22padding:10px\x200;text-align:left\x22>提交后自动进入工厂流水线(应用\x20\x27\x20+\x20esc(S.app)\x20+\x20\x27,同应用串行)。</div></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20field(name,\x20label,\x20type,\x20val,\x20required)\x20{\x0a\x20\x20\x20\x20if\x20(type\x20===\x20\x27textarea\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>\x27\x20+\x20esc(label)\x20+\x20(required\x20?\x20\x27\x20*\x27\x20:\x20\x27\x27)\x20+\x20\x27</label><textarea\x20class=\x22factory-textarea\x22\x20id=\x22f_\x27\x20+\x20name\x20+\x20\x27\x22>\x27\x20+\x20esc(val\x20||\x20\x27\x27)\x20+\x20\x27</textarea></div>\x27;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20\x27<div\x20class=\x22factory-field\x22><label\x20class=\x22factory-label\x22>\x27\x20+\x20esc(label)\x20+\x20(required\x20?\x20\x27\x20*\x27\x20:\x20\x27\x27)\x20+\x20\x27</label><input\x20class=\x22factory-input\x22\x20id=\x22f_\x27\x20+\x20name\x20+\x20\x27\x22\x20value=\x22\x27\x20+\x20esc(val\x20||\x20\x27\x27)\x20+\x20\x27\x22></div>\x27;\x0a\x20\x20}\x0a\x20\x20function\x20submitCreate()\x20{\x0a\x20\x20\x20\x20var\x20kind\x20=\x20S.tab;\x0a\x20\x20\x20\x20var\x20body\x20=\x20{};\x0a\x20\x20\x20\x20var\x20title\x20=\x20($(\x27f_title\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(!title.trim())\x20{\x20msg(\x27标题不能为空\x27,\x20true);\x20return;\x20}\x0a\x20\x20\x20\x20body.title\x20=\x20title.trim();\x0a\x20\x20\x20\x20var\x20local\x20=\x20kind\x20===\x20\x27task\x27\x20&&\x20!!($(\x27f_local\x27)\x20||\x20{}).checked;\x0a\x20\x20\x20\x20if\x20(kind\x20===\x20\x27task\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x20localStorage.setItem(\x27zen-aiwith:factoryLocal\x27,\x20local\x20?\x20\x271\x27\x20:\x20\x270\x27);\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x0a\x20\x20\x20\x20\x20\x20body.description\x20=\x20($(\x27f_description\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(local)\x20{\x20body.local\x20=\x201;\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20if\x20(kind\x20===\x20\x27story\x27)\x20{\x20body.description\x20=\x20($(\x27f_description\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x20body.priority\x20=\x20Number(($(\x27f_priority\x27)\x20||\x20{}).value\x20||\x202);\x20}\x0a\x20\x20\x20\x20else\x20{\x20body.content\x20=\x20($(\x27f_content\x27)\x20||\x20{}).value\x20||\x20\x27\x27;\x20}\x0a\x20\x20\x20\x20var\x20ep\x20=\x20{\x20task:\x20\x27/api/factory/createTask\x27,\x20story:\x20\x27/api/factoryStory/createStory\x27,\x20issue:\x20\x27/api/factoryIssue/createIssue\x27\x20}[kind];\x0a\x20\x20\x20\x20var\x20submit\x20=\x20$(\x27factorySubmit\x27);\x0a\x20\x20\x20\x20submit.disabled\x20=\x20true;\x0a\x20\x20\x20\x20post(ep,\x20body).then(function\x20(id)\x20{\x0a\x20\x20\x20\x20\x20\x20closeDetail();\x0a\x20\x20\x20\x20\x20\x20if\x20(local)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg(\x27本地任务已创建,开始本地执行…\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20startLocal({\x20id:\x20id,\x20title:\x20body.title,\x20description:\x20body.description\x20});\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg(\x27已创建,工厂开始执行\x27);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20refresh();\x0a\x20\x20\x20\x20}).catch(function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20submit.disabled\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20if\x20(e.login)\x20{\x20promptLogin();\x20}\x20else\x20{\x20msg(\x27创建失败:\x27\x20+\x20e.message,\x20true);\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20本地执行:把需求交给本地\x20AiWith\x20会话,在当前项目里跑\x20----------\x0a\x20\x20function\x20composeLocalPrompt(task)\x20{\x0a\x20\x20\x20\x20var\x20lines\x20=\x20[\x27【任务中心\x20·\x20本地执行】请在当前项目中完成以下任务,完成后简要总结改动:\x27,\x20\x27\x27];\x0a\x20\x20\x20\x20lines.push(\x27标题:\x27\x20+\x20(task.title\x20||\x20\x27\x27));\x0a\x20\x20\x20\x20if\x20(task.description)\x20{\x20lines.push(\x27描述:\x27);\x20lines.push(task.description);\x20}\x0a\x20\x20\x20\x20return\x20lines.join(\x27\x5cn\x27);\x0a\x20\x20}\x0a\x20\x20function\x20startLocal(task)\x20{\x0a\x20\x20\x20\x20if\x20(!task\x20||\x20!task.id)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20先写回「执行中(4)」;失败不阻断本地执行\x0a\x20\x20\x20\x20post(\x27/api/factory/localResult\x27,\x20{\x20id:\x20task.id,\x20status:\x204\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20\x20\x20var\x20prompt\x20=\x20composeLocalPrompt(task);\x0a\x20\x20\x20\x20fetch(\x27/aiwith/api/session/reset\x27,\x20{\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27\x20},\x20body:\x20\x27{}\x27\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(r)\x20{\x20return\x20r.json();\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(payload)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20session\x20=\x20(payload\x20&&\x20payload.data)\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!session.id)\x20{\x20throw\x20new\x20Error(\x27未创建本地会话\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20fetch(\x27/aiwith/api/session/\x27\x20+\x20session.id\x20+\x20\x27/prompt\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27POST\x27,\x20headers:\x20{\x20\x27Content-Type\x27:\x20\x27application/json\x27\x20},\x20body:\x20JSON.stringify({\x20text:\x20prompt\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20}).then(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20close();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.dispatchEvent(new\x20CustomEvent(\x27aiwith:open-session\x27,\x20{\x20detail:\x20{\x20id:\x20session.id,\x20title:\x20task.title\x20}\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20(e)\x20{\x20msg(\x27本地执行启动失败:\x27\x20+\x20(e\x20&&\x20e.message\x20?\x20e.message\x20:\x20e),\x20true);\x20});\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20SSE\x20实时\x20+\x20轮询兜底\x20----------\x0a\x20\x20function\x20scheduleRefresh()\x20{\x0a\x20\x20\x20\x20clearTimeout(timers.debounce);\x0a\x20\x20\x20\x20timers.debounce\x20=\x20setTimeout(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20refresh();\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x0a\x20\x20\x20\x20},\x20350);\x0a\x20\x20}\x0a\x20\x20function\x20connectStream()\x20{\x0a\x20\x20\x20\x20if\x20(!S.open)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20//\x20后端推送已知不可用:不反复请求,等低频重探时间到再试(轮询兜底接管)\x0a\x20\x20\x20\x20if\x20(S.streamDownUntil\x20&&\x20Date.now()\x20<\x20S.streamDownUntil)\x20{\x0a\x20\x20\x20\x20\x20\x20clearTimeout(timers.retry);\x0a\x20\x20\x20\x20\x20\x20timers.retry\x20=\x20setTimeout(connectStream,\x20S.streamDownUntil\x20-\x20Date.now());\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20ac\x20=\x20new\x20AbortController();\x0a\x20\x20\x20\x20streamAbort\x20=\x20ac;\x0a\x20\x20\x20\x20fetch(\x27/aiwith/api/factory/stream\x27,\x20{\x20headers:\x20{\x20Token:\x20getToken()\x20},\x20signal:\x20ac.signal\x20})\x0a\x20\x20\x20\x20\x20\x20.then(function\x20(res)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!res.ok\x20||\x20!res.body)\x20{\x20throw\x20new\x20Error(\x27stream\x20http\x20\x27\x20+\x20res.status);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20streamAlive\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20S.retries\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20S.streamDownUntil\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20reader\x20=\x20res.body.getReader();\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20dec\x20=\x20new\x20TextDecoder();\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20buf\x20=\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pump\x20=\x20function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20reader.read().then(function\x20(chunk)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(chunk.done)\x20{\x20throw\x20new\x20Error(\x27stream\x20ended\x27);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf\x20+=\x20dec.decode(chunk.value,\x20{\x20stream:\x20true\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20var\x20idx;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20((idx\x20=\x20buf.indexOf(\x27\x5cn\x5cn\x27))\x20>=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20handleFrame(buf.slice(0,\x20idx));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf\x20=\x20buf.slice(idx\x20+\x202);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20pump();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pump();\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20.catch(function\x20()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20streamAlive\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ac.signal.aborted)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20delay;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(S.streamDownUntil\x20&&\x20Date.now()\x20<\x20S.streamDownUntil)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20delay\x20=\x20S.streamDownUntil\x20-\x20Date.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20S.retries\x20=\x20(S.retries\x20||\x200)\x20+\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20delay\x20=\x20S.retries\x20<=\x204\x20?\x201000\x20*\x20Math.pow(2,\x20S.retries)\x20:\x2060000;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20timers.retry\x20=\x20setTimeout(connectStream,\x20delay);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20}\x0a\x20\x20function\x20handleFrame(frame)\x20{\x0a\x20\x20\x20\x20var\x20datas\x20=\x20frame.split(\x27\x5cn\x27).filter(function\x20(l)\x20{\x20return\x20l.indexOf(\x27data:\x27)\x20===\x200;\x20}).map(function\x20(l)\x20{\x20return\x20l.slice(5).trim();\x20});\x0a\x20\x20\x20\x20if\x20(!datas.length)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20var\x20evt\x20=\x20null;\x0a\x20\x20\x20\x20try\x20{\x20evt\x20=\x20JSON.parse(datas.join(\x27\x5cn\x27));\x20}\x20catch\x20(e)\x20{\x20evt\x20=\x20null;\x20}\x0a\x20\x20\x20\x20if\x20(evt\x20&&\x20evt.type\x20===\x20\x27ping\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(evt\x20&&\x20evt.type\x20===\x20\x27unavailable\x27)\x20{\x20S.streamDownUntil\x20=\x20Date.now()\x20+\x205\x20*\x2060\x20*\x201000;\x20return;\x20}\x0a\x20\x20\x20\x20scheduleRefresh();\x0a\x20\x20}\x0a\x20\x20function\x20startSync()\x20{\x0a\x20\x20\x20\x20stopSync();\x0a\x20\x20\x20\x20connectStream();\x0a\x20\x20\x20\x20timers.poll\x20=\x20setInterval(function\x20()\x20{\x20if\x20(!streamAlive)\x20{\x20refresh();\x20}\x20},\x20POLL_MS);\x0a\x20\x20\x20\x20timers.safety\x20=\x20setInterval(function\x20()\x20{\x20refresh();\x20},\x20SAFETY_MS);\x0a\x20\x20}\x0a\x20\x20function\x20stopSync()\x20{\x0a\x20\x20\x20\x20clearInterval(timers.poll);\x20clearInterval(timers.safety);\x20clearTimeout(timers.retry);\x20clearTimeout(timers.debounce);\x0a\x20\x20\x20\x20timers.poll\x20=\x20timers.safety\x20=\x20timers.retry\x20=\x20timers.debounce\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(streamAbort)\x20{\x20try\x20{\x20streamAbort.abort();\x20}\x20catch\x20(e)\x20{\x20/*\x20ignore\x20*/\x20}\x20streamAbort\x20=\x20null;\x20}\x0a\x20\x20\x20\x20streamAlive\x20=\x20false;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20后台低频(关闭时维护未读点)----------\x0a\x20\x20function\x20startBg()\x20{\x20stopBg();\x20timers.bg\x20=\x20setInterval(bgPoll,\x20BG_MS);\x20}\x0a\x20\x20function\x20stopBg()\x20{\x20clearInterval(timers.bg);\x20timers.bg\x20=\x20null;\x20}\x0a\x20\x20function\x20bgPoll()\x20{\x0a\x20\x20\x20\x20if\x20(S.open\x20||\x20!S.app)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20post(\x27/api/factory/tasks\x27,\x20{\x20page:\x200,\x20pageSize:\x2050\x20}).then(function\x20(d)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20list\x20=\x20(d\x20&&\x20d.list)\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20setUnread(list.some(function\x20(t)\x20{\x20return\x20ACTIVE_TASK.indexOf(t.status)\x20>\x20-1;\x20}));\x0a\x20\x20\x20\x20}).catch(function\x20()\x20{\x20/*\x20ignore\x20*/\x20});\x0a\x20\x20}\x0a\x20\x20function\x20setUnread(on)\x20{\x20var\x20dot\x20=\x20$(\x27factoryUnread\x27);\x20if\x20(dot)\x20{\x20dot.classList.toggle(\x27show\x27,\x20!!on);\x20}\x20}\x0a\x20\x20function\x20clearUnread()\x20{\x20setUnread(false);\x20}\x0a\x0a\x20\x20//\x20----------\x20打开/关闭\x20----------\x0a\x20\x20function\x20open()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20true;\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).classList.add(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27false\x27);\x0a\x20\x20\x20\x20clearUnread();\x0a\x20\x20\x20\x20boot().then(function\x20()\x20{\x20refresh();\x20});\x0a\x20\x20\x20\x20startSync();\x0a\x20\x20\x20\x20stopBg();\x0a\x20\x20}\x0a\x20\x20function\x20close()\x20{\x0a\x20\x20\x20\x20S.open\x20=\x20false;\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).classList.remove(\x27show\x27);\x0a\x20\x20\x20\x20$(\x27factoryOverlay\x27).setAttribute(\x27aria-hidden\x27,\x20\x27true\x27);\x0a\x20\x20\x20\x20closeDetail();\x0a\x20\x20\x20\x20stopSync();\x0a\x20\x20\x20\x20startBg();\x0a\x20\x20}\x0a\x0a\x20\x20//\x20----------\x20事件绑定\x20----------\x0a\x20\x20$(\x27factoryBtn\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20if\x20(S.open)\x20{\x20close();\x20}\x20else\x20{\x20open();\x20}\x20});\x0a\x20\x20//\x20切换到其它工具栏功能时收起工厂面板(主题切换除外,不打断),避免面板开在覆盖层之下\x0a\x20\x20var\x20toolRail\x20=\x20document.querySelector(\x27.tool-rail\x27);\x0a\x20\x20if\x20(toolRail)\x20{\x0a\x20\x20\x20\x20//\x20capture\x20阶段:panel.js\x20对\x20history/review\x20调了\x20stopPropagation,冒泡监听收不到\x0a\x20\x20\x20\x20toolRail.addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20b\x20=\x20e.target.closest(\x27.icon-btn\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!b\x20||\x20b.id\x20===\x20\x27factoryBtn\x27\x20||\x20b.id\x20===\x20\x27themeBtn\x27\x20||\x20b.id\x20===\x20\x27fullscreenBtn\x27)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(S.open)\x20{\x20close();\x20}\x0a\x20\x20\x20\x20},\x20true);\x0a\x20\x20}\x0a\x20\x20$(\x27factoryClose\x27).addEventListener(\x27click\x27,\x20close);\x0a\x20\x20$(\x27factoryRefresh\x27).addEventListener(\x27click\x27,\x20function\x20()\x20{\x20refresh();\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20loadDetail(S.detail.id);\x20}\x20});\x0a\x20\x20$(\x27factoryNew\x27).addEventListener(\x27click\x27,\x20openCreate);\x0a\x20\x20$(\x27factoryTabs\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20t\x20=\x20e.target.closest(\x27.factory-tab\x27);\x0a\x20\x20\x20\x20if\x20(!t)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20S.tab\x20=\x20t.getAttribute(\x27data-tab\x27);\x0a\x20\x20\x20\x20renderTabs();\x0a\x20\x20\x20\x20refresh();\x0a\x20\x20});\x0a\x20\x20$(\x27factoryFilters\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20f\x20=\x20e.target.closest(\x27.factory-filter\x27);\x0a\x20\x20\x20\x20if\x20(!f)\x20{\x20return;\x20}\x0a\x20\x20\x20\x20S.filters[S.tab]\x20=\x20f.getAttribute(\x27data-f\x27);\x0a\x20\x20\x20\x20renderList();\x0a\x20\x20});\x0a\x20\x20$(\x27factoryBody\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20var\x20it\x20=\x20e.target.closest(\x27.factory-item\x27);\x0a\x20\x20\x20\x20if\x20(it)\x20{\x20openDetail(it.getAttribute(\x27data-kind\x27),\x20it.getAttribute(\x27data-id\x27));\x20}\x0a\x20\x20});\x0a\x20\x20$(\x27factoryDetail\x27).addEventListener(\x27click\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20if\x20(e.target.closest(\x27#factoryBack\x27))\x20{\x20closeDetail();\x20return;\x20}\x0a\x20\x20\x20\x20if\x20(e.target.closest(\x27#factorySubmit\x27))\x20{\x20submitCreate();\x20return;\x20}\x0a\x20\x20\x20\x20var\x20openTask\x20=\x20e.target.closest(\x27[data-open-task]\x27);\x0a\x20\x20\x20\x20if\x20(openTask)\x20{\x20openDetail(\x27task\x27,\x20openTask.getAttribute(\x27data-open-task\x27));\x20return;\x20}\x0a\x20\x20\x20\x20var\x20stage\x20=\x20e.target.closest(\x27.factory-stage\x27);\x0a\x20\x20\x20\x20if\x20(stage)\x20{\x20openTranscript(stage.getAttribute(\x27data-stage\x27));\x20return;\x20}\x0a\x20\x20\x20\x20var\x20localBtn\x20=\x20e.target.closest(\x27[data-act=\x22localStart\x22]\x27);\x0a\x20\x20\x20\x20if\x20(localBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(S.detail\x20&&\x20S.detail.id)\x20{\x20startLocal({\x20id:\x20S.detail.id,\x20title:\x20S.detail.title,\x20description:\x20S.detail.description\x20});\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20rerunBtn\x20=\x20e.target.closest(\x27[data-act=\x22remoteRerun\x22]\x27);\x0a\x20\x20\x20\x20if\x20(rerunBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(window.confirm(\x27转远端工厂重跑?将新建一个远端任务,当前本地任务将被取消\x27))\x20{\x20rerunRemote(S.detail\x20||\x20{});\x20}\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20var\x20act\x20=\x20e.target.closest(\x27.factory-btn[data-act]\x27);\x0a\x20\x20\x20\x20if\x20(act)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20body\x20=\x20{};\x20try\x20{\x20body\x20=\x20JSON.parse(act.getAttribute(\x27data-body\x27)\x20||\x20\x27{}\x27);\x20}\x20catch\x20(err)\x20{\x20body\x20=\x20{};\x20}\x0a\x20\x20\x20\x20\x20\x20runAction(act.getAttribute(\x27data-act\x27),\x20act.getAttribute(\x27data-ep\x27),\x20body,\x20act.getAttribute(\x27data-confirm\x27));\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x20\x20document.addEventListener(\x27keydown\x27,\x20function\x20(e)\x20{\x0a\x20\x20\x20\x20if\x20(e.key\x20===\x20\x27Escape\x27\x20&&\x20S.open)\x20{\x20close();\x20}\x0a\x20\x20});\x0a\x0a\x20\x20//\x20启动:取工厂源与当前应用,开启后台未读轮询\x0a\x20\x20boot().then(startBg);\x0a})();\x0a','debug.css':cM(0x311),'debug.js':cM(0x2a6),'account.css':cM(0x264),'account.js':cM(0x298),'page-agent.js':cM(0x236),'opencode-plugin.js':'/**\x0a\x20*\x20AiWith\x20页内调试工具(OpenCode\x20插件模板)。\x0a\x20*\x0a\x20*\x20由\x20zen-app-plugin\x20在\x20dev\x20server\x20启动时生成到\x20<工程>/.opencode/plugins/aiwith-page/index.ts,\x0a\x20*\x20其中\x20origin\x20占位符会被替换为本次\x20dev\x20server\x20的真实地址。\x0a\x20*\x0a\x20*\x20为什么不用\x20chrome-devtools\x20MCP:\x0a\x20*\x20\x20\x20①\x20MCP\x20工具每次调用都要过授权弹窗,无法无人值守自动化;\x0a\x20*\x20\x20\x20②\x20本插件注册的是\x20OpenCode\x20原生工具,不走\x20MCP\x20权限流,任务中心的「本地执行」才能闭环。\x0a\x20*\x20目标页\x20=\x20AiWith\x20注入\x20page-agent\x20的宿主页;本插件只做\x20HTTP\x20转发到桥接(/aiwith/api/page/*),\x0a\x20*\x20仅\x20screenshot\x20会把图片落盘(node_modules/.cache/aiwith/shots,退回系统临时目录)。\x0a\x20*\x0a\x20*\x20⚠️\x20不要\x20import\x20\x22@opencode/plugin\x22:该包在目标工程内通常不可解析(工程\x20node_modules\x20没有它),\x0a\x20*\x20\x20\x20\x20一旦「使用」其绑定(如\x20Plugin.define(...))就会因解析失败导致整个插件加载失败\x0a\x20*\x20\x20\x20\x20(实测\x20opencode\x202.0.21:state=failed\x20\x22Plugin\x20failed\x20to\x20load\x22)。插件协议本身接受**纯对象**\x0a\x20*\x20\x20\x20\x20默认导出(`export\x20default\x20{\x20id,\x20setup\x20}`),Plugin.define\x20只是\x20identity\x20辅助函数,去掉零影响。\x0a\x20*/\x0aimport\x20{\x20mkdirSync,\x20writeFileSync\x20}\x20from\x20\x22node:fs\x22\x0aimport\x20{\x20join\x20}\x20from\x20\x22node:path\x22\x0aimport\x20{\x20tmpdir\x20}\x20from\x20\x22node:os\x22\x0a\x0aconst\x20ORIGIN\x20=\x20\x22__AIWITH_ORIGIN__\x22\x0a\x0aasync\x20function\x20call(cmd,\x20args,\x20signal)\x20{\x0a\x20\x20//\x20超时兜底:桥接侧\x20wait\x20最长\x2063s,这里给\x2070s;并与外部\x20signal\x20联动\x0a\x20\x20const\x20ctrl\x20=\x20new\x20AbortController()\x0a\x20\x20let\x20timedOut\x20=\x20false\x0a\x20\x20const\x20timer\x20=\x20setTimeout(()\x20=>\x20{\x20timedOut\x20=\x20true;\x20try\x20{\x20ctrl.abort()\x20}\x20catch\x20(error)\x20{\x20/*\x20ignore\x20*/\x20}\x20},\x2070000)\x0a\x20\x20const\x20onAbort\x20=\x20()\x20=>\x20{\x20try\x20{\x20ctrl.abort()\x20}\x20catch\x20(error)\x20{\x20/*\x20ignore\x20*/\x20}\x20}\x0a\x20\x20if\x20(signal)\x20{\x20signal.aborted\x20?\x20onAbort()\x20:\x20signal.addEventListener(\x22abort\x22,\x20onAbort,\x20{\x20once:\x20true\x20})\x20}\x0a\x20\x20let\x20res\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20res\x20=\x20await\x20fetch(ORIGIN\x20+\x20\x22/aiwith/api/page/\x22\x20+\x20cmd,\x20{\x0a\x20\x20\x20\x20\x20\x20method:\x20\x22POST\x22,\x0a\x20\x20\x20\x20\x20\x20headers:\x20{\x20\x22Content-Type\x22:\x20\x22application/json\x22\x20},\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify(args\x20||\x20{}),\x0a\x20\x20\x20\x20\x20\x20signal:\x20ctrl.signal,\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20throw\x20new\x20Error(timedOut\x0a\x20\x20\x20\x20\x20\x20?\x20\x22页内接口超时(70s,dev\x20页面可能未响应)\x22\x0a\x20\x20\x20\x20\x20\x20:\x20(\x22连接\x20AiWith\x20dev\x20server\x20失败(\x22\x20+\x20ORIGIN\x20+\x20\x22):\x22\x20+\x20((error\x20&&\x20error.message)\x20||\x20error)))\x0a\x20\x20}\x20finally\x20{\x0a\x20\x20\x20\x20clearTimeout(timer)\x0a\x20\x20\x20\x20if\x20(signal\x20&&\x20signal.removeEventListener)\x20{\x20signal.removeEventListener(\x22abort\x22,\x20onAbort)\x20}\x0a\x20\x20}\x0a\x20\x20const\x20json\x20=\x20await\x20res.json().catch(()\x20=>\x20null)\x0a\x20\x20if\x20(!json\x20||\x20json.ok\x20!==\x20true)\x20{\x0a\x20\x20\x20\x20throw\x20new\x20Error((json\x20&&\x20json.message)\x20||\x20(\x22页内接口失败:HTTP\x20\x22\x20+\x20res.status))\x0a\x20\x20}\x0a\x20\x20return\x20json.data\x0a}\x0a\x0a//\x20紧凑\x20JSON(工具输出直供模型,pretty\x20缩进会放大约\x203\x20倍\x20token)\x0afunction\x20text(value)\x20{\x0a\x20\x20return\x20typeof\x20value\x20===\x20\x22string\x22\x20?\x20value\x20:\x20JSON.stringify(value)\x0a}\x0a\x0afunction\x20schema(properties,\x20required)\x20{\x0a\x20\x20return\x20{\x20type:\x20\x22object\x22,\x20properties:\x20properties,\x20required:\x20required\x20||\x20[],\x20additionalProperties:\x20false\x20}\x0a}\x0a\x0afunction\x20saveScreenshot(directory,\x20dataUrl)\x20{\x0a\x20\x20const\x20match\x20=\x20/^data:image\x5c/([a-z]+);base64,(.*)$/.exec(String(dataUrl\x20||\x20\x22\x22))\x0a\x20\x20if\x20(!match)\x20{\x0a\x20\x20\x20\x20throw\x20new\x20Error(\x22截图数据无法解析\x22)\x0a\x20\x20}\x0a\x20\x20const\x20ext\x20=\x20match[1]\x20===\x20\x22jpeg\x22\x20?\x20\x22jpg\x22\x20:\x20match[1]\x0a\x20\x20const\x20buffer\x20=\x20Buffer.from(match[2],\x20\x22base64\x22)\x0a\x20\x20//\x20时间戳\x20+\x20随机后缀,避免同毫秒内多次截图互相覆盖\x0a\x20\x20const\x20name\x20=\x20\x22aiwith-\x22\x20+\x20Date.now()\x20+\x20\x22-\x22\x20+\x20Math.random().toString(36).slice(2,\x208)\x20+\x20\x22.\x22\x20+\x20ext\x0a\x20\x20const\x20candidates\x20=\x20[\x0a\x20\x20\x20\x20join(directory,\x20\x22node_modules\x22,\x20\x22.cache\x22,\x20\x22aiwith\x22,\x20\x22shots\x22),\x0a\x20\x20\x20\x20join(tmpdir(),\x20\x22aiwith-shots\x22),\x0a\x20\x20]\x0a\x20\x20let\x20path\x20=\x20join(candidates[candidates.length\x20-\x201],\x20name)\x0a\x20\x20for\x20(const\x20dir\x20of\x20candidates)\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20mkdirSync(dir,\x20{\x20recursive:\x20true\x20})\x0a\x20\x20\x20\x20\x20\x20writeFileSync(join(dir,\x20name),\x20buffer)\x0a\x20\x20\x20\x20\x20\x20path\x20=\x20join(dir,\x20name)\x0a\x20\x20\x20\x20\x20\x20break\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x20/*\x20换下一个目录\x20*/\x20}\x0a\x20\x20}\x0a\x20\x20return\x20{\x20path:\x20path,\x20mime:\x20ext\x20===\x20\x22jpg\x22\x20?\x20\x22image/jpeg\x22\x20:\x20\x22image/\x22\x20+\x20ext\x20}\x0a}\x0a\x0aexport\x20default\x20{\x0a\x20\x20id:\x20\x22aiwith.page\x22,\x0a\x20\x20async\x20setup(ctx)\x20{\x0a\x20\x20\x20\x20const\x20directory\x20=\x20(ctx.location\x20&&\x20ctx.location.directory)\x20||\x20process.cwd()\x0a\x0a\x20\x20\x20\x20await\x20ctx.tool.transform((editor)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20editor.namespace({\x20name:\x20\x22page\x22,\x20description:\x20\x22AiWith\x20当前\x20dev\x20页面的调试与交互能力(免浏览器授权)\x22\x20})\x0a\x20\x20\x20\x20\x20\x20//\x20⚠️\x20生效名\x20=\x20<options.namespace>_<name>:命名空间前缀必须逐工具用\x20options.namespace\x20指定,\x0a\x20\x20\x20\x20\x20\x20//\x20\x20\x20\x20editor.namespace()\x20只登记分组描述、**不会**给后续工具加前缀(实测\x20opencode\x202.0.21)。\x0a\x20\x20\x20\x20\x20\x20const\x20add\x20=\x20(tool)\x20=>\x20editor.add(Object.assign({\x20options:\x20{\x20namespace:\x20\x22page\x22\x20}\x20},\x20tool))\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22debug\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22读取当前\x20dev\x20页面的调试信息:页面地址/视口、最近的控制台输出、未捕获错误、网络请求,以及可选区域的\x20DOM\x20结构摘要。字段多、输出可能偏大——定位用\x20page_query/page_eval,本工具尽量传\x20selector\x20聚焦、调小各上限。调试问题优先用它,而不是截图。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22只摘要该选择器命中的区域(默认整页\x20body)\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20maxNodes:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22DOM\x20摘要节点上限,默认\x20120,最大\x20800\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22返回最近多少条控制台日志,默认\x2020\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20errors:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22返回最近多少条错误,默认\x2010\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20net:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22返回最近多少条网络请求,默认\x2020\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22debug\x22,\x20Object.assign({\x20maxNodes:\x20120,\x20console:\x2020,\x20errors:\x2010,\x20net:\x2020\x20},\x20input),\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20text(data)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22click\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22在当前\x20dev\x20页面点击匹配的元素(自动滚动到可视区,穿透开放\x20Shadow\x20DOM)。selector\x20支持\x20CSS\x20或文本匹配\x20\x5c\x22text=新建\x5c\x22。用于触发交互后,再用\x20page_debug\x20/\x20page_wait\x20验证结果。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22CSS\x20选择器,或\x20\x5c\x22text=按钮文案\x5c\x22\x22\x20}\x20},\x20[\x22selector\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22click\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22点击失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已点击\x20\x22\x20+\x20text(data)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22query\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22按选择器查询当前\x20dev\x20页面的元素清单(tag/id/class/text/rect/visible),用于定位可操作元素、拿选择器。selector\x20支持\x20CSS\x20或\x20\x5c\x22text=文案\x5c\x22。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22CSS\x20选择器或\x20\x5c\x22text=文案\x5c\x22(默认\x20*)\x22\x20},\x20limit:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22最多返回条数,默认\x2050\x22\x20}\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22query\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data\x20||\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error((data\x20&&\x20data.error)\x20||\x20\x22查询失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20text(data.items\x20||\x20[])\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22type\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22在当前\x20dev\x20页面的输入框写入文本(自动\x20focus,触发\x20input/change\x20事件,兼容\x20Vue\x20v-model)。selector\x20支持\x20CSS\x20或\x20\x5c\x22text=标签文案\x5c\x22。用于表单填写后,再用\x20page_debug\x20/\x20page_eval\x20验证。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22输入框选择器(CSS\x20或\x20\x5c\x22text=文案\x5c\x22)\x22\x20},\x20value:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22要写入的文本\x22\x20}\x20},\x20[\x22selector\x22,\x20\x22value\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22type\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22写入失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已写入\x20\x22\x20+\x20input.selector\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22fill\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22一次性批量写入多个表单字段(比多次\x20page_type\x20省往返)。fields=[{selector,value}],任一失败即中止并回报已完成项。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20fields:\x20{\x20type:\x20\x22array\x22,\x20description:\x20\x22字段数组:[{selector,value}]\x22,\x20items:\x20{\x20type:\x20\x22object\x22,\x20properties:\x20{\x20selector:\x20{\x20type:\x20\x22string\x22\x20},\x20value:\x20{\x20type:\x20\x22string\x22\x20}\x20},\x20required:\x20[\x22selector\x22,\x20\x22value\x22],\x20additionalProperties:\x20false\x20}\x20}\x20},\x20[\x22fields\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22fill\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error((data.error\x20||\x20\x22批量写入失败\x22)\x20+\x20\x22(已完成\x20\x22\x20+\x20(data.done\x20||\x20[]).length\x20+\x20\x22\x20项)\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已写入\x20\x22\x20+\x20(data\x20&&\x20data.count)\x20+\x20\x22\x20个字段\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22press\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22在当前\x20dev\x20页面按键(Enter/Escape/Tab\x20等):触发\x20keydown/keyup\x20事件,依赖\x20JS\x20按键监听(如\x20Vue\x20`@keyup.enter`)——**不会触发浏览器原生默认行为**(原生表单\x20Enter\x20提交、原生\x20Tab\x20焦点移动等不生效)。默认作用于当前焦点元素(如刚\x20page_type\x20的输入框),也可用\x20selector\x20指定。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20key:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22键名,如\x20Enter\x20/\x20Escape\x20/\x20Tab\x22\x20},\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22可选,目标元素选择器(默认焦点元素)\x22\x20}\x20},\x20[\x22key\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22press\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22按键失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已按键\x20\x22\x20+\x20input.key\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22hover\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22悬停到匹配元素:触发\x20mouseover/mouseenter/mousemove\x20事件,适用依赖\x20JS\x20监听的悬停。**注意:合成事件不会触发\x20CSS\x20伪类\x20`:hover`**——纯\x20CSS\x20hover\x20驱动的菜单/提示打不开,那种用\x20chrome-devtools\x20的\x20hover。selector\x20支持\x20CSS\x20或\x20\x5c\x22text=文案\x5c\x22。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22CSS\x20选择器或\x20\x5c\x22text=文案\x5c\x22\x22\x20}\x20},\x20[\x22selector\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22hover\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22悬停失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已悬停\x20\x22\x20+\x20input.selector\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22navigate\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22在当前\x20dev\x20页面内跳转路由:hash\x20路由(如\x20\x5c\x22#/order/list\x5c\x22)为\x20SPA\x20内跳转,不重载、连接不丢;跨路径整页跳转会等待新页面就绪。用于打开指定页面后再\x20page_debug\x20/\x20page_wait。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20to:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22目标地址:#/route\x20形式的\x20hash\x20路由,或完整\x20URL\x22\x20},\x20replace:\x20{\x20type:\x20\x22boolean\x22,\x20description:\x20\x22是否替换当前历史记录(默认\x20false)\x22\x20}\x20},\x20[\x22to\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22navigate\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22导航失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22已导航至\x20\x22\x20+\x20((data\x20&&\x20data.url)\x20||\x20input.to)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22wait\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22等待当前\x20dev\x20页面满足条件:元素出现(selector)、文本出现(text)或地址变化(url),命中即返回,超时即失败。替代固定等待,用于等列表刷新/toast\x20出现。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22等待该\x20CSS\x20选择器出现\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20text:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22等待页面出现该文本\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20url:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22等待地址包含该子串\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timeout:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22超时毫秒,默认\x2015000,最小\x201000,最大\x2060000\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22wait\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data.timeout)\x20{\x20throw\x20new\x20Error(\x22等待超时(条件未满足)\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(data.error\x20||\x20\x22等待失败\x22)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20\x22条件已满足(\x22\x20+\x20((data\x20&&\x20data.matched)\x20||\x20\x22ok\x22)\x20+\x20\x22)\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22eval\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22在当前\x20dev\x20页面执行一段\x20JavaScript\x20并返回结果(JSON\x20化)。用于读取任意页面状态、调用页面内\x20API、构造测试数据。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x20code:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22要执行的\x20JavaScript\x20源码,最后表达式的值即返回结果\x22\x20}\x20},\x20[\x22code\x22]),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22eval\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(data\x20&&\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error(data.error\x20||\x20\x22执行失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x20content:\x20text(data\x20&&\x20data.result)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20add({\x0a\x20\x20\x20\x20\x20\x20\x20\x20name:\x20\x22screenshot\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\x22对当前\x20dev\x20页面(或指定区域)截图,返回\x20PNG\x20文件路径与图片内容,便于直接查看渲染效果。自动排除\x20AiWith\x20自身的浮标/抽屉等开发期元素。\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20input:\x20schema({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selector:\x20{\x20type:\x20\x22string\x22,\x20description:\x20\x22只截取该选择器命中的元素(默认整页)\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scale:\x20{\x20type:\x20\x22number\x22,\x20description:\x20\x22缩放倍数,默认\x201(会再乘以设备像素比)\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20}),\x0a\x20\x20\x20\x20\x20\x20\x20\x20execute:\x20async\x20(input,\x20context)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20call(\x22screenshot\x22,\x20input,\x20context\x20&&\x20context.signal)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!data\x20||\x20data.ok\x20===\x20false)\x20{\x20throw\x20new\x20Error((data\x20&&\x20data.error)\x20||\x20\x22截图失败\x22)\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20saved\x20=\x20saveScreenshot(directory,\x20data.dataUrl)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20content:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20type:\x20\x22text\x22,\x20text:\x20\x22截图完成\x20\x22\x20+\x20data.width\x20+\x20\x22×\x22\x20+\x20data.height\x20+\x20\x22,已保存:\x22\x20+\x20saved.path\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20type:\x20\x22file\x22,\x20uri:\x20\x22file://\x22\x20+\x20saved.path,\x20mime:\x20saved.mime,\x20name:\x20saved.path.split(/[\x5c\x5c/]/).pop()\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20})\x0a\x20\x20},\x0a}\x0a'};}),an=fe(c=>{W(),(function(){const cN=b;let d=/[\p{Lu}]/u,e=/[\p{Ll}]/u,g=/^[\p{Lu}](?![\p{Lu}])/gu,h=/([\p{Alpha}\p{N}_]|$)/u,i=/[_.\- ]+/,l=new RegExp('^'+i[cN(0x338)]),m=new RegExp(i[cN(0x338)]+h[cN(0x338)],'gu'),n=new RegExp(cN(0x348)+h[cN(0x338)],'gu'),o=(s,t,u,x)=>{const cO=cN;let z=!0x1,C=!0x1,E=!0x1,F=!0x1;for(let G=0x0;G<s[cO(0x34f)];G++){let I=s[G];F=G>0x2?s[G-0x3]==='-':!0x0,z&&d[cO(0x22c)](I)?(s=s[cO(0x259)](0x0,G)+'-'+s[cO(0x259)](G),z=!0x1,E=C,C=!0x0,G++):C&&E&&e[cO(0x22c)](I)&&(!F||x)?(s=s[cO(0x259)](0x0,G-0x1)+'-'+s[cO(0x259)](G-0x1),E=C,C=!0x1,z=!0x0):(z=t(I)===I&&u(I)!==I,E=C,C=u(I)===I&&t(I)!==I);}return s;},p=(s,t)=>(g[cN(0x23e)]=0x0,s[cN(0x1c8)](g,u=>t(u))),r=(s,t)=>(m['lastIndex']=0x0,n['lastIndex']=0x0,s[cN(0x1c8)](n,(u,w,x)=>['_','-'][cN(0x3cd)](s['charAt'](x+u[cN(0x34f)]))?u:t(u))['replaceAll'](m,(u,w)=>t(w)));c[cN(0x409)]=function(s,t){const cP=cN;if(!(typeof s=='string'||Array[cP(0x326)](s)))throw new TypeError('Expected\x20the\x20input\x20to\x20be\x20`string\x20|\x20string[]`');if(t={'pascalCase':!0x1,'preserveConsecutiveUppercase':!0x1,...t},Array['isArray'](s)?s=s[cP(0x316)](x=>x[cP(0x2f4)]())['filter'](x=>x[cP(0x34f)])['join']('-'):s=s[cP(0x2f4)](),s[cP(0x34f)]===0x0)return'';let u=t[cP(0x3f1)]===!0x1?x=>x[cP(0x219)]():x=>x[cP(0x202)](t[cP(0x3f1)]),w=t['locale']===!0x1?x=>x['toUpperCase']():x=>x[cP(0x439)](t['locale']);return s[cP(0x34f)]===0x1?i[cP(0x22c)](s)?'':t['pascalCase']?w(s):u(s):(s!==u(s)&&(s=o(s,u,w,t[cP(0x1a3)])),s=s[cP(0x24b)](l,''),s=t[cP(0x1a3)]?p(s,u):u(s),t['pascalCase']&&(s=w(s[cP(0x1e1)](0x0))+s[cP(0x259)](0x1)),r(s,w));};}());}),on=fe(c=>{W(),(function(){const cQ=b;let d=require(cQ(0x1b9)),e=require('fs'),g=[cQ(0x377),'blocks'],{camelCase:h}=an(),i=function(n){const cR=cQ;let o=[],p=[],r=[];e[cR(0x2ed)](n)[cR(0x2ba)]((u,w)=>u[cR(0x29b)](w))['forEach'](u=>{const cS=cR;let w=d[cS(0x279)](n,u,cS(0x3cf));if(e[cS(0x3ab)](w))o[cS(0x263)](cS(0x1e4)+u+cS(0x3a6)+u+cS(0x1ca)),p['push'](u);else{let x=d['join'](n,u,u+cS(0x28b));if(e[cS(0x3ab)](x))o[cS(0x263)]('import\x20'+u+'\x20from\x20\x27./'+u+'/'+u+cS(0x379)),r[cS(0x263)](''+u);else{if(u[cS(0x37a)]('.')>-0x1)return;j(d[cS(0x279)](n,u),u,n)&&(o[cS(0x263)](cS(0x1e4)+u+cS(0x3a6)+u+cS(0x1ca)),p[cS(0x263)](u));}}});let s=r[cR(0x34f)]>0x0?'const\x20vueFiles\x20=\x20{\x0a\x09'+r[cR(0x279)](cR(0x24f))+cR(0x1d3):'',t=o['join']('\x0a')+'\x0a'+s+cR(0x2b2)+(s?'\x0a\x09...vueFiles,':'')+cR(0x270)+(p[cR(0x34f)]>0x0?'...'+p['join'](',\x0a\x09...'):'')+cR(0x1d3);e[cR(0x20c)](d[cR(0x279)](n,cR(0x3cf)),t,()=>{});},j=function(n,o,p){const cT=cQ;let r=d[cT(0x279)](n,cT(0x3cf)),s=[],t=[];if(!e[cT(0x3ab)](n)||o[0x0]==='.'||g[cT(0x3cd)](o))return!0x1;let u=!e[cT(0x3ab)](r);if(e[cT(0x2ed)](n)[cT(0x2ba)]((x,z)=>x[cT(0x29b)](z))[cT(0x40b)](x=>{const cU=cT;let z=d[cU(0x279)](n,x,cU(0x3cf)),C=[];if(e[cU(0x3ab)](z)){C[cU(0x263)](x),s['push'](cU(0x1e4)+x+cU(0x32f)+x+cU(0x26d)),t['push'](cU(0x277)+x);return;}let E=d[cU(0x279)](n,x,x+'.vue');if(x[cU(0x37a)]('.')>-0x1||!e['existsSync'](E))return;let F=h(o['replace'](/\//gi,'_')+'_'+x,{'pascalCase':!0x0});s[cU(0x263)]('import\x20'+F+cU(0x32f)+x+'/'+x+'\x22;'),t[cU(0x263)]('\x27'+o+'/'+x+'\x27:\x20'+F);}),s[cT(0x34f)]===0x0)return!0x1;let w=s[cT(0x279)]('\x0a')+'\x0a\x0aexport\x20default\x20{\x0a\x09'+t[cT(0x279)](cT(0x24f))+'\x0a}';return e[cT(0x20c)](r,w),i(p),u&&i(p),!0x0;};function l(n){const cV=cQ;let o=d[cV(0x279)](n,cV(0x3cf)),p=e['readdirSync'](n),r=[],s=[];p[cV(0x316)](u=>{const cW=cV;if(u[cW(0x37a)]('.')>-0x1)return;let w=d[cW(0x279)](n,u,u+'.vue');e['existsSync'](w)&&(s[cW(0x263)](u),r[cW(0x31a)]('import\x20'+u+cW(0x32f)+u+'/'+u+'\x22;'));});let t=r[cV(0x279)]('\x0a')+cV(0x387)+s[cV(0x279)](cV(0x24f))+cV(0x1e6);return e[cV(0x20c)](o,t);}c[cQ(0x2d4)]=i,c['makeSonIndex']=j,c[cQ(0x34e)]=l;}());}),sn=fe(c=>{W(),(function(){const cX=b;let e=require('os'),g=require(cX(0x382)),h=require(cX(0x342)),i=new RegExp(cX(0x32a),'gi'),n=[cX(0x375),'.css',cX(0x255)],o=[cX(0x375),cX(0x32b),cX(0x32e)],p=require('fs'),{join:r,dirname:s,resolve:t,extname:u}=require('path'),C=cX(0x185),E='/',G=require(cX(0x2d9)),I=require(cX(0x347)),{TosClient:J}=require(cX(0x1a6)),M,P,Q,U,Y;function a0(ac){const cY=cX;let ad=r(ac,cY(0x3e9)),ae=p[cY(0x2a9)](ad,cY(0x353));return JSON[cY(0x331)](ae);}function a1(ac,ad){const cZ=cX;let ae={'Bucket':Q[cZ(0x32d)],'Region':Q['region'],'Key':ac,'StorageClass':'STANDARD'},af=ac['indexOf'](cZ(0x375))>-0x1;af||ac[cZ(0x37a)]('.css')>-0x1?(ae[cZ(0x30d)]={'Content-Encoding':cZ(0x2d6),'Content-Type':af?cZ(0x30b):cZ(0x248)},ae[cZ(0x271)]=Buffer[cZ(0x1fe)](h[cZ(0x2d6)](p[cZ(0x2a9)](ad,'utf8')))):ae[cZ(0x271)]=p[cZ(0x210)](ad),P['putObject'](ae,(ag,ah)=>{const d0=cZ;if(ag)return console[d0(0x17a)](ag,ah);console[d0(0x17a)](E+ac);});}function a2(ac,ad){const d1=cX;let ae={'bucket':Q[d1(0x30f)],'key':ac},af=ac[d1(0x37a)](d1(0x375))>-0x1;af||ac[d1(0x37a)](d1(0x32b))>-0x1?(ae[d1(0x434)]={'Content-Encoding':d1(0x2d6),'Content-Type':af?d1(0x30b):d1(0x248)},ae['body']=Buffer[d1(0x1fe)](h[d1(0x2d6)](p[d1(0x2a9)](ad,d1(0x353))))):ae[d1(0x44c)]=p['createReadStream'](ad),P[d1(0x33b)](ae,(ag,ah)=>{const d2=d1;if(ag)return console['log'](ag,ah);console[d2(0x17a)](E+ac);});}function a3(ac,ad){const d3=cX;let ae,af,ag=ac['indexOf'](d3(0x375))>-0x1;ag||ac[d3(0x37a)](d3(0x32b))>-0x1?(af={'Content-Encoding':'gzip','Content-Type':ag?d3(0x30b):'text/css'},ae=Buffer[d3(0x1fe)](h[d3(0x2d6)](p[d3(0x2a9)](ad,'utf8')))):(ae=p[d3(0x210)](ad),af={}),P['put'](ac,ae,{'headers':af});}function a4(ac,ad){const d4=cX;p['readdirSync'](ac)[d4(0x40b)](ae=>{const d5=d4;if(ae['indexOf']('.')===0x0||ae['indexOf'](d5(0x283))>-0x1)return;let af=r(ac,ae),ag=p['statSync'](af);if(ag[d5(0x42a)]()&&a4(af,r(ad,ae)),ag['isFile']()){let ah=r(ad,ae)[d5(0x24b)](/\\/gi,'/');console['log'](ah),Y(ah,af);}});}function a5(ac){const d6=cX;let ad=ac[d6(0x171)](ac[d6(0x37a)](d6(0x2b4))+0x4);ad['startsWith'](d6(0x225))&&(ad=ad[d6(0x171)](0x4));let ae=r(M,ad),af=u(ae);if(!p[d6(0x3ab)](ae)||o[d6(0x3cd)](af)){g['mkdir']('-p',s(ae));let ag=ac[d6(0x37a)](':')>-0x1?ac:d6(0x199)+ac,ah='curl\x20'+C+d6(0x1f4)+ae+d6(0x337)+ag+'\x22';if(ae[d6(0x37a)](d6(0x375))>-0x1||ae[d6(0x37a)]('.css')>-0x1){let aj=ae+d6(0x339);ah='curl\x20'+C+'\x20-o\x20\x22'+aj+d6(0x337)+ag+d6(0x2ae)+aj+d6(0x2cb)+ae+'\x22;\x20status=$?;\x20rm\x20-f\x20\x22'+aj+d6(0x35a);}let ai=g[d6(0x418)](ah);if(ai[d6(0x28d)]!==0x0)return console[d6(0x3a2)](d6(0x310)+ah+':\x20'+ai[d6(0x258)]),ac;}return ad;}function a6(ac){const d7=cX;let ad=u(ac);if(ac['indexOf']('.')===0x0||ad===d7(0x283))return;let ae;if(ac['indexOf'](d7(0x315))>-0x1?ae=M+ac[d7(0x171)](U[d7(0x34f)]+0x5):ae=M+ac[d7(0x171)](U[d7(0x34f)]+0x7),g[d7(0x3c8)]('-p',s(ae)),!n['includes'](ad))return g['cp'](ac,ae);let af=p['readFileSync'](ac,d7(0x353))[d7(0x24b)](i,ag=>ag[d7(0x37a)]('\x27')>-0x1||ag[d7(0x37a)]('\x22')>-0x1?ag:a5(ag));p[d7(0x20c)](ae,Buffer[d7(0x1fe)](h[d7(0x2d6)](af)),'utf8');}function a7(ac){const d8=cX;let ad=p[d8(0x2ed)](ac);for(let ae of ad){if(ae[d8(0x208)]('.'))continue;let af=r(ac,ae),ag=p[d8(0x357)](af);ag[d8(0x42a)]()?a7(af):ag['isFile']()&&a6(af);}}function a8(ac,ad,ae){const d9=cX;let af=p[d9(0x2ed)](ac);for(let ag of af){let ah=r(ac,ag);if(p[d9(0x357)](ah)[d9(0x42a)]())a8(ah,ad,ae);else{if(ac[d9(0x37a)](d9(0x1b4))>-0x1&&ag===d9(0x187)){let ai=p['readFileSync'](ah,d9(0x353)),{path:aj,basic:ak,actions:al=[]}=JSON[d9(0x331)](ai);if(!aj)continue;let am=ak[d9(0x1bf)];am&&(ae[am]?ae[am][d9(0x263)](aj):ae[am]=[aj]);let ao=[];ak[d9(0x16c)][d9(0x40b)](({_id:ap,label:aq,mode:ar,href:as,url:au})=>{const da=d9;let av=ap+'',aw={'id':av,'label':aq};ar===da(0x39f)&&as&&(aw['link']=as[da(0x171)](0x1)),ao['push'](aw),au&&(ae[au]?ae[au][da(0x263)](av):ae[au]=[av]);}),al[d9(0x40b)](({_id:ap,label:aq,mode:ar,href:as,url:au})=>{const db=d9;let av=ap+'',aw={'id':av,'label':aq};ar==='link'&&as&&(aw['link']=as[db(0x171)](0x1)),ao[db(0x263)](aw),au&&(ae[au]?ae[au][db(0x263)](av):ae[au]=[av]);}),ao[d9(0x34f)]>0x0&&(ad[aj]=ao);}}}}function a9(){const dc=cX;let ac=new Date(),ad=ac['getFullYear']()[dc(0x3d7)]()['slice'](-0x2),ae=(ac['getMonth']()+0x1)[dc(0x3d7)]()[dc(0x247)](0x2,'0'),af=ac[dc(0x3c4)]()[dc(0x3d7)]()[dc(0x247)](0x2,'0'),ag=ac[dc(0x301)]()[dc(0x3d7)]()[dc(0x247)](0x2,'0'),ah=ac[dc(0x2cc)]()['toString']()['padStart'](0x2,'0');return ad+ae+af+ag+ah;}function aa(ac){const dd=cX;let ad=r(M,'..');if(!p[dd(0x3ab)](ad))return;let ae={},af={};a8(r(ac,dd(0x30e)),ae,af);let ag=r(ad,dd(0x1f0)),ah=r(ad,dd(0x304));p[dd(0x20c)](ah,JSON['stringify'](af),'utf8'),p[dd(0x20c)](ag,JSON['stringify'](ae),'utf8');}async function ab(ac){const de=cX;let ad=r(M,'..'),ae=a9();if(!p['existsSync'](ad)){let ag=r(ac,de(0x256));return p[de(0x20c)](ag,ae,de(0x353)),ae;}let af=r(ad,de(0x449),de(0x3e1));p['existsSync'](af)||g[de(0x3c8)]('-p',s(af));try{let ah={};return p[de(0x3ab)](af)&&(ah=JSON['parse'](p[de(0x2a9)](af,de(0x353)))),ah['fd']=ae,p[de(0x20c)](af,JSON[de(0x2a5)](ah),de(0x353)),ae;}catch(ai){return console[de(0x17a)](ai),'';}}c[cX(0x436)]=async function(ac,ad,ae){const df=cX;if(!ad)return;U=ac,Q=JSON[df(0x331)](p[df(0x2a9)](r(e[df(0x346)](),df(0x2a2)))),ad===df(0x31b)?(P=new J({'accessKeyId':Q[df(0x2e1)],'accessKeySecret':Q[df(0x391)],'region':Q['tosRegion'],'endpoint':Q[df(0x1ce)]}),E=Q[df(0x445)]+'/',Y=a2):ad==='oss'?(P=new I({'accessKeyId':Q[df(0x43b)],'accessKeySecret':Q[df(0x29c)],'bucket':Q[df(0x2a7)],'region':df(0x40e)+Q[df(0x2c7)],'authorizationV4':!0x0}),E=Q[df(0x374)]+'/',Y=a3):(P=new G({'SecretId':Q['id'],'SecretKey':Q['key']}),E=Q[df(0x175)]+'/',Y=a1);let af=a0(ac),ag=af[df(0x425)],ah,ai;if(ah=r(ac,df(0x315)),ai=r(ac,df(0x26f)),af[df(0x309)]!==df(0x41e)){let al=[df(0x194),df(0x444),df(0x1ac),df(0x218)];g['mkdir']('-p',ai),al[df(0x40b)](am=>{const dg=df;let ao=r(ai,am),ap=ao+dg(0x339),aq=dg(0x38e)+C+dg(0x1f4)+ap+dg(0x366)+ae+'/'+am+'\x22\x20&&\x20gunzip\x20-c\x20\x22'+ap+dg(0x2cb)+ao+'\x22;\x20status=$?;\x20rm\x20-f\x20\x22'+ap+dg(0x35a);console[dg(0x17a)](aq);let ar=g[dg(0x418)](aq);ar[dg(0x28d)]!==0x0&&console[dg(0x3a2)](dg(0x310)+aq+':\x20'+ar[dg(0x258)]);});}M=t(ac,'..',ag,'src',df(0x2af),'resources',df(0x16e));let aj=await ab(ah),ak=ag+'/'+aj;aa(ac),a4(ah,ak),p[df(0x3ab)](ai)&&a4(ai,ak);},c[cX(0x3f1)]=async function(ac,ad){const dh=cX;U=ac;let ae=a0(ac)[dh(0x425)];M=t(ac,'..',ae,dh(0x30e),dh(0x2af),'resources',dh(0x16e)),aa(ac);let af=r(ac,dh(0x315));await ab(af);let ag=r(ac,'public');g['mkdir']('-p',ag),[dh(0x194),dh(0x444),dh(0x1ac),dh(0x218)]['forEach'](ah=>{const di=dh;let ai=r(ag,ah),aj=ai+'.tmp',ak=di(0x38e)+C+'\x20-o\x20\x22'+aj+'\x22\x20\x22https://b.ebus.vip/zeto/'+ad+'/'+ah+di(0x322)+aj+di(0x2cb)+ai+di(0x343)+aj+'\x22;\x20exit\x20$status';console['log'](ak);let al=g['exec'](ak);al[di(0x28d)]!==0x0&&console[di(0x3a2)](di(0x310)+ak+':\x20'+al['stderr']);}),a7(af),p[dh(0x3ab)](ag)&&a7(ag);};}());}),ln=fe((c,d)=>{W(),(function(){const dj=b;let e=require(dj(0x1b9)),g=require('fs'),h=require(dj(0x1d8)),i=require(dj(0x355)),n=on(),{remote:o,locale:p}=sn(),{makeRootIndex:r,makeSonIndex:s,makeComponentIndex:t}=n,u=[dj(0x377),dj(0x3e6)];function x(P){const dk=dj;return dk(0x3f0)+P+dk(0x400);}function z(P){const dl=dj;return dl(0x446)+P+dl(0x1a7);}function C(P,Q){const dm=dj;if(Q[dm(0x34f)]<0x2)return;let R,T=Q[dm(0x25e)]((U,V)=>(V===0x0&&(R=e[dm(0x279)](P,U),g[dm(0x3ab)](R)||g['mkdirSync'](R)),V>0x0));C(R,T);}let E='<template>\x0a\x20\x20\x20\x20<div>Zen\x20Page</div>\x0a</template>\x0a\x0a<script\x20setup>\x0a</script>',F=dj(0x1d1);function G(P,Q){const dn=dj;P[dn(0x3c6)](dn(0x2a3),dn(0x2f1)),P['end'](JSON[dn(0x2a5)](Q));}function I(P,Q){const dp=dj;P[dp(0x3c6)](dp(0x2a3),dp(0x405)),P[dp(0x1df)](Q);}function J(P,Q){const dq=dj;let R=e[dq(0x279)](P,'src',dq(0x336)),T=i[dq(0x31f)]();return function(U,V,Y){const dr=dq;let {url:Z,method:a0}=U;if(a0===dr(0x3ea)&&Z==='/coder.html')return I(V,x(Q));if(a0==='GET'&&Z===dr(0x274))return I(V,z(Q));if(a0===dr(0x39e)&&Z===dr(0x229))return T(U,V,()=>{const ds=dr;let {file:a1}=U[ds(0x44c)]||{};if(!a1)return G(V,{'code':0x2711,'message':ds(0x3db)});let a2=e['join'](R,a1);return g[ds(0x3ab)](a2)?G(V,{'code':0x2710,'data':g[ds(0x2a9)](a2,ds(0x1b3))}):G(V,{'code':0x2710,'data':null});});if(a0===dr(0x39e)&&Z===dr(0x3f2))return T(U,V,()=>{const dt=dr;let {file:a1,content:a2,type:a3}=U['body']||{};if(!a1)return G(V,{'code':0x2711,'message':'\u53C2\u6570\u9519\u8BEF'});let a4=a1[dt(0x1c3)]('/');C(R,a4);let a5=e['join'](R,a1);if(g[dt(0x20c)](a5,a2),a3===dt(0x35b)){let a6=a4[dt(0x22f)](0x0,a4[dt(0x34f)]-0x2),a7=e[dt(0x279)](R,a6['join'](e['sep']));if(a6[dt(0x34f)]===0x0)return r(R);s(a7,a6[dt(0x279)]('/'),R);}return G(V,{'code':0x2710,'message':dt(0x3ae)});});Y();};}function K(P){const du=dj;let Q=e[du(0x279)](P,du(0x30e),du(0x336));if(!g[du(0x3ab)](Q))return null;let R=h[du(0x272)](Q,{'depth':0x2,'usePolling':!0x1});return R['on'](du(0x2cf),U=>{const dv=du;let V=e[dv(0x279)](U,'index.js');if(g[dv(0x3ab)](V)||U[dv(0x37a)](dv(0x1b4))>-0x1)return;let Y=e[dv(0x18f)](U)[dv(0x1c3)](e['sep']),Z=Y['pop'](),a0=Y[Y[dv(0x34f)]-0x1],a1=e[dv(0x279)](U,Z+dv(0x28b));g[dv(0x3ab)](a1)||u[dv(0x3cd)](Z)||u[dv(0x3cd)](a0)||(Y[dv(0x34f)]-Y[dv(0x37a)](a0)===0x1&&Y[dv(0x34f)]-Y['indexOf'](dv(0x336))!==0x2&&(a0=Y[Y[dv(0x34f)]-0x2]+e[dv(0x3de)]+a0),g[dv(0x20c)](a1,E),s(Y[dv(0x279)](e['sep']),a0,Q));}),R['on'](du(0x415),T=>{const dw=du;let U=e['resolve'](T)[dw(0x1c3)](e['sep']);U[dw(0x2c9)]();let V=U[dw(0x279)](e[dw(0x3de)]),Y=U[dw(0x2c9)]();Y===dw(0x336)?r(Q):(U[dw(0x34f)]-U[dw(0x37a)]('pages')===0x2&&(Y=U[dw(0x2c9)]()+e[dw(0x3de)]+Y),s(V,Y,Q));}),r(Q),R['on'](du(0x3a2),function(T){const dx=du;console[dx(0x3a2)](dx(0x266),T);}),R;}function M(P){const dy=dj;let Q=e[dy(0x279)](P,dy(0x30e),dy(0x377));if(!g[dy(0x3ab)](Q))return null;let R=h[dy(0x272)](Q,{'depth':0x1,'usePolling':!0x1});return R['on']('addDir',U=>{const dz=dy;let V=e['resolve'](U)[dz(0x1c3)](e['sep']),Y=V[dz(0x2c9)](),Z=e[dz(0x279)](U,Y+dz(0x28b)),a0=e['join'](U,Y+dz(0x375));g[dz(0x3ab)](Z)||g['existsSync'](a0)||Y===dz(0x377)||V[V['length']-0x1]!==dz(0x377)||(g[dz(0x20c)](Z,F),t(Q));}),R['on'](dy(0x415),T=>{const dA=dy;let U=e[dA(0x18f)](T)[dA(0x1c3)](e[dA(0x3de)]);U[U[dA(0x34f)]-0x2]===dA(0x377)&&t(Q);}),R['on']('error',function(T){const dB=dy;console[dB(0x3a2)](dB(0x266),T);}),R;}d[dj(0x369)]=function({target:P,ROOT:Q,name:R,core:T,isDev:U}){const dC=dj;return{'name':dC(0x39c),'configureServer'(V){const dD=dC;V[dD(0x386)]['use'](J(Q,R));let Y=[K(Q),M(Q)];V[dD(0x2d8)]&&V['httpServer']['on'](dD(0x2b7),()=>{const dE=dD;Y[dE(0x40b)](Z=>Z&&Z['close']());});},'closeBundle'(){U||setTimeout(()=>{const dF=b;P===dF(0x1fc)?p(Q,T):P&&o(Q,P,T);},0x64);}};};}());}),Ke=fe((c,d)=>{W(),(function(){const dG=b;let e=require('fs'),f=require(dG(0x1b9));d[dG(0x369)]=function({outDir:g}){return{'name':'zen-css-inject','closeBundle'(){const dH=b;if(!g||!e[dH(0x3ab)](g))return;e['readdirSync'](g)[dH(0x25e)](h=>h[dH(0x37c)](dH(0x32b)))['forEach'](h=>{const dI=dH;let i=e['readFileSync'](f['join'](g,h),'utf8'),l=f['join'](g,h[dI(0x24b)](/\.css$/,dI(0x375)));if(e[dI(0x3ab)](l)){let m=e['readFileSync'](l,dI(0x353)),n=dI(0x328)+JSON[dI(0x2a5)](i)+dI(0x2c8);e[dI(0x20c)](l,n+m);}e[dI(0x3b2)](f[dI(0x279)](g,h));});}};};}());}),pn=fe((c,d)=>{W(),(function(){const dJ=b;let e=require('fs'),g=require(dJ(0x1b9)),h={'compact':!0x0,'stringArray':!0x0,'stringArrayEncoding':[dJ(0x3df)],'stringArrayThreshold':0.75,'identifierNamesGenerator':'mangled','selfDefending':!0x1,'target':dJ(0x3d8),'renameGlobals':!0x1};d[dJ(0x369)]=function({outDir:i}){const dK=dJ;return{'name':dK(0x300),'closeBundle'(){const dL=dK;if(!i||!e[dL(0x3ab)](i))return;let j=e['readdirSync'](i)[dL(0x25e)](m=>m[dL(0x37c)]('.js'));if(j[dL(0x34f)]===0x0)return;let l;try{l=require('javascript-obfuscator');}catch{throw new Error('obfuscate:\x20true\x20\u9700\u8981\u5B89\u88C5\x20javascript-obfuscator\uFF0C\u8BF7\u6267\u884C\x20npm\x20i\x20-D\x20javascript-obfuscator');}j[dL(0x40b)](m=>{const dM=dL;let n=g[dM(0x279)](i,m),o=e[dM(0x2a9)](n,dM(0x353)),p=l['obfuscate'](o,h)[dM(0x3ef)]();e[dM(0x20c)](n,p),console[dM(0x17a)]('\u6DF7\u6DC6\u5B8C\u6210\uFF1A'+m,'('+(p[dM(0x34f)]/0x400)[dM(0x221)](0x1)+dM(0x307));});}};};}());}),mn=fe((c,d)=>{W(),(function(){const dN=b;let e=require('path'),g=Ke(),h=[dN(0x19b),dN(0x237),'vue-router',dN(0x36f)],i={'vue':'Vue','vue-router':dN(0x2d1),'element-plus':'ElementPlus','vant':'vant'};d[dN(0x369)]=function({outDir:l,extraEntries:m,ROOT:n,srcRoot:o}){const dO=dN;return{'name':dO(0x269),async 'closeBundle'(){const dP=dO;if(!m||m['length']===0x0)return;let {default:p}=await import(dP(0x323)),{default:r}=await import(dP(0x1c6)),{build:s}=await import(dP(0x370));for(let t of m){let u=e[dP(0x2fe)](t,dP(0x375));await s({'configFile':!0x1,'root':n,'logLevel':dP(0x3a2),'plugins':[p(),r({'include':/\.(jsx|js)/}),g({'outDir':l})],'define':{'__VUE_OPTIONS_API__':!0x0,'__VUE_PROD_DEVTOOLS__':!0x1},'resolve':{'extensions':[dP(0x375),dP(0x28b),'.jsx','.json'],'alias':{'@':o,'@icons':e[dP(0x18f)](n,dP(0x205))}},'css':{'cssCodeSplit':!0x1},'build':{'outDir':l,'emptyOutDir':!0x1,'copyPublicDir':!0x1,'minify':dP(0x213),'target':dP(0x34a),'sourcemap':!0x1,'lib':{'entry':t,'formats':[dP(0x1bc)],'name':dP(0x41e),'fileName':()=>u+dP(0x375),'cssFileName':u},'rolldownOptions':{'external':h,'output':{'globals':i,'minify':{'compress':{'dropConsole':!0x0,'dropDebugger':!0x0},'mangle':!0x0,'codegen':{'legalComments':dP(0x2c4)}}}}}});}}};};}());}),hn=fe((c,d)=>{W(),(function(){const dQ=b;let e={'vue':'Vue','vue-router':dQ(0x2d1),'element-plus':dQ(0x36e),'vant':'vant'},g=dQ(0x20b),h=new RegExp(dQ(0x290)+g+dQ(0x3b8),'g'),i=new RegExp(dQ(0x1b8)+g+dQ(0x3b8),'g'),j=new RegExp(dQ(0x2bf)+g+')[\x27\x5c\x22]','g'),l=new RegExp(dQ(0x186)+g+dQ(0x3b8),'g'),m=new RegExp(dQ(0x2c2)+g+dQ(0x3b8),'g');d[dQ(0x369)]=function({isDev:n}){const dR=dQ;return{'name':dR(0x3b6),'transform'(o,p){const dS=dR;if(!n||!o||p[dS(0x37a)]('node_modules')>-0x1)return null;let r=!0x1;return o=o['replace'](h,(s,t,u)=>(r=!0x0,dS(0x21a)+t+'\x20=\x20window.'+e[u])),o=o[dS(0x24b)](i,(s,t,u,x)=>{const dT=dS;r=!0x0;let y=u[dT(0x2f4)]()[dT(0x24b)](/\s+as\s+/g,':\x20');return dT(0x21a)+t+dT(0x3d1)+e[x]+';\x0aconst\x20{\x20'+y+dT(0x223)+e[x];}),o=o[dS(0x24b)](j,(s,t,u)=>(r=!0x0,dS(0x193)+t[dS(0x2f4)]()['replace'](/\s+as\s+/g,':\x20')+'\x20}\x20=\x20window.'+e[u])),o=o[dS(0x24b)](l,(s,t,u)=>(r=!0x0,'const\x20'+t+dS(0x3d1)+e[u])),o=o[dS(0x24b)](m,(s,t)=>(r=!0x0,'/*\x20global\x20'+e[t]+dS(0x427))),r?{'code':o,'map':null}:null;}};};}());}),bn=fe((c,d)=>{const dU=cJ;W();var e=require('fs'),f=require('os'),g=require('path'),h=['compile',dU(0x389),dU(0x2d2),dU(0x1c9),dU(0x3d3),dU(0x35e),'defineCustomElement',dU(0x1dd),dU(0x3c2),dU(0x224),dU(0x230),dU(0x2a8),'render',dU(0x2e2),'useCssVars',dU(0x3cb),dU(0x3d6),dU(0x34d),dU(0x440),'vModelRadio','vModelSelect',dU(0x330),dU(0x33e),dU(0x273),dU(0x364),dU(0x254),dU(0x3e0),dU(0x410),dU(0x1c7),dU(0x293),'effect','effectScope',dU(0x383),dU(0x2ee),dU(0x2ef),dU(0x443),dU(0x2c5),dU(0x3eb),dU(0x324),'markRaw',dU(0x3a4),dU(0x3ed),'proxyRefs',dU(0x1e5),dU(0x407),dU(0x1b7),dU(0x2e4),dU(0x345),dU(0x3bb),dU(0x292),dU(0x344),dU(0x2c3),dU(0x286),'toValue',dU(0x365),'unref','camelize','capitalize',dU(0x2c1),'normalizeProps',dU(0x18b),'toDisplayString',dU(0x2dd),dU(0x1eb),dU(0x3b4),dU(0x402),dU(0x360),dU(0x1a2),dU(0x2d0),'Fragment',dU(0x282),dU(0x3d4),dU(0x362),dU(0x302),'Text',dU(0x289),dU(0x37f),dU(0x37b),'cloneVNode',dU(0x41b),dU(0x421),'createBlock','createCommentVNode',dU(0x1de),'createElementVNode',dU(0x363),'createPropsRestProxy',dU(0x25a),dU(0x320),'createStaticVNode','createTextVNode',dU(0x43d),'defineAsyncComponent',dU(0x163),dU(0x21c),'defineExpose',dU(0x419),dU(0x38b),'defineProps',dU(0x392),dU(0x1f1),'getCurrentInstance','getTransitionRawChildren',dU(0x200),'h',dU(0x241),dU(0x1a4),dU(0x40d),dU(0x1b6),'hydrateOnMediaQuery','hydrateOnVisible',dU(0x36b),dU(0x32c),'isMemoSame',dU(0x18a),'isVNode',dU(0x38a),'mergeModels','mergeProps','nextTick','onActivated',dU(0x3f4),dU(0x281),'onBeforeUpdate',dU(0x2da),dU(0x396),dU(0x435),dU(0x1ff),'onRenderTriggered',dU(0x359),dU(0x2f8),dU(0x42e),dU(0x260),dU(0x44a),dU(0x3c3),dU(0x1fd),'queuePostFlushCb',dU(0x226),dU(0x1d6),dU(0x1ae),dU(0x253),dU(0x33f),dU(0x3e5),dU(0x412),dU(0x174),dU(0x36d),dU(0x313),dU(0x251),dU(0x2aa),'ssrUtils',dU(0x24c),dU(0x3e2),dU(0x178),dU(0x1f5),dU(0x428),'useSSRContext',dU(0x24a),'useTemplateRef',dU(0x24e),dU(0x408),dU(0x265),'watch','watchEffect',dU(0x276),dU(0x2e9),dU(0x41a),dU(0x2e6),dU(0x1a8),dU(0x20f),dU(0x41d),dU(0x170)];d[dU(0x369)]=function(){const dV=dU;let i=g[dV(0x279)](f[dV(0x2fd)](),dV(0x214)),j='//\x20自动生成:vue\x20具名导出指向宿主\x20window.Vue(dev\x20双\x20Vue\x20修复)\x0a'+h[dV(0x316)](k=>dV(0x1e9)+k+dV(0x2b9)+JSON['stringify'](k)+']')['join']('\x0a')+dV(0x1bd);try{e[dV(0x20c)](i,j);}catch{return null;}return{'file':i,'rolldownPlugin':{'name':dV(0x385),'resolveId'(k){const dW=dV;if(k===dW(0x19b))return i;}}};};}),Tn=fe((c,d)=>{'use strict';const dX=cJ;W();var e=require('fs'),f=require('os'),g=require(dX(0x1b9)),h='zen',i=g[dX(0x279)](f[dX(0x346)](),dX(0x25d),dX(0x18e)),j='opencode.json',k='/'+j;function l(w){const dY=dX;return String(w||dY(0x2f3))[dY(0x24b)](/[^a-zA-Z0-9._-]/g,'_');}function m(w){const dZ=dX;return g[dZ(0x279)](i,dZ(0x1d4)+l(w)+dZ(0x2db));}function n(w){const e0=dX;try{return JSON[e0(0x331)](e[e0(0x2a9)](m(w),'utf8'));}catch{return null;}}function o(w,x){const e1=dX;let y=m(w);e[e1(0x3ec)](i,{'recursive':!0x0,'mode':0x1c0}),e[e1(0x20c)](y,JSON[e1(0x2a5)](x,null,0x2),{'mode':0x180});try{e['chmodSync'](y,0x180);}catch{}return y;}function p(w){const e2=dX;let x={};return(w||[])[e2(0x40b)](function(y){const e3=e2;let z=typeof y=='string'?y:y&&y['id'];if(!z)return;let A={'name':y&&y[e3(0x425)]||String(z)};y&&y[e3(0x414)]&&(A[e3(0x414)]=y[e3(0x414)]),y&&y[e3(0x2dc)]&&(A[e3(0x2dc)]=y[e3(0x2dc)]),x[z]=A;}),x;}function q(w){const e4=dX;return{'providerId':w[e4(0x203)]||h,'entry':{'name':w[e4(0x312)]&&w[e4(0x312)][e4(0x425)]||e4(0x23a),'package':'aisdk:@ai-sdk/openai-compatible','settings':{'baseURL':w[e4(0x312)]['baseURL'],'apiKey':w[e4(0x312)]['token']},'models':p(w[e4(0x1d0)])}};}function r(w,x){const e5=dX;if(!w||!x||!x[e5(0x312)]||!x[e5(0x312)][e5(0x3f5)]||!x[e5(0x312)]['token'])throw new Error(e5(0x1bb));let y=g[e5(0x279)](w,j);if(e['existsSync'](y)&&s(w,j))throw new Error(j+e5(0x2cd));let z={};try{z=JSON[e5(0x331)](e[e5(0x2a9)](y,'utf8'))||{};}catch{z={};}let A=q(x);(!z[e5(0x3c7)]||typeof z[e5(0x3c7)]!=e5(0x285))&&(z[e5(0x3c7)]={}),z[e5(0x3c7)][A[e5(0x203)]]=A[e5(0x3ca)],e[e5(0x20c)](y,JSON[e5(0x2a5)](z,null,0x2),{'mode':0x180});try{e[e5(0x3d0)](y,0x180);}catch{}return t(w),{'file':y,'providerId':A[e5(0x203)]};}function s(w,x){const e6=dX;try{let {execFileSync:y}=require(e6(0x21f));return y(e6(0x20a),[e6(0x40f),e6(0x19e),'--',x],{'cwd':w,'stdio':e6(0x23f)}),!0x0;}catch{return!0x1;}}function t(w){const e7=dX;try{let x=g[e7(0x279)](w,e7(0x240));if(!e[e7(0x3ab)](x)||!e[e7(0x357)](x)[e7(0x42a)]())return;let y=g[e7(0x279)](x,e7(0x1fa),e7(0x43e)),z='';try{z=e[e7(0x2a9)](y,e7(0x353));}catch{z='';}if(z['split']('\x0a')[e7(0x2de)](function(A){return A['trim']()===k;}))return;e[e7(0x3ec)](g['dirname'](y),{'recursive':!0x0}),e['writeFileSync'](y,z[e7(0x24b)](/\n*$/,'\x0a')+k+'\x0a');}catch{}}function u(w,x){const e8=dX;if(!w)return!0x1;let y=h;try{let B=n(x||'');B&&B[e8(0x203)]&&(y=B['providerId']);}catch{}let z=g[e8(0x279)](w,j),A;try{A=JSON[e8(0x331)](e[e8(0x2a9)](z,e8(0x353)))||{};}catch{return!0x1;}if(!A[e8(0x3c7)]||typeof A[e8(0x3c7)]!=e8(0x285)||!A[e8(0x3c7)][y])return!0x1;delete A[e8(0x3c7)][y],Object[e8(0x306)](A[e8(0x3c7)])[e8(0x34f)]===0x0&&delete A['providers'],e['writeFileSync'](z,JSON['stringify'](A,null,0x2),{'mode':0x180});try{e[e8(0x3d0)](z,0x180);}catch{}return!0x0;}function v(w){const e9=dX;return w?{'version':w[e9(0x408)],'providerId':w[e9(0x203)]||h,'modelCount':(w['models']||[])[e9(0x34f)]}:null;}d[dX(0x369)]={'PROVIDER_ID':h,'CONFIG_FILE':j,'readCache':n,'writeCache':o,'inject':r,'removeInjected':u,'sanitize':v};}),An=fe((c,d)=>{W(),(function(){const ea=b;let e=require('fs'),g=require(ea(0x1b9)),h=require('os'),{Readable:i}=require(ea(0x2bc)),n=Tn(),o=null;try{o=require('simple-git')[ea(0x23c)];}catch(a0){console[ea(0x265)](ea(0x358),a0&&a0[ea(0x168)]);}let p=null;try{p=require('ws')['WebSocketServer'];}catch(a1){console[ea(0x265)](ea(0x2b0),a1&&a1[ea(0x168)]);}let r=0x14*0x400*0x400,s=0x4*0x400*0x400,t=[ea(0x25b)];function u(a2){const eb=ea;try{let a3=new URL(a2);return a3['protocol']!==eb(0x437)&&a3[eb(0x1f3)]!=='https:'?!0x1:t[eb(0x2de)](a4=>a3[eb(0x3b1)]===a4||a3[eb(0x3b1)][eb(0x37c)]('.'+a4));}catch{return!0x1;}}async function x(a2){const ec=ea;if(!o)return'';try{let a3=o({'baseDir':a2});if(!await a3[ec(0x397)]())return'';let a4=await a3[ec(0x441)]();return a4&&a4['current']||'';}catch{return'';}}let C=typeof oe<'u'?oe:null;function E(a2){const ed=ea;return C&&typeof C[a2]==ed(0x3f9)?C[a2]:e[ed(0x2a9)](g['join'](__dirname,a2),'utf8');}async function G(a2){const ee=ea;if(!u(a2))throw new Error('\u4E0D\u5141\u8BB8\u7684\u56FE\u7247\u5730\u5740\uFF08\u4EC5\u652F\u6301\x20kooteam\x20\u57DF\uFF09');let a3=await fetch(a2,{'signal':AbortSignal['timeout'](0x4e20)});if(!a3['ok'])throw new Error('\u4E0B\u8F7D\u56FE\u7247\u5931\u8D25:\x20HTTP\x20'+a3[ee(0x2e7)]);if(Number(a3['headers'][ee(0x373)](ee(0x25f))||0x0)>r)throw new Error(ee(0x1db));let a4=(a3[ee(0x434)]['get'](ee(0x42b))||'')[ee(0x1c3)](';')[0x0][ee(0x2f4)]();if(!/^image\/(png|jpe?g|gif|webp)$/['test'](a4))throw new Error('\u670D\u52A1\u5668\u8FD4\u56DE\u7684\u4E0D\u662F\u652F\u6301\u7684\u56FE\u7247:\x20'+(a4||ee(0x3b3)));let a5=Buffer[ee(0x1fe)](await a3[ee(0x164)]());if(!a5[ee(0x34f)]||a5[ee(0x34f)]>r)throw new Error('\u56FE\u7247\u65E0\u6548\u6216\u8D85\u8FC7\x2020MiB\x20\u9650\u5236');return ee(0x27a)+a4+';base64,'+a5[ee(0x3d7)](ee(0x3df));}let I=ea(0x3a9);function J(a2){return new Promise((a3,a4)=>{let a5=[],a6=0x0,a7=!0x1;a2['on']('data',a8=>{const ef=b;if(!a7){if(a6+=a8[ef(0x34f)],a6>s){a7=!0x0,a5['length']=0x0,a4(new Error(ef(0x16f)));return;}a5[ef(0x263)](a8);}}),a2['on']('end',()=>{const eg=b;if(!a7)try{let a8=Buffer[eg(0x18d)](a5)[eg(0x3d7)](eg(0x353));a3(a8?JSON[eg(0x331)](a8):{});}catch(a9){a4(a9);}}),a2['on']('error',a4);});}function M(a2,a3,a4){const eh=ea;a2[eh(0x1d9)]=a3,a2['setHeader'](eh(0x2a3),eh(0x166)),a2[eh(0x1df)](JSON['stringify'](a4));}function P(a2,a3){const ei=ea;a2[ei(0x411)](0xc8,{'Content-Type':'text/event-stream;\x20charset=utf-8','Cache-Control':ei(0x38f),'Connection':ei(0x368)}),a2['flushHeaders']&&a2[ei(0x3a1)](),a2[ei(0x2b6)](ei(0x198)+JSON[ei(0x2a5)]({'type':ei(0x317),'reason':String(a3||'')})+'\x0a\x0a'),a2[ei(0x1df)]();}function Q(a2,a3,a4){const ej=ea;try{let a5=E(a3);a2['statusCode']=0xc8,a2[ej(0x3c6)]('Content-Type',a4+ej(0x3be)),a2['setHeader'](ej(0x42d),ej(0x31d)),a2['end'](a5);}catch{M(a2,0x1f4,{'ok':!0x1,'message':ej(0x41c)+a3});}}function R(a2){const ek=ea;try{let a3=require[ek(0x18f)]('@zumer/snapdom/package.json',{'paths':[__dirname,g[ek(0x279)](__dirname,'..')]}),a4=g[ek(0x279)](g[ek(0x3c0)](a3),ek(0x315),ek(0x335));a2['statusCode']=0xc8,a2[ek(0x3c6)](ek(0x2a3),ek(0x239)),a2[ek(0x3c6)](ek(0x42d),ek(0x31d)),a2[ek(0x1df)](e[ek(0x2a9)](a4,ek(0x353)));}catch{M(a2,0x194,{'ok':!0x1,'message':ek(0x212)});}}function T(a2,a3){const el=ea;var a4=String(a2||'');return/^thor:/i['test'](a4)&&!/^thor:factory/i['test'](a4)&&!/黑灯工厂/[el(0x22c)](String(a3||''));}function U(a2,a3,a4){const en=ea;return(()=>{const em=b;try{return Promise[em(0x18f)](a2());}catch(a5){return Promise[em(0x3ac)](a5);}})()[en(0x296)](function(a5){const eo=en;if(a3<=0x1)throw a5;return new Promise(function(a6){setTimeout(a6,a4);})[eo(0x21e)](function(){return U(a2,a3-0x1,a4);});});}function V(a2){const ep=ea;return String(a2??'')['replace'](/[\u0000-\u001f\u007f]+/g,'\x20')[ep(0x24b)](/[<>]/g,'')['trim']();}function Y(a2){const eq=ea;if(!a2||typeof a2!=eq(0x285))return'';let a3=V(a2[eq(0x30a)]);if(!a3||a3['length']>0x1f4||a3[0x0]!=='/'&&a3[0x0]!=='#')return'';let a4=V(a2[eq(0x294)]);if(a4[eq(0x34f)]>0xc8)return'';let a5=[eq(0x25c),eq(0x288)+a3];return a4&&a5[eq(0x263)]('\u9875\u9762\u6807\u9898\uFF1A'+a4),a5[eq(0x263)](eq(0x1e7)),a5['join']('\x0a');}function Z({ROOT:a2,name:a3,aiwithRoot:a4,kooteamOrigin:a5,factoryOrigin:a6,aiwithRemote:a7,mcpDisable:a8,gatewaySecret:a9,ai_gateway:aa}){const er=ea;let ab=a5||'https://daily.zeto.me',ac=!0x1,ad=a8===!0x1||a8===null?[]:(Array['isArray'](a8)?a8:[er(0x416)])[er(0x25e)](Boolean),ae=g[er(0x279)](h['tmpdir'](),er(0x394)),af=0x7530,ag=Object[er(0x3fd)](null),ah=Object[er(0x3fd)](null),ai=null,aj=!0x1;ad[er(0x40b)](function(bo){ag[bo]=!0x1;});function ak(){const es=er;if(!aj){aj=!0x0;try{let bo=JSON[es(0x331)](e[es(0x2a9)](ae,es(0x353)));bo&&bo[es(0x1c4)]===aD&&bo[es(0x287)]&&typeof bo[es(0x287)]==es(0x285)&&Object[es(0x306)](bo['desired'])[es(0x40b)](function(bp){const et=es;ag[bp]=!!bo[et(0x287)][bp];});}catch(bp){bp&&bp[es(0x28d)]!==es(0x3fb)&&console['warn'](es(0x22d),bp&&bp[es(0x168)]||bp);}}}function al(){const eu=er;try{e[eu(0x20c)](ae,JSON[eu(0x2a5)]({'root':aD,'desired':ag}));}catch{}}function am(bo){const ev=er;return ai||(ai=ao(bo)[ev(0x296)](function(){return null;})[ev(0x21e)](function(bp){return ai=null,bp;}),ai);}async function ao(bo){const ew=er;ak();let bp=bo||await aI()[ew(0x296)](function(){return null;});if(!bp)return null;let bq;try{bq=await aG(bp);}catch{return null;}for(let br of bq){let bs=ag[br[ew(0x425)]];if(bs===void 0x0)continue;let bt=br[ew(0x2e7)];if(!(bs?bt===ew(0x42f)||bt==='failed'&&Date[ew(0x333)]()>=(ah[br[ew(0x425)]]||0x0):bt===ew(0x1aa)))continue;let bu={'server':br['name'],'location':{'directory':aD}};try{bs?await bp[ew(0x1cb)][ew(0x19c)](bu):await bp['mcp'][ew(0x2ff)](bu),delete ah[br[ew(0x425)]];}catch(bv){ah[br[ew(0x425)]]=Date[ew(0x333)]()+af,console[ew(0x265)](ew(0x245)+(bs?ew(0x19c):ew(0x2ff))+'\x20'+br[ew(0x425)]+'\x20\u5931\u8D25:',bv&&bv['message']||bv);}}return aG(bp)[ew(0x296)](function(){return null;});}let ap=a9?String(a9):'';function aq(bo){const ex=er;if(a7)return!0x0;if(ap){let br=(bo&&bo[ex(0x434)]||{})[ex(0x2b1)];return(Array[ex(0x326)](br)?br[0x0]:br)===ap;}let bp=bo&&bo['socket']&&bo[ex(0x1ea)][ex(0x431)]||'',bq=bp['indexOf'](ex(0x291))===0x0?bp[ex(0x259)](0x7):bp;return bq===ex(0x176)||bq==='::1';}let ar=String(a6||er(0x167))['replace'](/\/+$/,''),as=a3||'',au={'factory':['tasks','task',er(0x243),er(0x1e3),'localResult','messages',er(0x280)],'factoryStory':[er(0x165),er(0x2d5),'createStory',er(0x2f0),er(0x3f6),er(0x40a),er(0x26c),er(0x2bd),'cancelStory',er(0x280)],'factoryIssue':[er(0x314),'issue',er(0x39a),er(0x1f8),er(0x3d9),er(0x228),er(0x280)],'factoryCell':[er(0x2e7),er(0x19c)],'userGit':['setKey',er(0x3a7),er(0x432)]};function av(bo,bp){const ez=er;let bq=bu=>{const ey=b;let bv=bo[ey(0x434)][bu[ey(0x219)]()];return Array[ey(0x326)](bv)?bv[0x0]:bv;},br={};bp&&(br['Content-Type']=ez(0x2f1));let bs=bq(ez(0x1f9));bs&&(br[ez(0x318)]=bs),as&&(br['app']=as);let bt=bq(ez(0x2ac));return bt&&(br[ez(0x2ac)]=bt),br;}async function aw(bo,bp,bq,br){const eA=er;let bs;try{bs=await fetch(ar+bp,{'method':eA(0x39e),'headers':av(br,!0x0),'body':JSON[eA(0x2a5)](bq||{}),'signal':AbortSignal[eA(0x3b5)](0x7530)});}catch(bu){return M(bo,0x1f6,{'ok':!0x1,'message':eA(0x179)+ar+'\uFF1A'+(bu&&bu[eA(0x168)]?bu[eA(0x168)]:String(bu))});}let bt=await bs[eA(0x26a)]();bo[eA(0x1d9)]=bs[eA(0x2e7)],bo[eA(0x3c6)]('Content-Type',eA(0x166)),bo[eA(0x3c6)]('Cache-Control','no-cache'),bo[eA(0x1df)](bt);}let ax=String(aa||'')[er(0x2f4)]()['replace'](/\/+$/,'');async function ay(bo,bp){const eB=er;if(!ax)return M(bp,0xc8,{'ok':!0x0,'applied':!0x1,'reason':eB(0x305)});let bq=av(bo,!0x0);if(!bq[eB(0x318)])return M(bp,0x191,{'ok':!0x1,'needLogin':!0x0,'message':'\u672A\u767B\u5F55\uFF1A\u8BF7\u5148\u767B\u5F55\u540E\u518D\u62C9\u53D6\x20AI\x20\u914D\u7F6E'});let br;try{let bt=await fetch(ar+eB(0x1a9),{'method':eB(0x39e),'headers':bq,'body':'{}','signal':AbortSignal[eB(0x3b5)](0x7530)});if(br=await bt['json']()[eB(0x296)](function(){return{};}),!bt['ok']||br['success']===!0x1||typeof br[eB(0x3da)]=='number'&&br['action']!==0x0)return M(bp,bt[eB(0x2e7)]>=0x190?bt[eB(0x2e7)]:0x1f6,{'ok':!0x1,'message':br[eB(0x168)]||eB(0x297)});}catch(bu){return M(bp,0x1f6,{'ok':!0x1,'message':eB(0x3fe)+ar+'\uFF1A'+(bu&&bu[eB(0x168)]?bu[eB(0x168)]:String(bu))});}let bs=br[eB(0x187)]||{};if(!bs[eB(0x312)]||!bs['gateway']['baseURL']||!bs[eB(0x312)][eB(0x1f9)])return M(bp,0x1f6,{'ok':!0x1,'message':eB(0x2d7)});bs[eB(0x312)]['baseURL']=ax;try{n[eB(0x172)](a3||'',bs),n[eB(0x32c)](aD,bs);}catch(bv){return M(bp,0x1f4,{'ok':!0x1,'message':'\u914D\u7F6E\u5199\u5165\u5931\u8D25\uFF1A'+(bv&&bv['message']?bv[eB(0x168)]:String(bv))});}return M(bp,0xc8,Object[eB(0x2e3)]({'ok':!0x0,'applied':!0x0},n[eB(0x1ef)](bs)));}async function az(bo,bp,bq){const eC=er;let br=bq['split']('?')[0x0];if(br==='/api/factory/config')return M(bp,0xc8,{'ok':!0x0,'origin':ar,'app':as});if(bo['method']!==eC(0x39e))return M(bp,0x195,{'ok':!0x1,'message':eC(0x3b9)});let bs=br[eC(0x413)](/^\/api\/(factory[A-Za-z]*|userGit)\/([A-Za-z]+)$/);if(!bs||!au[bs[0x1]]||au[bs[0x1]][eC(0x37a)](bs[0x2])===-0x1)return M(bp,0x194,{'ok':!0x1,'message':eC(0x177)+br});let bt=await J(bo)[eC(0x296)](()=>({}));return bt[eC(0x3e1)]=as,aw(bp,br,bt,bo);}async function aA(bo,bp,bq){const eD=er;let br=bq[eD(0x1c3)]('?')[0x1]||'',bs=av(bo,!0x1),bt=br;bs[eD(0x318)]&&bt['indexOf'](eD(0x33a))===-0x1&&(bt+=(bt?'&':'')+eD(0x33a)+encodeURIComponent(bs[eD(0x318)])),as&&bt[eD(0x37a)](eD(0x3dc))===-0x1&&(bt+=(bt?'&':'')+eD(0x3dc)+encodeURIComponent(as));let bu;try{bu=await fetch(ar+eD(0x3b7)+(bt?'?'+bt:''),{'headers':bs});}catch(by){return P(bp,eD(0x430)+(by&&by[eD(0x168)]?by[eD(0x168)]:String(by)));}if(!bu['ok']||!bu[eD(0x44c)])return P(bp,eD(0x20d)+bu[eD(0x2e7)]);let bv=bu[eD(0x434)][eD(0x373)](eD(0x42b))||'';if(bv[eD(0x37a)](eD(0x3c5))===-0x1){try{bu[eD(0x44c)][eD(0x201)]&&bu[eD(0x44c)][eD(0x201)]();}catch{}return P(bp,eD(0x3f3)+bv);}bp[eD(0x411)](0xc8,{'Content-Type':eD(0x321),'Cache-Control':'no-cache,\x20no-transform','Connection':eD(0x368),'X-Accel-Buffering':'no'}),bp['flushHeaders']&&bp[eD(0x3a1)]();let bw=i[eD(0x27b)](bu[eD(0x44c)]),bx=()=>{const eE=eD;try{bw[eE(0x2fb)]();}catch{}};bo['on'](eD(0x2b7),bx),bp['on'](eD(0x2b7),bx),bw['on']('error',()=>{const eF=eD;try{bp[eF(0x1df)]();}catch{}}),bw[eD(0x1e0)](bp);}function aB(bo){const eG=er;if(typeof bo!=eG(0x3f9)||!bo)return null;let bp=bo;return bp[eG(0x37a)]('//')===0x0&&(bp=eG(0x199)+bp),/^https?:\/\//i['test'](bp)?bp:bp['indexOf'](eG(0x20e))===0x0?ab+bp[eG(0x259)](0x8):null;}function aC(bo){const eH=er;if(a4)return g['resolve'](bo,a4);let bp=g['dirname'](bo);if(!bp||bp===bo)return bo;try{let bq=e['readdirSync'](bp,{'withFileTypes':!0x0}),br=g[eH(0x2fe)](bo),bs=bq[eH(0x25e)](bu=>bu[eH(0x42a)]()&&bu[eH(0x425)]!==br&&bu[eH(0x425)][0x0]!=='.')['some'](bu=>e[eH(0x3ab)](g[eH(0x279)](bp,bu[eH(0x425)],eH(0x42c)))&&e[eH(0x3ab)](g['join'](bp,bu[eH(0x425)],eH(0x30e),eH(0x2af),eH(0x3a3)))),bt=e[eH(0x3ab)](g[eH(0x279)](bp,'AGENTS.md'))||e[eH(0x3ab)](g['join'](bp,eH(0x3ff),eH(0x38d)));if(bs||bt)return bp;}catch{}return bo;}let aD=aC(a2);aD!==a2&&console['log'](er(0x2f6)+aD);try{if(ax){let bo=n['readCache'](a3||'');bo&&bo['gateway']&&bo[er(0x312)]['baseURL']&&(bo[er(0x312)]['baseURL']=ax,n[er(0x32c)](aD,bo));}else n[er(0x19a)](aD,a3||'')&&console['log'](er(0x3ce));}catch(bp){console[er(0x265)](er(0x209),bp&&bp[er(0x168)]);}let aE=null,aF=new Set();function aG(bq){const eI=er;return bq[eI(0x1cb)][eI(0x19d)]({'location':{'directory':aD}})[eI(0x21e)](br=>(br[eI(0x187)]||[])[eI(0x316)](bs=>({'name':bs[eI(0x425)],'status':bs[eI(0x2e7)]&&bs[eI(0x2e7)][eI(0x2e7)]||eI(0x189),'error':bs[eI(0x2e7)]&&bs[eI(0x2e7)][eI(0x3a2)]?String(bs[eI(0x2e7)][eI(0x3a2)]):''})))[eI(0x296)](br=>(console[eI(0x265)](eI(0x447),br&&br['message']),[]));}function aH(bq){const eL=er;return U(function(){const eJ=b;return bq[eJ(0x17f)][eJ(0x19d)]({'location':{'directory':aD}})[eJ(0x21e)](function(br){const eK=eJ;if(!br||!br[eK(0x187)]||br[eK(0x187)][eK(0x34f)]===0x0)throw new Error(eK(0x1ad));return br;});},0x4,0x320)[eL(0x296)](function(){return{'data':[]};});}async function aI(){const eN=er;return aE||(aE=(async()=>{const eM=b;let bq=await import(eM(0x442)),br=await import('@opencode/client'),bs=await bq[eM(0x17b)]['ensure'](),bt=bq['Service'][eM(0x434)](bs);return br[eM(0x196)][eM(0x3c1)]({'baseUrl':bs['url'],'headers':bt});})()[eN(0x296)](bq=>{const eO=eN;aE=null;let br=new Error(bq&&bq[eO(0x168)]?bq[eO(0x168)]:String(bq));throw br[eO(0x28d)]='SERVICE_UNAVAILABLE',br;})),aE;}function aJ(bq,br){const eP=er;let bs=br&&br[eP(0x168)]?String(br[eP(0x168)]):String(br);M(bq,0x1f7,{'ok':!0x1,'code':'SERVICE_UNAVAILABLE','message':I,'detail':bs});}let aK=null,aL=null,aM=er(0x17d);function aN(bq){const eQ=er;return bq[eQ(0x325)](br=>br['providerID']===eQ(0x211)&&br[eQ(0x23b)]===eQ(0x1ba))||bq['find'](br=>(br[eQ(0x425)]||'')[eQ(0x219)]()[eQ(0x37a)](aM)>-0x1)||bq[eQ(0x325)](br=>(br[eQ(0x23b)]||'')[eQ(0x219)]()['indexOf'](aM)>-0x1)||null;}async function aO(bq){const eR=er;let br=await aH(bq);return aN(br[eR(0x187)]||[]);}function aP(bq){return o?o({'baseDir':aD,'timeout':{'block':bq||0x7530}}):null;}function aQ(bq){const eS=er;return typeof bq!=eS(0x3f9)||!bq||bq[0x0]==='/'||/^[a-zA-Z]:[\\/]/['test'](bq)||bq['split'](/[\\/]/)[eS(0x2de)](br=>br==='..')?null:bq;}function aR(bq,br){const eT=er;let bs=(bq[eT(0x1f2)]||[])['map'](bt=>({'path':bt[eT(0x1b9)],'index':bt['index']||'\x20','working':bt[eT(0x19f)]||'\x20'}));return{'isRepo':!0x0,'branch':bq[eT(0x399)]||br&&br[eT(0x399)]||'','tracking':bq['tracking']||'','ahead':bq[eT(0x1b2)]||0x0,'behind':bq[eT(0x429)]||0x0,'detached':!!bq[eT(0x1cc)],'clean':bs[eT(0x34f)]===0x0,'branches':br&&br[eT(0x3ee)]||[],'files':bs};}async function aS(){const eU=er;let bq=aP();if(!bq)return{'isRepo':!0x1,'reason':eU(0x303)};if(!await bq['checkIsRepo']()[eU(0x296)](()=>!0x1))return{'isRepo':!0x1,'reason':eU(0x39d)};let [br,bs]=await Promise[eU(0x3ee)]([bq[eU(0x2e7)](),bq[eU(0x441)]()[eU(0x296)](()=>({'all':[],'current':''}))]);return aR(br,bs);}async function aT(bq,br){const eV=er;let bs=aP();if(!bs)throw new Error(eV(0x303));let bt=br||{},bu=()=>{const eW=eV;let bv=Array[eW(0x326)](bt[eW(0x406)])?bt[eW(0x406)]:[],bw=bv[eW(0x316)](aQ)[eW(0x25e)](Boolean);if(bv['length']&&!bw[eW(0x34f)])throw new Error('\u8DEF\u5F84\u4E0D\u5408\u6CD5\uFF08\u4EC5\u652F\u6301\u4ED3\u5E93\u5185\u76F8\u5BF9\u8DEF\u5F84\uFF09');return bw;};switch(bq){case eV(0x2e7):return{'data':await aS()};case eV(0x1ab):{let bv=bu();return bv[eV(0x34f)]?await bs['add'](bv):await bs[eV(0x376)](['-A']),{'data':await aS()};}case eV(0x2f7):{let bw=bu();return await bs['reset'](bw[eV(0x34f)]?[eV(0x2ab),'--',...bw]:[eV(0x2ab)]),{'data':await aS()};}case'commit':{let bx=typeof bt[eV(0x168)]==eV(0x3f9)?bt[eV(0x168)][eV(0x2f4)]():'';if(!bx)throw new Error('\u63D0\u4EA4\u4FE1\u606F\u4E0D\u80FD\u4E3A\u7A7A');if(bx[eV(0x34f)]>0xfa0)throw new Error(eV(0x216));let by=await bs[eV(0x192)](bx);if(!by||!by[eV(0x192)])throw new Error('\u6682\u5B58\u533A\u4E3A\u7A7A\uFF0C\u6CA1\u6709\u53EF\u63D0\u4EA4\u7684\u53D8\u66F4');return{'data':await aS(),'summary':{'text':eV(0x2eb)+by[eV(0x192)][eV(0x259)](0x0,0x8)}};}case'checkout':{let bz=typeof bt[eV(0x378)]==eV(0x3f9)?bt[eV(0x378)]:'';if(!bz)throw new Error('\u53C2\u6570\u9519\u8BEF:\x20branch');if(!(await bs[eV(0x441)]())[eV(0x3ee)][eV(0x3cd)](bz))throw new Error(eV(0x1af)+bz);return await bs['checkout'](bz),{'data':await aS(),'summary':{'text':eV(0x30c)+bz}};}case eV(0x37e):{let bA=await aP(0x1d4c0)[eV(0x37e)](),bB=bA&&bA[eV(0x3fa)]&&bA['summary']['changes']||0x0;return{'data':await aS(),'summary':{'text':'\u5DF2\u62C9\u53D6\uFF08'+bB+'\x20\u5904\u53D8\u66F4\uFF09'}};}case eV(0x263):{let bC=await aP(0x1d4c0)[eV(0x263)](),bD=bC&&bC['pushed']&&bC[eV(0x404)][0x0]||null;return{'data':await aS(),'summary':{'text':bD?'\u5DF2\u63A8\u9001\u5230\x20'+bD[eV(0x436)]+'/'+bD[eV(0x1fc)]:eV(0x235)}};}default:throw new Error(eV(0x403)+bq);}}function aU(bq,br){const eX=er;if(bq['readyState']===0x1)try{bq[eX(0x372)](JSON[eX(0x2a5)](br));}catch{}}async function aV(bq,br){const eY=er;if(bq===eY(0x378))return{'data':{'branch':await x(aD)}};if(typeof bq==eY(0x3f9)&&bq[eY(0x37a)](eY(0x395))===0x0)return aT(bq[eY(0x259)](0x4),br);throw new Error(eY(0x3e7)+bq);}let aW=new Set(),aX=null,aY=0x0,aZ=new Map();function b0(){const eZ=er;if(aX&&aX[eZ(0x257)]===0x1&&aW['has'](aX))return aX;let bq=null;return aW['forEach'](br=>{const f0=eZ;br[f0(0x257)]===0x1&&(bq=br);}),aX=bq,bq;}function b1(bq){const f2=er;if(!p||!bq)return null;let br=new p({'noServer':!0x0,'maxPayload':0x400*0x400});return bq['on']('upgrade',(bs,bt,bu)=>{const f1=b;let bv=(bs['url']||'')['split']('?')[0x0];if((bv===f1(0x380)||bv===f1(0x27d))&&!aq(bs)){bt[f1(0x2fb)]();return;}if(bv===f1(0x380)){br[f1(0x182)](bs,bt,bu,bw=>br[f1(0x2f9)](f1(0x35b),bw,bs));return;}bv===f1(0x27d)&&br[f1(0x182)](bs,bt,bu,bw=>br[f1(0x2f9)](f1(0x238),bw,bs));}),br['on'](f2(0x238),bs=>{const f4=f2;let bt=setInterval(()=>{const f3=b;try{bs[f3(0x257)]===0x1&&bs[f3(0x2b3)]();}catch{}},0x4e20);bs['on'](f4(0x2b7),()=>clearInterval(bt)),bs['on']('error',()=>clearInterval(bt)),bs['on'](f4(0x168),bu=>{const f5=f4;let bv;try{bv=JSON[f5(0x331)](String(bu));}catch{return;}if(!bv||typeof bv[f5(0x246)]!=f5(0x3f9))return;let bw=bv['id'],bx=Object[f5(0x2e3)]({},bv);delete bx['id'],delete bx[f5(0x246)],aV(bv[f5(0x246)],bx)[f5(0x21e)](by=>aU(bs,Object[f5(0x2e3)]({'id':bw,'ok':!0x0},by)))[f5(0x296)](by=>aU(bs,{'id':bw,'ok':!0x1,'message':by&&by['message']||String(by)}));});}),br['on'](f2(0x35b),bs=>{const f6=f2;aW[f6(0x376)](bs),aX=bs,bs[f6(0x22b)]=!0x0;let bt=setInterval(()=>{const f7=f6;try{if(bs['__aiwithAlive']===!0x1){bs[f7(0x424)]();return;}bs[f7(0x22b)]=!0x1,bs['readyState']===0x1&&bs['ping']();}catch{}},0x4e20);bs['on']('pong',()=>{bs['__aiwithAlive']=!0x0;});let bu=()=>{const f8=f6;clearInterval(bt),aW[f8(0x3ad)](bs),aX===bs&&(aX=null);};bs['on']('close',bu),bs['on'](f6(0x3a2),bu),bs['on']('message',bv=>{const f9=f6;let bw;try{bw=JSON['parse'](String(bv));}catch{return;}if(!bw)return;if(bw[f9(0x188)]===f9(0x169)){bs['__aiwithMeta']={'url':bw['url'],'title':bw[f9(0x294)],'at':Date[f9(0x333)]()};return;}if(!bw['id'])return;let bx=aZ[f9(0x373)](bw['id']);bx&&(aZ[f9(0x3ad)](bw['id']),bx(bw));});}),br;}function b2(bq,br,bs){return new Promise((bt,bu)=>{const fa=b;let bv=b0();if(!bv){bu(new Error(fa(0x420)));return;}let bw='p'+ ++aY,bx=setTimeout(()=>{const fb=fa;aZ[fb(0x3ad)](bw),bu(new Error(fb(0x28a)));},bs||0x4e20);aZ[fa(0x438)](bw,by=>{clearTimeout(bx),bt(by);});try{bv[fa(0x372)](JSON[fa(0x2a5)]({'id':bw,'cmd':bq,'args':br||{}}));}catch(by){clearTimeout(bx),aZ[fa(0x3ad)](bw),bu(by);}});}function b3(){const fc=er;let bq=[],br=b0();return aW[fc(0x40b)](bs=>{const fd=fc;let bt=bs[fd(0x1ee)]||{};bq[fd(0x263)]({'url':bt['url']||'','title':bt[fd(0x294)]||'','active':bs===br,'at':bt['at']||0x0});}),{'connected':bq['length'],'activeIndex':bq[fc(0x2ea)](bs=>bs[fc(0x2be)]),'pages':bq};}function b4(bq){return new Promise(br=>setTimeout(br,bq));}async function b5(bq){const ff=er;let br=Date['now']()+(bq||0x1388);for(;Date[ff(0x333)]()<br;){let bs=b0();if(bs)return bs;await b4(0x78);}return b0();}async function b6(bq,br,bs){const fg=er;let bt=Date['now']()+(bs||0x1f40);for(;Date[fg(0x333)]()<bt;){await b4(0x78);let bv=b0();if(!bv)continue;let bw=bv[fg(0x1ee)]&&bv['__aiwithMeta'][fg(0x1bf)]||'';if(bv!==bq||bw!==br){await b4(0x78);let bx=b0();return bx&&bx[fg(0x1ee)]&&bx[fg(0x1ee)]['url']||bw;}}let bu=b0();return bu&&bu[fg(0x1ee)]&&bu[fg(0x1ee)]['url']||'';}async function b7(bq,br,bs){const fh=er;let bt=bs[fh(0x1c3)]('?')[0x0];if(bt===fh(0x2b5))return bq[fh(0x417)]!==fh(0x3ea)?M(br,0x195,{'ok':!0x1,'message':fh(0x351)}):M(br,0xc8,{'ok':!0x0,'data':b3()});let bu=bt['match'](/^\/api\/page\/([a-z]+)$/);if(!bu)return M(br,0x194,{'ok':!0x1,'message':fh(0x34b)+bt});if(bq[fh(0x417)]!==fh(0x39e))return M(br,0x195,{'ok':!0x1,'message':fh(0x341)});let bv=await J(bq)[fh(0x296)](()=>({})),bw=bu[0x1];if(bw===fh(0x1c0)){if(!String(bv&&bv['to']||'')['trim']())return M(br,0x190,{'ok':!0x1,'message':fh(0x222)});let bx=b0();if(!bx)return M(br,0x1f7,{'ok':!0x1,'code':fh(0x420),'message':fh(0x1f7)});let by=bx['__aiwithMeta']&&bx['__aiwithMeta'][fh(0x1bf)]||'';try{bx['send'](JSON[fh(0x2a5)]({'id':'p'+ ++aY,'cmd':fh(0x1c0),'args':bv||{}}));}catch(bA){return M(br,0x1f4,{'ok':!0x1,'message':bA&&bA['message']||String(bA)});}let bz=await b6(bx,by,0x1f40);return M(br,0xc8,{'ok':!0x0,'data':{'ok':!0x0,'url':bz}});}if(bw===fh(0x2ca)){if(!await b5(0x1388))return M(br,0x1f7,{'ok':!0x1,'code':fh(0x420),'message':'\u6CA1\u6709\u5DF2\u8FDE\u63A5\u7684\u9875\u9762\uFF08\u8BF7\u786E\u8BA4\x20dev\x20\u9875\u9762\u5DF2\u6253\u5F00\u5E76\u5B8C\u6210\u52A0\u8F7D\uFF09'});let bB=Math[fh(0x197)](Math[fh(0x3f7)](Number(bv&&bv[fh(0x3b5)])||0x3a98,0x3e8),0xea60);try{let bC=await b2(fh(0x2ca),Object[fh(0x2e3)]({},bv,{'timeout':bB}),bB+0xbb8);return M(br,0xc8,{'ok':!0x0,'data':bC[fh(0x187)]});}catch(bD){return M(br,0x1f4,{'ok':!0x1,'message':bD&&bD[fh(0x168)]||String(bD)});}}try{let bE=await b2(bw,bv,0x61a8);return M(br,0xc8,{'ok':!0x0,'data':bE['data']});}catch(bF){return bF&&bF['message']===fh(0x420)?M(br,0x1f7,{'ok':!0x1,'code':fh(0x420),'message':fh(0x1f7)}):M(br,0x1f4,{'ok':!0x1,'message':bF&&bF['message']||String(bF)});}}function b8(bq){const fj=er;let br=bq&&bq['httpServer'];if(!br||!bq['config'])return;let bs=()=>{const fi=b;try{let bt=br['address'](),bu=bt&&typeof bt==fi(0x285)?bt[fi(0x180)]:null;if(!bu)return;let bv=fi(0x26b)+bu;e['writeFileSync'](g['join'](h[fi(0x2fd)](),fi(0x1a5)),JSON['stringify']({'root':aD,'origin':bv,'at':Date[fi(0x333)]()})),bb(bv);}catch{}};br[fj(0x37d)]&&bs(),br['on'](fj(0x37d),bs);}let b9=er(0x43f);function ba(){const fk=er;let bq=g['dirname'](aD);for(;bq&&bq!==g[fk(0x3c0)](bq);){let br=g[fk(0x279)](bq,fk(0x3ff),fk(0x33c),fk(0x1e2));try{let bs=g[fk(0x279)](br,'index.ts');e[fk(0x3ab)](bs)&&e['readFileSync'](bs,fk(0x353))['indexOf'](b9)===0x0&&(e[fk(0x278)](br,{'recursive':!0x0,'force':!0x0}),console[fk(0x265)]('[AiWith]\x20\u5DF2\u6E05\u7406\u7956\u5148\u76EE\u5F55\u7684\u8FC7\u671F\u9875\u5185\u63D2\u4EF6\uFF08\u907F\u514D\u4E0E\u5F53\u524D\u5DE5\u7A0B\u91CD\u540D\uFF09:\x20'+br));}catch{}bq=g[fk(0x3c0)](bq);}}function bb(bq){const fl=er;try{ba();let br=E(fl(0x31c)),bs=b9+fl(0x1d7)+bq+'\x0a'+br['replaceAll']('__AIWITH_ORIGIN__',bq),bt=g['join'](aD,fl(0x3ff),fl(0x33c),'aiwith-page'),bu=g[fl(0x279)](bt,fl(0x3aa)),bv=null;try{bv=e[fl(0x2a9)](bu,fl(0x353));}catch{bv=null;}if(bv===bs)return;e[fl(0x3ec)](bt,{'recursive':!0x0}),e[fl(0x20c)](bu,bs);}catch{}}async function bc(bq){const fm=er;let br=await aO(bq)[fm(0x296)](()=>null);return aK=await bq[fm(0x21b)][fm(0x3fd)]({'agent':fm(0x1b5),...br?{'model':{'id':br[fm(0x23b)],'providerID':br[fm(0x2e5)]}}:{},'location':{'directory':aD}}),br||console[fm(0x265)](fm(0x215)+aM+'\uFF0C\u4F7F\u7528\u670D\u52A1\u7AEF\u9ED8\u8BA4\u6A21\u578B'),aK;}async function bd(bq){const fn=er;let br=((await bq[fn(0x21b)][fn(0x19d)]({'directory':aD,'limit':0x14,'order':'desc'})[fn(0x296)](()=>({'data':[]})))[fn(0x187)]||[])[fn(0x325)](bs=>!bs['parentID']);return br?(aK=br,console[fn(0x17a)](fn(0x1f6)+br['id']),br):bc(bq);}async function bf(bq){const fo=er;if(aK){let br=await bq[fo(0x21b)][fo(0x373)]({'sessionID':aK['id']})[fo(0x296)](()=>null);if(br)return br;aK=null;}return aL||(aL=bd(bq)[fo(0x1a1)](()=>{aL=null;})),aL;}async function bg(bq,br,bs){const fp=er;let bt=await aI(),bu=bs[fp(0x1c3)]('?')[0x0],bv=bx=>bu[fp(0x413)](bx),bw;if(bq[fp(0x417)]===fp(0x3ea)&&bu===fp(0x327)){let [bx,by,bz,bA,bB,bC,bD]=await Promise[fp(0x3ee)]([bt[fp(0x36c)]['info']()[fp(0x296)](bI=>(console[fp(0x265)](fp(0x43c),bI&&bI[fp(0x168)]),null)),bt[fp(0x22e)][fp(0x19d)]({'location':{'directory':aD}})[fp(0x296)](bI=>(console[fp(0x265)](fp(0x3a8),bI&&bI['message']),{'data':[]})),aH(bt),aG(bt),bt[fp(0x1b0)][fp(0x19d)]({'location':{'directory':aD}})[fp(0x296)](bI=>(console[fp(0x265)]('[AiWith]\x20command.list\x20failed:',bI&&bI[fp(0x168)]),{'data':[]})),bt['session'][fp(0x2be)]()[fp(0x296)](bI=>(console[fp(0x265)](fp(0x220),bI&&bI[fp(0x168)]),{})),x(aD)]),bE=(bz[fp(0x187)]||[])[fp(0x25e)](bI=>bI[fp(0x3cc)]!==!0x1),bF=aN(bE),bG=bI=>bI[fp(0x2e5)]!==fp(0x367)||(bI['cost']||[])[fp(0x2de)](bJ=>(bJ['input']||0x0)>0x0||(bJ['output']||0x0)>0x0||bJ[fp(0x1fb)]&&((bJ[fp(0x1fb)][fp(0x299)]||0x0)>0x0||(bJ[fp(0x1fb)][fp(0x2b6)]||0x0)>0x0)),bH=bI=>({'providerID':bI[fp(0x2e5)],'modelID':bI[fp(0x23b)],'name':bI[fp(0x425)],'contextLimit':bI[fp(0x414)]?bI['limit'][fp(0x24d)]:0x0,'variants':(bI[fp(0x381)]||[])[fp(0x316)](bJ=>bJ['id']),'paid':bG(bI)});return M(br,0xc8,{'ok':!0x0,'root':aD,'name':a3,'server':bx,'mcp':bA,'running':Object[fp(0x306)](bC||{}),'branch':bD||'','models':bE[fp(0x316)](bH),'defaultModel':bF?bH(bF):null,'agents':(by[fp(0x187)]||[])[fp(0x25e)](bI=>!bI['hidden'])[fp(0x316)](bI=>({'id':bI['id'],'name':bI['name'],'description':bI[fp(0x16b)],'mode':bI['mode']})),'commands':(bB['data']||[])['filter'](bI=>T(bI[fp(0x425)],bI[fp(0x16b)]))['map'](bI=>({'name':bI['name'],'description':bI[fp(0x16b)]||''}))});}if(bq[fp(0x417)]===fp(0x3ea)&&bu===fp(0x319)){let bI=await bt['command'][fp(0x19d)]({'location':{'directory':aD}});return M(br,0xc8,{'ok':!0x0,'data':(bI['data']||[])[fp(0x25e)](bJ=>T(bJ['name'],bJ[fp(0x16b)]))[fp(0x316)](bJ=>({'name':bJ[fp(0x425)],'description':bJ[fp(0x16b)]||''}))});}if(bq[fp(0x417)]===fp(0x3ea)&&bu===fp(0x390)){let bJ=bs[fp(0x1c3)]('?')[0x1]||'',bK=decodeURIComponent((bJ[fp(0x413)](/(?:^|&)query=([^&]*)/)||[])[0x1]||''),bL=(bJ[fp(0x413)](/(?:^|&)type=(file|directory)/)||[])[0x1],bM=await bt[fp(0x361)]['find']({'location':{'directory':aD},'query':bK,...bL?{'type':bL}:{},'limit':0x1e});return M(br,0xc8,{'ok':!0x0,'data':(bM['data']||[])['map'](bN=>({'path':bN[fp(0x1b9)],'type':bN[fp(0x188)]}))});}if(bq['method']==='GET'&&bu===fp(0x334)){let bN=ac?await am(bt)[fp(0x296)](function(){return null;}):null;return M(br,0xc8,{'ok':!0x0,'data':bN||await aG(bt)});}if(bq[fp(0x417)]===fp(0x39e)&&bu==='/api/mcp/toggle'){let bO=await J(bq)[fp(0x296)](function(){return{};}),bP=String(bO&&bO['name']||'');if(!bP)return M(br,0x190,{'ok':!0x1,'message':fp(0x38c)});ag[bP]=!!bO['on'],delete ah[bP],aj=!0x0,al();let bQ=await am(bt)['catch'](function(){return null;});return M(br,0xc8,{'ok':!0x0,'data':bQ||await aG(bt)});}if(bq['method']===fp(0x3ea)&&bu===fp(0x3c9)){let bR=await bf(bt);return M(br,0xc8,{'ok':!0x0,'data':bR});}if(bq[fp(0x417)]===fp(0x3ea)&&bu===fp(0x28f)){let bS=await bt['session'][fp(0x19d)]({'directory':aD,'limit':0x1e,'order':fp(0x1ec)});return M(br,0xc8,{'ok':!0x0,'data':(bS[fp(0x187)]||[])[fp(0x25e)](bT=>!bT[fp(0x217)])[fp(0x316)](bT=>({'id':bT['id'],'title':bT[fp(0x294)]||'','agent':bT[fp(0x22e)]||'','time':bT[fp(0x267)]||{},'cost':bT[fp(0x2fa)]||0x0,'tokens':bT[fp(0x1cd)]||null}))});}if(bq[fp(0x417)]==='POST'&&bu==='/api/session/switch'){let bT=await J(bq);if(!bT['sessionID']||typeof bT[fp(0x332)]!='string')return M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20sessionID'});let bU=await bt[fp(0x21b)][fp(0x373)]({'sessionID':bT['sessionID']});return!bU||!bU[fp(0x173)]||bU[fp(0x173)]['directory']!==aD?M(br,0x193,{'ok':!0x1,'message':fp(0x3bd)}):(aK=bU,M(br,0xc8,{'ok':!0x0,'data':bU}));}if(bq[fp(0x417)]==='POST'&&bu==='/api/session/reset'){let bV=await bc(bt);return M(br,0xc8,{'ok':!0x0,'data':bV});}if(bw=bv(/^\/api\/session\/([^/]+)$/)){let bW=bw[0x1];if(bq[fp(0x417)]===fp(0x3ea)){let bX=await bt[fp(0x21b)][fp(0x373)]({'sessionID':bW});return M(br,0xc8,{'ok':!0x0,'data':bX});}return bq[fp(0x417)]===fp(0x1da)?(await bt['session'][fp(0x250)]({'sessionID':bW}),aK&&aK['id']===bW&&(aK=null),M(br,0xc8,{'ok':!0x0})):M(br,0x195,{'ok':!0x1,'message':fp(0x2e0)});}if((bw=bv(/^\/api\/session\/([^/]+)\/messages$/))&&bq[fp(0x417)]===fp(0x3ea)){let bY=bs['split']('?')[0x1]||'',bZ=Number((bY[fp(0x413)](/(?:^|&)limit=(\d+)/)||[])[0x1]||0x0),c0=bZ>0x0?Math['min'](bZ,0xc8):0xc8,c1=(bY[fp(0x413)](/(?:^|&)order=(asc|desc)/)||[])[0x1],c2=decodeURIComponent((bY['match'](/(?:^|&)cursor=([^&]*)/)||[])[0x1]||''),c3={'sessionID':bw[0x1],'limit':c0};c2?c3['cursor']=c2:c3[fp(0x43a)]=c1||fp(0x1dc);let c4=await bt[fp(0x168)]['list'](c3);return M(br,0xc8,{'ok':!0x0,'data':c4[fp(0x187)]||[],'cursor':c4[fp(0x2a4)]});}if((bw=bv(/^\/api\/session\/([^/]+)\/prompt$/))&&bq[fp(0x417)]==='POST'){let c5=await J(bq);if(!c5['text']||typeof c5['text']!=fp(0x3f9))return M(br,0x190,{'ok':!0x1,'message':fp(0x284)});let c6=[],c7=Array[fp(0x326)](c5['images'])?c5[fp(0x184)]:[];if(c7[fp(0x34f)]>0x5)return M(br,0x190,{'ok':!0x1,'message':fp(0x3bc)});let c8=[];for(let cd of c7){let cf=aB(cd);if(!cf||!u(cf))return M(br,0x190,{'ok':!0x1,'message':'\u56FE\u7247\u5730\u5740\u4E0D\u5728\u5141\u8BB8\u7684\u57DF\u540D\uFF08\u4EC5\u652F\u6301\x20kooteam\x20\u57DF\uFF09'});c8[fp(0x263)](cf);}if(c8[fp(0x34f)]){let cg=await Promise[fp(0x3ee)](c8[fp(0x316)](async ch=>{const fq=fp;let ci=await G(ch),cj=fq(0x3ba);try{cj=decodeURIComponent(ch[fq(0x1c3)]('?')[0x0][fq(0x1c3)]('/')[fq(0x2c9)]()||'')[fq(0x259)](0x0,0x78)||fq(0x3ba);}catch{}return{'uri':ci,'name':cj};}));c6['push'](...cg);}let c9=Array['isArray'](c5[fp(0x329)])?c5[fp(0x329)]:[];for(let ch of c9){if(!ch||typeof ch['path']!=fp(0x3f9)||!ch[fp(0x1b9)])continue;let ci=g['resolve'](aD,ch[fp(0x1b9)]);ci!==aD&&ci['indexOf'](aD+g['sep'])!==0x0||c6['push']({'uri':'file://'+ci,'name':ch[fp(0x1b9)],...ch[fp(0x16b)]?{'description':ch[fp(0x16b)]}:{},...ch[fp(0x1ed)]?{'mention':ch[fp(0x1ed)]}:{}});}let ca=c5[fp(0x275)]===fp(0x3e3)||c5[fp(0x275)]===fp(0x1e8)?c5['delivery']:void 0x0,cb=Y(c5[fp(0x234)]),cc=await bt[fp(0x21b)][fp(0x3dd)]({'sessionID':bw[0x1],'text':cb?c5[fp(0x26a)]+'\x0a\x0a'+cb:c5[fp(0x26a)],...c6[fp(0x34f)]?{'files':c6}:{},...c8[fp(0x34f)]?{'metadata':{'images':c8}}:{},...ca?{'delivery':ca}:{}});return M(br,0xc8,{'ok':!0x0,'data':cc});}if((bw=bv(/^\/api\/session\/([^/]+)\/command$/))&&bq[fp(0x417)]===fp(0x39e)){let cj=await J(bq);return!cj['name']||typeof cj[fp(0x425)]!=fp(0x3f9)?M(br,0x190,{'ok':!0x1,'message':fp(0x31e)}):(await bt[fp(0x21b)][fp(0x1b0)]({'sessionID':bw[0x1],'name':cj[fp(0x425)],'text':typeof cj[fp(0x26a)]==fp(0x3f9)?cj[fp(0x26a)]:'',...Array[fp(0x326)](cj[fp(0x1f2)])&&cj['files'][fp(0x34f)]?{'files':cj[fp(0x1f2)]}:{}}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/shell$/))&&bq[fp(0x417)]==='POST'){let ck=await J(bq);return!ck['command']||typeof ck['command']!='string'?M(br,0x190,{'ok':!0x1,'message':fp(0x27c)}):(await bt[fp(0x21b)][fp(0x384)]({'sessionID':bw[0x1],'command':ck[fp(0x1b0)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/compact$/))&&bq[fp(0x417)]===fp(0x39e)){let cl=await J(bq)['catch'](()=>({})),cm=cl[fp(0x275)]===fp(0x3e3)||cl['delivery']===fp(0x1e8)?cl[fp(0x275)]:fp(0x1e8),cn=await bt[fp(0x21b)]['compact']({'sessionID':bw[0x1],'delivery':cm});return M(br,0xc8,{'ok':!0x0,'data':cn});}if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/stage$/))&&bq['method']==='POST'){let co=await J(bq);if(!co['messageID']||typeof co[fp(0x371)]!=fp(0x3f9))return M(br,0x190,{'ok':!0x1,'message':fp(0x3d2)});let cp=await bt[fp(0x21b)][fp(0x2bb)]['stage']({'sessionID':bw[0x1],'messageID':co[fp(0x371)]});return M(br,0xc8,{'ok':!0x0,'data':cp});}if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/clear$/))&&bq['method']===fp(0x39e))return await bt['session'][fp(0x2bb)]['clear']({'sessionID':bw[0x1]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/revert\/commit$/))&&bq[fp(0x417)]===fp(0x39e))return await bt[fp(0x21b)][fp(0x2bb)][fp(0x192)]({'sessionID':bw[0x1]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/diff$/))&&bq[fp(0x417)]===fp(0x3ea)){let cq=await bt[fp(0x21b)][fp(0x244)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cq||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/children$/))&&bq[fp(0x417)]===fp(0x3ea)){let cr=await bt[fp(0x21b)][fp(0x19d)]({'parentID':bw[0x1],'limit':0x14,'order':fp(0x1dc)})[fp(0x296)](()=>({'data':[]}));return M(br,0xc8,{'ok':!0x0,'data':(cr[fp(0x187)]||[])[fp(0x316)](cs=>({'id':cs['id'],'title':cs[fp(0x294)]||'','agent':cs['agent']||'','outcome':cs[fp(0x227)]||'','time':cs[fp(0x267)]||{}}))});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms$/))&&bq[fp(0x417)]===fp(0x3ea)){let cs=await bt['session'][fp(0x1d5)][fp(0x19d)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cs||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)$/))&&bq['method']===fp(0x3ea)){let cu=await bt[fp(0x21b)]['form'][fp(0x373)]({'sessionID':bw[0x1],'formID':bw[0x2]});return M(br,0xc8,{'ok':!0x0,'data':cu});}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)\/reply$/))&&bq['method']==='POST'){let cv=await J(bq);return!cv[fp(0x401)]||typeof cv['answer']!=fp(0x285)?M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20answer'}):(await bt[fp(0x21b)][fp(0x1d5)][fp(0x2d3)]({'sessionID':bw[0x1],'formID':bw[0x2],'answer':cv[fp(0x401)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/forms\/([^/]+)\/cancel$/))&&bq[fp(0x417)]===fp(0x39e)){let cw=await J(bq)['catch'](()=>({}));return await bt[fp(0x21b)][fp(0x1d5)][fp(0x201)]({'sessionID':bw[0x1],'formID':bw[0x2],...cw[fp(0x168)]?{'message':cw[fp(0x168)]}:{}}),M(br,0xc8,{'ok':!0x0});}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox$/))&&bq[fp(0x417)]===fp(0x3ea)){let cx=await bt[fp(0x21b)][fp(0x17e)]['list']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cx||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox\/([^/]+)\/delivery$/))&&bq[fp(0x417)]===fp(0x39e)){let cy=await J(bq);return cy[fp(0x275)]!==fp(0x3e3)&&cy[fp(0x275)]!==fp(0x1e8)?M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20delivery'}):(await bt['session'][fp(0x17e)][fp(0x162)]({'sessionID':bw[0x1],'inboxID':bw[0x2],'delivery':cy[fp(0x275)]}),M(br,0xc8,{'ok':!0x0}));}if((bw=bv(/^\/api\/session\/([^/]+)\/inbox\/([^/]+)\/cancel$/))&&bq['method']==='POST')return await bt[fp(0x21b)][fp(0x17e)][fp(0x201)]({'sessionID':bw[0x1],'inboxID':bw[0x2]}),M(br,0xc8,{'ok':!0x0});if((bw=bv(/^\/api\/session\/([^/]+)\/title$/))&&bq['method']===fp(0x39e)){let cz=await J(bq);if(typeof cz[fp(0x294)]!=fp(0x3f9)||!cz[fp(0x294)][fp(0x2f4)]())return M(br,0x190,{'ok':!0x1,'message':'\u53C2\u6570\u9519\u8BEF:\x20title'});await bt['session'][fp(0x162)]({'sessionID':bw[0x1],'title':cz[fp(0x294)][fp(0x2f4)]()});let cA=await bt[fp(0x21b)]['get']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cA});}if((bw=bv(/^\/api\/session\/([^/]+)\/interrupt$/))&&bq[fp(0x417)]===fp(0x39e)){let cB=await bt[fp(0x21b)][fp(0x29d)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cB});}if((bw=bv(/^\/api\/session\/([^/]+)\/agent$/))&&bq[fp(0x417)]===fp(0x39e)){let cC=await J(bq);if(!cC['agent']||typeof cC[fp(0x22e)]!='string')return M(br,0x190,{'ok':!0x1,'message':fp(0x181)});await bt['session'][fp(0x3a0)]({'sessionID':bw[0x1],'agent':cC['agent']});let cD=await bt['session']['get']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cD});}if((bw=bv(/^\/api\/session\/([^/]+)\/model$/))&&bq[fp(0x417)]===fp(0x39e)){let cE=await J(bq);if(!cE['model']||!cE[fp(0x17f)]['id']||!cE[fp(0x17f)][fp(0x2e5)])return M(br,0x190,{'ok':!0x1,'message':fp(0x2ce)});await bt['session'][fp(0x448)]({'sessionID':bw[0x1],'model':{'id':cE[fp(0x17f)]['id'],'providerID':cE[fp(0x17f)][fp(0x2e5)],...cE[fp(0x17f)][fp(0x1c1)]?{'variant':cE['model']['variant']}:{}}});let cF=await bt[fp(0x21b)]['get']({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cF});}if((bw=bv(/^\/api\/session\/([^/]+)\/permissions$/))&&bq[fp(0x417)]===fp(0x3ea)){let cG=await bt['permission'][fp(0x19d)]({'sessionID':bw[0x1]});return M(br,0xc8,{'ok':!0x0,'data':cG||[]});}if((bw=bv(/^\/api\/session\/([^/]+)\/permissions\/([^/]+)\/reply$/))&&bq['method']===fp(0x39e)){let cH=await J(bq);return['once',fp(0x2fc),fp(0x3ac)][fp(0x37a)](cH[fp(0x2f2)])===-0x1?M(br,0x190,{'ok':!0x1,'message':fp(0x231)}):(await bt[fp(0x35c)][fp(0x2d3)]({'sessionID':bw[0x1],'requestID':bw[0x2],'decision':cH[fp(0x2f2)]}),M(br,0xc8,{'ok':!0x0}));}return bu===fp(0x426)?bh(bq,br,bt,bs):M(br,0x194,{'ok':!0x1,'message':fp(0x34b)+bs});}async function bh(bq,br,bs,bt){const fr=er;let bu=bt['split']('?')[0x1]||'',bv=decodeURIComponent((bu[fr(0x413)](/(?:^|&)session=([^&]*)/)||[])[0x1]||'');br['writeHead'](0xc8,{'Content-Type':fr(0x3c5),'Cache-Control':'no-cache,\x20no-transform','Connection':fr(0x368),'X-Accel-Buffering':'no'}),br[fr(0x3a1)]&&br[fr(0x3a1)](),br[fr(0x2b6)](fr(0x16a));let bw=setInterval(()=>{const fs=fr;try{br[fs(0x2b6)](fs(0x191));}catch{}},0x3a98),bx=!0x1,by=bs[fr(0x27e)]['subscribe']()[Symbol[fr(0x3fc)]](),bz=()=>{const ft=fr;by[ft(0x2df)]&&Promise[ft(0x18f)](by[ft(0x2df)]())[ft(0x296)](()=>{});},bA=()=>{bx=!0x0,clearInterval(bw),aF['delete'](br),bz();};bq['on'](fr(0x2b7),bA),br['on'](fr(0x2b7),bA),aF[fr(0x376)](br);try{for(;!bx;){let bB=await by['next']();if(bB[fr(0x268)]||bx)break;let bC=bB[fr(0x2ad)];if(!bC)continue;let bD=bC['type']||'',bE=bC[fr(0x187)]||{},bF=bD['indexOf'](fr(0x39b))===0x0;bv&&!bF&&bE[fr(0x332)]&&bE[fr(0x332)]!==bv||br[fr(0x2b6)](fr(0x198)+JSON[fr(0x2a5)]({'type':bD,'data':bE})+'\x0a\x0a');}}catch{}finally{if(clearInterval(bw),bz(),!bx)try{br['end']();}catch{}}}function bi(bq,br){const fu=er;let bs=bq[fu(0x1bf)]||'/';if(!aq(bq))return M(br,0x193,{'ok':!0x1,'message':fu(0x28c)});if(bs==='/widget.js')return Q(br,fu(0x44e),fu(0x30b));if(bs===fu(0x195))return Q(br,fu(0x232),fu(0x44b));if(bs===fu(0x16d))return Q(br,fu(0x1a0),fu(0x248));if(bs===fu(0x1d2))return Q(br,fu(0x249),fu(0x30b));if(bs===fu(0x36a))return Q(br,'factory.css','text/css');if(bs==='/factory.js')return Q(br,fu(0x29a),fu(0x30b));if(bs===fu(0x3b0))return Q(br,'debug.css','text/css');if(bs===fu(0x17c))return Q(br,fu(0x2c6),fu(0x30b));if(bs===fu(0x2c0))return Q(br,fu(0x3bf),fu(0x248));if(bs===fu(0x33d))return Q(br,fu(0x295),fu(0x30b));if(bs===fu(0x206))return Q(br,fu(0x34c),fu(0x30b));if(bs===fu(0x423))return R(br);if(bs['split']('?')[0x0][fu(0x37a)](fu(0x433))===0x0){b7(bq,br,bs)[fu(0x296)](bt=>{const fv=fu;if(br[fv(0x2f5)]){try{br[fv(0x1df)]();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[fv(0x168)]?bt['message']:String(bt)});});return;}if(bs['split']('?')[0x0]===fu(0x398)){ay(bq,br)[fu(0x296)](bt=>{const fw=fu;if(br[fw(0x2f5)]){try{br[fw(0x1df)]();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[fw(0x168)]?bt[fw(0x168)]:String(bt)});});return;}if(bs[fu(0x1c3)]('?')[0x0][fu(0x37a)](fu(0x35f))===0x0){(bs[fu(0x1c3)]('?')[0x0]===fu(0x356)?aA(bq,br,bs):az(bq,br,bs))[fu(0x296)](bt=>{const fx=fu;if(br[fx(0x2f5)]){try{br['end']();}catch{}return;}M(br,0x1f4,{'ok':!0x1,'message':bt&&bt[fx(0x168)]?bt[fx(0x168)]:String(bt)});});return;}if(bs[fu(0x37a)](fu(0x23d))===0x0){bg(bq,br,bs)[fu(0x296)](bt=>{const fy=fu;if(br['headersSent']){try{br[fy(0x1df)]();}catch{}return;}if(bt&&bt[fy(0x28d)]===fy(0x40c))return aJ(br,bt);let bu=bt&&bt['message']?bt['message']:String(bt),bv=/not found|NoSuchKey|no such/i[fy(0x22c)](bu);M(br,bv?0x194:0x1f4,{'ok':!0x1,'message':bu});});return;}M(br,0x194,{'ok':!0x1,'message':'Not\x20Found:\x20'+bs});}let bj=null;function bk(bq,br){const fz=er;return ac=!!(br||{})[fz(0x2b8)],aI()[fz(0x296)](()=>{}),ac&&aI()['then'](function(bs){return am(bs);})['catch'](()=>{}),bj=b1(bq),bj;}function bl(){const fA=er;if(bj){bj['clients'][fA(0x40b)](bq=>{const fB=fA;try{bq[fB(0x424)]();}catch{}});try{bj[fA(0x2b7)]();}catch{}bj=null;}aF[fA(0x40b)](bq=>{const fC=fA;try{bq[fC(0x2fb)]();}catch{}}),aF[fA(0x35d)]();}function bm(){const fD=er;return[{'tag':fD(0x349),'attrs':{'src':fD(0x21d)},'injectTo':'head-prepend'},{'tag':'script','attrs':{'src':fD(0x27f),'defer':!0x0},'injectTo':fD(0x352)}];}return{'handle':bi,'attachRuntime':bk,'close':bl,'transformIndexHtml':bm,'writeDevArtifacts':b8,'writeAgentPlugin':bb,get 'root'(){return aD;}};}d['exports']={'createBridge':Z,'composePageContextSuffix':Y};}());}),Mn=fe((c,d)=>{const fE=cJ;W();var {createBridge:e}=An();d[fE(0x369)]=function(g){const fF=fE;let h=e(g||{});return{'name':fF(0x3f8),'configureServer'(i){const fG=fF;h[fG(0x26e)](i[fG(0x2d8)],{'devServer':!!(i&&i[fG(0x449)])}),h[fG(0x1c5)](i),i[fG(0x386)][fG(0x3af)](fG(0x190),(j,k)=>h[fG(0x350)](j,k)),i['httpServer']&&i[fG(0x2d8)]['on'](fG(0x2b7),()=>h[fG(0x2b7)]());},'transformIndexHtml'(){const fH=fF;return h[fH(0x242)]();}};};});W(),(function(){const fI=cJ;let d=require('path'),e=require('fs'),g=ln(),h=Ke(),i=pn(),l=mn(),m=hn(),n=bn(),o=Mn(),p=[fI(0x1fc),fI(0x31b),fI(0x2a0),fI(0x3e4),fI(0x436)];module[fI(0x369)]=({core:r=fI(0x183),command:s,plugins:t=[],obfuscate:u=!0x1,ROOT:G,port:J,name:P,ws:Q,apps:R={},moduled:U,aiwith:Y=!0x0,aiwithRoot:a0,factoryOrigin:a1,aiwithRemote:a2=!0x1,mcpDisable:a3,ai_gateway:a4})=>{const fJ=fI;let a5=s==='serve',a6=s===fJ(0x1b5)&&p['includes'](process.env.TARGET)?process.env.TARGET:'',a7=d[fJ(0x18f)](G,fJ(0x30e)),a8=(e['existsSync'](a7)?e['readdirSync'](a7):[])[fJ(0x25e)](ai=>ai[fJ(0x37c)](fJ(0x375)))['map'](ai=>ai[fJ(0x24b)](/\.js$/,''))[fJ(0x2ba)](),a9=a8[0x0]||fJ(0x3e1),aa=a8[fJ(0x259)](0x1)[fJ(0x316)](ai=>d[fJ(0x18f)](a7,ai+fJ(0x375))),ab={[a9]:d[fJ(0x18f)](a7,a9+fJ(0x375))},ac=JSON['parse'](e[fJ(0x2a9)](d[fJ(0x18f)](G,'package.json'),fJ(0x353))),ad=U?d[fJ(0x18f)](G,'..',fJ(0x19b),fJ(0x26f),ac[fJ(0x425)]):d[fJ(0x18f)](G,'dist'),ae=a5?n():null,af=fJ(0x207),ag={};a5&&(ag['/api']={'target':fJ(0x26b)+J,'secure':!0x1,'changeOrigin':!0x0},ag[fJ(0x252)]={'target':fJ(0x26b)+J,'secure':!0x1,'changeOrigin':!0x0},ag[fJ(0x2e8)]={'target':fJ(0x167),'secure':!0x1,'changeOrigin':!0x0},ag['/'+P+'/']={'target':fJ(0x26b)+J,'secure':!0x1,'changeOrigin':!0x0,'compress':!0x1,'headers':{'Content-Type':fJ(0x1b1)},'ws':!!Q},ag[fJ(0x20e)]||(ag[fJ(0x20e)]={'target':af,'secure':!0x1,'changeOrigin':!0x0}),Object[fJ(0x306)](R)[fJ(0x40b)](ai=>{const fK=fJ;let aj=R[ai]+'';aj['indexOf'](':')===-0x1&&(aj=fK(0x26b)+aj),ag['/'+ai+'/']={'target':aj,'secure':!0x1,'changeOrigin':!0x0};}));let ah=JSON[fJ(0x2a5)](a5?fJ(0x41f):fJ(0x29f));return{'root':G,'define':{'__VUE_OPTIONS_API__':!0x0,'__VUE_PROD_DEVTOOLS__':!0x1,'process.env':'{}','process.env.NODE_ENV':ah},'optimizeDeps':{'rolldownOptions':{'moduleTypes':{'.js':fJ(0x2ec)},...ae?{'plugins':[ae['rolldownPlugin']]}:{}},'exclude':[fJ(0x19b),'vue-router',fJ(0x237),fJ(0x36f)]},'plugins':[...t,m({'isDev':a5}),h({'outDir':ad}),l({'outDir':ad,'extraEntries':aa,'ROOT':G,'srcRoot':a7}),u&&i({'outDir':ad}),g({'target':a6,'ROOT':G,'name':P,'isDev':a5,'core':r}),a5&&Y!==!0x1&&o({'ROOT':G,'name':P,'aiwithRoot':a0,'kooteamOrigin':af,'factoryOrigin':a1,'aiwithRemote':a2,'mcpDisable':a3,'ai_gateway':a4})][fJ(0x25e)](Boolean),'resolve':{'extensions':[fJ(0x375),'.vue',fJ(0x422),'.json'],'alias':{'@':d['resolve'](G,fJ(0x30e)),'@icons':d['resolve'](G,'node_modules/zen-app-icon/extend'),...ae?{'vue':ae['file']}:{}}},'css':{'cssCodeSplit':!0x1},'server':{'host':fJ(0x340),'open':!0x0,'cors':!0x0,'allowedHosts':!0x0,'hmr':P!==fJ(0x28e),'proxy':ag},'build':{'minify':fJ(0x213),'target':fJ(0x34a),'sourcemap':!0x1,'emptyOutDir':!0x0,'copyPublicDir':!0x1,'outDir':ad,'chunkSizeWarningLimit':0x200,'lib':{'entry':ab,'formats':[fJ(0x1bc)],'name':fJ(0x41e),'fileName':()=>a9+fJ(0x375),'cssFileName':a9},'rolldownOptions':{'external':['vue','element-plus','vue-router',fJ(0x36f)],'output':{'globals':{'vue':'Vue','vue-router':'VueRouter','element-plus':'ElementPlus','vant':fJ(0x36f)},'minify':{'compress':{'dropConsole':!0x0,'dropDebugger':!0x0},'mangle':!0x0,'codegen':{'legalComments':fJ(0x2c4)}}}}}};};}());
|