Compare commits

...

51 Commits

Author SHA1 Message Date
ouyangyouzhang 9200df7842 新增客服重定向接口 2025-11-28 10:12:41 +08:00
ouyangyouzhang eb361fe77f feat: 添加启动意图识别API服务的脚本
添加专用脚本用于启动rag2_0.api.intent_recognition_api服务
脚本功能包括检测并结束现有screen会话,清理占用端口,最后启动新服务
2025-11-26 11:12:39 +08:00
ouyangyouzhang 4627a2268f Merge branch 'master' of https://git.97id.com/ouyangyouzhang/QueryRewrite 2025-11-26 10:52:28 +08:00
ouyangyouzhang 46f756428e 上线前相关环境变量的修改 2025-11-26 10:49:54 +08:00
ouyangyouzhang a22b001680 先跳过 定额信息的提取 2025-11-26 10:28:11 +08:00
ouyangyouzhang c97e96c620 删除欠费的api 2025-10-21 18:02:16 +08:00
ouyangyouzhang 94a8656c7f 微调提示词,基本不影响效果 2025-09-26 15:46:00 +08:00
ouyangyouzhang bc6c907872 删除提示词中多余空格、换行等。减少不必要的token 2025-09-26 11:31:18 +08:00
ouyangyouzhang 2b13fdab99 调整提示词、简化代码 2025-09-25 16:23:13 +08:00
ouyangyouzhang 640e02f89e 1、将清单、定额excel上传到git. 初此启动服务将创建数据库文件。因数据库中包含向量数据体积庞大,采用初此启动服务创建策略
2、优化环境变量的使用和命名
2025-09-24 10:51:41 +08:00
ouyangyouzhang d8d32ced9a refactor: 移除硬编码配置,使用环境变量管理API密钥和路径
重构XinferenceEmbeddings和XinferenceReRankerModel类,移除硬编码的API密钥和路径
统一使用环境变量管理配置,提高安全性和灵活性
修改数据库路径为相对路径,增强可移植性
2025-09-24 10:21:09 +08:00
ouyangyouzhang 0541db1e34 refactor: 移除llm.invoke中冗余的need_retry参数 2025-09-15 16:54:55 +08:00
ouyangyouzhang 0f11b0ba5e 调整分类提示词 2025-09-12 15:16:22 +08:00
ouyangyouzhang 4c35da8d8a 调整软件分类提示词 2025-09-12 14:28:00 +08:00
ouyangyouzhang 0af78ccb67 修正错误的逻辑 2025-09-11 08:31:01 +08:00
ouyangyouzhang 2f5757e3fb 新增二级分调差固定回答 2025-09-08 11:11:29 +08:00
ouyangyouzhang 0726f79e8e 优化多轮问题改写 2025-09-04 21:08:59 +08:00
ouyangyouzhang 3df54cab54 调整提示词,处理提问为政策文件的问题 2025-09-04 20:19:08 +08:00
ouyangyouzhang e0941937da 修改错误的逻辑 2025-09-01 17:34:47 +08:00
ouyangyouzhang c54cdb4284 修改woker数量 2025-09-01 17:34:19 +08:00
ouyangyouzhang fc1c5feb86 修改运行错误问题 2025-09-01 10:36:36 +08:00
ouyangyouzhang d69fe2b8d1 调整PGSQL相关代码逻辑 2025-08-29 11:49:07 +08:00
ouyangyouzhang 78dc1673aa 添加一个统一的脚本管理服务 2025-08-29 09:18:24 +08:00
ouyangyouzhang 5ec18811d9 删除重试策略 2025-08-28 17:36:28 +08:00
ouyangyouzhang 1be1b062b5 上传遗漏文件 2025-08-28 14:30:07 +08:00
ouyangyouzhang abc868225a LLM输出的内容先通过正则清理多余内容 2025-08-28 14:29:19 +08:00
ouyangyouzhang 660b5f6561 Qwen3-32B JSON格式化输出不稳定,微调输出格式 2025-08-28 09:04:29 +08:00
ouyangyouzhang cdaf6870d2 撤回之前使用langchain_openai调用模型的逻辑。因为暂时无法解决调用Qwen3禁用思考模式的问题 2025-08-27 18:14:33 +08:00
ouyangyouzhang c9c7f13060 1、修改api文件位置
2、意图识别继承langfuse
2025-08-27 11:22:54 +08:00
ouyangyouzhang 53ac47f4a5 1、调整规费相关问题的分类
2、意图识别增加清单、定额字段
2025-08-21 17:51:55 +08:00
ouyangyouzhang 1a3fa44522 feat: 添加清单定额查询API并优化意图识别模块
新增清单定额查询API服务,支持通过名称和编码查询定额及清单信息
在意图识别模块中添加定额清单信息提取功能,并记录各步骤耗时
将SiliconFlowEmbeddings替换为XinferenceEmbeddings并添加sqlite-vss依赖
优化shell脚本的screen会话检测逻辑
2025-08-20 19:08:29 +08:00
ouyangyouzhang db84105abf refactor(tool): 移除html_to_md模块并清理相关依赖
- 删除html_to_md模块及其相关文件
- 更新ModelTool.py中的导入语句
- 移除IntentRecognition.py中未使用的导入
2025-08-18 14:06:19 +08:00
ouyangyouzhang 8b9ea73b3b refactor(embedding/reranker): 重构模型工具类使用环境变量配置
更新.gitignore文件,添加新的数据库文件
在.env中添加EMBEDDING_MODEL_NAME和XINFERENCE_URL配置
重构SiliconFlowEmbeddings和XinferenceReRankerModel使用环境变量
优化DifyCompareTest异常处理和输入验证
修改测试文件路径和并发工作数
2025-08-15 10:34:30 +08:00
ouyangyouzhang 1cde82cc86 工单提问相同时合并工单内容 2025-08-05 11:14:25 +08:00
ouyangyouzhang 142ae00844 先改回使用硅基流动api 2025-08-05 09:29:56 +08:00
ouyangyouzhang c02fe2624a 同步合理数据库字段 2025-08-04 08:43:35 +08:00
ouyangyouzhang 948827d553 在heli_db_to_excel.py中添加SEQUENCE_ID字段到数据处理结果,并新增根据会话ID查询SEQUENCE_ID的方法;在DifyCompareTest.py中优化回答判断逻辑,增加对空回答的处理,调整文件处理的最大并发数。 2025-08-01 13:45:58 +08:00
ouyangyouzhang 9b957665b5 更新.env文件中的API地址和模型名称,修改api_key.txt文件以替换API密钥。 2025-08-01 10:21:02 +08:00
ouyangyouzhang 9185d75e10 更新DifyCompareTest类中的字段名称 2025-07-31 10:25:24 +08:00
ouyangyouzhang 11acc809c8 优化DifyCompareTest类中的回答判断逻辑,恢复旧答案的判断并简化代码;更新PromptTemplates以规范同义词处理规则,调整重构流程和优先级,增强语义保真性。 2025-07-31 09:43:58 +08:00
ouyangyouzhang 6a72233a97 新增同义词词典支持,优化IntentRecognition类以加载jieba自定义词典和同义词字典,调整关键词提取流程,简化日志记录,更新PromptTemplates以规范同义词处理规则。 2025-07-31 09:23:27 +08:00
ouyangyouzhang 728262cc65 优化DifyCompareTest类,添加DifyExporter实例以支持词条检索,更新DifyQueryRetrieval_api.py中的topk参数,增强DifyExporter类以从HTTP服务获取查询类型和点踩原因,简化构造函数,移除不必要的查询日志加载逻辑。 2025-07-30 17:30:24 +08:00
ouyangyouzhang 57369059eb 引入工单后,匹配软件词条辅助性不大且该环节上下文较长,Token消耗较大 2025-07-29 09:22:05 +08:00
ouyangyouzhang ba42107999 优化DifyCompareTest和WorkorderToDify模块,调整日志记录格式,修复API密钥获取方式,增强工单处理流程,添加元数据管理功能,改进并发上传逻辑,更新文档处理方式。 2025-07-28 08:34:17 +08:00
ouyangyouzhang 780f423200 新增数据库支持,初始化数据库并创建查询类型和点踩原因表,优化日志记录,添加多个API以支持点踩原因和查询统计功能。 2025-07-26 12:36:01 +08:00
ouyangyouzhang 3f6f5d038c 调整启动脚本的权限,优化screen会话检查逻辑,修复DifyQueryRetrieval_api.py中的top_k参数,删除IntentRecognition.py中的冗余代码,优化异步处理流程,移除不必要的注释和日志记录。 2025-07-25 13:55:06 +08:00
ouyangyouzhang 2cbdc23fc0 更新.gitignore以忽略临时文件,修改api_key文件,重构合并名词的逻辑,删除不再使用的脚本,优化对话到工单的处理流程,添加会话结果保存为JSON的功能,调整API调用参数,修复部分代码中的错误。 2025-07-25 09:53:47 +08:00
ouyangyouzhang 4d7ef54ae7 更新.gitignore文件以忽略新的数据文件和测试文件,修改对话到工单处理逻辑,添加产品信息解析功能,优化API调用,移除不必要的参数,调整并发处理逻辑。 2025-07-24 13:39:04 +08:00
ouyangyouzhang 6707e5904f 更新APIkey 2025-07-24 09:46:43 +08:00
ouyangyouzhang d0788ac32a 调整接口 2025-07-23 10:28:26 +08:00
ouyangyouzhang 0a2d6c2020 微调意图改写接口 2025-07-22 11:35:05 +08:00
189 changed files with 6587 additions and 31129 deletions
+23 -12
View File
@@ -1,16 +1,27 @@
OPENAI_API_KEY=sk-xxaiabmfhzwwpijuledllkmkzhzwsqeicjxmjwnvriqpwmpk
OPENAI_API_BASE=https://api.siliconflow.cn/v1/
MODEL_NAME=deepseek-ai/DeepSeek-V3
MINI_MODEL_NAME=Qwen/Qwen2.5-72B-Instruct-128K
# MODEL_NAME=deepseek-ai/DeepSeek-R1
RERANKER_MODEL_NAME=bge-reranker-v2-m3
DIFY_BSAE_URL=http://10.1.16.39/v1
DIFY_APP_KEY=app-wUdkWJx5zeOvmvBUZizMoSw3
DIFY_DATASET_KEY=dataset-skLjmPVonjHo119OWNf3kAmY
# RERANKER_BASE_URL=http://10.1.16.39:9995
# RERANKER_MODEL_NAME=bge-reranker-v2-m3
# RERANKER_API_KEY=test
DIFY_PG_HOST = 10.1.16.39
DIFY_PG_PORT = 5432
DIFY_PG_USER = postgres
DIFY_PG_PASSWORD = difyai123456
DIFY_PG_DATABASE = dify
# EMBEDDING_BASE_URL=http://10.1.16.39:9995
# EMBEDDING_MODEL_NAME=bge-m3
# EMBEDDING_API_KEY=test
# DIFY_BSAE_URL=http://10.1.16.39/v1
# DIFY_APP_KEY=app-CPoOMaGDsLRPAe9TW7Xjhszy
# DIFY_DATASET_KEY=dataset-skLjmPVonjHo119OWNf3kAmY
# DIFY_PG_HOST = 10.1.16.39
# DIFY_PG_PORT = 5432
# DIFY_PG_USER = postgres
# DIFY_PG_PASSWORD = difyai123456
# DIFY_PG_DATABASE = dify
# ENABLE_LANGFUSE=true
# LANGFUSE_PUBLIC_KEY=pk-lf-4e9b7cbe-528c-4697-b73c-33257a60072c
# LANGFUSE_SECRET_KEY=sk-lf-cd8a78c5-2538-455e-a85a-87b6e1aa69d0
# LANGFUSE_HOST=http://10.1.6.34:3000
+8 -4
View File
@@ -5,9 +5,13 @@ __pycache__/
# 忽略数据文件
data/excel/*
rag2_0/demo/Test.py
rag2_0/demo/Test*
rag2_0/demo/test*
data/excel/*.xlsx
rag2_0/demo/ProfessionalTermAnalyzer.py
!data/excel/Excel版 清单定额库/
!data/excel/Excel版 清单定额库/**
data/logs/*
rag2_0/dify/Test.py
data/query_logs/*
data/test*
data/temp*
data/db/answer_logs.db
data/db/qingdan_ding_e_ku.db
+8 -2
View File
@@ -10,7 +10,10 @@
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
"justMyCode": true,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
},
{
"name": "IntentRecognition",
@@ -18,7 +21,10 @@
"request": "launch",
"program": "${workspaceFolder}/rag2_0/demo/intent_recognition_example.py",
"console": "integratedTerminal",
"justMyCode": true
"justMyCode": true,
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
]
}
+188 -71
View File
@@ -1,73 +1,3 @@
sk-fqiorgwugzcrnwrkcnfsiaikkthgzzupzrvnwidbdmehpidn
sk-zdhbhipwbffoqmoxfxjsynfyjximahraxodzadiirnpbuzsg
sk-wsqrpkdpkszwdebckaxxbsjhovfwlosctzfpujxxpvhqkvyz
sk-krrffrphigolboeegpogoksdyeuxbaohiaxtflandfclmxsk
sk-hsbehxbxnpigxoootnjqlpckcezhlhypdgnabpbywnmquiqe
sk-fonqeeexzdgocliiwffopgdesvcmnlqtditsafklqgnqyxvm
sk-hjhftlgfeswvcsuowabthdkriaevhppvbgoriyiydgahfrgk
sk-cxlvgeuxavxfcajprxietuqyqjngtbrwrmrmrioxmgtbkpci
sk-vjjsuzntqbhcmelfsuquqyoxjivxcfwyxnrhpwzobgxlpmrv
sk-hbgctnpvntsnelveaudpekyncfgstdfazezboxmcgjvudzyg
sk-cgdcrzedpetwuysiebjmioqkuqjsoouglspwtjvadgzosmwt
sk-ymqpbisxufhthdjxerztucgecakvcsgajsdiicauvnaandir
sk-xhmfarttmloxepegtvodtdwvpjveanvjigmkrjumxojkuydb
sk-kdfrkixwoeiuzdsdtystcxbhvwzeschacrnvhfiupnilnpoo
sk-kelmbfsruwmjgrzzbjkqpqasabrnuskongtqxwzrfrpefdgz
sk-mtnlhcosddoztgmdgjmtlniqsrkfiskafmthtmnyzqmdfcib
sk-cnrleygygpuqogpqyvuqnhubkwschrtcpjlldsdhxrkhgttf
sk-hycclhscssbpyorblvaalhugdacpsfhwppihzlxckiqvqqdp
sk-qpwzzrvywgblfzsvwachxpuawfuffyqichnkfxwnotgzxvic
sk-qhbearldhnfaiipdnysouxorzqufpntslmlpceymdwgyxbub
sk-ehaxrzfpfzzjgonerqpnbldhrgfhpbfrokasmalduycvkxuy
sk-ckjrxmiwpmcehxnxqkyycicsstxqmibayymivijokaygafcy
sk-dayrbzxeeiuemrgzytqcijdfeuapstvzzsjifhfuizdghawn
sk-ojllzcltirvfxcfpuzjhxihsbyhdqpbrbxchlnkcvswldhpi
sk-cofofgsmlsputithtgbkeuwpeiijiprwulslchadgnxhgszh
sk-xitvnuyghqbdwvmgwjcfpsgrvfissovdornhynhmiqfuvxyl
sk-ynmlgshhqbfuzgcnrkmdvepdmnicskhvdzvyibdfctruwplc
sk-dgijfputvuywypkciylwtlqmsqolosvcmapfiwqjzsiodxmw
sk-fkhreothoprxhfgymwdyfujmgqpvqbuozmbihvyhfggysdbb
sk-rbixbbhxgqqzgziprzavfkcoawjeyhvowanbiyiaguqxdztf
sk-nbknzrprpqkhyevsxthqoyeuehjuuubptrcxnlzoqviuqnck
sk-scsexswqgeykaikligbjdjljqywcwlckeqkklawjoyrjalkq
sk-kbaapbyjpsylehbgyieenaglcjwbjyihokeocshlgypkjkzu
sk-mblgxsdlkdtzeckqmkcspiomeakgstdfduqvzjcbprhyqmka
sk-dcmlgeidlpigamazrcrbdenugyhrmiunrnjpuxdjuduqdckh
sk-dianaiylqnlcoljmxnfbsqowwcyctsuahfvztcawwwmxesus
sk-mvhlbzbfkrtwgriasuzbvvnfcfkirslhchlbknjndrkwyufx
sk-xgkzyzptybrnxanvugkynczygyfavddwwzhbgoyxkhgaykci
sk-nfpftnxyiovqlzkqsleadsfnbpfxdxbdpghdwfyucrnzaimh
sk-uiuhaihdvthpmwqeehmwufagpxcjunoqnfgpnaitaaqgrjoi
sk-mjnkfdboddkikmawuawsaxdsvwyuqxlaoroxcefdtrnycfud
sk-xmjbjxxzhfzwpjihhyuhlxidzwmbsrtjdrpgxjgdnywhnovu
sk-comhspmqhvnsaqasydwsrttntklshmbvisdlbpenyhmffngx
sk-vflgmlkwgaxnddlhvcsuaphsfmkvilhpdgencksucoqwkezu
sk-iyjhckfaoavtkwerohssthuygrqnntdaxrkgwgopgpdfdyhw
sk-drjnrjwgxxkvpizznkxvjmgphttgfvrssglnljlxtsnpkqnn
sk-kzvqvcfzmfjrtpzufbatbgpmyrziqoxzjehwyvtcnxpfxmul
sk-movoypamgtzabventkegpyqnzvxunjkvnyvowbxoofxlkyxi
sk-fnjeeylfnusqcyyoknqtqotgnkbyidzehufvtnpyctmhoevq
sk-vdmkbtdqzhuaslwuzumkyyxxhytvvszqpkfrrwsllpbhcffh
sk-tufbncngubzdhcdoydqoflmgigkmbogrxwqjvgmexcbmmhvb
sk-svivotzqknqcgwpfcafebytzvwdxywwaioveyjqaxnrhmlps
sk-zixqbkoxuvxkituttwtvdatcwpjvpsfyklenfqyoyivcsvcm
sk-jebuvmnzsjcorvvcrkgnwvusefssnhcynymwxygsdzmcekpm
sk-rfhnquzrxvcatgletqxjuxwwtjvowkfowmmbuwceysbpowep
sk-txvxjzjhgijqggeexeszmbvflhjyikmcmmfnwzpyypziolla
sk-lcmoiwzzzgmrmtlrdiqrnokroemjshdbfngputxdwbmsiikz
sk-zaeziqwmxhsppqspwpwbmhparnlkjmrlhgazeuitfkljzmvy
sk-drxthkrbfwirgjujaeaaykzxrpzxxthcpbfxmvqrwjyngbta
sk-afffehmmkjbgseltoskctaqfzjtfnpcqmhnclecqjonzvjbc
sk-hzmqvpyolijixllzrswwxzcgkezvhlmojssttzzjphadidie
sk-utyouvzddsvugfgptkhckrtlzfpeqhxbmwvrnfwlulywsnnp
sk-lavdxcqbvvsgpumjlflqnuzwkdsleohkouylerwovzikelux
sk-uwdquxtaliiwrdkakpgoismnfcwftfzohcekmdwifokmyktv
sk-exbjsnmerjsksepbgqtlvpsmbaptvrbasfbpcrdsblljjpmp
sk-ksenojclzsyrhfkjqtmjxfiawopiivujzurnzpsmdasczvzv
sk-fqogdmxyfiwjcjfnptthcylfqwyygbtkmhpchqoisxkcmqez
sk-vtogkcmdkbdhujtsnhcjdoytafzzurpsjjxmzlbvrjfxtzox
sk-twuvbdvmfswczhmuuktztxvfuxvxvdkcmejghjebxtowdbsc
sk-iobumflqericicuvflscrsrbmlozlbbueldxlmltgaqvuyhg
sk-ufnnhxfxfvmweezskajizwdcqynqmytbbkyctvkjypdyhjny
sk-dcrokkzfvdkctooxqcbapzlkrtzchygzwwqvbzqcgghsesjq
sk-pzzpojbvjouqdbrvmyyevmxlutcorwcgholvszwjxnkfurss
@@ -127,4 +57,191 @@ sk-benuasjbhbxvdmgxishibmtpfyieamlfclmdclfbqloqsmaf
sk-ufmqbuplpjvzzlzohvsxertwgnguhipsbajxnxecvvccozly
sk-rypfoscrczeelowmrsixiuyunyqmqvknaprsnzmdguwzrkzx
sk-lucemnosmcxuwedvzilpefuxjnyvaxldpbgaqwnwalxmntul
sk-niymkyuzpyovndvvqvpaniiqfgoofnxczhdmjjessiocbeul
sk-cxlvgeuxavxfcajprxietuqyqjngtbrwrmrmrioxmgtbkpci
sk-vjjsuzntqbhcmelfsuquqyoxjivxcfwyxnrhpwzobgxlpmrv
sk-hbgctnpvntsnelveaudpekyncfgstdfazezboxmcgjvudzyg
sk-cgdcrzedpetwuysiebjmioqkuqjsoouglspwtjvadgzosmwt
sk-ymqpbisxufhthdjxerztucgecakvcsgajsdiicauvnaandir
sk-xhmfarttmloxepegtvodtdwvpjveanvjigmkrjumxojkuydb
sk-kdfrkixwoeiuzdsdtystcxbhvwzeschacrnvhfiupnilnpoo
sk-kelmbfsruwmjgrzzbjkqpqasabrnuskongtqxwzrfrpefdgz
sk-mtnlhcosddoztgmdgjmtlniqsrkfiskafmthtmnyzqmdfcib
sk-cnrleygygpuqogpqyvuqnhubkwschrtcpjlldsdhxrkhgttf
sk-xgkzyzptybrnxanvugkynczygyfavddwwzhbgoyxkhgaykci
sk-nfpftnxyiovqlzkqsleadsfnbpfxdxbdpghdwfyucrnzaimh
sk-uiuhaihdvthpmwqeehmwufagpxcjunoqnfgpnaitaaqgrjoi
sk-mjnkfdboddkikmawuawsaxdsvwyuqxlaoroxcefdtrnycfud
sk-xmjbjxxzhfzwpjihhyuhlxidzwmbsrtjdrpgxjgdnywhnovu
sk-comhspmqhvnsaqasydwsrttntklshmbvisdlbpenyhmffngx
sk-vflgmlkwgaxnddlhvcsuaphsfmkvilhpdgencksucoqwkezu
sk-iyjhckfaoavtkwerohssthuygrqnntdaxrkgwgopgpdfdyhw
sk-drjnrjwgxxkvpizznkxvjmgphttgfvrssglnljlxtsnpkqnn
sk-kzvqvcfzmfjrtpzufbatbgpmyrziqoxzjehwyvtcnxpfxmul
sk-movoypamgtzabventkegpyqnzvxunjkvnyvowbxoofxlkyxi
sk-fnjeeylfnusqcyyoknqtqotgnkbyidzehufvtnpyctmhoevq
sk-vdmkbtdqzhuaslwuzumkyyxxhytvvszqpkfrrwsllpbhcffh
sk-tufbncngubzdhcdoydqoflmgigkmbogrxwqjvgmexcbmmhvb
sk-svivotzqknqcgwpfcafebytzvwdxywwaioveyjqaxnrhmlps
sk-zixqbkoxuvxkituttwtvdatcwpjvpsfyklenfqyoyivcsvcm
sk-jebuvmnzsjcorvvcrkgnwvusefssnhcynymwxygsdzmcekpm
sk-rfhnquzrxvcatgletqxjuxwwtjvowkfowmmbuwceysbpowep
sk-txvxjzjhgijqggeexeszmbvflhjyikmcmmfnwzpyypziolla
sk-lcmoiwzzzgmrmtlrdiqrnokroemjshdbfngputxdwbmsiikz
sk-zaeziqwmxhsppqspwpwbmhparnlkjmrlhgazeuitfkljzmvy
sk-drxthkrbfwirgjujaeaaykzxrpzxxthcpbfxmvqrwjyngbta
sk-afffehmmkjbgseltoskctaqfzjtfnpcqmhnclecqjonzvjbc
sk-hzmqvpyolijixllzrswwxzcgkezvhlmojssttzzjphadidie
sk-utyouvzddsvugfgptkhckrtlzfpeqhxbmwvrnfwlulywsnnp
sk-lavdxcqbvvsgpumjlflqnuzwkdsleohkouylerwovzikelux
sk-uwdquxtaliiwrdkakpgoismnfcwftfzohcekmdwifokmyktv
sk-exbjsnmerjsksepbgqtlvpsmbaptvrbasfbpcrdsblljjpmp
sk-ksenojclzsyrhfkjqtmjxfiawopiivujzurnzpsmdasczvzv
sk-fqogdmxyfiwjcjfnptthcylfqwyygbtkmhpchqoisxkcmqez
sk-vtogkcmdkbdhujtsnhcjdoytafzzurpsjjxmzlbvrjfxtzox
sk-twuvbdvmfswczhmuuktztxvfuxvxvdkcmejghjebxtowdbsc
sk-iobumflqericicuvflscrsrbmlozlbbueldxlmltgaqvuyhg
sk-gkdrgcbrlddkgflolrqkpqyygmuszueozeoiwdqpeqghlths
sk-gjqsqttmnydxavthjsjnirqxprogmvidmocfeoixuwutiqmd
sk-pihgxlhhdsyeowjsbhbioxwqjbonwunteaubfisduzyibkzw
sk-rnzjwgqfrwzeeqwrzkismtzgylyjiifbbzvcjsuorxfnvfat
sk-hvgopxbldajpoechgauovdfvecagmowvokyfhhsmedhtrqxp
sk-mvjzsxycexxxkzuuiqirglaijjozaaytekmifmkercetqohn
sk-rxoveifioasodrticohqjeitfgdbairdcbarecbbobwqfbvf
sk-yhzwcscuygtonrjebuvjrhqmydfmtrdnntencnyyunocloec
sk-bradhwfxuunietazqsmxbbyiqtpiypqyfbagouidqjyjnzdi
sk-sscwhvelhcisaesrpuqciospesrcqmbkbqhqvigqrsysfkjd
sk-sfentwjwfirzpcgjdqrminaumeuoypizxlapqslhnuujkjpv
sk-enbzoravsrssvdsmhzxutspmepfyouoqkcyzaiovalgenyrc
sk-rwzxcohniigwrzvfzoikcopawcogbtptmvinmlggtlumatcr
sk-rqihmtrenqeyiiugzronyoohdwaoongyhqolqtlqkownmfyr
sk-tjnwhylidycqdibipuyrfhnbaxrinjllbcnlpkizyzmnnacx
sk-qbklkqockeckzysktedgbyducevlwxjaxmasvvwvsfbvvnri
sk-mtdxvrivtguhurniwlkkpiiqvsldzupdxeikktjjcecokprb
sk-mlsnfruyphvjexbbxmpfzmqrfolmnmvagtartricqtvcfdcm
sk-ofwsljbaccfrlecrwelbzwaervcdhayakfccltttqklfvjbq
sk-hrocudrwzukputieyvwyqmxexladghassxhdpyofitevmlwa
sk-kfdlgrtqkyprcetrnrychpfevpjjgywwivxabzfqtasgyiix
sk-feeqqafnomkhecmdmynthzwzrxtnycmqukruftwqskdkwtnf
sk-npkvsjgcybufvdunwkphuaonyldjbxzjsafqqedahbtzeoiz
sk-uhteqiuwuehutwhlxnmamiaijkkmidjrvdwmidzxrghjhtqg
sk-rvldypjqlgqfmdjpnvynloktzymkdglgrsdazszbdnciqhkc
sk-fypskpotuzdnbnwbabittdesvnnyeajugzeoyyslhbcjevzs
sk-aglzgphsokubceekkeuzoyvgkcbqfycnxaqcgaedgjdvhcxg
sk-hardkitrxfbychdakzysippwpyjmedmgiagqkgeqvmlafmjf
sk-gsnxjocrbnaaxhzfeibrmdcbsnwfqbofhzndazjkrrvltxzv
sk-ithxlhonxaorsmqdvckipubyntltddtgwptzckokngcpncfm
sk-egsiqsepcweqgvcwexpcdrpvwrxmobvwixqccglcpesvmxed
sk-myzjstorsfjlwxmgskzkkyvubhhziukyavdfbkocvgljmlyn
sk-gteiidrbqmgdxzvpjuiyeqyvipmxzqtoiambwldwgjsfmtdd
sk-mtpgzluddgftxbujteqpuviywfqgyncpfqjgjqgjpcicgyck
sk-ftjkknqxfmkkkmpfdsgfqesjeeqmmmbhivdirifbhvfcepwt
sk-ovckcrghcmczguqdrerkxkkkscyouizksvmpsjumgiewapfd
sk-qxklayafdzinlnypxaujfcyxmzunyxykawofofdffbxltzxg
sk-vcftsjgmxhfwlrxotpkqhmnxfkdebhzgiwzuxdpsbonammii
sk-xhoiqbylnbkqoxpelripjmgzbxgnpecrcytiykgdraqjzojj
sk-vhbqrvudkyxacjtngyugblakfvvbkietakeiutlbnutjvsiy
sk-dfcchjmmqegjcvfdxvlrrehqbphlupflxnhtdmosylodffwu
sk-vsdfkqggqcbnvtvcbsfjdskudtlcwgrghjtgguebpjxavtje
sk-zigcksmtvhsamqpcijscaikfnqqpmqxmbnxkugqxiijlwlul
sk-fhwgclgjutkwryyprrhbkpwbgxnsngzxmfzxcbcjiapwrewf
sk-dtxxzmneqycsulewyyazhonrvwykgnljrecxhbvfsmpndgqb
sk-rkcaxubvkieudbgnemtxzjkbcjyifgrrggkrxkfcdhbyaqyp
sk-bgxbfxkbgpgmjlkybufrhoyjzuscftkhoysifovmwfnmhjtv
sk-zaoamrccdkftnjaxkppsaeexkahwtefihodkggfxfcwnpufr
sk-etlljqcxcagevpdtxurmjjlpblmqkeapuayamgsujeqoyzec
sk-fishtdgodhunoildrhibkthxfthmhzmoqyreueusllvgdrfw
sk-yuqjqtauksehdnxicivpanzcjivczcexfalrgnommlrzxrtf
sk-kuyaqlrnlxdlhlceqeylhsqlqpklcjfizmecvoebgqyylnri
sk-jcifmpjwcflqxleysvhsfzyzgqljhvmwruaebpomfdcdvkzv
sk-wumdjnbqrdkeoofgwgrqydjtzhxdtokfxonglnbkyusskjjr
sk-pnxioycopxfybzorymdbtggyhsyzisfbuzbgbaiigzbqzrfi
sk-gdzssuqmqiarmonffqolbexvmrrosciwrbbntwfjrtjdjcyh
sk-vabdjvgmckjvbbygpgnybiqrqfxqpkdtpzrycmisbbyuxrko
sk-fajnasgausglckhtxbiaequdvhfofhtreoxoymzclzsdeitd
sk-yhktpqukefbptimlkwdrpjegnkamxcexxrigjippxxeyuvcu
sk-liadqlqnabmvlnyqpzcgwvlnjxnoqljatncpooyfokkwffjg
sk-eyjkdysnhghkitafxgjaujtbyidwsoqjsquunajenkexruhh
sk-kexwxksjmeqdxiixdnvqolhlaheqnmlxlrfsgfnuzoqagasd
sk-ynuljsyeqeafdidgfzctoobdepmpxiqerhoihlintrogiqga
sk-tlddhlbcbngmfcztpvkcvuldfzbpjtouzjiojrmfpulpyxzq
sk-ygzglahipgdcyqwcstukutdwjwmczhbhzeotdzoivdbxexob
sk-kgyiybcociqorgfupayoyzqpdsecbvgbvjcctkifivpeixox
sk-tuzdsmxfscwqlflwnpuyjpcnincewbtfjqzoyhuqjyigysct
sk-srnhfdpdqkkatpawnurgohqmfzgllgwnpyizechxjutmbegm
sk-egwgtczpzykqbriwluvsppybvgippwwlroxfvnftzyjdncpc
sk-cowrpiharbgkhjmtrdzoizybdcgenugmrayzenodcxyliefa
sk-aacrpxohegbispvrbigbydmocuqzdwjsoxzslrdqcatiefrc
sk-ziiczsgwvjdnykpxaubjixkxnldyghzbphzjwltpgwlccgke
sk-mduduxjlkehpzwirfooekcviwrzkpsgtjrcoodmmlhahvoqh
sk-smtefkpqkwrwgsjwrzklpelnzlkutyjjsqzbugazjjuzcwwb
sk-zmxwxmhrnuzwvtphdymygbghtffeuemxjhzlxgzzmhaclkeg
sk-snugqwiajqchcxhtetdwixbxgmzncaykokghddqgrpvfmikz
sk-lmxjrcmtbvvcpkdifvqdrueravughanozroziaijuwjzawji
sk-nmzjbuoekfhswrwxxpkovhcecxguhxqfzvngfakflldrxhuy
sk-lytitjbksboqrdjtklebdqdvtaqdwkskaikhkmeadirzijgb
sk-ysrgtysjpndofwrlsfbhxejngtrjarpcxsdoiduejwhbwmqa
sk-ybtbecjrmtbvwyqttasnezjucxxidpvevnampqihzmpgotws
sk-bcdczzolspfimlwtrgrgtvnfbylzhlfvzniwjjwwjaxsgwgk
sk-pmexbbggprghktojekgvafflkfdabmdubkuhlsztddzkoepj
sk-jedlnuhcssbmctdsangigvpqmsvcrxpubexxyfvegnmmcrio
sk-nugrtimqrhtzntdtabhnnbhxdxhqhzmoqqnqnctueacypwvc
sk-nmmfgttuaygfwptzopqqmsdfdnntqcgsydrtzrglpynejzrs
sk-rpulipuyqxnbcrnexklavoaqxsribtnkezxwofnnswmrbpoe
sk-xqbqshrnzwkpakbuqnrktkbuizmxpjssobfuqohpzwkskzcd
sk-asmvqmeiyitogwbmtccrphzcnqaotqecibynmvwzunaqhaql
sk-ugpejtgmdwsascvpfjmxtscljakdrmqiyndlpodrqlhedygo
sk-ppexrntsneyjjcpjcrohjhrkqncpoocrijccynxugghtifyw
sk-abjoisdtdfrvgxcbvnbqfoejefwdyriewiwatocebtcovlhs
sk-vjskyvulvtjydcdwzvwbehvlwmnedlasceqrgkcqghbdiyyh
sk-btbqipjautjvczktnlpaibxbrifaiuxnrbmgmwazxzuiyzlw
sk-fstlifbstfcllryfxrpwouckziqmrsenvuekrjvybvungjiz
sk-azobitzsvpfcltofzipffghjpwomgkwmsbcwvaydtrxqtpbs
sk-ujlyohnjlrlxittzerhlpuuzgrstxiodpqhxtmcrbicigonc
sk-ryvmlrmygohqokwctbwfucrsrdhbatdqthaxvvysmxgewetd
sk-ycajqvkkbpafglbkrkponljcsbgglujjgzudutvuprewqpsi
sk-imowbbjicqqryjynefnhifzocofhwmhksvtuuevipmozbnaq
sk-nlbqdgxgzjtejgxxkwarhaqhlzhpwfvzfrkecqvnittnfzen
sk-aveeccfdmjfneqgwbuowkmmdocjidsgagllueopssxmqryjf
sk-dxaakoihgonjwrjzoofnpptlkfmjvygrkdmgudkgvtiqmzug
sk-xvtvxlokonmoarrqqvcvfybaxbfctuyxzmnpeogwcaimfpyx
sk-iktiypeafocucpbrmteewkxzhvbpvduhbzicuyvetkqxprfc
sk-mrdnjyoyumrpnuhtqyetfckfjhggknflsqjpkuijlqijhted
sk-mceyecljdmgkkcoajrpkihjibmebrhgxprdxavvxkjzydlyc
sk-oluffotodkjdgczoqbkiwqvnthwlgrtohfwsglghwumxfize
sk-hsnrfrshhzslcxnzfdmymtxhdlyuuhfnezvvvsdprdoemdzd
sk-osrqajsmgoefiuotocorcmivekvcqrxgmkylskwfaqakhtmd
sk-wyrebfctmxahlaewmpzgthkvodtuouplsruuwsrycggpfoem
sk-dfjdkvavzwyhpemgozkcbitboymorvnutoevumwdonpjuank
sk-kcsmbwqmzjcjfxexgqtqcgofiagtybhrvvpfxldwsjrrbcql
sk-epcicyggrwxsilxryxxmfleslfaosomuovddgsngftwtktdu
sk-bxgudsknbddkifmhkbqlwhcpdkpcxjlnhzbwfejfbazexglp
sk-vcukbuzarwerrvprkmngpwxtyhdmatfffghwklyxcqtowvtu
sk-zfatatcnjpkfxjllqhemoutiwqnglpdghzqholhjwwxntsoh
sk-bowdlqdmnroqraqabptrqtsuxacovezjudmhthaaerfqeqod
sk-ojhavfufztpzcuiukqqisaipqdfmwojotbjiyleyzpqbxcbm
sk-llqobkudgjaoflssmuwtmkvznequsowqslomteafbzvbrrjd
sk-umhyvqlinrraktkumfybpwcjndiqticeqlfcyvuxrnwbqulg
sk-cjjgiicjmkhqylgxtmyxevibikohgrphyvwkywzgcyewfest
sk-ysjyrkucpkorghwusapfdhzwdapvfhmyfteptqgddlpiskhi
sk-wrirpbcidumcataqcjwximfaepwfjkvbmvllnhgbdblklegu
sk-stywgfdgdpcmpwapkvhqxkzemgnfuuqxinwjdzyyaeudsyhb
sk-kxbxfqarrraogkdnssnzynkhyvgunxfhqkhbporcahhhcdyn
sk-dztusbqqileqofheluknmygwwfjgcbetxqxsrylunppstmxb
sk-guhsoomvbauceijoyjtqvqiniqifzfunjdmmbulnaogykaze
sk-qteqvnbneujxrsejzeiaqoduqaasjkeixlencahnqxfhizme
sk-sgdozvbisoycjdnivuzzzhnffzkpmzdvzruefzvldwzfyhju
sk-ovrbssnrmkflqppxaiklvjfrruoaxfabnqfkrinmxxscoqil
sk-adbcnawitqecsvpldzxkkuzjgdneasmfiueptztxtufukjmh
sk-nlpfnccidxqynhlqhhcvirryewqhrvegrfcnphbovhlqkuis
sk-djugkojxzawwzsqeyvjtbfoppstslxqocahpoivtmvptwghv
sk-efftrscakkhpduppjegelcuxjqndlqnyctnuwydchvwaumej
sk-aaluxbwbxttslhghgvqfisoqzrlxxgdbjcllyqafgfjextnf
sk-qgfvwpijyaqgqohlokluqtgtxaedbflnspyrxinuulxfqwec
sk-zpxixvbwfhilwcygecdzadmvhnjdxazcajidvgxiwmpeteqo
sk-svhbhjdwybedzgaisotajanfixngczmkztjxqjmmyelfpovm
sk-vdwrondttjuugrezmccnzwtkurlsmolhipsgmtclelbchlng
sk-hnsuooinmmkptuycbhijyqeqqtdptipriituttztofvsyets
sk-qcufjgduzuxahwuyuxhohdlxlwzspgjervcqavejjjsqnxuk
sk-gcrooquaphfpgkpqzulmknyelauhntgpkahdndfmghwspfzl
sk-ikpyfcknhbygvzzufzyltgproktmjlwrkcpaulzdbwitcnsd
sk-ojglzjacacbqyxlepculoodgwawycatixfjygdghvwoedxqn

Some files were not shown because too many files have changed in this diff Show More