From 65652639ca915e24495ea2b14e309d45e7d8d7a8 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Fri, 5 Sep 2025 22:18:53 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Routes/XunFeiRoute.py | 259 +----- .../__pycache__/XunFeiRoute.cpython-310.pyc | Bin 5789 -> 1213 bytes .../static/XunFei/audio_evaluation.html | 871 +++++++++--------- ...audio_4bfaf83cdee94098813d77b79cacca8e.wav | Bin 0 -> 28175 bytes ...audio_e36d2c22f1a64661ac1644304df7c732.wav | Bin 0 -> 30107 bytes 5 files changed, 460 insertions(+), 670 deletions(-) create mode 100644 dsLightRag/static/audio/audio_4bfaf83cdee94098813d77b79cacca8e.wav create mode 100644 dsLightRag/static/audio/audio_e36d2c22f1a64661ac1644304df7c732.wav diff --git a/dsLightRag/Routes/XunFeiRoute.py b/dsLightRag/Routes/XunFeiRoute.py index 48a075ad..ae904d51 100644 --- a/dsLightRag/Routes/XunFeiRoute.py +++ b/dsLightRag/Routes/XunFeiRoute.py @@ -2,252 +2,37 @@ import logging import os import uuid import time -import asyncio # 添加此行 -from fastapi import APIRouter, HTTPException, BackgroundTasks, Query, UploadFile, File, Form +import asyncio +from fastapi import APIRouter, HTTPException, UploadFile, File from pydantic import BaseModel from typing import Optional -import tempfile - -from starlette.websockets import WebSocket - -from Util.ObsUtil import ObsUploader -from Config.Config import OBS_BUCKET, OBS_SERVER, XF_APPID, XF_APISECRET, XF_APIKEY -from fastapi.responses import StreamingResponse -import requests - -# 导入讯飞语音评测类 -from KeDaXunFei.XunFeiAudioEvaluator import XunFeiAudioEvaluator # 配置日志 logger = logging.getLogger(__name__) router = APIRouter(prefix="/api/xunFei", tags=["讯飞"]) -# 请求模型 -class AudioEvaluationRequest(BaseModel): - language: str = "chinese" # chinese 或 english - text: str # 评测文本内容 - group: Optional[str] = "adult" # 群体:adult, youth, pupil - check_type: Optional[str] = "common" # 检错严格程度:easy, common, hard - grade: Optional[str] = "middle" # 学段:junior, middle, senior +# 音频保存目录 +UPLOAD_DIR = os.path.join(os.path.dirname(__file__), "..", "static", "audio") +os.makedirs(UPLOAD_DIR, exist_ok=True) -# 响应模型 -class AudioEvaluationResponse(BaseModel): - evaluation_id: str - status: str - results: Optional[dict] = None - evaluation_time: Optional[float] = None - error_message: Optional[str] = None - -# 科大讯飞API配置(需要根据实际情况配置) -XUNFEI_CONFIG = { - "appid": XF_APPID, - # 修复参数名颠倒问题 - "api_key": XF_APIKEY, - "api_secret": XF_APISECRET -} - -@router.post("/evaluate-audio", response_model=AudioEvaluationResponse) -async def evaluate_audio( # 添加async关键字 - background_tasks: BackgroundTasks, - language: str = Form(..., description="语言类型: chinese/english"), - group: str = Form("adult", description="群体类型: adult, youth, pupil"), - check_type: str = Form("common", description="检错严格程度: easy, common, hard"), - grade: str = Form("middle", description="学段: junior, middle, senior"), - audio_file: UploadFile = File(...)): - """ - 语音评测接口 - 支持中文和英文篇章朗读判分 - """ +@router.post("/save-audio") +async def save_audio(audio: UploadFile = File(...)): + """保存音频文件""" try: - # 验证语言参数 - if language not in ["chinese", "english"]: - raise HTTPException(status_code=400, detail="language参数必须是'chinese'或'english'") + # 生成文件名 + file_name = f"audio_{uuid.uuid4().hex}.wav" + file_path = os.path.join(UPLOAD_DIR, file_name) - # 新增参数验证 - if check_type not in ["easy", "common", "hard"]: - raise HTTPException(status_code=400, detail="check_type参数必须是'easy'、'common'或'hard'") - - if grade not in ["junior", "middle", "senior"]: - raise HTTPException(status_code=400, detail="grade参数必须是'junior'、'middle'或'senior'") - - # 验证群体参数 - if group not in ["adult", "youth", "pupil"]: - raise HTTPException(status_code=400, detail="group参数必须是'adult', 'youth'或'pupil'") - - # 创建临时文件保存上传的音频 - # 修改临时文件处理逻辑 - import os - import uuid - # 创建持久化保存目录 - output_dir = os.path.join(os.path.dirname(__file__), '../static/audio') - os.makedirs(output_dir, exist_ok=True) - # 生成唯一文件名 - temp_audio_path = os.path.join(output_dir, f"eval_audio_{uuid.uuid4()}.wav") - - with open(temp_audio_path, 'wb') as temp_audio: - # 先读取音频内容 - audio_content = await audio_file.read() - # 再进行格式转换 - import wave - with wave.open(temp_audio, 'wb') as wf: - wf.setnchannels(1) - wf.setsampwidth(2) - wf.setframerate(16000) - wf.writeframes(audio_content) - - # 创建评测器实例 - evaluator = XunFeiAudioEvaluator( - appid=XUNFEI_CONFIG["appid"], - # 与AudioEvaluator示例用法保持一致 - api_key=XUNFEI_CONFIG["api_key"], - api_secret=XUNFEI_CONFIG["api_secret"], - audio_file=temp_audio_path, - language=language # 添加语言参数 - ) - - # 根据语言设置不同的评测参数 - if language == "chinese": - # 中文评测配置 - evaluator.business_params = { - "category": "read_chapter", - "ent": "cn_vip", - "group": group, - "check_type": check_type, - "grade": grade, - } - else: - # 英文评测配置 - evaluator.business_params = { - "category": "read_chapter", - "ent": "en_vip", - "group": group, # 添加缺失参数 - "check_type": check_type, # 添加缺失参数 - "grade": grade, # 添加缺失参数 - } - - # 运行评测 - from concurrent.futures import ThreadPoolExecutor - executor = ThreadPoolExecutor(max_workers=4) - results, eval_time = await asyncio.get_event_loop().run_in_executor( - executor, evaluator.run_evaluation - ) - - # 清理临时文件 - 注释掉此行以便保留文件 - # os.unlink(temp_audio_path) - - # 生成评测ID - evaluation_id = str(uuid.uuid4()) - - return AudioEvaluationResponse( - evaluation_id=evaluation_id, - status="success", - results=results, - evaluation_time=eval_time.total_seconds() if eval_time else None - ) + # 保存文件 + content = await audio.read() + with open(file_path, "wb") as f: + f.write(content) + print(file_path) + return { + "success": True, + "file_name": file_name, + "file_path": f"/static/audio/{file_name}" + } except Exception as e: - logger.error(f"语音评测失败: {str(e)}") - # 确保临时文件被清理 - if 'temp_audio_path' in locals() and os.path.exists(temp_audio_path): - os.unlink(temp_audio_path) - - return AudioEvaluationResponse( - evaluation_id=str(uuid.uuid4()), - status="error", - error_message=f"评测失败: {str(e)}" - ) - -@router.get("/evaluation-result/{evaluation_id}") -async def get_evaluation_result(evaluation_id: str): - """ - 获取评测结果(示例接口,实际需要实现结果存储) - """ - # 这里需要实现从数据库或缓存中获取评测结果 - # 目前返回示例数据 - return { - "evaluation_id": evaluation_id, - "status": "completed", - "message": "请实现结果存储逻辑" - } - - -@router.websocket("/xunfei/streaming-evaluate") -async def streaming_evaluate(websocket: WebSocket): - await websocket.accept() - logger.info("讯飞语音评测WebSocket连接已建立") - - # 生成唯一音频文件名 - output_dir = os.path.join(os.path.dirname(__file__), '../static/audio') - os.makedirs(output_dir, exist_ok=True) - temp_audio_path = os.path.join(output_dir, f"eval_audio_{uuid.uuid4()}.wav") - - try: - # 初始化WAV文件 - with wave.open(temp_audio_path, 'wb') as wf: - wf.setnchannels(1) - wf.setsampwidth(2) - wf.setframerate(16000) - - # 持续接收音频流 - while True: - data = await websocket.receive_bytes() - if not data: # 结束标记 - break - wf.writeframes(data) - - # 执行评测(复用现有逻辑) - evaluator = XunFeiAudioEvaluator( - appid=XUNFEI_CONFIG["appid"], - api_key=XUNFEI_CONFIG["api_key"], - api_secret=XUNFEI_CONFIG["api_secret"], - audio_file=temp_audio_path, - language=await websocket.receive_json().get("language", "chinese") - ) - - # 根据语言设置不同的评测参数 - if language == "chinese": - # 中文评测配置 - evaluator.business_params = { - "category": "read_chapter", - "ent": "cn_vip", - "group": group, - "check_type": check_type, - "grade": grade, - } - else: - # 英文评测配置 - evaluator.business_params = { - "category": "read_chapter", - "ent": "en_vip", - "group": group, # 添加缺失参数 - "check_type": check_type, # 添加缺失参数 - "grade": grade, # 添加缺失参数 - } - - # 运行评测 - from concurrent.futures import ThreadPoolExecutor - executor = ThreadPoolExecutor(max_workers=4) - results, eval_time = await asyncio.get_event_loop().run_in_executor( - executor, evaluator.run_evaluation - ) - - # 清理临时文件 - 注释掉此行以便保留文件 - # os.unlink(temp_audio_path) - - # 生成评测ID - evaluation_id = str(uuid.uuid4()) - - return AudioEvaluationResponse( - evaluation_id=evaluation_id, - status="success", - results=results, - evaluation_time=eval_time.total_seconds() if eval_time else None - ) - - except Exception as e: - logger.error(f"评测失败: {str(e)}") - await websocket.send_json({ - "status": "error", - "message": str(e) - }) - await websocket.close() - + return {"success": False, "error": str(e)} \ No newline at end of file diff --git a/dsLightRag/Routes/__pycache__/XunFeiRoute.cpython-310.pyc b/dsLightRag/Routes/__pycache__/XunFeiRoute.cpython-310.pyc index d278a8220b97e52e58b65d67a72d6f5d6f789910..8e53d407598cff97db591a5fd030f46a39cddc82 100644 GIT binary patch literal 1213 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 -
-

🎙️ 英语朗读评测

+
+

🎙️ 英语朗读评测

-
- - -
+
+ + +
-
-

录音设置

-
- -
- - 50% -
+
+

录音设置

+
+ +
+ + 50%
- -
- -
- -
00:00
- -
准备就绪
- -
- - - - -
- -
- -

- 录制时间: 0 秒 | - 文件大小: 0 KB -

-
- -
-
-
-
-
上传进度: 0%
-
- + simulateUploadProgress() { + let progress = 0; + const interval = setInterval(() => { + progress += Math.random() * 15; + if (progress >= 90) { + progress = 90; // 等待实际上传完成 + clearInterval(interval); + return; + } + this.updateProgress(progress); + }, 200); + } + + updateProgress(progress) { + progress = Math.min(100, Math.max(0, progress)); + this.progressFill.style.width = progress + '%'; + this.progressText.textContent = `上传进度: ${Math.round(progress)}%`; + } + + startTimer() { + this.timerInterval = setInterval(() => { + if (this.startTime) { + const elapsed = Date.now() - this.startTime; + const minutes = Math.floor(elapsed / 60000); + const seconds = Math.floor((elapsed % 60000) / 1000); + this.timer.textContent = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; + } + }, 100); + } + + stopTimer() { + if (this.timerInterval) { + clearInterval(this.timerInterval); + this.timerInterval = null; + } + } + + updateButtons() { + this.recordBtn.disabled = this.isRecording; + this.stopBtn.disabled = !this.isRecording; + this.playBtn.disabled = !this.recordedBlob || this.isRecording; + this.uploadBtn.disabled = !this.recordedBlob || this.isRecording; + } + + updateStatus(message, type = '') { + this.status.textContent = message; + this.status.className = 'status ' + type; + } + + // 清理资源 + cleanup() { + this.stopTimer(); + this.stopVisualization(); + + if (this.mediaRecorder) { + this.mediaRecorder.stream.getTracks().forEach(track => track.stop()); + } + + if (this.audioContext) { + this.audioContext.close(); + } + + if (this.audioPlayer.src) { + URL.revokeObjectURL(this.audioPlayer.src); + } + } + } + + // 初始化录音器 + const recorder = new AudioRecorder(); + + // 页面卸载时清理资源 + window.addEventListener('beforeunload', () => { + recorder.cleanup(); + }); + + // 处理页面可见性变化 + document.addEventListener('visibilitychange', () => { + if (document.hidden && recorder.isRecording) { + console.log('页面隐藏,录音继续进行...'); + } + }); + + // 添加键盘快捷键支持 + document.addEventListener('keydown', (e) => { + if (e.code === 'Space') { + e.preventDefault(); + if (!recorder.isRecording && !recorder.recordBtn.disabled) { + recorder.startRecording(); + } else if (recorder.isRecording) { + recorder.stopRecording(); + } + } + }); + + // 添加提示信息 + console.log('🎙️ 在线录音机已加载完成!'); + console.log('💡 快捷键:空格键 - 开始/停止录音'); + console.log('📋 支持的格式:WebM (推荐), MP4, WAV'); + console.log('🔧 请确保已允许麦克风权限'); + \ No newline at end of file diff --git a/dsLightRag/static/audio/audio_4bfaf83cdee94098813d77b79cacca8e.wav b/dsLightRag/static/audio/audio_4bfaf83cdee94098813d77b79cacca8e.wav new file mode 100644 index 0000000000000000000000000000000000000000..5899a277b082566d55947921198bed008c461a53 GIT binary patch literal 28175 zcmaIdQ>-Yw7AWdz+qP}2Y1>-Uwr$(CZQHhO+qTZy|Gnq+jHFGQG-+SHF`6{R64@=x z6%6qQ6ny>H9{fQBAN?T&1A<(Q4Xg!2|4oDafiRT(OaXuYzd)5JH%X^jtq+73WSI=6m-{y-ri0=jbYDoTb0iE?(%j^f7p zMu30-0DheS|BLTzs7d z;Br0XR7TA-&OLtydCWF;1DI74~_##@;M#ohlRK=@I|Fn670*Rzw?Te?vlq;O<%U~5gg%9@-P9naptV=ScbH3PK(SpM38siiarwI-KZ^ETf4o$7TQVDD@_SuZPYrWa*JG|E~lXnKIG zb8Pt`i>E%mE`mm2PlirdSFIS!nD01Jc0O9c+4)JT^%vDvQ(AmdWPn=)p{-tC6};89!=XBfDH^mr3WPC zhaD|E>i5wP004(HZ9l5Qu=;v3Nic)$(}`>tWyEFEH?N!e0(}?)CfPaNon|F<7iLV4 zFRQjPy@w+0ehQFy0^4CuA#Kg?dom!C1DqiY@X|(kilAYCuFvb-S#*Z_FkYzG64b^T zEaV|t+IM`Mg;UmibAsutZ(r>9Yrk`q2U^H_RJ8|5Bz}Jv8qq45tz2a!s*7?Iir!#} zRGFc=2}jv>-*JS6H}H|)ng;FJ!bFAnkBXU|{`O_3DPZ79J0m4nhBT~F6xys($|i}I zC33xPQT?LXmBw5^dMm5}{oi^f%63CY9P?oXi!R{*mgyTQ2`R$ZG&V?ovsFcLD z^z0z$^^1d2(pDVo5-tZ{i)fUVD=gi~#eqyV6o;^NS37_-%<;xjj#K&@u#vlyy{TTgLUldWy9E2z-W z5i~KT_Dr}kyQ^~I#IeW7z4A~T>j)Jr7RP;q(DAttOVwkzI^aSMf%&xnK~>*k8PXf2zlZ=C7+;ty*QCJ#o0Qf6}{lV z7-b1P-Q>=&JbwP9x@hy0YDk2>ay7)}>ovg&PQmf9k2*Ua- zmRNdPZFut&Q-+|C;~j}ivQMSB6Mi)9Rpfl>DRZ2fxp1sUfj3@6PjZ#qpDuwj?Zq#Q z3)Wp`4pw|M<7w^|zpq;F&DF%=a1@NVRXQVlh=q9{3G1p8UgM!6gSRH{q`yT zM()@k)tHV66rh!5KJ36FNPrh2lWLUB7Y}^A=ku8i$(Z!0td7wLb6e^hmV?zpPVTl3 z;ye_W>2i3=$0qmH=WY7ovl|uWyf#bdXg_bpVSCKzGCjz$7IUy?Pvc&UF}XZZ|G_ge zeH6rO3)A+Dg$grh!v07D;>KQ~u0=cX5?{y#%F#&D-+T(m?0AjyUb7K{7|lmHik|`T zpbiQNte>t!d)TR?!mj#P9}I!+1I4F+1GS<`@e$0E14_YKPpF-})p|b#pf}_qgd-e0 z3J)|2P&lAAhUq}b`|dZWk40~LZ&?Z<=w*tu)6CBBFnHzcKQ##)?|%<2Z5uW-%+3>K zK&yC^_9+j?;Xv^Xo#?`Nku3uA!Skha&01`RdpmY(rM9~oUfTPP0wX(fMpZMhRynL8 z7+4YXiEGQKqQ=s#6MCUo@4h}BbY1(WZP?lo{#fQ$X>v0(;1j>*^)+!0V4l;{60zTip*CogXn}#rjvu)!YQ3_!;^C zy_s0Kvg%7IfnzS=GbXSodFK-`zCFaz4XHdL9?OX{)YSQ;@xatdW34icUEpG;4)702 zE2IRUyB8Czb;d#al^si@NMOmTT^;~oWvm7%Ejfwflk9W!5i$b?^u4nN?UG$Qk2AFZ zKg`H*#=0&@v%OZyqXd$UjI}|_?f(P!Tsjpx@!0qqXPn`%2Vz+;aHHz-4^PD-y5IgpV(v*nHq&IC6>rgI7;SWITFTuJ%hK_t3 zCTX7r0|7tq$d*l;X7YToJ5AAhydv0A)fTJK4wh}>l=nAV%-HIq&{j6t|jb#}FDs&yqg=bXCr3_^19DRi%obCmuZ^zhOY>dD?<>6ZkKGL?{-a#LMSJr!GV=&I3J8EKvp|Tk(E^ z!$|^|0&MW(WeESIfWG|u?*URbw`U7PVg%@u z<#n(O;R#@=d1)X1Yt8AM?zXlu32QNG$If8~h*-Yl^m&biKnyE8s*r0MNOJ#e^ zl{A z+M%x8uXB^)^2Y}%(>qpQ?Wc>a?^xne!OYKAJ-NF>C6fBiH&{t6kj*8|PXJu|$#({n zW4uZwAIYIMNwe0u3ulSjevh%w9Od5FL*Lk`Z90AsXlKVdXX`lYXycSJD0RJg2uGFi zw0J6YqM}uWA?p~yv4QIGGE+up!OKLiFVqc;ekplJdX0Z>nrZi@eB%?9JTX)44smbLKt z?7*QS!sx&&TUYuyc9E<^Rc5bj{LDo792AawhLLyZ)j`y?ZGH~(+6YBi$~G=3Bnhh) z_gGUs@-|p`?DP&+MY`PW-g;iLjS$$8prA+^l%HmWtV_0dL-m)VQ~-gjG?%Ck$%F== zA`paXB|DBpH=H?EQyACz1P$k|iS$fNV>6zlamrF)YoT$D_5P>0>7Qav5+%WQ&E>hw zytaYDX;;IPSG|T78rBq4qSjBm`s~HT1jp@xVn=fyBa@5*juMWx`7-jIOuSJ0R8vTa z%*S}IWJDU4(feA|TBI37tb{NV$0T<(&~22VJdFxUWhu!ZSl0M^o~CINGM5<8U-(d> zL6H&1VjWHoxJe`KP;g^#A#|H{>C<v}4`XA5@vM$cnvyRWN z*9!D87ded_%MnR!#u}W9969BNh#s{?-;1xO7pOAztMVU4woEYMM`mbQc`SLAyC zl1hXyX(pU=*AC%}aUZ-5=_meL^pMDc_0m3sOoHx#mbZPU5F)MQL5~?EVfVk}y`y)) z1MWfE^-bfb&AE!ce!bx*wwlH6tfk}LyU^D0D??b9Br7WWn}~&UZB5Te!xr z`|&C?RP-AS^6qlY3dF6w875i#e-(9p#%O5i=11)Y?oh~PhZ(#L_l&3-4vEq2t~$G! z(FDRniiFgON8UTDxAm^{dR&}r@Wga|Gm&TyOulfPr2}@vZ0JaYOH#-mWVCb50z!f%7Jps_uWJ~o zV|;l62pw7pBpRo`h$x&ImO9fJBL-deX!l*cU zR_%;QN%`<;9rZzz<9z8_3`PPtkvr(!`Pn%ChT06WQJr_>C?~by+%Q7U!x6Y<__PEs z15@w=)`Z8$EXqIEE};)-{9UlV*v_mBANxkWn|AEY2Gk$iv( zR^xJHW~7Nr0T3o$d;{q)+C}_VU`DMT%?hEg=s}^{1gQk0?up`tf%T%8eehoMvcyz! z6EEe3gfe)JLFXd|wO$l^L3y3oPw(7Sra@`8#p?Xt6A=PnDTB+E!fE0tZJti6%0%=- z|8L&>uefGiN0;~2;eU$n{we0V9jV`1OHYD!*YZkzIZyQ z&*((bEXs_V(Od8yuZ4-ZNU>48c3?Ft^9<|K)tVis(gKF;f2dm;bTpL3@48y5dvH6t z!ol*^6~v8#$!jQ@?a0*bOw3|!jA3_k!Pii@d{Q_^YALN0rj21$3QwM1Jv2s79E`36 zVul4{s~h5q%}T>cCfcZ5R>{~)lHPz|zVtOf-$uD8mry&0cuq2{CrUxHhk980ODIr- zKF!?rihfsEQK7{qCo_EZBw$W@4RYBS5s)rXzL}Qr7zCc$euirFK-)rkWFK0Dn=_4X zsvzfs1L2?1_?_;L0;#i;R$OpLVy62QGzG8Rk8wwteZvLc~LGhSdzsZH~AEvQsh zrZX29Be;=n8Ux@={Vt3znEtW>I-$fP3CA~+BFY6Qh9@H0mND3n#>J`zYN_WGHECWt z?z+>ts61v?yui_x5Wg>D?s};--flIG`?@jQX9p9MOq~75N_2VBB_;9ivx7DGEu27?&G0| zHJ$2k?hJZoc-#Dq+Rf>3Y1peSYgzzfBQHv0(3V0HKRn7^10fCA3EB{O3a0SfT<##; zlr6bKp}{e98_DplST;Ly(6_lvf&&5*0JHtweD3D)Uiwzyyz#6Er{svr7fk{fgl|~% zI^2e>lQAD*Taarc#FcMvH1wsa@_NVd^Hy>L?wR>f3}HVsk64)q3Vc|w&olcM;P&&% za2jW@%8l-Zt1+7f9)5M-Zgq_Oige~HJ)RN_ljub7<8htH;o?eud>)7h&FC$?0B>lX ziY??wu!9v_Wi8RHt_y1Z5Oz~vfp;2Lg;)X`4FxAMUtuPO_oCL>q;?m-R2DUF2dFZP zo@Eb8>=xEd+dPESMMa~Os5?Cf!oP-&Di#$ZdON0lB~Zb{55E3nLdW$No33-n>Kh}V zig=4n^;iyD^5BBBl97iIUD z?x2wIVe}nX;vCDk!by(qU}{k5N#7R&ryQe78>S1-sM=jP_k3E`d|`gvx^#&65c=R) zf3>67-02%5P2(EBHJk)GLNqB(0%?+d;XKt$xU3sBEVBfWMs)r=3@u%?=?KPePkC#rO z$MFZ*mS%oQP0d?(%+B9qv|4Rq*x2NRdeFtFn)aMiwhy zFt4mfBhiQGCFc#ynEvduDcgr6mOEb`UCss6w_Ls7y(mH+6gpp0(nw*jai#$76rkH@arL*)+4=PbhConNbekJR%`^O1T{g+&sZ)7eA7p(j z(yz2H41F{C5YmQXls=Rjr*2jbB8b4GB;RG|(7)nsu@a3MN6t#me)Ks(#7(S&XMT4? zflOMyc--?x1qEO|4^q4JTShoiZ_KwCk^L_2XiZ`3D3*e z$EO=vyPR7Vqs7tQ&7R8Jn5~DJEIp|Vl_36J{xaT-1%g1Mo=tAB<{|$B8$wOK8lnw` zMnfUZOO;=wz5*LhixO%Tg58Yi9q#Gyt0uj+!lBsXt%H0mYM)Vi?V0E-PKt=vjrL9O zXXYE=1@L^+NYPF5^!mcU&-fN7m?R|CLg&sy56~I)o`|kqaNS{VD^jdBc_<&qXVp2C ztt#ZsUJBJcN6$XxguDSio{XF6yYm>gS3q35JP>EHt&xTl+1qYDCk>d>1`lL5uhgYl zsc$gr#k&OhZ)F2lYANG3kohVWTfDVJfDR*gCq|X5FwD59|Ica_p@`pcF-nTWLPd){ zS0{tP{U-U*W>1wp_&KL-maY_FqU`l198pYcUIztM)YYhET0u8wsy0~)s2jtov#WeU z+%UMJapXIp?uUzkJk1zo1|}2M=LzhX&dkmB`?AwqFhd2{0*fNnONMW>h!KV3^t@GP zG~z2t5)5Ag%RM3be!QXNe~QiiDc(W&KzB+)V{q>{vsKkY@~^oP@SpOq9eE2Ua|}yV zZS9;dbVkel)W%l2ou<$`6I?VLF>L#_BiFYI_WL-TT`TR~8qyCYdHKqzcS_@mU)EZ4 zdXG?hJKvYqd8e_W-9a7_)zm=y6!WtT}Xb}mp+ zf3raa=#%BBq##G(zK2aPI%D_P=|pFLcS0<_toA-oj{|s=8vH%iO326VlNou#jZFND zf+f~(k24~3_(rT^?19Oq14y4y*=jV}2}f8u2MwL3W+-(u z$2}$}7wHjG8qVTrsA2D3q9;CMKE@j=eNFmc(0lE$T^7W6q8YzHS+#!S-m?Zq*nWa) zMB19a2mgdnx%TV>d&{Y#@bv88%R@KbmoMyNS9p7@ zfieUnJsG%t_y!K%{IBYI-+bR9m86;o!Mks!&!m+>TFJj|(~F@7ej<>N%&&*?`=EMp z7wE>^S$@Js0V^7aWu_yJo=;<(ox@pcm`bUHH`CDWWJVQJFZ=R&DD3%GC2<7UiQSsHd#&_?+NaYk9Pte^b> zclmwC)EP&;?M)T`ca@T~>mT(!>rwLYj_C+M<*(J4=tzDcw^wjZj?f>o62@=ehYT!N#;rjEK_>G+od-@X57VH40bjqjwB7zQr z(;Hh?Z9pQIrpP}1(lBqVokcHQ9y^e;?_|@mwJeS*m72BZ2~ZLs=i3}@2mR~J`TMk) zt3c9#11QzuJNDVG4~jDAidetUPH2jcRaKkAHLB7J`!f!IkisI}m0)M6dxNY_E#*fZ zlxI)07|mCX;1+lmiU?@HeMZoT)j=FiJbQ+F$5Iz#V9E8}HPAXGbJ9!M>gS)t*xvXC z`9FEFESbNHN2L|8$NxY47A>5;8P`gd*?4qwlN#?2|XwC&xyg1 zyCKnS`j`pBB+Zt?rLs>JWbASp^GGfdYcdLq-UQphqXE!= z1MIyXmby!Bk4em?xB_o>Q#QCxh1|MuG8pwi4y%5T5l`2z|sdMr@UbeW#9$A zFuXctpY+08fq$Z>k>&-*fTYzF`DDuOn%`&E~H6Mw1LLGL|b; z4If~fbUEWLgXY?H5|wU-Az`Ug_Ty@`WD~*22zTVxvqvqoBr#>w=*?fiwSLmIr|@ZC zz0L2waG?2Dh-yE}mbu~NBv-yiGn2Z_FM;c1<22|>(puwm;PSu$>xQTeD<@-&Gaf>5 zlC>ICRY*M30FkXHJhe9|y?c2cYuQD=18OB4`eN=IFa9P7*-H})+igmi+;Wcfo5&F z=5@hcMOkQBieojMWToVk?TFN(N31<&dwOf-<=cyawi5OWzs*MdJSy@BLFOvU%@f-oWNkzG< zvEbNbOH>=RwF1QJT!umm&w8x5}sQ=dBDP=Ev+Ry>_wqLcThAWPn) z2ojIn9&*?->Zk%o$Bt1l(_c+=!+N2D9&AF&-;D)-*38sN)w;6HQ(Ty!!9D?{|r@nz>@zHii~^SmmS>3_L)<`j~L8zF``BIa4iA?1t&&6pS8l@U}kL zw?JN9xWCbhASCiA6JpBzJyA~GGrP|;ZJLEYAsog=Ql(^;=;)<|(rNrw15~l2Z6KI~ z`CEHJk$g<=tMHEH2NI45^flaLFe@D_Td z;Y%}Kluoar^1f*WcQsm+WcE3}*JO_e*uA_r@3`ORAt}pmg6NJ$igzelMpy6r&yq_@ zK|g!e0NHjgUTfc<2#6||^%J6beROpieqNRvFsZ~Z1%iQYv{C9d`pw@f;J+v^IoxU{ zj!0F0iSVw|M!LoW+H^l#VO}JQXxG8IPW|7VM-Vu3CuhT}M=ZTQ0SU!_%<~-`yP95D zQHY}5Ve70;;75Yr1kli+RZck!0Gfc5+<{4@WIjbYx~h*ypXyX=u0JM}qxhwOGN?XM zaB9G1yQjwC*#lyx(&G=|EeNDN-qeiwbDHB5YFM|S>T@=Z=iSTU&dPdkZ~0{h3qMCrD?XfR%CQfv->Om_%~ zJ0PoQ+bu4&mC|O1^VPI@Je$-tUl*`#EB6sr#{&Ccj`lMR5-Xj7ZNE*Hg71-M}vmj7T7tZZ;=-9I9wD`Tb-w|6QH?H_(3&9IkT0U)N-%C38naX#4 zuzgit&x6qJ_X^uXk8!XJj+AWdyT_cSjfG@XD8lfOa-CaaiWqvnuPT`4+wXnaxM?C& zS*m!h1O;v4YJpD0RF4~RfZ!j<0>(SsrwS@FCJJKu`R)#D)ekJ#-KDijQszO7^H-`m zUj1v>?bJhv1e)%g(6DH;2JjxherkSkcLxoI5a!t?KQgMPP=k=j_(wib-30g_uTDXS z?%F<~*7e)Ah3f-2a0ZNgE569r!8=u~-w0&crla)-Q<01M)=*7_S)n|0$?62)=But2 z8oB5P*)7#xn`cf6SbvORMUB5;z763!b?;WrGXD~{8PigRadxj)i_6(b$Q7;n&XyTH@ko3vu z{DwAiz43EEEW?U8H8SUWZ18xHFr8)PYbb;)aZg3(F@y z0*R#0eAk)Nl*lk2&;8m5gqU-AWu4vjer)(^OzUz$T8D(o6mlV20|wQ6H9nK&92qV# zAe$?6XL%^h1PSfxjW^lL1Zq?r!d>9czn67LKlUdt4d)}u{bL&24?9`L0sBw zY*#UODJ<@K+j*zW9Yn4n-{>roz3Be2qdnE?b)0|m-jm<<8EK*k$!AY^iC6I`=I#)C zVyr;7C!#+3ASrx?9kLj$=rg|(^TcrdIc&hkWOpI=E0SH;vI2YQ%^hibMhdVN7zEd# z|B3@oE|soke?m*^9+?BdNJ!LjDm>K~DGJR93ok)97gf$7aYzfwxubG1UHsErI=;Ta z>BTIAtEr!yYMh-LHg@9wz&at%zx*lD!Jl)n%@S|vA54Xvw1~=gQ?XdHa63=w_~@l) z`8vW5o=6#A5Vi|%a0-%Evx^L&(D~~Zpy9kexEVSBC@hW26Chgsrw@Rs8S&*e^*b;x z-6RN_&pj@+Ocs{=-Yfhvu`bf%+AZTFYv=GGv}QYndUtwP3&Ys!7+5ai?kSe}CMAFf z@y4inZR>@si$?Xg4iAO-Ibnl7CBem^oBPLu%1ISL891b)E7(D)rrN z@(H;HHOw_}3Y}7r6lvuRnR3)jH`4LGoa@fkaMvf0B`<$tA1@D3s0>NAwB+cD5O5$& zhoD;Cyv-h{D$?l#B|z4mAYY>WwbDJG)sDyOgBh?ALS7U zU8DYMX<~tOR5T831HINl@EcbhjI#xLSk9gX;Yn)Z0yykS#wj0lKdyw;Rz9}55 zo1VjliZ@)OO)bo#6v;>;ZN5^mpN|PIXUwspbQIIKwi9=EeEfa**hP#F=M~eApX-m2 z?$~eRkB4zGlW1O41!)>gn&diJg_$faq>*EdApI&PD7s&^NNWYa?N*{g@jEaYvS@! zXhM@R%54&P-jL1_5Y1VRO#YP4)u_EtEkLoP5N_0_copcinw@9e%JF{f9!}D)?i7r* zF&8f+Fy!sM{zdkTX6OZB-(8Xu1;C&^x-T5eO>$BBw+?PY+ z=%?|D!qynXm6!>}inAl*H=v$TL2>%e956JP&&&}mmLckSEs@efBm4Wi z+sDPR*SX$DAbj{P?)|WUiy+}qPmyaKVYf)CAK%_kTFLgOK9b1-q1QTQ3J?BQ`mL(F z2|lAq~RW1Q&;?0idF2ZcjxiD>V^6!A`%*1MXAg$o-_fBS4khN6@D;x&#n zdf{t=y|&vCOl13dIbzdBBfbjyy~6q}Ql$4vvx~KKa7&TGJcCqB!0F$q`HH&SbAyjh zyl-%vRrpK`)`ljgUN8;+4ou|KXk6$>s}QsCE|?1d-SRDSW&4%^h$K+!Yq?lOT2H%fYx(kY(2#O#hG9>c>zcUXnLe+OT0eh(iWR>5!|qZ zrD@ChM7|f_&ujk-*2LcFR4chQyTEJ$*G{@`Ny0B6_Wt8|U60})1|Mx5cbsn;@RD=I zzLR=5@p{$J0={g@h=LQE)QX&z+gQ^-8oHF>j7J#U&NR5F7kAFn)4xlTQ>`$bjEgmy zG-p@tH4^sFgIl@=1?NaXz~kHXx_t_s-F=3}*FzbPMHAeIw^xWouCUR7UR{hS<53*C zBMZ2CwkoM8tA0Mb`rSGWUGzFYV?#qMyZQdvJX;mDm8t%17YF1>1@f zHRAV8KG`zm#T|nQHlD5Yfs*s58)ZEK`ai{U{}l5(3DnTGc(JkU>=| z3mu-YZZ_au`y&JOR*mE-0h>*+DfggvZhcsz2Iw>3iw~!(mWPgP+@*JIu?s$+HZyBZ zi#;Y8#UJuWHIVjHtfqI&^k@o|J8Wp6;o6MI*3xWukiU}=-CrE3fBE3?p^DdjNN9vr zW*Y&>3K~3oD~`-F4?bmas`F)*i!JXbo9P+%vpW9fcttT`lc)+^ zH%?pxHj!ODtN_PE**OxwLZ*`?!whTUo;19G_{oZ##LC!bWo3o6;kxBo=f5INy8Hxm z72l%?B2mO48H!YvESgqiULy!)H7EyA96`%24Tc7HX%p&}0|pp(s$oL`BOQxL2R)pw ztUzpV`6+?|VFUj4W2n66)-XUF3?9s>-&?Kpp~tnF8q1~vf>hY#MR9}}Lf*ywx6nlIR z%egFsaqVyqgFImro)~)SK2#3HLgz=UKngc>@VpAb(Jgp5xl!>F9x?q`u1T6%@rJHd zkFE8Idq#*kkw1v3|3p2Fb%v-;l{x+mJhxP{))4HGP0<5&q5OVm-vUBj6HB^a` zmT?wteD*;AI6@;OxiIi}I?+pi@MEc8NM9cjKa+JcKg~N>d9W2hN4vPq|6H zkC*Pnj3KRFBZDpRwrV~o=UWuoLx_F(Cus^1d5$!3G=Ps&zexS`6}2ybJTQ?d9*pR} z_hMj}e~K}ZrOSmL=9#1=-qa{$*Wj}h>+t%RV`XyYlEhV@+`NWcaupiQMc7JH>Rp>G z;+z3E4>i*xHN6w@jWY`rjSB4|9!gQ1i1U({;jn0T<9$LfnPKsezjIKC0y%b=P0Pas z3Czzqdr-*DJG3c?~;+h{>p9+a#SA|dAM&c zf?p@9%rN-mP^oG;3IZqR&%`z>r*zZIo(MbeR|b7qR$$PLSZciarQKy%VbwQt;|ity z)T!)+TG3%4IQCsX?N;?D9e5muZR(_{6%w(9`gg${Jv6Uo`7sBZv65QTHQ~vesK+mw zAUIUa0IZS6FCtvZQm>ZiNG5hjjPLrQbrxY=I6)CD5|5%7(uis1Nx^mkYOPld?bL@4 z=9Z8s`D!g(L>pbCVuHh1t%fhT&B%^)K{naVvMepSTj~7iUj>>o1IWdm*NktJsCrdj z9AL=xz092>z0m?MhP|wcA6^7~_m`f-6$Y^_+T_O=d!OBpi191g0PivF92(fm6ynF|wEt z3*h*o?uY~vwC%bcDEeV$f~AR)=sT~ID4bddTN>M^Vuz^r&M@@`KxBlH^>=$jx^~5n zv|5)EhlJHZnnc-1g)3-%42DlI)l}tv1i*UTZC3}oVZnD21GDZNy}SpW@T5yPYN@R~LvmYKJyhIB zfF9KcTCHIItHz*Gb?3QSNnNWcn;f1Gm&As?O-tFGcXfa#{KmVv5Wpg zj!=@Q=#`pk+!RSxMxW|ooHR=*zn+|}Bsm(lLV(KW6Fv*Js)^CO;kxu6#uXw_)dJ+> zu}A3`l{(qi?dJ9ADn9gP)t)iR>2FLuk(6X)J`N=8~L}_ zdL?G}5cqOSpH(qPCgf3zL3S9rR57n>Eel$b|J7n(@qdcfGjP*8?`V&#`b`6`!YubLT?N0U-E!-el#nv%^A#5Ey>nhE5TxRFYHCq`5&m^IusKr|6Z z-mO~BdrQaI>dm4G8CK%435lSt^aXV3ej6j32oTSSv7OPfjFWBVL+>EUIE9m8h*5l! zsmYq+F#f!r&pcbMq#avW;mD5$F{CWPPAAxND}0|UI-^6 z01TWsI!N6~^oS0QB;nPc&poTCw15yg4MfGRY0tgqlVsVX%qm{IMUx_Ucn!t9YJ3?M zsA)Wc%u|YSUHtBhXUB0j{KDzh`>_JGaBHjaBS-XQqdy-F!jk4lR_FA&xPNle;Q!3H zDrTcm8TJ_`&I2uhpk1(3_pmzL83CkICF}gDE9Pa29z!4J(C~J!Tc%!N-XL|z*xfzK zu}>XhVk3;RM>v+=;lebh4Ny(YzW)1hbGGC6PcnHP^@8)cI22d~*`^7^PzG8TJ@3^v zVWe6jaN7?4&-qFTD+~;=K66D}@d8X~K6_DH9yJ0)8_?vPim#H|OiZPIW{RiZr@dz1 z-_4HEZQ6#(6t{+1(`08#R@L}<_d#=wJ$X`@qgOn2>7_DIh;VzN zQkpIx`*_DV!?CZ9r<~{YX3AdB>)zwypYVx4629ww`;vGP_ZYUK7mJ1~SLuw7B_+XR z1wH6T;KpImQleHM)IaYBztzssJMP$^simy3$`dot1>Ha0ZXwB~Gxvp{f9Q*xDOMCl zmj04*YAY}}Z6(vw#Wc08g?wTt*FRnfR#q~GqY2P8UBd*NMr(1Hr&JcAHLdqchcLfOi8Q7$ff5^K-k=a+H z0bFmE|D$_Yyxz~CSB^h1tY|Y+>72#XuDfmc;Up z=8w!a+#TR!tw%u6tp0U6%Jbys#ENB(O$WyxDm2_S-b@u{vp@oH|2g6_BdAoqJ8;^V zTx^Pt~UgI@qW3?H~-m+6zR-=bnhgC&X&4R}WO0h4496 z$Jl1*D7O5r0?e6LpC2oYJmj@fbl^KS?1mdK3&%YMaLAX&+q;~6SieCwZZ z4ylR_#zUNcpGiW_iOVNFo2=<`r zF4WjfxmJvw_x_;WrR-Fy|a9MuPsPErNWDA z;TIf)yRXb)tT?5buv>#UJnxTktFS)8S3KPe)C^eY4NII}!ER8Yoe{(y6;(3eR}Nn7 zrdVpzW^0RvaRJ2A$A&u&nACS}tk2eKg0%(hv%jxjqr5u9ofaE*8~N8N`Y%p+NGT?& zn)nD-GW^r7SXg##`UVAW_&~EA>*0`y0E1u~DBK+THmCSi6 z`o1}EHL6SpXSKu1!PKFm7?qHSvussRH9OReL%dnVR!Ydz=|07S$EX^J?A^^xLYiNmGB=tYW6vQe&M*VT+uI z(Jc}e1dFkULdO8-^SL=d_hq9cL>YuA8Y@mJzBM-~j2<(?{5Lm0mh<7-Z{yr}g{HM6@e~R}Dh5T#+hS$M*C)aI{ znW5pvsr3<5wM>U53EkiC0!-^{Ih0d1c#-zk4m>lltX+KBBAwT#745!n2Nhi596Qw` zkn)1N)d}6j6I_(MJPcoCh#!cK9m5e1v&c$#S^7KHxsNb&l;Ia%XUcP|SdX0#_qGCX zLi`sFf~l9t4%Crh1|bK)z@qTjpo)Xb{ zi*OYSAv6bcN%zLx7hL;@G@f5XJiO}TY^Z3Bx{+HenSx3Qa6#qpL2AdE;Z18dng+R$ zdIxlW0DoMGXJJef0?!!JDbkRUT1CzmkU?HIpK!O?LDp$AyR-A0?fXWM@{0nErfA$F zheCs45iQp}N<@q@i!)MZRH0pjLI*p~3sioNcHVMd&=O!)3cT){-W1;s$ zqNz^PuifgOr*M&(g(;~9i0i=Rj<$)9O%9oSjT$v4*4;w10iwYE%nIgI#G1m)dwWT> zWu}U@^A1&j95i{v1?2(F4p7r67%4Jg%0=+!4qXgf_-+IA8VLSsk{#|V2BHNApRa1F z&}*V6b*yS%kVJhvS@bSZc9|eFpmdWsirNm!*Df!|fdxyye$3 zVB=<_^s!9PAKSKx+n=9*oUbr(DT9^9!v3mqt!}Ii9@OL?jnD+*c)H0%B{p1YSKF$` zZ-K=?$l!XCxT$UP#+11=E-H=}G!7+>)ADVP zJ9|8u#z!LavTvTcXP*>bOc~V-K3&scmhD)qWnKk&U$8*ljyg$tq=mF)>)gL1EKml6 z)^FALJ@&L*w>xq2Z08^d2=Q+R15&A+0lZZNSO#eR_10<42MZa_FbQ4`C7~HX`QC2 z!$fZW%0pL|ziikOyqoK!`&5^+fohaAlSVY%1>1snfSTLd{Rqx2B*HCw5yzx&Wa1M- zUHK{*3HO6GzH#0HRpmhYdq z#0)iT^K%Uy2gy&xSVT>hVvRskKVF^jUZn|(Sm|1}%HC;?>CkS+4hi7i`J#|~s9da` zqanTStJQ71c7I*LM5(!X%Jk!?THe3>stS~}olvzsqajTNdf`?E?eLX~2uiBGkPO3> zxNKDboCDmvxPom;>v>M|)+_)9{^_=yIbMS+rj`i>NT|}6TwjP7ba*n7DVO<%q~jU( zzd$}GJ=h+AO6tLwxaAav2w-S5V*F@Z8m+v{de|d4M+>rITT2?bLMLG9)brF3clHL> zE_K{+PjEzN50zRV@W*=9a*EknM5RyUNkJgD%uYx^C(H(!z$t7xexB`zzE4yB$zV?< z$OXK1wID}GHn-`mtPc3X)lpJ&I||8l-u_H*r>Y4&y!&Xao&Bq#Q0cFg{U})#G}d!pmI>fHkRyL_=#D z+EmhkaY`GEIbbb;IDzlvr~L7L z^Svz+FGhLRt*g54CT=>x%)+F+{zG<6BCNp2^BpHH$fUCW7?W=hq5tNAk^EGkPQmN; zXkme?1cErXEA(>-M|+?bM1ey6V!2_Nv@SZ)A?Vf>rS{hDkH?_hm3&nhi;yw#m79fE zc|hiVsKyTpo6+W&fd{ZWxs%Mba{G3U8X}rO;Os zg`^i*Rm^+&?vpXvmG^qjX2sR2L1XM#Iwcy`oBh{g#FEh^dP%U(O%qc#HGpZ;)kst@ zqVanA$7=`P%u}jm-z>%bTqzqN89SC%rTSCT9dhU`+-I2H^<(i)S_wXL9ZhUrF?Y&9 zVW3`xOb4=s5P1gH|Cswf7v*@!$^0`U0G7%{kB)ctq99%rwEsBFes2Y ze<=3-4sz-(vn$fOB*S zFS9=iuJ{OD`j z4GD)XP+@Xp;TO{E-7%Ac)6DnvhCFO{R-n6WN?Gjc#joxC=+{uG(?atvaVp`k zDiQ-=wQ==&akEMpD8tjaq5pskvM}sQK{@l0!rr<;MCbtnuLRDR(E>DUd+vpEgkBVn z)Ur*gX~W&cTOnMQ)dY!(kV>RgJEKFxfdq7b`vXGW+Ivt36-O>!aIhy=dd~{?Xs0^j zL;rTGrgo~eP>>dVZSC@)@i;tv_ey#wj?huQgrXE&40>}1xl>#&$^z^UdlcjBId5gR z&5ZInj)k@~N3A-u_j-u5~4Vt1XYr7@B6DX+@ED13o56AdnB zoYM^nB)S~gYhR6r9Qn)YR1T4?_Ivx&^o9kslsR!h#eW00?A#7sDHLXz67T3ZXwlV2 z92_qr=xo}5$pDG){YEFx0*JfqJe?xmV?Bu@y|O z&@L)&sWIDmwufiqk+6%Ewy<1G@1Y@dVdlaR4pwyX>(8z=&^-QSx!^ZE0<``Fag&31 z4bL-gbkV~)nVAc#?U(mC_qcjZ;w?ydRoCRM?;X=iwH)iJH0Bd+4-y-Z5cPSiFZ#d^C9zz39#W%q z7(`d=wLQkQQ@EO48=pjnD=#%M;m*tS`L;_A-VW?DL_HrOzFMa!KmWgYRN~&pV_ayt z_2esc1T;Rs@y@WA6A@r`H+sS~5{rr~4xIj?DHaK=^sZogr1sv6zhRqSb3^Ec3MDSLRcT(oUdi8+YM+tF}6Xs$Z1t zx_A0(cOB72>2`=^?l;S0$&nCdSiH+MpmRi04)L|tqz_Mhi=lmL{jxiHkTV$LqBdJ+=4I2rbME1Qm)4y$P6fsO4Q z-fgRzM9wwSuIsz{k%2xGi`WL({vb|<(Gi0EQNJJ-@={^^%vJt$^x1{?(Q|^kc15&x zE0y!UZ<0vza*xdCR+`iQCUa6#RteGw^duVm<~_QCd}3er469S+Ni7vMx`GtanM_u6 zfgrDN{{A+6*5eJ>oq4BA)-w#RQ_;S<>m+b-H@;O14?xeCc<^P6!1YrU5_S%#rYFh-uCIfL37{Lkq)!_#Gs0PtkbHtL9xw(Hl6~bEN!$w3GUVE zBFBx(`d2h)Xh(5Uq4ob{_midd+XPu$IXxFeYd4zplL=1ArUY!Ks&2)AVs&bT_H|wK zc*b|?90ku5CF$Z%cV{+lczbWh_Ot`62kQdJqJ{HmFq|{ffwDEpd(tH51H|d5W5I<& zpgC%@?4(40S(VmaNEs>&k9Bm;H&-}@u;@no)vh6!B}7%M15!bLs0-5m3k6`5OJb=l zf^gIOm#c=H6#27R`()+)8^9jY#Dm$syDP!DgQ+E<^WU$qlU%lM6Osn+l_sf?f2 zTxb+-iUo*!18Ikm^?Qd(jB0YfjzGCSYd1(6aO{ZyxfmFNh(ZC_YL;oimFcr-6#ZWvETo%;TXB|0K#Ic#~OzYS@meV^!81a zyA}rOFw$`S%XVheE)ZBs^oPx&oTaRgW|sFO#(AH!6UZG-TvGo>cN|gIwF*Zi>V8Ha zu>Zw5=a}(PqY2ZnoR?a;$0ZT0_MQMEA7Tad9K3vIYlGRd!kP>_%?K4aSvDU`W@4#k z1v&1GLfJW0#ZHccBI&h>-D37jlwOoGxtX^^$pJXgL3v5}hxYuNR8_=U9sG!4Uk~DA z=1{K%znDU@y_fVQj!jM0)yzYikQ!h!5DC+yl%qq#fduS;`vcj!@Z62%cAGo(!~0C> z^s`p6;-0_Yg^`PTj~p|>=iNv=MsijxK7;lU0;4=y6vrK~8-oR~M~K^$h7uGrtE+Jp z>$>#UWfR_x)%U6gvP@sv*$Thq6P5}Pzx>SIv9#v`X<{~a$sVFzF)U7IvHaLRx!CWV2vyX- zjN2;%_q1G3>miWhXw%SYx_5MNM_b|MFYh>~b)vs}jl3cZpIB3%@+1j7x4`8bd8f$_ zG~!1!Q}k#Oz|fEM;&$OAl0N6Y*<%Ob-bf$&A85CtFfFX|b0PX~ZUV6Lay>~BJa`i4 znYt!#3dUdKO?4S#G^F``C3&lv^aiE!|7c>{fGt`|mt==?1{||@xtJ(0LiKEmhDP(( z151VZSKG&)dl-`qHcDjOpB8g~$n`XQr}(Q;C9~ptk*6iiwR|RotLM95qO$F;%BDfs z)y+9}2;UyyluA|p7DkZeTU@{>oaErRs}~7Ri5E*X>C%q@A5od6Z2J&L+kv>)r-C#k zxPZ7UfyESl@ZJG8;CRp(@zhFpgF2 z?2GPkH=;=fJj3X8W8HdpYdtXPX#v$_wrj;0G{+QvkEmLfJ)aE%vqIS^t{&SBCHkjF@PVYtGImO4#+ZtDKM#LP*>;uJWD zIVOM@sj?n~>QB6v{2#bFI&H~!o-~rr8vWb$V7XRj=HEXo%KI$JP>FJ^{_$d9y`&v;T{?LEKW>>=SK8iBjAICkW zUD3Y7WZY#Gwfb1{o^z6q22^S4w1bXR7Hp4nDLISkJj|QU=hs|@K6d4N5F#JlSoWA(Y@!%r6RFU?i^Z;CQ41NHw z70DyDpC>9lAM;7GdS(FjsH$?%P@I4s(LPT7`MU(M$qbRDHI{4_SAjMA*~z95Gx0 zj5Z>;*MYAn2P>%Gnu)>-iCzv;&UzorC5*uJh9ZR&u>DJT!1{%u2g>u9QqxL}OmU_R4nzxGpTnFFh@E?v zF+|VN8IQ#0<(S6p>QZHxRGG`hj&T>9l#UODvt-$8{1fiAg=K8={rB8wG!tXH`~F{cD_39JW(z8Q~ShGpfQ0(-6&<^ILqz(JPn9eXp> zcTa=`H={;@I6@~{*O^!SvmyP(Gu~K3R)nT0BzO2mVpr_Xh3>GFZphnV_|{xX@_rP> zz-)(e(BKxdx0#;6HYHLQ>C!{;v7GN@)E7T~yXMu&kUl?KJwLEX$wI}IlhuuPfE+L2o^Aqq7~_bj)gIy4u_#phReQGTNbArmb?eQ$Zek$EPUq>bt)nhY5D_G z36&&={hOZw6#JOND%VsNHAnZys&F=gefA=nt^m`Ui|6()of!RCK5(O48dW#c1HdCmjGrR z#2GZCOSBE04s_sQ7b^PauCpGDTPIbBbwLxaT~iQg0h556JyqNQ?pKXC zY?5(qkQ>}Is07)CC^=DA*_zH>=l8ry#vHh1%^jfC2SQYTt32977Xp%KB*0z5OF;#7 z?(Lf1!cX-S3lwvluIh@_CikX_@$clj1D9m3VUc+73Fz-HS}7E7~=2MHp@d?3Mqiq~SteT4Lvfx(mI=+kXcHIBd;K?OoNd7o= zu&NgpxR&OXA)c?6hWPmU(#MsNwSuhadx;sYi)jybI&+=Q62xU6V(S0wpd(nwiXxm{ zUE?UodO`7xSkkEvAHD~BEopJ3OeT3mUa^(Ov@^TCTj4C)< zjSvsZN$C_ihTftX+a^F$u=#omw+3nhRg*{L4eLazxz@d~g^G`v$;{rm$0l^Cdu||c zqiue0Bp1H|okaQ0-q7bg+B4RI!3JIFNQ-#RLCqadDS7(O@3JD9pZj%YA693 zD-Ro{lj&l+6;LqpzxNTtb zKZ71&kfkFu!C>p_4a0!;sV-Va34?c~%ElmCJv0CopRnA78B~ll6xy&|z6}?cg$1k11CM!J>}oXqY-SiP)6fX7I6E!c zCV(bwqWK+YW+k;1+HJ1hfP0^b#3HHRSJSR#*|;eUxC9uFTKSD!{Ryt3a#k11vRU(( zqVXS&$NdoHWY_j|<-hh{ysp$xL5age`qRo4Ux~`FU}pA)jSyp|?y; z(XInq`OBLKEt&QMuEigtL&Jdupn&@W#h>0GYAH~>8mNrN4^N(Hm6nU}t>*+us78k2 z`B7L|Mo&fxf-GUkEowNpqf##E<3fZ6ph*$*d-CRC&}RL(DSUdY!JWLG85v^XW~ajK zGXUw-=341Dq^(j-pwkQFdUu4Fuf$FPM#FOXy1BP=ueyKl0UO(^UgE_5U&Q2CyDbE4 z`S^G?%7zj;qQPmI2-I77mJiVT9u<$$T=yxw?r;g-Rr{5iiLI*2^HYGZo}dZFA$=d- z+}W!Eo%C7{nZ21xf+_Nh+>C^hiP9D)kDSIv(>_jX5r2Yk_1SbHYE0Sh!cUApjflg| zZ`N99?ajP`JH;iNsIE9A>v-S5thiUZ`tfw-b^a^m42^e?ZukRnralrI*>u2flNo5q zaL9U+N-HQR1S{&aR9x*-oQ_L~rH?l(T&Muj!Z~a^Y>%3vQ5SfklaJpll5*f^HfSRA z6-gtiC_x}qCT~_=fS6;73+*Z0X>0cy&*=;`J@BGUp(`1yX?YaAHh0~99@7P~IhOiV z+Q`4*;B&C;1DW#*M0N+uHj9(&>V0mJlsjzd!d~KhtoqE zwzH$CmJdoBO4@_a>cP-PG4GHXjmHcYU`M^1P%~FoSS|5Wiq76$)>Drmp$6(r3NJb~ zpN=}RgoHwocER?=tfS?*Sw~mK8>jX@+V&VQ01GC3#}&kWg+B2tx@m5u{Vl$YC>;U2 zNR();*JRdrU0{L^1IZS}Klc}Pq|CV>p&+pPp=_>tZfcG-h7m<`A89niNO+9uR5FSz9|4Q4aPHYXkNnK*B$V${w##E)U-R28z3oFPjr^# zq{bz1;yFM2Rv7SxN{<0Et5LXaEm=0|d(?s)UtH1TbyGH{3T33Zr%eUA?>7pQ6pwN5 zZ>SLA`6;EmGU2PaLwjz>oy8s1l1)j>lUY{b_C1Y0uA)`TvERsWuogy0N25c-fd$-v z`vZp4ddli|_X@l|4#jf$J(i24qmXJ0PyB<;R#h!@_e#1b+}fEa9If6hR9SBzY}lxu zD9AekE!&ho2AF^xVo(_Bo}Cy~aV~x%>9zgmm_+68=21noTyB$<%X|c9z8GC^s6?Ot z({Jp6D_P+3GzZ8~?oXukHsZ^(07w{|q`-yVwFE@5`Q?i!Zu290qQ)lNw?;LYv)q6~ zgqegYJ1Xa6O)yJ^O=q~!-itf@;Z~wMxCtLt$+PM*upkI@gPnM9gC3gqFdkhaM#~#q zB_6i;?m{|!A)ZarkI!ZN=S$)_1o)~)Wu3n^DN&pbB@=L} zXdMYkd#Cbs6I^=1KWNE|2q0dcTMnXDJ89nN2!4E&1@P( z!8d-vC(x2Jh(*RNL)sGL*b3D=Q)sbyZk|%p1NFQf;Wh zwHwenlm(ko#-4k|3t_Dc=jrr3y8Qgrw+M=URo~!jjcRdfz)Jp)1nJ@DQT|y@0)Xap zbU0wyIiSFs`G%u+c{VeFN(hqx=Hur>8;+5MVjfSZ4)d-lfq`@sJj2vDAx1EL&Jdv7l8W%Kqb{wI5dtB&-2B+<&J(aYA@qr ze9MUbtK=@GLDvy8bX!g@!BUnrCxqDoRs43zwp^k{#ovh9DXdC0M=|4k-23ZD2N?>bNV6scxg!6R)k(C6cF{aaIhA34C}s~k`1vO0JN z84f*v`{2?RRJhlRXo!{K`oPahSnbKi|G{R?W|O@Qvenkv_5&1rs8sRf82yzBS@BP% zPjw4Pa&^puhXCen@cZc82V~gGQQ$)#EHv)Y?mHB;pyPC%i+&d>Y5Eih5#L@)b+Bg7#!yf znUsmE3~6?UQ##Tm#w!>$ zZq3ix`o!3gvi}j;4YiI**$Q*7n9q%wN6TK$(>{7&IB?Cypf!=oo(=`sD}K6|-wYfd z)j=yvl*9SEJ(VuUl@wj`F}`^pg*x#_48oHq;>vxTwGdxo;`zc|FABpXSo;PgXxKBe z*yHhPgw=YB7PDFT__Kd~f+1b3^GpyGy$(Z1Zq15Ptnm{{>y=V@&G-9`lB|u1zdlj+ zMt*~N>kqq?d$rvx6 z2-;!XgWh=$jEf|&-LwRI>fl(K4h#OD2RdJ60{Wi*`kde|MrYinv8OugZvsue6x=-j z=B4!=ELbBfGlxo;X$iaIZfY$9A1Xi#NR(d6RTH*i8Z-v!q*#iGTH$~fiEmJf(c@us z-Iw@m-{rLKR9svde5O#9>X##o3if0dE-Ab-Zd6&$0N^gJVD0l!-R`4kJ z*kMaTH!m0U)`}o7jg+-IRE!ek(LXQ&S##7;`+IBsjtM!;Jvvl#>NO-d~dm9wn5%!zRJeJ>uK0?*ge<2dbltIe~96uLI z+FFF$FLc6%s=#wFfq^9oOB0+QFDL#Gkz@nfrbAuxv$u5Ad8qD8L9w?Z*UQA#b%q35 zLb*dEEhO^0Ty^4?K?J2Dz;h;!!`{P%(f6m3zI{DQ86;%b?&`%mMk-}KwM|-POh-qq z$D>2Tfd*87`vX6ShWXa{=!WP#;zGJ18}crk3YfDTOSZ$Hc2<1Yq958W?dLaH7YSJK z)r)|RWa!$x^BjXi4)}5{DPq-1YzV0%nMT~b$4TxM4d-IFu729QBR(GttFurJ%P8DX zNh*_i121N?)x5}fRr(|7(??8MAp2f@9(rHGt$bOQ(Ld8WlQ^-0O4heS1Q?}^)_Wb| zd7F{F8?_8aGM{Inm(hLRll;|4qHsBk^HMRkjO{u643{g2JC2sqRn;ZS8ZUiQyZeJ!7-LXt?R{@?g-At}CsdvA z>laUpH8|2;R*G85)3+|ySObe~8|pogPSe+Q8jK+)TO4&Y>Es$Gba zvzADb*SeCT0uKv1O8mm~9PbkVBbBxeYS5BBk>jnO5Oh2U?x%kZ5Uvt;wYm7|VrX1u zYpN`$Rsg`~7E@x>eSiH`;h|#MVl!d?tKRlsTXYwwIT>?p~X%OB<2vkXlTSiz|6_u6o?-X+rS+H8Ve1RF}X)5kmek-UjkeL;fCi-cd;Dm;ocy8m8gpyr^+ zPE4%9z1vNQhA5boGTrrRr-c$N1X3!i568ngxqY4-)Z^N$nkcK*6z7dyjb~DVas?ShI-5-ut}by} z1cw@+A9mPZ=_8abJ$f%5(K!KeBZpN(yt8Y9#&id5)uZk&HlVFh+!5~X@Vx54`G+Kx zNhlGcL&JdvkbwIGc^dT;pxK!nP)_R8 zHE(V&?rjt4I?)?ik@;bui8KEi6`CT4h53YQNPlcb-l-@fQ!m#j3=Q+hag%F=L}{1mH2k&ea#DkufxBC>x6pkwdU&e?&J!x)1Uh~tH2lt(a7 zmE%H3dwgymbGFZf61Q8u(n#B#q6nH&e;PN~M?$!0B;b=kh+3{YB?wH2`Z5!Hi^pRV zGS>fDgWYPYt5|_xhvcKpvmnX}sJ%{~@4Yda&yf%Yb^B*mH)7(Dgz|#e*9IGPoH&D| zgzQz04vzttLb{|*YB@)QKOw6Ch%(hwzptXtC0K+!#jMW>!+(uU63A@IFkcu5IelLg=j%A%4(~ z#Mr8(+fn3m^LWHZBXAoEVk_tNYFzZUZV1FA9DuV=%M&Z4NJ>9juM{d98HnwWpvj-- zEH0HXwFs&GJEMk@`#qM{4~z|bZGe~3JBQM$jdX10omqVKvgI8!aB>Y#c{%qhr@;K~ zvTf~QAau}~@^!1Z6&5fVL>sE%Q@;iF5dp|a+~~w-xDE*gcS1Mde@sQ;w{=Y!YTxtb z$n2nJ9S1@gzP1Obho|PrSxhsRdoqF)d^PaJhb|avJ|wU@rJGwuhlp|#JPx4~i4~-` MVh9J{KW|Rd2dR$mv;Y7A literal 0 HcmV?d00001 diff --git a/dsLightRag/static/audio/audio_e36d2c22f1a64661ac1644304df7c732.wav b/dsLightRag/static/audio/audio_e36d2c22f1a64661ac1644304df7c732.wav new file mode 100644 index 0000000000000000000000000000000000000000..a99d0777194e7c5f41b9880daea9573a7cf78d7d GIT binary patch literal 30107 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 RYI`}$l+vHKm=Fff0-G5>jx+!O literal 0 HcmV?d00001