From 507ec3c2eef820372c0c8ed0eaed85bf041688fb Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Sep 2024 17:24:17 +0800 Subject: [PATCH 01/66] delete:not use mac workflows code --- .github/workflows/macbuild.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index ca9e8d2..22d10de 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -39,10 +39,7 @@ jobs: run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - name: install library - run: | - brew install lua opencv qrencode - brew list opencv - brew info opencv + run: brew install lua opencv qrencode # 设置依赖库的环境变量 - name: Set up Dependency Environment Variables -- Gitee From 1fb21f6787b09d9da5ad1c9bf9eeed4a4a61ea75 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 25 Nov 2024 14:06:35 +0800 Subject: [PATCH 02/66] update:workflows --- .github/workflows/linuxbuild.yml | 13 ++++++++++--- .github/workflows/macbuild.yml | 11 +++++++++-- .github/workflows/msbuild.yml | 29 +++++++++++++++++------------ 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 2974703..04b5cf4 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -3,8 +3,9 @@ name: ubuntu build workflows on: push: branches: [ "develop" ] - pull_request: - branches: [ "develop" ] + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' permissions: contents: read @@ -64,4 +65,10 @@ jobs: - name: test run: | cd XEngine_Release - ./XEngine_APIServiceApp -t \ No newline at end of file + ./XEngine_APIServiceApp -t + + - name: Upload folder as artifact with ubuntu + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-x86_64-Ubuntu + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 22d10de..15cb1e8 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -3,8 +3,9 @@ name: macos build workflows on: push: branches: [ "develop" ] - pull_request: - branches: [ "develop" ] + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' permissions: contents: read @@ -65,3 +66,9 @@ jobs: run: | cd XEngine_Release ./XEngine_APIServiceApp -t + + - name: Upload folder as artifact with mac + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-x86_64-Mac + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 3e501e3..8bf4458 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -3,8 +3,9 @@ name: windows build workflows on: push: branches: [ "develop" ] - pull_request: - branches: [ "develop" ] + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' permissions: contents: read @@ -90,13 +91,17 @@ jobs: ./VSCopy_x86.bat ./XEngine_HttpApp.exe -t shell: pwsh - - name: Conditional Step for x86 Debug - if: matrix.configuration == 'Debug' && matrix.platform == 'x86' - run: | - cp -r XEngine_Source/Debug/*.dll XEngine_Release/ - cp -r XEngine_Source/Debug/*.exe XEngine_Release/ - cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ - cd XEngine_Release - ./VSCopy_x86.bat - ./XEngine_HttpApp.exe -t - shell: pwsh + + - name: Upload folder as artifact with x86 + if: matrix.configuration == 'Release' && matrix.platform == 'x86' + uses: actions/upload-artifact@v4 + with: + name: XEngine_HttpApp-x86_32-Windows + path: XEngine_Release/ + + - name: Upload folder as artifact with x64 + if: matrix.configuration == 'Release' && matrix.platform == 'x64' + uses: actions/upload-artifact@v4 + with: + name: XEngine_HttpApp-x86_64-Windows + path: XEngine_Release/ \ No newline at end of file -- Gitee From e44a1a43f7d01bf76cb30491d364ef8afdd7510c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 25 Nov 2024 14:07:45 +0800 Subject: [PATCH 03/66] added:release and translator yml --- .github/workflows/issue-translator.yml | 15 +++++ .github/workflows/release.yml | 89 ++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 .github/workflows/issue-translator.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/issue-translator.yml b/.github/workflows/issue-translator.yml new file mode 100644 index 0000000..d9fdac8 --- /dev/null +++ b/.github/workflows/issue-translator.yml @@ -0,0 +1,15 @@ +name: Issue Translator +on: + issue_comment: + types: [created] + issues: + types: [opened] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: usthe/issues-translate-action@v2.7 + with: + IS_MODIFY_TITLE: false + CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically. \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..8c7f076 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,89 @@ +name: release packet + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + # 检出代码并包含标签 + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Download linuxbuild + uses: dawidd6/action-download-artifact@v6 + with: + workflow: linuxbuild.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ + - name: Download macbuild + uses: dawidd6/action-download-artifact@v6 + with: + workflow: macbuild.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ + - name: Download msbuild + uses: dawidd6/action-download-artifact@v6 + with: + workflow: msbuild.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ + + - name: Display structure of downloaded files + run: ls -al ./XRelease/ + + - name: Get current version and increment X + id: versioning + run: | + latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`) + echo "Latest tag: $latest_tag" + # 提取 X 的值并递增 + major=$(echo $latest_tag | cut -d '.' -f 1) + minor=$(echo $latest_tag | cut -d '.' -f 2) + patch=$(echo $latest_tag | cut -d '.' -f 3) + build=$(echo $latest_tag | cut -d '.' -f 4) + + new_minor=$((minor + 1)) + new_version="$major.$new_minor.$patch.$build" + echo "New version: $new_version" + echo "new_tag=$new_version" >> $GITHUB_OUTPUT + echo "prev_tag=$latest_tag" >> $GITHUB_OUTPUT + + - name: Create and push new tag + run: | + git tag ${{ steps.versioning.outputs.new_tag }} + git push origin ${{ steps.versioning.outputs.new_tag }} + + - name: Generate release notes + run: | + logs=$(git log ${{ steps.versioning.outputs.prev_tag }}..${{ steps.versioning.outputs.new_tag }} --pretty=format:"* %h - %s - %an" --no-merges) + release_notes=$(echo "$logs" | sed 's/ qyt$/ @xengine-qyt/') + echo "$release_notes" + echo "$release_notes" > release_notes.txt + + - name: Release + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + draft: false + prerelease: false + tag_name: ${{ steps.versioning.outputs.new_tag }} + name: XEngine_APIService ${{ steps.versioning.outputs.new_tag }} + body_path: release_notes.txt + files: ./XRelease/*.zip -- Gitee From 9527e858a8fca83efc77f2e3498fb25b3659905b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 25 Nov 2024 14:08:15 +0800 Subject: [PATCH 04/66] update:depend library --- XEngine_Source/XEngine_Depend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_Depend b/XEngine_Source/XEngine_Depend index d1d1ee7..1c1452f 160000 --- a/XEngine_Source/XEngine_Depend +++ b/XEngine_Source/XEngine_Depend @@ -1 +1 @@ -Subproject commit d1d1ee7952a0a93a1beb183a8dee281d9231ff3d +Subproject commit 1c1452f13720d22834e09c7e4e78042698411486 -- Gitee From 1b1a560119ae4fdea07f4887f5f3412db698adcf Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 26 Nov 2024 11:29:08 +0800 Subject: [PATCH 05/66] fixed:workflows/msbuild.yml --- .github/workflows/msbuild.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 8bf4458..b2d577f 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -91,9 +91,18 @@ jobs: ./VSCopy_x86.bat ./XEngine_HttpApp.exe -t shell: pwsh + - name: Conditional Step for x64 Release + if: matrix.configuration == 'Release' && matrix.platform == 'x64' + run: | + cp -r XEngine_Source/x64/Release/*.dll XEngine_Release/ + cp -r XEngine_Source/x64/Release/*.exe XEngine_Release/ + cp -r XEngine_Source/VSCopy_x64.bat XEngine_Release/ + cd XEngine_Release + ./VSCopy_x64.bat + shell: pwsh - name: Upload folder as artifact with x86 - if: matrix.configuration == 'Release' && matrix.platform == 'x86' + if: matrix.configuration == 'Release' && matrix.platform == 'x64' uses: actions/upload-artifact@v4 with: name: XEngine_HttpApp-x86_32-Windows -- Gitee From 9db2a00e1eece0a706d8152e375aeb3a01bbdafa Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 3 Dec 2024 16:06:25 +0800 Subject: [PATCH 06/66] update:depend ip and phone library database --- XEngine_Source/XEngine_DBDepend/XEngine_IPMacData | 2 +- XEngine_Source/XEngine_DBDepend/XEngine_PhoneData | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/XEngine_DBDepend/XEngine_IPMacData b/XEngine_Source/XEngine_DBDepend/XEngine_IPMacData index 6e49d4d..f06fc84 160000 --- a/XEngine_Source/XEngine_DBDepend/XEngine_IPMacData +++ b/XEngine_Source/XEngine_DBDepend/XEngine_IPMacData @@ -1 +1 @@ -Subproject commit 6e49d4d9ce6cf9d0534c6c7c94edd62854f5f949 +Subproject commit f06fc84a8c20e77e7a947ca8dd7eeca059416725 diff --git a/XEngine_Source/XEngine_DBDepend/XEngine_PhoneData b/XEngine_Source/XEngine_DBDepend/XEngine_PhoneData index dd22d72..f3353b8 160000 --- a/XEngine_Source/XEngine_DBDepend/XEngine_PhoneData +++ b/XEngine_Source/XEngine_DBDepend/XEngine_PhoneData @@ -1 +1 @@ -Subproject commit dd22d7298801812e61d9ce679f08df21f75611f6 +Subproject commit f3353b8a2d2ef711be97e1730a88ef8cd11ec06e -- Gitee From 38cdeefff2019ebfd2169d58f2edb34e31e47159 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 4 Dec 2024 10:21:41 +0800 Subject: [PATCH 07/66] update:XEngine V9.x supported --- .../ModuleDatabase_IDCard.cpp | 6 +- .../ModuleDatabase_Machine.cpp | 4 +- .../ModuleDatabase_OilInfo.cpp | 4 +- .../ModuleDatabase_ShortLink.cpp | 2 +- .../ModuleDatabase_WordFilter.cpp | 8 +- .../ModuleDatabase_XLog.cpp | 10 +- .../ModuleDatabase_ZIPCode.cpp | 4 +- .../XEngine_ModuleDatabase.vcxproj | 2 +- .../XEngine_ModuleHelp/ModuleHelp_Define.h | 4 +- .../ModuleHelp_Locker/ModuleHelp_Locker.cpp | 2 +- .../ModuleHelp_P2PClient.cpp | 42 ++++----- .../ModuleHelp_SocketTest.cpp | 4 +- .../XEngine_ModuleHelp.vcxproj | 7 +- XEngine_Source/XEngine_ModuleHelp/pch.h | 12 +++ .../ModulePlugin_LibCore.cpp | 2 +- .../ModulePlugin_LuaCore.cpp | 2 +- .../XEngine_ModulePlugin.vcxproj | 2 +- .../ModuleProtocol_Packet.cpp | 12 +-- XEngine_Source/XEngine_ModuleProtocol/pch.h | 3 + .../ModuleSystem_API/ModuleSystem_API.cpp | 2 +- .../Plugin_BMIndex/Plugin_BMIndex.cpp | 4 +- .../Plugin_Meter/Plugin_Meter.cpp | 6 +- .../Plugin_Password/Plugin_Password.cpp | 6 +- .../Plugin_Timezone/Plugin_Timezone.cpp | 10 +- .../Plugin_Zodiac/Plugin_Zodiac.cpp | 2 +- .../XEngine_HttpApp/XEngine_HTTPTask.cpp | 94 +++++++++---------- .../XEngine_HttpApp/XEngine_Hdr.h | 9 +- .../XEngine_HttpApp/XEngine_HttpApp.cpp | 6 +- .../XEngine_TaskGet/TaskGet_Bank.cpp | 4 +- .../XEngine_TaskGet/TaskGet_IDRegion.cpp | 2 +- .../XEngine_TaskGet/TaskGet_Translation.cpp | 8 +- .../XEngine_TaskGet/TaskGet_Weather.cpp | 6 +- .../XEngine_TaskPost/TaskPost_BackService.cpp | 6 +- .../XEngine_TaskPost/TaskPost_Image.cpp | 8 +- .../XEngine_TaskPost/TaskPost_Machine.cpp | 6 +- .../XEngine_TaskPost/TaskPost_P2PClient.cpp | 10 +- .../XEngine_TaskPost/TaskPost_ShortLink.cpp | 6 +- .../XEngine_TaskPost/TaskPost_WordFilter.cpp | 2 +- .../XEngine_TaskRfc/RFCTask_Stun.cpp | 2 +- 39 files changed, 176 insertions(+), 155 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp index 8410224..78cdf06 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp @@ -139,7 +139,7 @@ bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* #ifdef _MSC_BUILD XCHAR tszUTFBuffer[1024] = {}; int nULen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) @@ -167,7 +167,7 @@ bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* #ifdef _MSC_BUILD XCHAR tszUTFBuffer[1024] = {}; int nULen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) @@ -196,7 +196,7 @@ bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* #ifdef _MSC_BUILD XCHAR tszUTFBuffer[1024] = {}; int nULen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp index f3e9b41..248ded4 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp @@ -99,7 +99,7 @@ bool CModuleDatabase_Machine::ModuleDatabase_Machine_Insert(XENGINE_MACHINEINFO* #ifdef _MSC_BUILD XCHAR tszUTFStr[4096] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) @@ -315,7 +315,7 @@ bool CModuleDatabase_Machine::ModuleDatabase_Machine_List(XENGINE_MACHINEINFO*** return false; } *pInt_ListCount = (int)nllLine; - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_MachineInfo, *pInt_ListCount, sizeof(XENGINE_MACHINEINFO)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_MachineInfo, *pInt_ListCount, sizeof(XENGINE_MACHINEINFO)); for (__int64u i = 0; i < nllLine; i++) { XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_OilInfo/ModuleDatabase_OilInfo.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_OilInfo/ModuleDatabase_OilInfo.cpp index 8d73332..b4c2ee8 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_OilInfo/ModuleDatabase_OilInfo.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_OilInfo/ModuleDatabase_OilInfo.cpp @@ -104,7 +104,7 @@ bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_Query(XENGINE_OILINFO* pSt_ #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFStr, &nllLine, &nllRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) @@ -195,7 +195,7 @@ bool CModuleDatabase_OilInfo::ModuleDatabase_OilInfo_UPDate(XENGINE_OILINFO* pSt #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp index f4f5b67..9a75e4d 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp @@ -267,7 +267,7 @@ bool CModuleDatabase_ShortLink::ModuleDatabase_ShortLink_List(XENGINE_SHORTLINK* return false; } *pInt_ListCount = (int)nllLine; - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_SLinkInfo, *pInt_ListCount, sizeof(XENGINE_SHORTLINK)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_SLinkInfo, *pInt_ListCount, sizeof(XENGINE_SHORTLINK)); for (__int64u i = 0; i < nllLine; i++) { diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_WordFilter/ModuleDatabase_WordFilter.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_WordFilter/ModuleDatabase_WordFilter.cpp index 6c13d65..047f10c 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_WordFilter/ModuleDatabase_WordFilter.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_WordFilter/ModuleDatabase_WordFilter.cpp @@ -103,7 +103,7 @@ bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Query(XENGINE_WORDFIL #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFStr, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) @@ -158,7 +158,7 @@ bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Insert(XENGINE_WORDFI #ifdef _MSC_BUILD int nRet = _tcsxlen(tszSQLStatement); XCHAR tszUTFStr[1024] = {}; - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nRet); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nRet); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) @@ -200,7 +200,7 @@ bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Delete(XENGINE_WORDFI #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) @@ -256,7 +256,7 @@ bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_List(XENGINE_WORDFILT return false; } *pInt_ListCount = (int)nLine; - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_WordFilter, *pInt_ListCount, sizeof(XENGINE_WORDFILTER)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_WordFilter, *pInt_ListCount, sizeof(XENGINE_WORDFILTER)); for (__int64u i = 0; i < nLine; i++) { diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 19bbea0..39fd247 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -109,7 +109,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Create(LPCXSTR lpszTableName) #ifdef _MSC_BUILD int nUTFLen = 0; XCHAR tszUTFQuery[4096] = {}; - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFQuery, &nUTFLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFQuery, &nUTFLen); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFQuery)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) @@ -152,7 +152,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Insert(XENGINE_XLOGINFO* pSt_XLog #ifdef _MSC_BUILD XCHAR tszUTFStr[10240] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFStr)) #else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) @@ -220,7 +220,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_X #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFStr, &nllLine, &nllRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) @@ -237,7 +237,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_X return false; } *pInt_ListCount = (int)nllLine; - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_XLogInfo, (int)nllLine, sizeof(XENGINE_XLOGINFO)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_XLogInfo, (int)nllLine, sizeof(XENGINE_XLOGINFO)); for (__int64u i = 0; i < nllLine; i++) { XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); @@ -350,7 +350,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pI return false; } *pInt_ListCount = (int)nllLine; - BaseLib_OperatorMemory_Malloc((XPPPMEM)ppptszList, (int)nllLine, MAX_PATH); + BaseLib_Memory_Malloc((XPPPMEM)ppptszList, (int)nllLine, MAX_PATH); for (__int64u i = 0; i < nllLine; i++) { XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ZIPCode/ModuleDatabase_ZIPCode.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ZIPCode/ModuleDatabase_ZIPCode.cpp index cc832b1..6ee9a9c 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ZIPCode/ModuleDatabase_ZIPCode.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ZIPCode/ModuleDatabase_ZIPCode.cpp @@ -192,7 +192,7 @@ bool CModuleDatabase_ZIPCode::ModuleDatabase_ZIPCode_QueryName(XENGINE_ZIPINFO* #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFStr, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) @@ -326,7 +326,7 @@ bool CModuleDatabase_ZIPCode::ModuleDatabase_ZIPCode_QueryParentByName(LPCXSTR l #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; int nSLen = _tcsxlen(tszSQLStatement); - BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); + BaseLib_Charset_AnsiToUTF(tszSQLStatement, tszUTFStr, &nSLen); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) #else if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) diff --git a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj index b084fa6..ccce48d 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj +++ b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj @@ -82,7 +82,7 @@ true - $(XEngine_Include);$(IncludePath) + $(XEngine_Include);..\XEngine_ModuleDatabase;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h index 3cd37d4..a9407c2 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h @@ -477,7 +477,7 @@ extern "C" bool ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO * pSt_PeerInfo); 返回值 类型:逻辑型 意思:是否成功 -备注:参数二需要调用基础库的BaseLib_OperatorMemory_Free函数进行内存释放 +备注:参数二需要调用基础库的BaseLib_Memory_Free函数进行内存释放 *********************************************************************/ extern "C" bool ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCOL * pSt_P2PProtocol, XENGINE_P2XPPEER_PROTOCOL * **pppSt_P2XPClient, int* pInt_ListCount); /******************************************************************** @@ -501,7 +501,7 @@ extern "C" bool ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCOL * pSt_P2PP 返回值 类型:逻辑型 意思:是否成功 -备注:参数二需要调用基础库的BaseLib_OperatorMemory_Free函数进行内存释放 +备注:参数二需要调用基础库的BaseLib_Memory_Free函数进行内存释放 *********************************************************************/ extern "C" bool ModuleHelp_P2PClient_GetLList(LPCXSTR lpszPubAddr, XCHAR * **pppszP2XPClient, int* pInt_ListCount); /******************************************************************** diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Locker/ModuleHelp_Locker.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Locker/ModuleHelp_Locker.cpp index 60e8a5a..aa2c7fe 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Locker/ModuleHelp_Locker.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Locker/ModuleHelp_Locker.cpp @@ -53,7 +53,7 @@ bool CModuleHelp_Locker::ModuleHelp_Locker_Create(XNETHANDLE* pxhToken) } pSt_LockInfo->enLockStatus = ENUM_MODULEHELP_LOCKSTATUS_NOTUSED; - BaseLib_OperatorHandle_Create(pxhToken); + BaseLib_Handle_Create(pxhToken); st_Locker.lock(); stl_MapLocker.insert(make_pair(*pxhToken, pSt_LockInfo)); diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_P2PClient/ModuleHelp_P2PClient.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_P2PClient/ModuleHelp_P2PClient.cpp index d358431..4aadafb 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_P2PClient/ModuleHelp_P2PClient.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_P2PClient/ModuleHelp_P2PClient.cpp @@ -108,12 +108,12 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO* pSt_ unordered_map stl_MapPrivate; stl_MapPrivate.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, *pSt_PeerInfo)); //获取私有网络的路由地址 - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; XCHAR tszPrivateAddr[64]; memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); - if (!BaseLib_OperatorIPAddr_IsIPV4Addr(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, &st_LibAddr)) + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); + if (!APIAddr_IPAddr_IsIPV4Addr(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, &st_LibAddr)) { //没有内网地址不加入. ModuleHelp_IsErrorOccur = true; @@ -130,13 +130,13 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO* pSt_ else { //找到了这个公网的地址 - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; XCHAR tszPrivateAddr[64]; memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); //获取私有网络的路由地址 - if (!BaseLib_OperatorIPAddr_IsIPV4Addr(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, &st_LibAddr)) + if (!APIAddr_IPAddr_IsIPV4Addr(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, &st_LibAddr)) { //没有内网地址不加入. ModuleHelp_IsErrorOccur = true; @@ -189,7 +189,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO* pSt_ 返回值 类型:逻辑型 意思:是否成功 -备注:参数二需要调用基础库的BaseLib_OperatorMemory_Free函数进行内存释放 +备注:参数二需要调用基础库的BaseLib_Memory_Free函数进行内存释放 *********************************************************************/ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCOL* pSt_P2PProtocol, XENGINE_P2XPPEER_PROTOCOL*** pppSt_P2XPClient, int* pInt_ListCount) { @@ -211,13 +211,13 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCO st_Locker.unlock_shared(); return false; } - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; XCHAR tszPrivateAddr[64]; memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); //如果输入的是192.168.1.1 IP,就我们自己分割,否则认为输入的是 192.168.1 - if (BaseLib_OperatorIPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr)) + if (APIAddr_IPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr)) { _xstprintf(tszPrivateAddr, _X("%d.%d.%d"), st_LibAddr.nIPAddr1, st_LibAddr.nIPAddr2, st_LibAddr.nIPAddr3); unordered_map >::const_iterator stl_MapPriIterator = stl_MapPubIterator->second.find(tszPrivateAddr); @@ -235,7 +235,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCO st_Locker.unlock_shared(); return false; } - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_P2XPClient, stl_MapPriIterator->second.size(), sizeof(XENGINE_P2XPPEER_PROTOCOL)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_P2XPClient, stl_MapPriIterator->second.size(), sizeof(XENGINE_P2XPPEER_PROTOCOL)); unordered_map::const_iterator stl_MapConnIterator = stl_MapPriIterator->second.begin(); for (int i = 0; stl_MapConnIterator != stl_MapPriIterator->second.end(); stl_MapConnIterator++, i++) { @@ -260,7 +260,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCO st_Locker.unlock_shared(); return false; } - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_P2XPClient, stl_MapPriIterator->second.size(), sizeof(XENGINE_P2XPPEER_PROTOCOL)); + BaseLib_Memory_Malloc((XPPPMEM)pppSt_P2XPClient, stl_MapPriIterator->second.size(), sizeof(XENGINE_P2XPPEER_PROTOCOL)); unordered_map::const_iterator stl_MapConnIterator = stl_MapPriIterator->second.begin(); for (int i = 0; stl_MapConnIterator != stl_MapPriIterator->second.end(); stl_MapConnIterator++, i++) { @@ -292,7 +292,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLan(XENGINE_P2XPPEER_PROTOCO 返回值 类型:逻辑型 意思:是否成功 -备注:参数二需要调用基础库的BaseLib_OperatorMemory_Free函数进行内存释放 +备注:参数二需要调用基础库的BaseLib_Memory_Free函数进行内存释放 *********************************************************************/ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLList(LPCXSTR lpszPubAddr, XCHAR*** pppszP2XPClient, int* pInt_ListCount) { @@ -313,7 +313,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetLList(LPCXSTR lpszPubAddr, X st_Locker.unlock_shared(); return false; } - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppszP2XPClient, stl_MapPubIterator->second.size(), 128); + BaseLib_Memory_Malloc((XPPPMEM)pppszP2XPClient, stl_MapPubIterator->second.size(), 128); unordered_map >::const_iterator stl_MapPriIterator = stl_MapPubIterator->second.begin(); for (int i = 0; stl_MapPriIterator != stl_MapPubIterator->second.end(); stl_MapPriIterator++, i++) { @@ -357,7 +357,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_GetWList(XCHAR*** pppszP2XPClie ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_P2P_NOTFOUND; return false; } - BaseLib_OperatorMemory_Malloc((XPPPMEM)pppszP2XPClient, stl_MapClients.size(), 128); + BaseLib_Memory_Malloc((XPPPMEM)pppszP2XPClient, stl_MapClients.size(), 128); st_Locker.lock_shared(); unordered_map > >::const_iterator stl_MapIterator = stl_MapClients.begin(); @@ -389,12 +389,12 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Delete(XENGINE_P2XPPEER_PROTOCO unordered_map > >::iterator stl_MapPubIteartor = stl_MapClients.find(pSt_P2PProtocol->tszPublicAddr); if (stl_MapPubIteartor != stl_MapClients.end()) { - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; XCHAR tszPrivateAddr[64]; memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); - if (BaseLib_OperatorIPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr)) + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); + if (APIAddr_IPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr)) { _xstprintf(tszPrivateAddr, _X("%d.%d.%d"), st_LibAddr.nIPAddr1, st_LibAddr.nIPAddr2, st_LibAddr.nIPAddr3); //查找私有路由地址 @@ -474,13 +474,13 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Heart(XENGINE_P2XPPEER_PROTOCOL return false; } //转换地址 - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; XCHAR tszPrivateAddr[64]; memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); //获取私有网络的路由地址 - BaseLib_OperatorIPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr); + APIAddr_IPAddr_IsIPV4Addr(pSt_P2PProtocol->tszPrivateAddr, &st_LibAddr); _xstprintf(tszPrivateAddr, _X("%d.%d.%d"), st_LibAddr.nIPAddr1, st_LibAddr.nIPAddr2, st_LibAddr.nIPAddr3); unordered_map >::iterator stl_MapPriIterator = stl_MapPubIterator->second.find(tszPrivateAddr); diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_SocketTest/ModuleHelp_SocketTest.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_SocketTest/ModuleHelp_SocketTest.cpp index b25e0ce..aa7aa51 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_SocketTest/ModuleHelp_SocketTest.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_SocketTest/ModuleHelp_SocketTest.cpp @@ -70,7 +70,7 @@ bool CModuleHelp_SocketTest::ModuleHelp_SocketTest_StartConnect(XNETHANDLE* pxhT pSt_ConnSocket->bIsRun = true; pSt_ConnSocket->lParam = lParam; pSt_ConnSocket->lpCall_ReConnect = fpCall_ReConnect; - BaseLib_OperatorHandle_Create(&pSt_ConnSocket->xhToken); + BaseLib_Handle_Create(&pSt_ConnSocket->xhToken); memcpy(&pSt_ConnSocket->st_SocketConn, pSt_ReConnect, sizeof(MODULEHELP_SOCKETTEST_RECONNECT)); //创建线程 pSt_ConnSocket->pSTDThread = make_shared(ModuleHelp_SocketTest_ThreadConn, pSt_ConnSocket); @@ -208,7 +208,7 @@ bool CModuleHelp_SocketTest::ModuleHelp_SocketTest_StartDatas(XNETHANDLE* pxhTok pSt_DataSocket->bIsTCP = bTCP; pSt_DataSocket->lParam = lParam; pSt_DataSocket->lpCall_TestDatas = fpCall_DataTest; - BaseLib_OperatorHandle_Create(&pSt_DataSocket->xhToken); + BaseLib_Handle_Create(&pSt_DataSocket->xhToken); memcpy(&pSt_DataSocket->st_SocketData, pSt_SocketDatas, sizeof(MODULEHELP_SOCKETTEST_DATAS)); //创建客户端 if (pSt_DataSocket->bIsTCP) diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj index 3545aa0..545558b 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj @@ -72,7 +72,7 @@ true - $(XEngine_Include);$(IncludePath) + $(XEngine_Include);D:\vcpkg\installed\x86-windows\include\opencv4;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) @@ -82,7 +82,7 @@ true - $(XEngine_Include);../XEngine_ThirdPart/opencc/include;$(IncludePath) + $(XEngine_Include);..\XEngine_ModuleHelp;D:\vcpkg\installed\x64-windows\include\opencv4;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) @@ -90,6 +90,9 @@ $(XEngine_Include);../XEngine_ThirdPart/opencc/include;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) + + false + Level3 diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.h b/XEngine_Source/XEngine_ModuleHelp/pch.h index af6de12..9af910a 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.h +++ b/XEngine_Source/XEngine_ModuleHelp/pch.h @@ -26,9 +26,18 @@ #include #include #if _XENGINE_BUILD_SWITCH_OPENCV == 1 +#ifdef _MSC_BUILD +#include +#include +#include +#else +#include +#include +#include #include #include #include +#endif #include #endif using namespace std; @@ -39,6 +48,8 @@ using namespace std; #include #include #include +#include +#include #include "../XEngine_UserProtocol.h" #include "ModuleHelp_Define.h" #include "ModuleHelp_Error.h" @@ -59,6 +70,7 @@ extern XLONG ModuleHelp_dwErrorCode; #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") #pragma comment(lib,"XEngine_Client/XClient_Socket") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIAddr") #else #if __linux__ && !__ANDROID__ #pragma GCC diagnostic ignored "-Wclass-memaccess" diff --git a/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LibCore/ModulePlugin_LibCore.cpp b/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LibCore/ModulePlugin_LibCore.cpp index 2920199..f0cffcc 100644 --- a/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LibCore/ModulePlugin_LibCore.cpp +++ b/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LibCore/ModulePlugin_LibCore.cpp @@ -70,7 +70,7 @@ bool CModulePlugin_LibCore::ModulePlugin_LibCore_Push(XNETHANDLE* pxhModule, LPC { ModulePlugin_IsErrorOccur = false; - if (!BaseLib_OperatorHandle_Create(pxhModule)) + if (!BaseLib_Handle_Create(pxhModule)) { ModulePlugin_IsErrorOccur = true; ModulePlugin_dwErrorCode = BaseLib_GetLastError(); diff --git a/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LuaCore/ModulePlugin_LuaCore.cpp b/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LuaCore/ModulePlugin_LuaCore.cpp index 6f43e49..c2b5599 100644 --- a/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LuaCore/ModulePlugin_LuaCore.cpp +++ b/XEngine_Source/XEngine_ModulePlugin/ModulePlugin_LuaCore/ModulePlugin_LuaCore.cpp @@ -60,7 +60,7 @@ bool CModulePlugin_LuaCore::ModulePlugin_LuaCore_Push(XNETHANDLE* pxhModule, LPC { ModulePlugin_IsErrorOccur = false; - if (!BaseLib_OperatorHandle_Create(pxhModule)) + if (!BaseLib_Handle_Create(pxhModule)) { ModulePlugin_IsErrorOccur = true; ModulePlugin_dwErrorCode = BaseLib_GetLastError(); diff --git a/XEngine_Source/XEngine_ModulePlugin/XEngine_ModulePlugin.vcxproj b/XEngine_Source/XEngine_ModulePlugin/XEngine_ModulePlugin.vcxproj index f08d5e3..c89bdd7 100644 --- a/XEngine_Source/XEngine_ModulePlugin/XEngine_ModulePlugin.vcxproj +++ b/XEngine_Source/XEngine_ModulePlugin/XEngine_ModulePlugin.vcxproj @@ -82,7 +82,7 @@ true - $(XEngine_Include);../../XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_ThirdPart/jsoncpp;..\XEngine_ModulePlugin;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index ea78512..a7ae5fd 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -1287,7 +1287,7 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, i ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); return false; } - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszRootName, nDiskNumber); + BaseLib_Memory_Free((XPPPMEM)&pptszRootName, nDiskNumber); XCHAR tszDriveStr[MAX_PATH]; memset(tszDriveStr, '\0', MAX_PATH); @@ -1367,7 +1367,7 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, i st_JsonIPAddr["tszMacAddr"] = ppSt_ListIFInfo[i]->tszMacAddr; st_JsonNetCard.append(st_JsonIPAddr); } - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListIFInfo, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_ListIFInfo, nListCount); st_JsonRoot["Disk"] = st_JsonDisk; st_JsonRoot["Cpu"] = st_JsonCpu; @@ -1705,7 +1705,7 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_IPAddr(XCHAR* ptszMSGBuffer, st_JsonBuilder["emitUTF8"] = true; *pInt_MSGLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); - BaseLib_OperatorCharset_AnsiToUTF(Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), ptszMSGBuffer, pInt_MSGLen); + BaseLib_Charset_AnsiToUTF(Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), ptszMSGBuffer, pInt_MSGLen); return true; } /******************************************************************** @@ -1854,14 +1854,14 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_P2PWLan(XCHAR* ptszMsgBuffer, for (auto stl_ListIterator = pStl_ListClients->begin(); stl_ListIterator != pStl_ListClients->end(); stl_ListIterator++) { XCHAR tszClientAddr[128]; - XENGINE_LIBADDR st_LibAddr; + APIADDR_IPADDR st_LibAddr; P2XPPROTOCOL_LANPACKET st_LANPacket; memset(tszClientAddr, '\0', sizeof(tszClientAddr)); - memset(&st_LibAddr, '\0', sizeof(XENGINE_LIBADDR)); + memset(&st_LibAddr, '\0', sizeof(APIADDR_IPADDR)); memset(&st_LANPacket, '\0', sizeof(P2XPPROTOCOL_LANPACKET)); //分割 - BaseLib_OperatorIPAddr_IsIPV4Addr(stl_ListIterator->tszPrivateAddr, &st_LibAddr); + APIAddr_IPAddr_IsIPV4Addr(stl_ListIterator->tszPrivateAddr, &st_LibAddr); _xstprintf(tszClientAddr, _X("%d.%d.%d"), st_LibAddr.nIPAddr1, st_LibAddr.nIPAddr2, st_LibAddr.nIPAddr3); //赋值 _tcsxcpy(st_LANPacket.tszUsername, stl_ListIterator->tszUserName); diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.h b/XEngine_Source/XEngine_ModuleProtocol/pch.h index 9db03cf..9766353 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.h +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.h @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include #include #include @@ -58,6 +60,7 @@ extern XLONG ModuleProtocol_dwErrorCode; #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIAddr") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _DEBUG #ifdef _WIN64 diff --git a/XEngine_Source/XEngine_ModuleSystem/ModuleSystem_API/ModuleSystem_API.cpp b/XEngine_Source/XEngine_ModuleSystem/ModuleSystem_API/ModuleSystem_API.cpp index c4ea5a9..b19e91a 100644 --- a/XEngine_Source/XEngine_ModuleSystem/ModuleSystem_API/ModuleSystem_API.cpp +++ b/XEngine_Source/XEngine_ModuleSystem/ModuleSystem_API/ModuleSystem_API.cpp @@ -93,7 +93,7 @@ bool CModuleSystem_API::ModuleSystem_API_AutoStart(bool bIsAuto /* = true */) return false; } _tcsxcat(tszAFile, _X("\\XEngine_DeamonApp.lnk")); - BaseLib_OperatorCharset_AnsiToUnicode(tszAFile, tszUFile); + BaseLib_Charset_AnsiToUnicode(tszAFile, tszUFile); hResult = pSt_IFile->Save(tszUFile, TRUE); if (FAILED(hResult)) diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Plugin_BMIndex/Plugin_BMIndex.cpp b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Plugin_BMIndex/Plugin_BMIndex.cpp index 5382630..accc630 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Plugin_BMIndex/Plugin_BMIndex.cpp +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Plugin_BMIndex/Plugin_BMIndex.cpp @@ -77,8 +77,8 @@ bool CPlugin_BMIndex::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* memset(tszParamHigh, '\0', sizeof(tszParamHigh)); memset(tszParamWeight, '\0', sizeof(tszParamWeight)); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamHigh); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamWeight); + BaseLib_String_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamHigh); + BaseLib_String_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamWeight); Plugin_Timezone_BMIndex(tszParamHigh, tszParamWeight, ptszMsgBuffer, pInt_MsgLen); *pInt_HTTPCode = 200; diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Plugin_Meter/Plugin_Meter.cpp b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Plugin_Meter/Plugin_Meter.cpp index c652dee..d1de5b8 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Plugin_Meter/Plugin_Meter.cpp +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Plugin_Meter/Plugin_Meter.cpp @@ -84,9 +84,9 @@ bool CPlugin_Meter::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* pI memset(tszParamValue, '\0', sizeof(tszParamValue)); //http://192.168.1.8:5501/api?function=meter&type=0&source=0&value=10 - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamSource); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[3], "=", tszKeyName, tszParamValue); + BaseLib_String_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); + BaseLib_String_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamSource); + BaseLib_String_GetKeyValue((*pppHDRList)[3], "=", tszKeyName, tszParamValue); if (0 == _ttxoi(tszParamType)) { diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Plugin_Password/Plugin_Password.cpp b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Plugin_Password/Plugin_Password.cpp index ca43367..41c9531 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Plugin_Password/Plugin_Password.cpp +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Plugin_Password/Plugin_Password.cpp @@ -82,8 +82,8 @@ bool CPlugin_Password::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* memset(tszParamLength, '\0', sizeof(tszParamLength)); memset(tszPassword, '\0', sizeof(tszPassword)); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamLength); + BaseLib_String_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); + BaseLib_String_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamLength); Plugin_Password_Creator(tszParamType, tszParamLength, tszPassword); st_JsonObject["tszParamType"] = tszParamType; @@ -113,7 +113,7 @@ bool CPlugin_Password::Plugin_Password_Creator(LPCXSTR lpszPassType, LPCXSTR lps memset(tszPassBuffer, '\0', MAX_PATH); if (0 == nType) { - BaseLib_OperatorHandle_CreateStr(tszPassBuffer, nLen); + BaseLib_Handle_CreateStr(tszPassBuffer, nLen); } else if (1 == nType) { diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Plugin_Timezone/Plugin_Timezone.cpp b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Plugin_Timezone/Plugin_Timezone.cpp index 7a55066..35a6ed1 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Plugin_Timezone/Plugin_Timezone.cpp +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Plugin_Timezone/Plugin_Timezone.cpp @@ -541,7 +541,7 @@ bool CPlugin_Timezone::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* memset(tszParamCvt, '\0', sizeof(tszParamCvt)); memset(tszParamTime, '\0', sizeof(tszParamTime)); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); + BaseLib_String_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszParamType); if (0 == _ttxoi(tszParamType)) { //如果是统计 @@ -550,14 +550,14 @@ bool CPlugin_Timezone::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* else if (1 == _ttxoi(tszParamType)) { //如果是列举 - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamCvt); + BaseLib_String_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamCvt); Plugin_Timezone_List(tszParamCvt, ptszMsgBuffer, pInt_MsgLen); } else if (2 == _ttxoi(tszParamType)) { //如果是转换 - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamCvt); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[3], "=", tszKeyName, tszParamTime); + BaseLib_String_GetKeyValue((*pppHDRList)[2], "=", tszKeyName, tszParamCvt); + BaseLib_String_GetKeyValue((*pppHDRList)[3], "=", tszKeyName, tszParamTime); if (!Plugin_Timezone_Convert(tszParamCvt, tszParamTime, ptszMsgBuffer, pInt_MsgLen)) { *pInt_HTTPCode = 404; @@ -648,7 +648,7 @@ bool CPlugin_Timezone::Plugin_Timezone_Convert(LPCXSTR lpszConvert, LPCXSTR lpsz st_TimeEnd = stl_MapIterator->second.st_TimeZone; _stxscanf(lpszTimeStr, _X("%04d-%02d-%02d_%02d:%02d:%02d"), &st_TimeStart.wYear, &st_TimeStart.wMonth, &st_TimeStart.wDay, &st_TimeStart.wHour, &st_TimeStart.wMinute, &st_TimeStart.wSecond); - BaseLib_OperatorTimeSpan_CalForStu(&st_TimeStart, &st_TimeEnd); + BaseLib_TimeSpan_CalForStu(&st_TimeStart, &st_TimeEnd); _xstprintf(tszTimeStr, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_TimeEnd.wYear, st_TimeEnd.wMonth, st_TimeEnd.wDay, st_TimeEnd.wHour, st_TimeEnd.wMinute, st_TimeEnd.wSecond); st_JsonObject["tszTimeStr"] = tszTimeStr; diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Plugin_Zodiac/Plugin_Zodiac.cpp b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Plugin_Zodiac/Plugin_Zodiac.cpp index b6294d3..a9b9ab5 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Plugin_Zodiac/Plugin_Zodiac.cpp +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Plugin_Zodiac/Plugin_Zodiac.cpp @@ -94,7 +94,7 @@ bool CPlugin_Zodiac::PluginCore_Call(XCHAR*** pppHDRList, int nListCount, int* p memset(tszChineseZodiac, '\0', sizeof(tszChineseZodiac)); memset(tszEnglishZodiac, '\0', sizeof(tszEnglishZodiac)); - BaseLib_OperatorString_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszValueName); + BaseLib_String_GetKeyValue((*pppHDRList)[1], "=", tszKeyName, tszValueName); Plugin_Zodiac_Chinese(tszValueName, tszChineseZodiac); Plugin_Zodiac_English(tszValueName, tszEnglishZodiac); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp index 718868d..652266d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp @@ -46,12 +46,12 @@ XHTHREAD CALLBACK HTTPTask_TastPost_Thread(XPVOID lParam) //在另外一个函数里面处理数据 HTTPTask_TastPost_Handle(&st_HTTPReqparam, ppSst_ListAddr[i]->tszClientAddr, ptszMsgBuffer, nMsgLen, &pptszListHdr, nHDRCount); //释放内存 - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszListHdr, nHDRCount); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_Free((XPPPMEM)&pptszListHdr, nHDRCount); } } } - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSst_ListAddr, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSst_ListAddr, nListCount); } return 0; } @@ -77,10 +77,10 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszUrlBuffer[MAX_PATH] = {}; XCHAR tszGBKBuffer[MAX_PATH] = {}; - OPenSsl_Codec_UrlDeCodec(pSt_HTTPParam->tszHttpUri, _tcsxlen(pSt_HTTPParam->tszHttpUri), tszUrlBuffer); + Cryption_Codec_UrlDeCodec(pSt_HTTPParam->tszHttpUri, _tcsxlen(pSt_HTTPParam->tszHttpUri), tszUrlBuffer); #ifdef _MSC_BUILD int nCLen = _tcsxlen(tszUrlBuffer); - BaseLib_OperatorCharset_UTFToAnsi(tszUrlBuffer, tszGBKBuffer, &nCLen); + BaseLib_Charset_UTFToAnsi(tszUrlBuffer, tszGBKBuffer, &nCLen); #else _tcsxcpy(tszGBKBuffer, pSt_HTTPParam->tszHttpUri); #endif @@ -96,7 +96,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -139,18 +139,18 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } //获得函数名 - BaseLib_OperatorString_GetKeyValue(pptszList[0], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[0], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamFuncKey, tszKey, _tcsxlen(lpszParamFuncKey))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -168,13 +168,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //是不是P2P memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -185,13 +185,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //邮政信息:http://app.xyry.org:5501/api?function=zipcode¶ms1=0 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -202,13 +202,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //日志信息:http://app.xyry.org:5501/api?function=log¶ms1=0 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -219,13 +219,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //二维码生成:http://app.xyry.org:5501/api?function=qrcode¶ms1=0 或者 1 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -236,13 +236,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //网络测试:http://app.xyry.org:5501/api?function=socket¶ms1=0 或者 1 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -253,13 +253,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //数据测试:http://app.xyry.org:5501/api?function=dtest¶ms1=0 或者 1 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -271,7 +271,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszType[64]; memset(tszType, '\0', sizeof(tszType)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszType); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszType); HTTPTask_TaskPost_ShortLink(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszType)); } else if (0 == _tcsxnicmp(lpszParamWordFilter, tszValue, _tcsxlen(lpszParamWordFilter))) @@ -280,7 +280,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszType[64]; memset(tszType, '\0', sizeof(tszType)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszType); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszType); HTTPTask_TastPost_WordFilter(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszType)); } else if (0 == _tcsxnicmp(lpszParamBack, tszValue, _tcsxlen(lpszParamBack))) @@ -289,7 +289,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszType[64]; memset(tszType, '\0', sizeof(tszType)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszType); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszType); HTTPTask_TaskPost_BackService(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszType)); } else if (0 == _tcsxnicmp(lpszParamImage, tszValue, _tcsxlen(lpszParamImage))) @@ -308,7 +308,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszType[64]; memset(tszType, '\0', sizeof(tszType)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszType); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszType); HTTPTask_TastPost_Machine(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszType)); } else @@ -325,7 +325,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST { //是不是配置重载 memset(tszKey, '\0', sizeof(tszKey)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); HTTPTask_TaskGet_Reload(lpszClientAddr, tszValue); } else if (0 == _tcsxnicmp(lpszParamIDCard, tszValue, _tcsxlen(lpszParamIDCard))) @@ -333,13 +333,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //是不是身份证查询 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -350,13 +350,13 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //是不是银行卡信息 memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); if (0 != _tcsxnicmp(lpszParamName, tszKey, _tcsxlen(lpszParamName))) { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } @@ -369,9 +369,9 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszSrcBuffer[64] = {}; XCHAR tszDstBuffer[64] = {}; - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszMSGBuffer); - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszSrcBuffer); - BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszDstBuffer); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszMSGBuffer); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszSrcBuffer); + BaseLib_String_GetKeyValue(pptszList[3], "=", tszKey, tszDstBuffer); HTTPTask_TaskGet_Translation(lpszClientAddr, tszMSGBuffer, tszSrcBuffer, tszDstBuffer); } else if (0 == _tcsxnicmp(lpszParamLocker, tszValue, _tcsxlen(lpszParamLocker))) @@ -384,8 +384,8 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST memset(tszLockToken, '\0', sizeof(tszLockToken)); memset(tszLockType, '\0', sizeof(tszLockType)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszLockToken); - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszLockType); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszLockToken); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszLockType); HTTPTask_TaskGet_Locker(lpszClientAddr, _ttxoll(tszLockToken), (ENUM_XENGINE_APISERVICE_LOCKER_TYPE)_ttxoi(tszLockType)); } else if (0 == _tcsxnicmp(lpszParamWeather, tszValue, _tcsxlen(lpszParamWeather))) @@ -393,7 +393,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //天气:http://127.0.0.1:5501/api?function=weather¶ms1=110101 XCHAR tszIDAddr[128] = {}; - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszIDAddr); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszIDAddr); HTTPTask_TaskGet_WeatherInfo(lpszClientAddr, tszIDAddr); } else if (0 == _tcsxnicmp(lpszParamRegion, tszValue, _tcsxlen(lpszParamRegion))) @@ -402,12 +402,12 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST int nType = 0; memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); nType = _ttxoi(tszValue); if (0 == nType) { memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszValue); HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszValue, NULL, NULL); } else @@ -415,15 +415,15 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST if (2 == nListCount) { XCHAR tszProvincerStr[32] = {}; - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, NULL, NULL); } else if (3 == nListCount) { XCHAR tszProvincerStr[32] = {}; XCHAR tszCityStr[32] = {}; - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); - BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_String_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, NULL); } @@ -432,9 +432,9 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST XCHAR tszProvincerStr[32] = {}; XCHAR tszCityStr[32] = {}; XCHAR tszCountyStr[32] = {}; - BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); - BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); - BaseLib_OperatorString_GetKeyValue(pptszList[4], "=", tszKey, tszCountyStr); + BaseLib_String_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_String_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + BaseLib_String_GetKeyValue(pptszList[4], "=", tszKey, tszCountyStr); HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, tszCountyStr); } @@ -445,7 +445,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //油价:http://127.0.0.1:5501/api?function=oil¶m=地区 memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszValue); HTTPTask_TaskGet_Oil(lpszClientAddr, tszValue); } else if ((0 == _tcsxnicmp(lpszParamPhone, tszValue, _tcsxlen(lpszParamPhone))) || (0 == _tcsxnicmp(lpszParamIPAddr, tszValue, _tcsxlen(lpszParamIPAddr))) || (0 == _tcsxnicmp(lpszParamMacInfo, tszValue, _tcsxlen(lpszParamMacInfo)))) @@ -455,7 +455,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST //mac:http://127.0.0.1:5501/api?function=mac¶m=00:00:0C memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); - BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszMsgBuffer); + BaseLib_String_GetKeyValue(pptszList[1], "=", tszKey, tszMsgBuffer); HTTPTask_TaskGet_APIModule(lpszClientAddr, tszValue, tszMsgBuffer); } else @@ -470,6 +470,6 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,协议错误"), lpszClientAddr); } - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index f1137e4..4d14845 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -32,12 +32,14 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -191,9 +193,10 @@ extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseSafe.lib") #pragma comment(lib,"XEngine_Core/XEngine_Core.lib") #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") -#pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") +#pragma comment(lib,"XEngine_Core/XEngine_Cryption.lib") #pragma comment(lib,"XEngine_Client/XClient_Stream.lib") #pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIAddr") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_NatProtocol.lib") diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp index d885473..5309386 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp @@ -74,7 +74,7 @@ LONG WINAPI Coredump_ExceptionFilter(EXCEPTION_POINTERS* pExceptionPointers) static int i = 0; XCHAR tszFileStr[MAX_PATH] = {}; XCHAR tszTimeStr[128] = {}; - BaseLib_OperatorTime_TimeToStr(tszTimeStr); + BaseLib_Time_TimeToStr(tszTimeStr); _xstprintf(tszFileStr, _X("./XEngine_Coredump/dumpfile_%s_%d.dmp"), tszTimeStr, i++); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_FATAL, _X("主程序:软件崩溃,写入dump:%s"), tszFileStr); @@ -317,7 +317,7 @@ int main(int argc, char** argv) NetCore_TCPXCore_RegisterCallBackEx(xhHTTPSocket, Network_Callback_HTTPLogin, Network_Callback_HTTPRecv, Network_Callback_HTTPLeave); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册HTTP网络事件成功")); //HTTP任务池 - BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListHTTPParam, st_ServiceConfig.st_XMax.nHTTPThread, sizeof(THREADPOOL_PARAMENT)); + BaseLib_Memory_Malloc((XPPPMEM)&ppSt_ListHTTPParam, st_ServiceConfig.st_XMax.nHTTPThread, sizeof(THREADPOOL_PARAMENT)); for (int i = 0; i < st_ServiceConfig.st_XMax.nHTTPThread; i++) { int* pInt_Pos = new int; @@ -513,7 +513,7 @@ int main(int argc, char** argv) XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,信息报告给API服务器没有启用")); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("所有服务成功启动,服务运行中,XEngine版本:%s%s,发行版本次数:%d,当前版本:%s。。。"), BaseLib_OperatorVer_XNumberStr(), BaseLib_OperatorVer_XTypeStr(), st_ServiceConfig.st_XVer.pStl_ListVer->size(), st_ServiceConfig.st_XVer.pStl_ListVer->front().c_str()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("所有服务成功启动,服务运行中,XEngine版本:%s%s,发行版本次数:%d,当前版本:%s。。。"), BaseLib_Version_XNumberStr(), BaseLib_Version_XTypeStr(), st_ServiceConfig.st_XVer.pStl_ListVer->size(), st_ServiceConfig.st_XVer.pStl_ListVer->front().c_str()); while (true) { if (bIsTest) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Bank.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Bank.cpp index 1e7d718..4058541 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Bank.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Bank.cpp @@ -37,13 +37,13 @@ bool HTTPTask_TaskGet_BankInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszBankNumber) if (!ModuleProtocol_Parse_Bank(ptszBodyBuffer, nBLen, &st_BankInfo)) { ModuleProtocol_Packet_BankQuery(tszPktBuffer, &nPktLen, NULL, 1001, _X("banknumber is corrent")); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的银行卡号码错误:%s"), lpszClientAddr, lpszBankNumber); return false; } - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); //查询对应名称 if (!ModuleDatabase_Bank_Query(&st_BankInfo)) { diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp index 5d93f81..c828a5a 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp @@ -43,7 +43,7 @@ bool HTTPTask_TaskGet_IDRegion(LPCXSTR lpszClientAddr, int nType, LPCXSTR lpszPr #ifdef _MSC_BUILD XCHAR tszUTFBuffer[1024] = {}; int nULen = _tcsxlen(tszPktBuffer); - BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFBuffer, &nULen); + BaseLib_Charset_AnsiToUTF(tszPktBuffer, tszUTFBuffer, &nULen); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFBuffer, nULen); #else HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp index 97478c5..617ce2c 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp @@ -29,7 +29,7 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, #ifdef _MSC_BUILD int nGLen = _tcsxlen(lpszMsgBuffer); - BaseLib_OperatorCharset_AnsiToUTF(lpszMsgBuffer, tszUTFBuffer, &nGLen); + BaseLib_Charset_AnsiToUTF(lpszMsgBuffer, tszUTFBuffer, &nGLen); #else _xstrcpy(tszUTFBuffer, lpszMsgBuffer, sizeof(tszUTFBuffer)); #endif @@ -37,7 +37,7 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nRandomNumber = rand(); int nLen = _xstprintf(tszSignStr, _X("%s%s%d%s"), st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPID, tszUTFBuffer, nRandomNumber, st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPKey); - OPenSsl_Api_Digest(tszSignStr, (XBYTE*)tszMD5Codec, &nLen); + Cryption_Api_Digest(tszSignStr, (XBYTE*)tszMD5Codec, &nLen); for (int i = 0; i < 16; i++) { XCHAR tszTmpStr[4] = {}; @@ -60,14 +60,14 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的翻译失败,原始字符串:%s,错误数据:%s"), lpszClientAddr, lpszMsgBuffer, ptszBodyBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); return false; } //打包发送 ModuleProtocol_Packet_LanguageQuery(tszPktBuffer, &nPktLen, &st_LanguageInfo); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求语言翻译成功,原始语言:%s,目标语言:%s"), lpszClientAddr, st_LanguageInfo.tszFromStr, st_LanguageInfo.tszToStr); return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp index 27d0457..e66511c 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp @@ -24,11 +24,11 @@ bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode) XCHAR tszGBKStr[1024] = {}; #ifdef _MSC_BUILD - BaseLib_OperatorCharset_UTFToAnsi(ptszBodyBuffer, tszGBKStr, &nBLen); + BaseLib_Charset_UTFToAnsi(ptszBodyBuffer, tszGBKStr, &nBLen); #else _tcsxcpy(tszGBKStr, ptszBodyBuffer); #endif - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); //解析JSON信息 if (!ModuleProtocol_Parse_Weather(tszGBKStr, nBLen, &st_WeatherInfo)) { @@ -42,7 +42,7 @@ bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode) ModuleProtocol_Packet_Weather(tszPktBuffer, &nPktLen, &st_WeatherInfo); #ifdef _MSC_BUILD XCHAR tszUTFStr[1024] = {}; - BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFStr, &nPktLen); + BaseLib_Charset_AnsiToUTF(tszPktBuffer, tszUTFStr, &nPktLen); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFStr, nPktLen); #else HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index a473237..e49d4c2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -185,7 +185,7 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer ModuleProtocol_Packet_ListFile(ptszRVBuffer, &nRVLen, &ppszFileList, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppszFileList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppszFileList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:获取文件列表成功,回复个数:%d"), lpszClientAddr, nListCount); } break; @@ -267,8 +267,8 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer AVHelp_Device_EnumDevice(&ppSt_AudioList, &ppSt_VideoList, &nACount, &nVCount); ModuleProtocol_Packet_EnumDevice(ptszRVBuffer, &nRVLen, &ppSt_AudioList, &ppSt_VideoList, nACount, nVCount); - BaseLib_OperatorMemory_Free((void***)&ppSt_AudioList, nACount); - BaseLib_OperatorMemory_Free((void***)&ppSt_VideoList, nVCount); + BaseLib_Memory_Free((void***)&ppSt_AudioList, nACount); + BaseLib_Memory_Free((void***)&ppSt_VideoList, nVCount); } HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index cbab93b..4c2e90f 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -28,7 +28,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int memset(ptszSDBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); memset(ptszRVBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - BaseLib_OperatorString_GetKeyValue((*ppptszList)[1], "=", tszHTTPKey, tszHTTPVlu); + BaseLib_String_GetKeyValue((*ppptszList)[1], "=", tszHTTPKey, tszHTTPVlu); int nOPCode = _ttxoi(tszHTTPVlu); //0获取,1设置 if (0 == nOPCode) @@ -66,14 +66,14 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int memset(tszHTTPVlu, '\0', sizeof(tszHTTPVlu)); - BaseLib_OperatorString_GetKeyValue((*ppptszList)[2], "=", tszHTTPKey, tszHTTPVlu); + BaseLib_String_GetKeyValue((*ppptszList)[2], "=", tszHTTPKey, tszHTTPVlu); _xstprintf(tszFileExt, _X(".%s"), tszHTTPVlu); - BaseLib_OperatorString_GetKeyValue((*ppptszList)[3], "=", tszHTTPKey, tszHTTPVlu); + BaseLib_String_GetKeyValue((*ppptszList)[3], "=", tszHTTPKey, tszHTTPVlu); int nWidth = _ttxoi(tszHTTPVlu); if (1 == nOPCode) { - BaseLib_OperatorString_GetKeyValue((*ppptszList)[4], "=", tszHTTPKey, tszHTTPVlu); + BaseLib_String_GetKeyValue((*ppptszList)[4], "=", tszHTTPKey, tszHTTPVlu); int nHeight = _ttxoi(tszHTTPVlu); if (ModuleHelp_ImageSet_Resolution(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth, nHeight)) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Machine.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Machine.cpp index 726197e..d96efbc 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Machine.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Machine.cpp @@ -74,13 +74,13 @@ bool HTTPTask_TastPost_Machine(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in } int nListCount = 1; XENGINE_MACHINEINFO** ppSt_MachineInfo; - BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_MachineInfo, nListCount, sizeof(XENGINE_MACHINEINFO)); + BaseLib_Memory_Malloc((XPPPMEM)&ppSt_MachineInfo, nListCount, sizeof(XENGINE_MACHINEINFO)); (*ppSt_MachineInfo)[0] = st_MachineInfo; ModuleProtocol_Packet_Machine(tszRVBuffer, &nRVLen, &ppSt_MachineInfo, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_MachineInfo, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_MachineInfo, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取机器信息成功,机器名称:%s,服务名称:%s"), lpszClientAddr, st_MachineInfo.tszMachineSystem, st_MachineInfo.tszServiceName); } else @@ -91,7 +91,7 @@ bool HTTPTask_TastPost_Machine(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in ModuleProtocol_Packet_Machine(tszRVBuffer, &nRVLen, &ppSt_MachineInfo, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_MachineInfo, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_MachineInfo, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取机器信息列表成功,个数:%d"), lpszClientAddr, nListCount); } return true; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_P2PClient.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_P2PClient.cpp index db7998b..214d507 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_P2PClient.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_P2PClient.cpp @@ -35,7 +35,7 @@ bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, if (_tcsxlen(st_ClientPeer.st_PeerAddr.tszPublicAddr) <= 0) { _tcsxcpy(st_ClientPeer.st_PeerAddr.tszPublicAddr, lpszClientAddr); - BaseLib_OperatorIPAddr_SegAddr(st_ClientPeer.st_PeerAddr.tszPublicAddr, NULL); + APIAddr_IPAddr_SegAddr(st_ClientPeer.st_PeerAddr.tszPublicAddr, NULL); } st_ClientPeer.st_PeerTimer.dwUserTime = time(NULL); st_ClientPeer.st_PeerTimer.dwKeepAlive = time(NULL); @@ -102,7 +102,7 @@ bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, ModuleProtocol_Packet_P2PLan(tszRVBuffer, &nRVLen, &ppSt_ListClients, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListClients, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_ListClients, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,P2P请求同步局域网列表成功,公有地址:%s,私有地址:%s"), lpszClientAddr, st_P2PProtocol.tszPublicAddr, st_P2PProtocol.tszPrivateAddr); } else @@ -127,10 +127,10 @@ bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, { stl_ListClient.push_back(*ppSt_ListClients[j]); } - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListClients, nLanCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_ListClients, nLanCount); } } - BaseLib_OperatorMemory_Free((XPPPMEM)&ppszClientList, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppszClientList, nListCount); } ModuleProtocol_Packet_P2PWLan(tszRVBuffer, &nRVLen, &stl_ListClient); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); @@ -148,7 +148,7 @@ bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,P2P请求公有地址列表成功,地址个数:%d"), lpszClientAddr, nListCount); - BaseLib_OperatorMemory_Free((XPPPMEM)&pptszListAddr, nListCount); + BaseLib_Memory_Free((XPPPMEM)&pptszListAddr, nListCount); } else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_P2XP_REQHEART == unOperatorCode) { diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_ShortLink.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_ShortLink.cpp index a7d812a..fda040d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_ShortLink.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_ShortLink.cpp @@ -12,7 +12,7 @@ bool HTTPTask_TaskPost_SLProxy(LPCXSTR lpszClientAddr, LPCXSTR lpszUriStr, XCHAR memset(tszKey, '\0', sizeof(tszKey)); memset(tszValue, '\0', sizeof(tszValue)); - BaseLib_OperatorString_GetKeyValue((*ppptszHDRList)[i], ": ", tszKey, tszValue); + BaseLib_String_GetKeyValue((*ppptszHDRList)[i], ": ", tszKey, tszValue); if (0 == _tcsxnicmp(st_ServiceConfig.st_XShortLink.tszHostUrl, tszValue, _tcsxlen(st_ServiceConfig.st_XShortLink.tszHostUrl))) { bFound = true; @@ -77,7 +77,7 @@ bool HTTPTask_TaskPost_ShortLink(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, //0生成,1还原,2删除 if (0 == nType) { - BaseLib_OperatorTime_TimeToStr(st_ShortLink.tszCreateTime); + BaseLib_Time_TimeToStr(st_ShortLink.tszCreateTime); if (!HttpProtocol_ServerHelp_ShortLink(st_ShortLink.tszFullUrl, st_ShortLink.tszShotUrl, st_ShortLink.tszKeyUrl, st_ShortLink.nLength, st_ShortLink.tszCvtUrl)) { st_HDRParam.nHttpCode = 400; @@ -138,7 +138,7 @@ bool HTTPTask_TaskPost_ShortLink(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, ModuleProtocol_Packet_ShortLinkList(tszRVBuffer, &nRVLen, &ppSt_SLinkInfo, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_SLinkInfo, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_SLinkInfo, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作短连接查询成功,查询个数:%d"), lpszClientAddr, nListCount); } return true; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_WordFilter.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_WordFilter.cpp index 15c6673..3344853 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_WordFilter.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_WordFilter.cpp @@ -64,7 +64,7 @@ bool HTTPTask_TastPost_WordFilter(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, ModuleProtocol_Packet_WordFilterList(tszRVBuffer, &nRVLen, &ppSt_WordFilter, nListCount); HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_WordFilter, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_WordFilter, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求枚举敏感词列表成功,敏感词个数:%d"), lpszClientAddr, nListCount); } return true; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskRfc/RFCTask_Stun.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskRfc/RFCTask_Stun.cpp index 1e0e64a..64e279b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskRfc/RFCTask_Stun.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskRfc/RFCTask_Stun.cpp @@ -24,7 +24,7 @@ bool RFCTask_Stun_Parse(LPCXSTR lpszClientAddr, LPCXSTR lpszMSGBuffer, int nMSGL int nNLen = 0; XCHAR tszIPAddr[128] = {}; _tcsxcpy(tszIPAddr, lpszClientAddr); - BaseLib_OperatorIPAddr_SegAddr(tszIPAddr, &nIPPort); + APIAddr_IPAddr_SegAddr(tszIPAddr, &nIPPort); NatProtocol_StunNat_BuildMapAddress(tszRVBuffer, &nXLen, tszIPAddr, nIPPort, true); nRVLen += nXLen; -- Gitee From ab3e2cd75d7c994ef16d4f64e3629468e13c539a Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 4 Dec 2024 13:53:11 +0800 Subject: [PATCH 08/66] update:workflows --- .github/workflows/linuxbuild.yml | 3 ++- .github/workflows/macbuild.yml | 2 ++ .github/workflows/msbuild.yml | 7 ++++--- README.md | 3 +++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 04b5cf4..6928f61 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -18,7 +18,7 @@ jobs: matrix: include: - os: ubuntu-22.04 - #- os: ubuntu-24.04 + - os: ubuntu-24.04 runs-on: ${{ matrix.os }} steps: @@ -27,6 +27,7 @@ jobs: uses: actions/checkout@v4 with: ref: 'develop' + ref: 'v9' # 检出依赖的xengine仓库到指定的xengine目录 - name: Checkout dependency repository (xengine) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 15cb1e8..1690c24 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -16,6 +16,7 @@ jobs: matrix: include: - os: macos-13 + - os: macos-14 runs-on: ${{ matrix.os }} steps: @@ -23,6 +24,7 @@ jobs: uses: actions/checkout@v4 with: ref: 'develop' + ref: 'v9' # 检出依赖的xengine仓库到指定的xengine目录 - name: Checkout dependency repository (xengine) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index b2d577f..e0345b6 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -34,6 +34,7 @@ jobs: with: repository: libxengine/libxengine path: libxengine + ref: 'v9' - name: sub module checkout (opensource) run: | @@ -89,7 +90,7 @@ jobs: cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x86.bat - ./XEngine_HttpApp.exe -t + ./XEngine_APIServiceApp.exe -t shell: pwsh - name: Conditional Step for x64 Release if: matrix.configuration == 'Release' && matrix.platform == 'x64' @@ -105,12 +106,12 @@ jobs: if: matrix.configuration == 'Release' && matrix.platform == 'x64' uses: actions/upload-artifact@v4 with: - name: XEngine_HttpApp-x86_32-Windows + name: XEngine_APIServiceApp-x86_32-Windows path: XEngine_Release/ - name: Upload folder as artifact with x64 if: matrix.configuration == 'Release' && matrix.platform == 'x64' uses: actions/upload-artifact@v4 with: - name: XEngine_HttpApp-x86_64-Windows + name: XEngine_APIServiceApp-x86_64-Windows path: XEngine_Release/ \ No newline at end of file diff --git a/README.md b/README.md index 678f34d..dd64361 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,9 @@ c c++ interface api service 基于libXEngine开发并实现的一套简洁高性能跨平台接口服务 并且支持插件系统,dll(so,dylib)模块或者lua脚本 +## 注意 +编译发布版本将只在github上面发布. + #### 为什么选择我们 支持私有化部署,免费,安全.开源,可控 -- Gitee From 29cdb4e253da1ebd40ea53936ed388db9b485e0d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 4 Dec 2024 14:15:48 +0800 Subject: [PATCH 09/66] fixed:build error on newer vcpkg --- .github/workflows/msbuild.yml | 5 +++-- .../XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj | 8 ++++---- .../XEngine_HttpApp/XEngine_HttpApp.cpp | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index e0345b6..d206f9e 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: configuration: [Debug ,Release] - platform: [x86 ,x64] + platform: [x64] runs-on: windows-latest # 最新的 Windows 环境 @@ -78,9 +78,10 @@ jobs: # 配置 MSBuild 的路径,准备构建 VC++ 项目 - name: Setup MSBuild uses: microsoft/setup-msbuild@v2 + #编译 - name: Build Solution - run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /p:AdditionalOptions="/utf-8" + run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} #测试 - name: Conditional Step for x86 Release if: matrix.configuration == 'Release' && matrix.platform == 'x86' diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj index 545558b..489b571 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj @@ -72,22 +72,22 @@ true - $(XEngine_Include);D:\vcpkg\installed\x86-windows\include\opencv4;$(IncludePath) + $(XEngine_Include);$(vcpkgroot)\installed\x86-windows\include\opencv4;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) false - $(XEngine_Include);../XEngine_ThirdPart/opencc/include;$(IncludePath) + $(XEngine_Include);$(vcpkgroot)\installed\x86-windows\include\opencv4;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) true - $(XEngine_Include);..\XEngine_ModuleHelp;D:\vcpkg\installed\x64-windows\include\opencv4;$(IncludePath) + $(XEngine_Include);..\XEngine_ModuleHelp;$(vcpkgroot)\installed\x64-windows\include\opencv4;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) false - $(XEngine_Include);../XEngine_ThirdPart/opencc/include;$(IncludePath) + $(XEngine_Include);$(vcpkgroot)\installed\x64-windows\include\opencv4;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp index 5309386..06431c8 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp @@ -132,6 +132,7 @@ int main(int argc, char** argv) WSAStartup(MAKEWORD(2, 2), &st_WSAData); SetUnhandledExceptionFilter(Coredump_ExceptionFilter); + SetConsoleOutputCP(CP_UTF8); #endif bIsRun = true; int nRet = -1; -- Gitee From 6fdfb5562ec2a31ced9671004ab182cac202010d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Dec 2024 11:24:24 +0800 Subject: [PATCH 10/66] fixed:workflows build error --- .github/workflows/linuxbuild.yml | 2 +- .github/workflows/macbuild.yml | 2 +- .github/workflows/msbuild.yml | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 6928f61..823d9bf 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -27,7 +27,6 @@ jobs: uses: actions/checkout@v4 with: ref: 'develop' - ref: 'v9' # 检出依赖的xengine仓库到指定的xengine目录 - name: Checkout dependency repository (xengine) @@ -35,6 +34,7 @@ jobs: with: repository: libxengine/libxengine path: libxengine + ref: 'v9' - name: sub module checkout (opensource) run: | diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 1690c24..19a2643 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -24,7 +24,6 @@ jobs: uses: actions/checkout@v4 with: ref: 'develop' - ref: 'v9' # 检出依赖的xengine仓库到指定的xengine目录 - name: Checkout dependency repository (xengine) @@ -32,6 +31,7 @@ jobs: with: repository: libxengine/libxengine path: libxengine + ref: 'v9' - name: sub module checkout (opensource) run: | diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index d206f9e..ee29569 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -69,9 +69,10 @@ jobs: - name: Set up Dependency Environment Variables run: | echo "XENGINE_INCLUDE=${{ github.workspace }}/libxengine" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "XENGINE_LIB32=${{ github.workspace }}/libxengine/XEngine_Windows/x86" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "XENGINE_LIB64=${{ github.workspace }}/libxengine/XEngine_Windows/x64" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "XENGINE_LIB32=${{ github.workspace }}/libxengine/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "XENGINE_LIB64=${{ github.workspace }}/libxengine/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append shell: pwsh + - name: Set code page run: chcp 65001 -- Gitee From 15834130fd3477cd48f9d2b23bf0df189fd9981d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Dec 2024 11:26:32 +0800 Subject: [PATCH 11/66] improved:start parameter parse --- .../XEngine_ServiceApp/XEngine_HttpApp/XEngine_Configure.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Configure.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Configure.cpp index 3579a2b..1948a8f 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Configure.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Configure.cpp @@ -41,12 +41,12 @@ bool XEngine_Configure_Parament(int argc, char** argv) } else if (0 == _tcsxcmp("-d", argv[i])) { - st_ServiceConfig.bDeamon = _ttxoi(argv[i + 1]); + st_ServiceConfig.bDeamon = _ttxoi(argv[++i]); } else if (0 == _tcsxcmp("-r", argv[i])) { st_ServiceConfig.st_XReload.bReload = true; - st_ServiceConfig.st_XReload.byCode = _ttxoi(argv[i + 1]); + st_ServiceConfig.st_XReload.byCode = _ttxoi(argv[++i]); } else if (0 == _tcsxcmp("-t", argv[i])) { -- Gitee From 96433570182cfaf08b46ec476c6a5cc9e0dfff30 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 5 Dec 2024 14:35:29 +0800 Subject: [PATCH 12/66] fixed:linux build error --- .github/workflows/linuxbuild.yml | 2 +- .github/workflows/macbuild.yml | 2 +- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- XEngine_Source/XEngine_ModuleHelp/pch.h | 1 + XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 823d9bf..4479875 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -1,4 +1,4 @@ -name: ubuntu build workflows +name: linux build workflows on: push: diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 19a2643..851a7b8 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -16,7 +16,7 @@ jobs: matrix: include: - os: macos-13 - - os: macos-14 + #- os: macos-14 runs-on: ${{ matrix.os }} steps: diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 1570e6d..2d3fbb0 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -8,7 +8,7 @@ RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I /usr/include/opencv4 -I /usr/local/include/opencv4 -I /usr/local/include/lua LOADSO = -LIB = -lXEngine_BaseLib -lXClient_Socket +LIB = -lXEngine_BaseLib -lXClient_Socket -lNetHelp_APIAddr LIBEX = OBJECTS = ModuleHelp_IDCard.o ModuleHelp_Language.o ModuleHelp_P2PClient.o ModuleHelp_Locker.o ModuleHelp_QRCode.o ModuleHelp_SocketTest.o ModuleHelp_ImageGet.o ModuleHelp_ImageSet.o pch.o diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.h b/XEngine_Source/XEngine_ModuleHelp/pch.h index 9af910a..a21cbcc 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.h +++ b/XEngine_Source/XEngine_ModuleHelp/pch.h @@ -37,6 +37,7 @@ #include #include #include +#include #endif #include #endif diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index c71ec2d..85dbe29 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -10,7 +10,7 @@ LOADHDR = -I ./ LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ -L ../../XEngine_Depend/XEngine_Module/jsoncpp -L ../../XEngine_Depend/XEngine_Module/XEngine_InfoReport \ -L ../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac -L ../../XEngine_DBDepend/XEngine_PhoneData/Source/C/XEngine_APIModulePhone -LIB = -lXEngine_BaseSafe -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXClient_Stream -lXClient_APIHelp -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lRfcComponents_NatProtocol -lRfcComponents_NTPProtocol -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ +LIB = -lXEngine_BaseSafe -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption -lXClient_Stream -lXClient_APIHelp -lNetHelp_APIAddr -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lRfcComponents_NatProtocol -lRfcComponents_NTPProtocol -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ -lXEngine_ModuleConfigure -lXEngine_ModuleDatabase -lXEngine_ModuleProtocol -lXEngine_ModuleSystem -lXEngine_ModuleHelp -lXEngine_ModulePlugin \ -ljsoncpp -lXEngine_InfoReport \ -lXEngine_APIModuleIPMac -lXEngine_APIModulePhone -- Gitee From ee6d420692cd1b5e35a57a126d58cd02c99cb401 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 6 Dec 2024 11:19:40 +0800 Subject: [PATCH 13/66] fixed:macos build error --- .github/workflows/linuxbuild.yml | 2 +- XEngine_Source/XEngine_ModuleProtocol/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 4479875..58907c0 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-22.04 + #- os: ubuntu-22.04 - os: ubuntu-24.04 runs-on: ${{ matrix.os }} diff --git a/XEngine_Source/XEngine_ModuleProtocol/Makefile b/XEngine_Source/XEngine_ModuleProtocol/Makefile index 093904b..1178006 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/Makefile +++ b/XEngine_Source/XEngine_ModuleProtocol/Makefile @@ -8,7 +8,7 @@ RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp -LIB = -lXEngine_BaseLib -lNetHelp_XSocket -lXEngine_SystemApi -ljsoncpp +LIB = -lXEngine_BaseLib -lNetHelp_XSocket -lXEngine_SystemApi -lNetHelp_APIAddr -ljsoncpp LIBEX = OBJECTS = ModuleProtocol_Packet.o ModuleProtocol_Parse.o pch.o -- Gitee From b1155ce5f304e24f069c1c489de8e22b21e17757 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 14:47:45 +0800 Subject: [PATCH 14/66] update:match xengine v9.2 --- XEngine_Source/XEngine_Depend | 2 +- .../ModuleProtocol_Packet/ModuleProtocol_Packet.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/XEngine_Source/XEngine_Depend b/XEngine_Source/XEngine_Depend index 1c1452f..60eac07 160000 --- a/XEngine_Source/XEngine_Depend +++ b/XEngine_Source/XEngine_Depend @@ -1 +1 @@ -Subproject commit 1c1452f13720d22834e09c7e4e78042698411486 +Subproject commit 60eac0753192a4a66fc90b561d8fde4e5282e2d9 diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index a7ae5fd..d569fda 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -1342,15 +1342,15 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, i st_JsonDisk["DiskTotal"] = (Json::UInt64)st_DiskInfo.dwDiskTotal; st_JsonDisk["DiskName"] = tszDriveStr; - st_JsonCpu["CpuNumber"] = st_CPUInfo.nCpuNumber; - st_JsonCpu["CpuSpeed"] = st_CPUInfo.nCpuSpeed; - st_JsonCpu["CpuName"] = st_CPUInfo.tszCpuName; + st_JsonCpu["CpuNumber"] = st_CPUInfo.nCPUNumber; + st_JsonCpu["CpuSpeed"] = st_CPUInfo.nCPUSpeed; + st_JsonCpu["CpuName"] = st_CPUInfo.tszCPUName; st_JsonMemory["MemoryFree"] = (Json::UInt64)st_MemoryInfo.dwMemory_Free; st_JsonMemory["MemoryTotal"] = (Json::UInt64)st_MemoryInfo.dwMemory_Total; st_JsonSerial["DiskSerial"] = st_SDKSerial.tszDiskSerial; - st_JsonSerial["CpuSerial"] = st_SDKSerial.tszCpuSerial; + st_JsonSerial["CpuSerial"] = st_SDKSerial.tszCPUSerial; st_JsonSerial["BoardSerial"] = st_SDKSerial.tszBoardSerial; st_JsonSerial["SystemSerial"] = st_SDKSerial.tszSystemSerial; -- Gitee From 0684620a7d4aa2bc15d3143f3a6ab88e7da5bd5c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 14:53:04 +0800 Subject: [PATCH 15/66] added:more platform support for workflows --- .github/workflows/linuxbuild.yml | 14 ++++++++++---- .github/workflows/macbuild.yml | 12 +++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml index 58907c0..9bd98f1 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/linuxbuild.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: include: - #- os: ubuntu-22.04 + - os: ubuntu-22.04 - os: ubuntu-24.04 runs-on: ${{ matrix.os }} @@ -34,7 +34,6 @@ jobs: with: repository: libxengine/libxengine path: libxengine - ref: 'v9' - name: sub module checkout (opensource) run: | @@ -68,8 +67,15 @@ jobs: cd XEngine_Release ./XEngine_APIServiceApp -t - - name: Upload folder as artifact with ubuntu + - name: Upload folder as artifact with ubuntu22.04 + if: matrix.os == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: - name: XEngine_APIServiceApp-x86_64-Ubuntu + name: XEngine_APIServiceApp-x86_64-Ubuntu-22.04 + path: XEngine_Release/ + - name: Upload folder as artifact with ubuntu24.04 + if: matrix.os == 'ubuntu-24.04' + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-x86_64-Ubuntu-24.04 path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 851a7b8..b8e14da 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -16,7 +16,7 @@ jobs: matrix: include: - os: macos-13 - #- os: macos-14 + - os: macos-14 runs-on: ${{ matrix.os }} steps: @@ -31,7 +31,6 @@ jobs: with: repository: libxengine/libxengine path: libxengine - ref: 'v9' - name: sub module checkout (opensource) run: | @@ -69,8 +68,15 @@ jobs: cd XEngine_Release ./XEngine_APIServiceApp -t - - name: Upload folder as artifact with mac + - name: Upload folder as artifact with mac x64 + if: matrix.os == 'macos-13' uses: actions/upload-artifact@v4 with: name: XEngine_APIServiceApp-x86_64-Mac + path: XEngine_Release/ + - name: Upload folder as artifact with mac arm + if: matrix.os == 'macos-14' + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-Arm64-Mac path: XEngine_Release/ \ No newline at end of file -- Gitee From 358d57b695c0c3e2dc40b174a694c6d3ec26a941 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 15:21:45 +0800 Subject: [PATCH 16/66] fixed:msbuild workflows modify:linuxbuild name --- .github/workflows/msbuild.yml | 3 +-- .github/workflows/release.yml | 4 ++-- .github/workflows/{linuxbuild.yml => ubuntubuild.yml} | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) rename .github/workflows/{linuxbuild.yml => ubuntubuild.yml} (98%) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index ee29569..9f06e6f 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: configuration: [Debug ,Release] - platform: [x64] + platform: [x86 ,x64] runs-on: windows-latest # 最新的 Windows 环境 @@ -34,7 +34,6 @@ jobs: with: repository: libxengine/libxengine path: libxengine - ref: 'v9' - name: sub module checkout (opensource) run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c7f076..408025f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,10 @@ jobs: with: fetch-depth: 0 - - name: Download linuxbuild + - name: Download ubuntubuild uses: dawidd6/action-download-artifact@v6 with: - workflow: linuxbuild.yml + workflow: ubuntubuild.yml workflow_conclusion: success check_artifacts: false skip_unpack: true diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/ubuntubuild.yml similarity index 98% rename from .github/workflows/linuxbuild.yml rename to .github/workflows/ubuntubuild.yml index 9bd98f1..8546c64 100644 --- a/.github/workflows/linuxbuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -1,4 +1,4 @@ -name: linux build workflows +name: ubuntu build workflows on: push: -- Gitee From e2ace09b7c1d1cf60ea168a0c5a6b045812e7fdb Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 15:28:29 +0800 Subject: [PATCH 17/66] added:new dir actions --- .github/workflows/macbuild.yml | 1 + .github/workflows/msbuild.yml | 1 + .github/workflows/ubuntubuild.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index b8e14da..b7aca5d 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -6,6 +6,7 @@ on: paths: - 'XEngine_Source/**' - 'XEngine_Release/**' + - '.github/**' permissions: contents: read diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 9f06e6f..03fff5f 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -6,6 +6,7 @@ on: paths: - 'XEngine_Source/**' - 'XEngine_Release/**' + - '.github/**' permissions: contents: read diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index 8546c64..3600ec2 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -6,6 +6,7 @@ on: paths: - 'XEngine_Source/**' - 'XEngine_Release/**' + - '.github/**' permissions: contents: read -- Gitee From d9c00e44790b1861fbdbad24751c8da43d425885 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 16:20:56 +0800 Subject: [PATCH 18/66] update:mac and linux xengine match --- .github/workflows/macbuild.yml | 24 +++++++++++++++++++----- .github/workflows/ubuntubuild.yml | 19 +++++++++++++++++-- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index b7aca5d..cc3717b 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -37,20 +37,34 @@ jobs: run: | git submodule init git submodule update - - - name: brew install - run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - name: install library run: brew install lua opencv qrencode # 设置依赖库的环境变量 - - name: Set up Dependency Environment Variables + - name: Set up Dependency x86_64 Environment run: | cd libxengine chmod 777 * ./XEngine_LINEnv.sh -i 3 - cd .. + - name: Set up Dependency Arm64 Environment + if: matrix.os == 'macos-14' + run: | + cd libxengine + chmod 777 * + ./XEngine_LINEnv.sh -i 0 + + latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) + echo -e $latest_tag + + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip + unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 + cd XEngine_Mac_Arm64 + + sudo mkdir -p /usr/local/include + sudo mkdir -p /usr/local/lib + sudo cp -rf ./XEngine_Include /usr/local/include + sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; #编译 - name: make debug run: | diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index 3600ec2..67dde2e 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -45,12 +45,27 @@ jobs: run: sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev # 设置依赖库的环境变量 - - name: Set up Dependency Environment Variables + - name: Set up Dependency ubuntu24.04 Environment + if: matrix.os == 'ubuntu-24.04' run: | cd libxengine chmod 777 * sudo ./XEngine_LINEnv.sh -i 3 - cd .. + - name: Set up Dependency ubuntu22.04 Environment + if: matrix.os == 'ubuntu-22.04' + run: | + cd libxengine + chmod 777 * + sudo ./XEngine_LINEnv.sh -i 0 + + latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_22.04_x86-64.zip + unzip ./XEngine_UBuntu_22.04_x86-64.zip -d ./XEngine_UBuntu_22.04_x86-64 + cd XEngine_UBuntu_22.04_x86-64 + + sudo cp -rf ./XEngine_Include /usr/local/include + sudo find ./XEngine_Linux -name "*.so" -exec cp {} /usr/local/lib \; + sudo ldconfig #编译 - name: make run: | -- Gitee From eeb1f1e8cd4da4ef769b03e707e61449f6415c5b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 16:38:02 +0800 Subject: [PATCH 19/66] update:make and workflows --- .github/workflows/macbuild.yml | 3 ++- .github/workflows/ubuntubuild.yml | 5 ++++- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index cc3717b..3e9d7eb 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -64,7 +64,8 @@ jobs: sudo mkdir -p /usr/local/include sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include - sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; + sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; + ls -l /opt/homebrew/opt/ #编译 - name: make debug run: | diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index 67dde2e..9a7bb06 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -42,7 +42,10 @@ jobs: git submodule update - name: install library - run: sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev + run: | + sudo apt update -y + sudo apt upgrade -y + sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev -y # 设置依赖库的环境变量 - name: Set up Dependency ubuntu24.04 Environment diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 2d3fbb0..ac71966 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,6 +58,8 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib + LOADHDR += -I /opt/homebrew/opt/opencv4/include -I /opt/homebrew/opt/lua/include + LOADSO += -L /opt/homebrew/opt/opencv4/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ -- Gitee From b3076bc63ca8b38dc697d26735c79ac2d8ff2e32 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 16:57:27 +0800 Subject: [PATCH 20/66] update:workflows/macbuild.yml --- .github/workflows/macbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 3e9d7eb..4cf3f4a 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -43,6 +43,7 @@ jobs: # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment + if: matrix.os == 'macos-13' run: | cd libxengine chmod 777 * @@ -55,7 +56,6 @@ jobs: ./XEngine_LINEnv.sh -i 0 latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) - echo -e $latest_tag wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 @@ -65,7 +65,7 @@ jobs: sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -l /opt/homebrew/opt/ + ls -l /opt/homebrew/opt/opencv #编译 - name: make debug run: | -- Gitee From d2ad2e9fbdbc8d4032529684a6c024dc097f32fd Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:06:39 +0800 Subject: [PATCH 21/66] modify:ls mac dir --- .github/workflows/macbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 4cf3f4a..53e7480 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -65,7 +65,7 @@ jobs: sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -l /opt/homebrew/opt/opencv + ls -al /opt/homebrew/opt/opencv #编译 - name: make debug run: | -- Gitee From 116ed34295f5ee9a9ae2a45f319729eb45ef06bb Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:15:03 +0800 Subject: [PATCH 22/66] show file --- .github/workflows/macbuild.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 53e7480..5cd97e3 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -66,6 +66,7 @@ jobs: sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; ls -al /opt/homebrew/opt/opencv + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15 #编译 - name: make debug run: | -- Gitee From 19d88e0f42ff956a2d98d9130ce67ced224e162b Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:21:34 +0800 Subject: [PATCH 23/66] update workflows/macbuild.yml --- .github/workflows/macbuild.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 5cd97e3..eb5e929 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -65,8 +65,9 @@ jobs: sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -al /opt/homebrew/opt/opencv - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15 + ls -al /opt/homebrew/opt/opencv4/include + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib #编译 - name: make debug run: | -- Gitee From 4a9ef8f180790b150c92202c464b646d9367e997 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:26:10 +0800 Subject: [PATCH 24/66] update:1 --- .github/workflows/macbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index eb5e929..1f951b8 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -65,7 +65,7 @@ jobs: sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -al /opt/homebrew/opt/opencv4/include + ls -al /opt/homebrew/opt/opencv4 ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib #编译 -- Gitee From 7a639396fb8576a9d415cf40d1e9847eba1ea8fe Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:37:43 +0800 Subject: [PATCH 25/66] added:get image text support --- .github/workflows/macbuild.yml | 62 +------ .../ModuleConfig_Define.h | 6 + .../ModuleConfigure_Json.cpp | 11 ++ .../XEngine_ModuleHelp/ModuleHelp_Define.h | 57 ++++++ .../XEngine_ModuleHelp/ModuleHelp_Error.h | 6 +- .../ModuleHelp_Image/ModuleHelp_ImageGet.cpp | 165 ++++++++++++++++++ .../ModuleHelp_Image/ModuleHelp_ImageGet.h | 7 + .../XEngine_ModuleHelp/XEngine_ModuleHelp.def | 3 + .../XEngine_ModuleHelp.vcxproj | 2 +- XEngine_Source/XEngine_ModuleHelp/pch.cpp | 12 ++ XEngine_Source/XEngine_ModuleHelp/pch.h | 2 + .../ModuleProtocol_Define.h | 29 +++ .../ModuleProtocol_Packet.cpp | 59 +++++++ .../ModuleProtocol_Packet.h | 1 + .../XEngine_ModuleProtocol.def | 1 + XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 + .../XEngine_HttpApp/XEngine_HttpApp.cpp | 8 + .../XEngine_TaskPost/TaskPost_Image.cpp | 30 +++- 18 files changed, 401 insertions(+), 64 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 1f951b8..b228096 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -39,62 +39,10 @@ jobs: git submodule update - name: install library - run: brew install lua opencv qrencode - - # 设置依赖库的环境变量 - - name: Set up Dependency x86_64 Environment - if: matrix.os == 'macos-13' - run: | - cd libxengine - chmod 777 * - ./XEngine_LINEnv.sh -i 3 - - name: Set up Dependency Arm64 Environment - if: matrix.os == 'macos-14' run: | - cd libxengine - chmod 777 * - ./XEngine_LINEnv.sh -i 0 + brew install lua opencv qrencode + ls -al /opt/homebrew/opt/opencv4 + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib - latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) - - wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip - unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 - cd XEngine_Mac_Arm64 - - sudo mkdir -p /usr/local/include - sudo mkdir -p /usr/local/lib - sudo cp -rf ./XEngine_Include /usr/local/include - sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -al /opt/homebrew/opt/opencv4 - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib - #编译 - - name: make debug - run: | - cd XEngine_Source - make PLATFORM=mac - make PLATFORM=mac FLAGS=InstallAll - make PLATFORM=mac FLAGS=CleanAll - - name: make release - run: | - cd XEngine_Source - make PLATFORM=mac RELEASE=1 - make PLATFORM=mac FLAGS=InstallAll - make PLATFORM=mac FLAGS=CleanAll - - name: test - run: | - cd XEngine_Release - ./XEngine_APIServiceApp -t - - - name: Upload folder as artifact with mac x64 - if: matrix.os == 'macos-13' - uses: actions/upload-artifact@v4 - with: - name: XEngine_APIServiceApp-x86_64-Mac - path: XEngine_Release/ - - name: Upload folder as artifact with mac arm - if: matrix.os == 'macos-14' - uses: actions/upload-artifact@v4 - with: - name: XEngine_APIServiceApp-Arm64-Mac - path: XEngine_Release/ \ No newline at end of file + \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index e70b6cb..4084439 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -80,6 +80,12 @@ typedef struct XCHAR tszHostUrl[MAX_PATH]; //主机地址 int nHTTPCode; //转发模式,301 永久,302 临时 }st_XShortLink; + struct + { + bool bEnable; //是否启用 + XCHAR tszImagePath[MAX_PATH]; //图片文字识别配置 + XCHAR tszImageLanguage[MAX_PATH]; //语言支持 + }st_XImageText; struct { bool bReload; //配置重载 diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 9435d62..3ef04b9 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -186,6 +186,17 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE _tcsxcpy(pSt_ServerConfig->st_XShortLink.tszHostUrl, st_JsonXShort["tszHostUrl"].asCString()); pSt_ServerConfig->st_XShortLink.nHTTPCode = st_JsonXShort["nHTTPCode"].asInt(); + if (st_JsonRoot["XImageText"].empty() || (3 != st_JsonRoot["XImageText"].size())) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XSLINK; + return false; + } + Json::Value st_JsonXImageText = st_JsonRoot["XImageText"]; + pSt_ServerConfig->st_XImageText.bEnable = st_JsonXImageText["bEnable"].asBool(); + _tcsxcpy(pSt_ServerConfig->st_XImageText.tszImagePath, st_JsonXImageText["tszImagePath"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XImageText.tszImageLanguage, st_JsonXImageText["tszImageLanguage"].asCString()); + if (st_JsonRoot["XVerification"].empty() || (3 != st_JsonRoot["XVerification"].size())) { Config_IsErrorOccur = true; diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h index a9407c2..730994e 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h @@ -956,6 +956,63 @@ extern "C" bool ModuleHelp_SocketTest_StopDatas(XNETHANDLE xhToken); *********************************************************************/ extern "C" bool ModuleHelp_ImageGet_Attr(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo = NULL, XENGINE_IMGEXTATTR* pSt_ExtAttr = NULL); /******************************************************************** +函数名称:ModuleHelp_ImageGet_TextInit +函数功能:初始化图像文字转换 + 参数.一:lpszPath + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入文本语言数据路径 + 参数.二:lpszLanguage + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入加载的语言数据.通过+连接 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleHelp_ImageGet_TextInit(LPCXSTR lpszPath, LPCXSTR lpszLanguage); +/******************************************************************** +函数名称:ModuleHelp_ImageGet_TextGet +函数功能:获取图像文本内容 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入图像内存 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入图像大小 + 参数.三:ppptszListStr + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出获取到的内容列表 + 参数.四:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleHelp_ImageGet_TextGet(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszListStr, int* pInt_ListCount); +/******************************************************************** +函数名称:ModuleHelp_ImageGet_TextDestory +函数功能:销毁文本提取功能 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleHelp_ImageGet_TextDestory(); +/******************************************************************** 函数名称:ModuleHelp_ImageSet_Resolution 函数功能:分辨率调整 参数.一:lpszSrcFile diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Error.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Error.h index 6bdd937..4b75530 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Error.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Error.h @@ -65,4 +65,8 @@ #define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_OPEN 0xD6002 //打开文件失败 #define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_WRITE 0xD6003 //写入数据失败 #define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_MALLOC 0xD6004 //申请内存失败 -#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT 0xD6005 //功能没有启用无法继续 \ No newline at end of file +#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT 0xD6005 //功能没有启用无法继续 +#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_CRAETE 0xD6006 //创建句柄失败 +#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_INIT 0xD6007 //初始化失败 +#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_READ 0xD6008 //读取数据失败 +#define ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_GET 0xD6009 //获取数据失败 \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.cpp index c8b49ea..535f97e 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.cpp @@ -87,6 +87,171 @@ bool CModuleHelp_ImageGet::ModuleHelp_ImageGet_Attr(LPCXSTR lpszMsgBuffer, int n ModuleHelp_IsErrorOccur = true; ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; return false; +#endif + return true; +} +/******************************************************************** +函数名称:ModuleHelp_ImageGet_TextInit +函数功能:初始化图像文字转换 + 参数.一:lpszPath + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入文本语言数据路径 + 参数.二:lpszLanguage + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入加载的语言数据.通过+连接 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleHelp_ImageGet::ModuleHelp_ImageGet_TextInit(LPCXSTR lpszPath, LPCXSTR lpszLanguage) +{ + ModuleHelp_IsErrorOccur = false; + + if ((NULL == lpszPath) || (NULL == lpszLanguage)) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_PARAMRT; + return false; + } +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + // 初始化 Tesseract API + pSt_APITesseract = TessBaseAPICreate(); + if (NULL == pSt_APITesseract) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_CRAETE; + return false; + } + if (0 != TessBaseAPIInit3(pSt_APITesseract, lpszPath, lpszLanguage)) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_INIT; + TessBaseAPIDelete(pSt_APITesseract); + return false; + } +#else + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; + return false; +#endif + return true; +} +/******************************************************************** +函数名称:ModuleHelp_ImageGet_TextGet +函数功能:获取图像文本内容 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入图像内存 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入图像大小 + 参数.三:ppptszListStr + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出获取到的内容列表 + 参数.四:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleHelp_ImageGet::ModuleHelp_ImageGet_TextGet(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszListStr, int* pInt_ListCount) +{ + ModuleHelp_IsErrorOccur = false; + + if (NULL == lpszMsgBuffer) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_PARAMRT; + return false; + } +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + // 加载图片 + Pix* pSt_PIXImage = pixReadMem((const l_uint8*)lpszMsgBuffer, nMsgLen); + if (NULL == pSt_PIXImage) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_READ; + return false; + } + // 设置图像到 Tesseract + TessBaseAPISetImage2(pSt_APITesseract, pSt_PIXImage); + + list stl_ListStr; + // 执行 OCR + char* ptszOStr = TessBaseAPIGetUTF8Text(pSt_APITesseract); + if (NULL == ptszOStr) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_GET; + return false; + } + XCHAR tszUTFBuffer[8192] = {}; + _tcsxcpy(tszUTFBuffer, ptszOStr); + TessDeleteText(ptszOStr); + + XCHAR* ptszTmpStr = NULL; + XCHAR* ptszTokStr = _tcsxtok_s(tszUTFBuffer, _X("\n"), &ptszTmpStr); + while (NULL != ptszTokStr) + { + stl_ListStr.push_back(ptszTokStr); + ptszTokStr = _tcsxtok_s(NULL, _X("\n"), &ptszTmpStr); + } + + *pInt_ListCount = stl_ListStr.size(); + BaseLib_Memory_Malloc((XPPPMEM)ppptszListStr, *pInt_ListCount, MAX_PATH); + + auto stl_ListIterator = stl_ListStr.begin(); + for (int i = 0; stl_ListIterator != stl_ListStr.end(); i++, stl_ListIterator++) + { +#ifdef _MSC_BUILD + XCHAR tszGBKBuffer[2048] = {}; + _tcsxcpy((*ppptszListStr)[i], BaseLib_Charset_UTFToAnsi(stl_ListIterator->c_str(), tszGBKBuffer)); +#else + _tcsxcpy((*ppptszListStr)[i], stl_ListIterator->c_str()); +#endif + } + // 释放资源 + pixDestroy(&pSt_PIXImage); +#else + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; + return false; +#endif + return true; +} +/******************************************************************** +函数名称:ModuleHelp_ImageGet_TextDestory +函数功能:销毁文本提取功能 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleHelp_ImageGet::ModuleHelp_ImageGet_TextDestory() +{ + ModuleHelp_IsErrorOccur = false; + +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + TessBaseAPIDelete(pSt_APITesseract); +#else +ModuleHelp_IsErrorOccur = true; +ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; +return false; #endif return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.h index d5f85ad..a1b19bb 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageGet.h @@ -18,6 +18,13 @@ public: ~CModuleHelp_ImageGet(); public: bool ModuleHelp_ImageGet_Attr(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo = NULL, XENGINE_IMGEXTATTR* pSt_ExtAttr = NULL); +public: + bool ModuleHelp_ImageGet_TextInit(LPCXSTR lpszPath, LPCXSTR lpszLanguage); + bool ModuleHelp_ImageGet_TextGet(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszListStr, int* pInt_ListCount); + bool ModuleHelp_ImageGet_TextDestory(); protected: private: +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + TessBaseAPI* pSt_APITesseract = NULL; +#endif }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def index 03a2402..20cfafe 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def @@ -39,6 +39,9 @@ EXPORTS ModuleHelp_SocketTest_StopDatas ModuleHelp_ImageGet_Attr + ModuleHelp_ImageGet_TextInit + ModuleHelp_ImageGet_TextGet + ModuleHelp_ImageGet_TextDestory ModuleHelp_ImageSet_Resolution ModuleHelp_ImageSet_Flip ModuleHelp_ImageSet_ColorCvt diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj index 489b571..abd7751 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.vcxproj @@ -72,7 +72,7 @@ true - $(XEngine_Include);$(vcpkgroot)\installed\x86-windows\include\opencv4;$(IncludePath) + $(XEngine_Include);$(vcpkgroot)\installed\x86-windows\include\opencv4;..\XEngine_ModuleHelp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.cpp b/XEngine_Source/XEngine_ModuleHelp/pch.cpp index db02eb9..7f13afa 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/pch.cpp @@ -181,6 +181,18 @@ extern "C" bool ModuleHelp_ImageGet_Attr(LPCXSTR lpszMsgBuffer, int nMsgLen, XEN { return m_ImageGet.ModuleHelp_ImageGet_Attr(lpszMsgBuffer, nMsgLen, pSt_BaseInfo, pSt_ExtAttr); } +extern "C" bool ModuleHelp_ImageGet_TextInit(LPCXSTR lpszPath, LPCXSTR lpszLanguage) +{ + return m_ImageGet.ModuleHelp_ImageGet_TextInit(lpszPath, lpszLanguage); +} +extern "C" bool ModuleHelp_ImageGet_TextGet(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszListStr, int* pInt_ListCount) +{ + return m_ImageGet.ModuleHelp_ImageGet_TextGet(lpszMsgBuffer, nMsgLen, ppptszListStr, pInt_ListCount); +} +extern "C" bool ModuleHelp_ImageGet_TextDestory() +{ + return m_ImageGet.ModuleHelp_ImageGet_TextDestory(); +} extern "C" bool ModuleHelp_ImageSet_Resolution(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR * ptszDstBuffer, int* pInt_DLen, int nWidth, int nHeight) { return m_ImageSet.ModuleHelp_ImageSet_Resolution(lpszSrcBuffer, nSLen, lpszExtFile, ptszDstBuffer, pInt_DLen, nWidth, nHeight); diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.h b/XEngine_Source/XEngine_ModuleHelp/pch.h index a21cbcc..48769d0 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.h +++ b/XEngine_Source/XEngine_ModuleHelp/pch.h @@ -30,6 +30,8 @@ #include #include #include +#include +#include #else #include #include diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index 1594466..b90400f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -627,6 +627,35 @@ extern "C" bool ModuleProtocol_Packet_WordFilterList(XCHAR* ptszMsgBuffer, int* *********************************************************************/ extern "C" bool ModuleProtocol_Packet_ImageAttr(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo, XENGINE_IMGEXTATTR* pSt_ExtAttr); /******************************************************************** +函数名称:ModuleProtocol_Packet_ImageText +函数功能:图片文本识别打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pppListStr + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的文本列表 + 参数.四:nListCount + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_ImageText(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppListStr, int nListCount); +/******************************************************************** 函数名称:ModuleProtocol_Packet_EnumDevice 函数功能:打包枚举的设备信息 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index d569fda..7d628f2 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -1093,6 +1093,65 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_ImageAttr(XCHAR* ptszMsgBuffe return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_ImageText +函数功能:图片文本识别打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pppListStr + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的文本列表 + 参数.四:nListCount + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要列表个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_ImageText(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppListStr, int nListCount) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonArray; + Json::StreamWriterBuilder st_JsonBuilder; + + for (int i = 0; i < nListCount; i++) + { + Json::Value st_JsonObject; + st_JsonObject["TextStr"] = (*pppListStr)[i]; + st_JsonArray.append(st_JsonObject); + } + st_JsonRoot["Count"] = nListCount; + st_JsonRoot["data"] = st_JsonArray; + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_EnumDevice 函数功能:打包枚举的设备信息 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 4648633..fbbd1b8 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -39,6 +39,7 @@ public: bool ModuleProtocol_Packet_WordFilter(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WORDFILTER* pSt_WordFilter); bool ModuleProtocol_Packet_WordFilterList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WORDFILTER*** pppSt_WordFilter, int nListCount); bool ModuleProtocol_Packet_ImageAttr(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo, XENGINE_IMGEXTATTR* pSt_ExtAttr); + bool ModuleProtocol_Packet_ImageText(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppListStr, int nListCount); bool ModuleProtocol_Packet_EnumDevice(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AVHELP_DEVICEINFO*** pppSt_AudioList, AVHELP_DEVICEINFO*** pppSt_VideoList, int nACount, int nVCount); bool ModuleProtocol_Packet_ListFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppszFileList, int nListCount); bool ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, int* pInt_Len); diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 67bb233..acc4d27 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -20,6 +20,7 @@ EXPORTS ModuleProtocol_Packet_WordFilter ModuleProtocol_Packet_WordFilterList ModuleProtocol_Packet_ImageAttr + ModuleProtocol_Packet_ImageText ModuleProtocol_Packet_EnumDevice ModuleProtocol_Packet_ListFile ModuleProtocol_Packet_HardWare diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 51e480b..e4b3536 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -99,6 +99,10 @@ extern "C" bool ModuleProtocol_Packet_ImageAttr(XCHAR * ptszMsgBuffer, int* pInt { return m_ProtocolPacket.ModuleProtocol_Packet_ImageAttr(ptszMsgBuffer, pInt_MsgLen, pSt_BaseInfo, pSt_ExtAttr); } +extern "C" bool ModuleProtocol_Packet_ImageText(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppListStr, int nListCount) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_ImageText(ptszMsgBuffer, pInt_MsgLen, pppListStr, nListCount); +} extern "C" bool ModuleProtocol_Packet_EnumDevice(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, AVHELP_DEVICEINFO * **pppSt_AudioList, AVHELP_DEVICEINFO * **pppSt_VideoList, int nACount, int nVCount) { return m_ProtocolPacket.ModuleProtocol_Packet_EnumDevice(ptszMsgBuffer, pInt_MsgLen, pppSt_AudioList, pppSt_VideoList, nACount, nVCount); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp index 06431c8..9395061 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp @@ -55,6 +55,7 @@ void ServiceApp_Stop(int signo) APIModule_PhoneNumber_UnInit(); ModulePlugin_Loader_Destory(); ModuleHelp_P2PClient_Destory(); + ModuleHelp_ImageGet_TextDestory(); //销毁日志资源 HelpComponents_XLog_Destroy(xhLog); //销毁线程 @@ -225,6 +226,12 @@ int main(int argc, char** argv) #else XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,初始化二维码配置文件:%s 失败,因为QR编译脚本被关闭"), st_ServiceConfig.st_XConfig.tszConfigQRCode); #endif + + if (!ModuleHelp_ImageGet_TextInit(st_ServiceConfig.st_XImageText.tszImagePath, st_ServiceConfig.st_XImageText.tszImageLanguage)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化图像文字识别失败,错误:%lX"), ModuleHelp_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } //初始化数据库 if (st_ServiceConfig.st_XSql.bEnable && !bIsTest) { @@ -558,6 +565,7 @@ XENGINE_SERVICEAPP_EXIT: APIModule_PhoneNumber_UnInit(); ModulePlugin_Loader_Destory(); ModuleHelp_P2PClient_Destory(); + ModuleHelp_ImageGet_TextDestory(); //销毁日志资源 HelpComponents_XLog_Destroy(xhLog); //销毁线程 diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index 4c2e90f..24d8c42 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -32,6 +32,26 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int int nOPCode = _ttxoi(tszHTTPVlu); //0获取,1设置 if (0 == nOPCode) + { + XCHAR** pptszListStr; + int nListCount = 0; + if (ModuleHelp_ImageGet_TextGet(lpszMsgBuffer, nMsgLen, &pptszListStr, &nListCount)) + { + ModuleProtocol_Packet_ImageText(ptszRVBuffer, &nRVLen, &pptszListStr, nListCount); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + BaseLib_Memory_Free((XPPPMEM)&pptszListStr, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取识别图片文字成功,获取个数:%d"), lpszClientAddr, nListCount); + } + else + { + st_HDRParam.nHttpCode = 501; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求获取识别图片文字失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); + } + } + else if (1 == nOPCode) { XENGINE_IMGBASEATTR st_BaseInfo; XENGINE_IMGEXTATTR st_ExtAttr; @@ -71,7 +91,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int BaseLib_String_GetKeyValue((*ppptszList)[3], "=", tszHTTPKey, tszHTTPVlu); int nWidth = _ttxoi(tszHTTPVlu); - if (1 == nOPCode) + if (2 == nOPCode) { BaseLib_String_GetKeyValue((*ppptszList)[4], "=", tszHTTPKey, tszHTTPVlu); int nHeight = _ttxoi(tszHTTPVlu); @@ -91,7 +111,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int } } - else if (2 == nOPCode) + else if (3 == nOPCode) { if (ModuleHelp_ImageSet_ColorCvt(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, (ENUM_XENGINE_IMAGE_COLOR_INFO)nWidth)) { @@ -107,7 +127,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像颜色空间转换失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } - else if (3 == nOPCode) + else if (4 == nOPCode) { if (ModuleHelp_ImageSet_Flip(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) { @@ -123,7 +143,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像翻转失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } - else if (4 == nOPCode) + else if (5 == nOPCode) { if (ModuleHelp_ImageSet_Ligth(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) { @@ -139,7 +159,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像亮度失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } - else if (5 == nOPCode) + else if (6 == nOPCode) { if (ModuleHelp_ImageSet_Level(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) { -- Gitee From aa1f3cdda30fee9b49f0dd0e7963c454caed3f6c Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:44:59 +0800 Subject: [PATCH 26/66] added:enable support for image text --- .github/workflows/macbuild.yml | 60 ++++++++++++++++++- .../XEngine_Config/XEngine_Config.json | 5 ++ .../ModuleConfig_Error.h | 13 ++-- .../ModuleConfigure_Json.cpp | 2 +- .../XEngine_HttpApp/XEngine_HttpApp.cpp | 13 +++- .../XEngine_TaskPost/TaskPost_Image.cpp | 2 +- 6 files changed, 82 insertions(+), 13 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index b228096..3c43baf 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,8 +41,64 @@ jobs: - name: install library run: | brew install lua opencv qrencode - ls -al /opt/homebrew/opt/opencv4 ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib + ls -al /opt/homebrew/opt/opencv4 + + # 设置依赖库的环境变量 + - name: Set up Dependency x86_64 Environment + if: matrix.os == 'macos-13' + run: | + cd libxengine + chmod 777 * + ./XEngine_LINEnv.sh -i 3 + - name: Set up Dependency Arm64 Environment + if: matrix.os == 'macos-14' + run: | + cd libxengine + chmod 777 * + ./XEngine_LINEnv.sh -i 0 + + latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) + + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip + unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 + cd XEngine_Mac_Arm64 + + sudo mkdir -p /usr/local/include + sudo mkdir -p /usr/local/lib + sudo cp -rf ./XEngine_Include /usr/local/include + sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; + ls -al /opt/homebrew/opt/opencv4 + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib + #编译 + - name: make debug + run: | + cd XEngine_Source + make PLATFORM=mac + make PLATFORM=mac FLAGS=InstallAll + make PLATFORM=mac FLAGS=CleanAll + - name: make release + run: | + cd XEngine_Source + make PLATFORM=mac RELEASE=1 + make PLATFORM=mac FLAGS=InstallAll + make PLATFORM=mac FLAGS=CleanAll + - name: test + run: | + cd XEngine_Release + ./XEngine_APIServiceApp -t - \ No newline at end of file + - name: Upload folder as artifact with mac x64 + if: matrix.os == 'macos-13' + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-x86_64-Mac + path: XEngine_Release/ + - name: Upload folder as artifact with mac arm + if: matrix.os == 'macos-14' + uses: actions/upload-artifact@v4 + with: + name: XEngine_APIServiceApp-Arm64-Mac + path: XEngine_Release/ \ No newline at end of file diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index a4d044d..35cedb8 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -50,6 +50,11 @@ "tszConfigHTTPMime":"./XEngine_Config/HttpMime.types", "tszConfigHTTPCode":"./XEngine_Config/HttpCode.types" }, + "XImageText":{ + "bEnable":false, + "tszImagePath":"./XEngine_Config/tessdata", + "tszImageLanguage":"chi_sim+eng" + }, "XShortLink":{ "tszHostUrl":"url.xyry.org", "nHTTPCode":301 diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h index b3f1c0c..d9b585e 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h @@ -19,12 +19,13 @@ #define ERROR_MODULE_CONFIGURE_JSON_XDB 0xA0007 //数据库配置错误 #define ERROR_MODULE_CONFIGURE_JSON_XPLUGIN 0xA0008 //插件配置错误 #define ERROR_MODULE_CONFIGURE_JSON_XVER 0xA0009 //版本配置文件读取错误 -#define ERROR_MODULE_CONFIGURE_JSON_MALLOC 0xA000A //申请内存失败 -#define ERROR_MODULE_CONFIGURE_JSON_XAPI 0xA000B //API配置失败 -#define ERROR_MODULE_CONFIGURE_JSON_XCONFIG 0xA000C //配置文件配置加载失败 -#define ERROR_MODULE_CONFIGURE_JSON_XSLINK 0xA000D //短连接配置错误 -#define ERROR_MODULE_CONFIGURE_JSON_XVERICATION 0xA000E //验证配置错误 -#define ERROR_MODULE_CONFIGURE_JSON_XREPORT 0xA000F //报告配置错误 +#define ERROR_MODULE_CONFIGURE_JSON_MALLOC 0xA0010 //申请内存失败 +#define ERROR_MODULE_CONFIGURE_JSON_XAPI 0xA0011 //API配置失败 +#define ERROR_MODULE_CONFIGURE_JSON_XCONFIG 0xA0012 //配置文件配置加载失败 +#define ERROR_MODULE_CONFIGURE_JSON_XSLINK 0xA0013 //短连接配置错误 +#define ERROR_MODULE_CONFIGURE_JSON_XVERICATION 0xA0014 //验证配置错误 +#define ERROR_MODULE_CONFIGURE_JSON_XREPORT 0xA0015 //报告配置错误 +#define ERROR_MODULE_CONFIGURE_JSON_XIMAGETEXT 0xA0016 //图像文字识别配置错误 ////////////////////////////////////////////////////////////////////////// #define ERROR_MODULE_CONFIGURE_FILE_PARAMENT 0xA1001 //参数错误 #define ERROR_MODULE_CONFIGURE_FILE_OPENFILE 0xA1002 //打开文件失败 diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 3ef04b9..6fd1fa6 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -189,7 +189,7 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE if (st_JsonRoot["XImageText"].empty() || (3 != st_JsonRoot["XImageText"].size())) { Config_IsErrorOccur = true; - Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XSLINK; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XIMAGETEXT; return false; } Json::Value st_JsonXImageText = st_JsonRoot["XImageText"]; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp index 9395061..c7d6c00 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp @@ -227,10 +227,17 @@ int main(int argc, char** argv) XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,初始化二维码配置文件:%s 失败,因为QR编译脚本被关闭"), st_ServiceConfig.st_XConfig.tszConfigQRCode); #endif - if (!ModuleHelp_ImageGet_TextInit(st_ServiceConfig.st_XImageText.tszImagePath, st_ServiceConfig.st_XImageText.tszImageLanguage)) + if (st_ServiceConfig.st_XImageText.bEnable) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化图像文字识别失败,错误:%lX"), ModuleHelp_GetLastError()); - goto XENGINE_SERVICEAPP_EXIT; + if (!ModuleHelp_ImageGet_TextInit(st_ServiceConfig.st_XImageText.tszImagePath, st_ServiceConfig.st_XImageText.tszImageLanguage)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化图像文字识别失败,错误:%lX"), ModuleHelp_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + } + else + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,初始化图像文字识别被禁用")); } //初始化数据库 if (st_ServiceConfig.st_XSql.bEnable && !bIsTest) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index 24d8c42..91920f0 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -31,7 +31,7 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int BaseLib_String_GetKeyValue((*ppptszList)[1], "=", tszHTTPKey, tszHTTPVlu); int nOPCode = _ttxoi(tszHTTPVlu); //0获取,1设置 - if (0 == nOPCode) + if (0 == nOPCode && st_ServiceConfig.st_XImageText.bEnable) { XCHAR** pptszListStr; int nListCount = 0; -- Gitee From 8d245979dab29fdf3173d375ccacefca0acbabf8 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 25 Dec 2024 17:53:19 +0800 Subject: [PATCH 27/66] debug macbuild.yml --- .github/workflows/macbuild.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 3c43baf..840cbe0 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,6 +41,10 @@ jobs: - name: install library run: | brew install lua opencv qrencode + brew --prefix opencv + brew info opencv + + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15 ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib ls -al /opt/homebrew/opt/opencv4 -- Gitee From 1931ce712a79635975019467540f735f8a4870c3 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 09:44:05 +0800 Subject: [PATCH 28/66] fixed:mac build error --- .github/workflows/macbuild.yml | 7 ++++--- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 840cbe0..bd98ffd 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -40,14 +40,15 @@ jobs: - name: install library run: | - brew install lua opencv qrencode + #brew install lua opencv qrencode + brew install opencv brew --prefix opencv brew info opencv ls -al /opt/homebrew/Cellar/opencv/4.10.0_15 - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4 ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib - ls -al /opt/homebrew/opt/opencv4 + ls /opt/homebrew/opt # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index ac71966..8ee084d 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,7 +58,7 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/opencv4/include -I /opt/homebrew/opt/lua/include + LOADHDR += -I /opt/homebrew/opt/opencv4/include/opencv4 -I /opt/homebrew/opt/lua/include LOADSO += -L /opt/homebrew/opt/opencv4/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl -- Gitee From ebdfbc728edfb354055eddde5d2a75797784aa44 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 09:49:38 +0800 Subject: [PATCH 29/66] printf mac dir --- .github/workflows/macbuild.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index bd98ffd..79fded9 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -42,13 +42,9 @@ jobs: run: | #brew install lua opencv qrencode brew install opencv - brew --prefix opencv - brew info opencv - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15 - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4 - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib - ls /opt/homebrew/opt + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 + ls /opt/homebrew/opt/opencv # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment -- Gitee From 2dff3567a6e671b8e9d53be385ec63d6b9a638c4 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 09:54:29 +0800 Subject: [PATCH 30/66] test opencv dir --- .github/workflows/macbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 79fded9..554d10c 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -43,8 +43,8 @@ jobs: #brew install lua opencv qrencode brew install opencv - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 - ls /opt/homebrew/opt/opencv + # ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 + ls -al /opt/homebrew/opt/opencv # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment -- Gitee From 89b4a5dd5c7629c33b9672fba388bd0f6bfa8d1e Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 10:02:00 +0800 Subject: [PATCH 31/66] modify:mac build ver --- .github/workflows/macbuild.yml | 13 ++++--------- XEngine_Source/XEngine_ModuleHelp/Makefile | 4 ++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 554d10c..00d8459 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -40,12 +40,10 @@ jobs: - name: install library run: | - #brew install lua opencv qrencode - brew install opencv - - # ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 - ls -al /opt/homebrew/opt/opencv + brew install lua opencv qrencode + # ls -al /opt/homebrew/opt/opencv/include/opencv4 + # ls -al /opt/homebrew/opt/opencv4 # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' @@ -69,10 +67,7 @@ jobs: sudo mkdir -p /usr/local/include sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include - sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - ls -al /opt/homebrew/opt/opencv4 - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/lib + sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; #编译 - name: make debug run: | diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 8ee084d..f24309a 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,8 +58,8 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/opencv4/include/opencv4 -I /opt/homebrew/opt/lua/include - LOADSO += -L /opt/homebrew/opt/opencv4/lib -L /opt/homebrew/opt/lua/lib + LOADHDR += -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include + LOADSO += -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ -- Gitee From 94a0057e1640916af911d1b0d62731ed02b0d453 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 10:17:46 +0800 Subject: [PATCH 32/66] modify:test text image --- .github/workflows/macbuild.yml | 9 ++++++--- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- XEngine_Source/XEngine_ModuleHelp/pch.h | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 00d8459..ac0b525 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,9 +41,12 @@ jobs: - name: install library run: | brew install lua opencv qrencode - - # ls -al /opt/homebrew/opt/opencv/include/opencv4 - # ls -al /opt/homebrew/opt/opencv4 + echo "==============opencv4================" + ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 + echo "==============tesseract================" + ls -al /opt/homebrew/opt/tesseract/include + echo "==============qrencode================" + ls -al /opt/homebrew/opt/qrencode/include # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index f24309a..a76e4bc 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -19,7 +19,7 @@ ifeq ($(MACRO_QR_SUPPORT),1) LIB += -lqrencode endif ifeq ($(MACRO_OPENCV_SUPPORT),1) - LIB += -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode + LIB += -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode -ltesseract endif ifeq ($(RELEASE),1) diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.h b/XEngine_Source/XEngine_ModuleHelp/pch.h index 48769d0..16151cb 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.h +++ b/XEngine_Source/XEngine_ModuleHelp/pch.h @@ -30,8 +30,8 @@ #include #include #include -#include #include +#include #else #include #include -- Gitee From 4b0e5b2f7755dfdefb9aa91588609e9e44c9e39d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 10:29:15 +0800 Subject: [PATCH 33/66] modify:test text image --- .github/workflows/macbuild.yml | 2 +- XEngine_Source/XEngine_ModuleHelp/Makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index ac0b525..05c2e98 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -44,7 +44,7 @@ jobs: echo "==============opencv4================" ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 echo "==============tesseract================" - ls -al /opt/homebrew/opt/tesseract/include + ls -al /opt/homebrew/opt/tesseract/include/tesseract echo "==============qrencode================" ls -al /opt/homebrew/opt/qrencode/include # 设置依赖库的环境变量 diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index a76e4bc..5d909d9 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,8 +58,8 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include - LOADSO += -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib + LOADHDR += -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include + LOADSO += -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ -- Gitee From a509ab5d37624c25e73e20672ac7c7117c92f156 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 10:40:42 +0800 Subject: [PATCH 34/66] 1 --- .github/workflows/macbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 05c2e98..caccdc4 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,10 +41,10 @@ jobs: - name: install library run: | brew install lua opencv qrencode - echo "==============opencv4================" - ls -al /opt/homebrew/Cellar/opencv/4.10.0_15/include/opencv4/opencv2 echo "==============tesseract================" ls -al /opt/homebrew/opt/tesseract/include/tesseract + echo "==============tesseract================" + cat /opt/homebrew/opt/tesseract/include/tesseract/capi.h echo "==============qrencode================" ls -al /opt/homebrew/opt/qrencode/include # 设置依赖库的环境变量 -- Gitee From 4a573e23d7d1467cecba79a7dad4d85f778a8a2d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 10:41:17 +0800 Subject: [PATCH 35/66] 2 --- .github/workflows/macbuild.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index caccdc4..090722a 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -45,8 +45,6 @@ jobs: ls -al /opt/homebrew/opt/tesseract/include/tesseract echo "==============tesseract================" cat /opt/homebrew/opt/tesseract/include/tesseract/capi.h - echo "==============qrencode================" - ls -al /opt/homebrew/opt/qrencode/include # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From cffd4c2e92dd10bef6cb9e5e2c722307102abd9d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 14:28:57 +0800 Subject: [PATCH 36/66] fixed:build error on mac --- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- XEngine_Source/XEngine_ModuleHelp/pch.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 5d909d9..e22d2b7 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -19,7 +19,7 @@ ifeq ($(MACRO_QR_SUPPORT),1) LIB += -lqrencode endif ifeq ($(MACRO_OPENCV_SUPPORT),1) - LIB += -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode -ltesseract + LIB += -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode -ltesseract -lleptonica endif ifeq ($(RELEASE),1) diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.h b/XEngine_Source/XEngine_ModuleHelp/pch.h index 16151cb..c90076f 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.h +++ b/XEngine_Source/XEngine_ModuleHelp/pch.h @@ -30,8 +30,6 @@ #include #include #include -#include -#include #else #include #include @@ -41,6 +39,8 @@ #include #include #endif +#include +#include #include #endif using namespace std; -- Gitee From 8c706887ecb0b53c712a54c3ab5743be78a7588a Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 14:33:48 +0800 Subject: [PATCH 37/66] delete:not useful yml code --- .github/workflows/macbuild.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 090722a..8a257d4 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -39,12 +39,8 @@ jobs: git submodule update - name: install library - run: | - brew install lua opencv qrencode - echo "==============tesseract================" - ls -al /opt/homebrew/opt/tesseract/include/tesseract - echo "==============tesseract================" - cat /opt/homebrew/opt/tesseract/include/tesseract/capi.h + run: brew install lua opencv qrencode + # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' @@ -57,7 +53,7 @@ jobs: run: | cd libxengine chmod 777 * - ./XEngine_LINEnv.sh -i 0 + ./XEngine_LINEnv.sh -i 1 latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) @@ -65,9 +61,6 @@ jobs: unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 cd XEngine_Mac_Arm64 - sudo mkdir -p /usr/local/include - sudo mkdir -p /usr/local/lib - sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; #编译 - name: make debug -- Gitee From 2e0a940e5afdb5a7e7b361a33313f212ec2098c2 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 14:38:38 +0800 Subject: [PATCH 38/66] modify:test leptonica library --- .github/workflows/macbuild.yml | 5 +++-- XEngine_Source/XEngine_ModuleHelp/Makefile | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 8a257d4..4bde21d 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -39,8 +39,9 @@ jobs: git submodule update - name: install library - run: brew install lua opencv qrencode - + run: | + brew install lua opencv qrencode + ls -al /opt/homebrew/opt/leptonica # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index e22d2b7..2d20d29 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,8 +58,8 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include - LOADSO += -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib + LOADHDR += -I /opt/homebrew/opt/ -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include + LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ -- Gitee From 87c854029ac4cc6cdb27d0a22b8f794bf7b39897 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 14:44:57 +0800 Subject: [PATCH 39/66] fixed:engine install --- .github/workflows/macbuild.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 4bde21d..6e623ad 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -42,6 +42,7 @@ jobs: run: | brew install lua opencv qrencode ls -al /opt/homebrew/opt/leptonica + # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' @@ -54,7 +55,7 @@ jobs: run: | cd libxengine chmod 777 * - ./XEngine_LINEnv.sh -i 1 + ./XEngine_LINEnv.sh -i 0 latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) @@ -62,6 +63,9 @@ jobs: unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 cd XEngine_Mac_Arm64 + sudo mkdir -p /usr/local/include + sudo mkdir -p /usr/local/lib + sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; #编译 - name: make debug -- Gitee From 41f6bd7f87ec4f2486eb5de2ebd93a4992f20a47 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:02:39 +0800 Subject: [PATCH 40/66] fixed:ubuntu build workflows/ubuntubuild.yml --- .github/workflows/ubuntubuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index 9a7bb06..4b5fd4e 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -45,7 +45,7 @@ jobs: run: | sudo apt update -y sudo apt upgrade -y - sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev -y + sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev libleptonica-dev libtesseract-dev -y # 设置依赖库的环境变量 - name: Set up Dependency ubuntu24.04 Environment -- Gitee From d63666e24efb784f1b98588a6143178e25ca6311 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:09:06 +0800 Subject: [PATCH 41/66] modify:show library on mac --- .github/workflows/macbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 6e623ad..8c16f9d 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -42,7 +42,7 @@ jobs: run: | brew install lua opencv qrencode ls -al /opt/homebrew/opt/leptonica - + ls -al /opt/homebrew/Cellar/leptonica/1.85.0 # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From 1bfa5d5d153376548d2752aae67795a89941743e Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:16:33 +0800 Subject: [PATCH 42/66] modify:show include file --- .github/workflows/macbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 8c16f9d..15e21f2 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,8 +41,8 @@ jobs: - name: install library run: | brew install lua opencv qrencode - ls -al /opt/homebrew/opt/leptonica - ls -al /opt/homebrew/Cellar/leptonica/1.85.0 + ls -al /opt/homebrew/opt/leptonica/include + ls -al /opt/homebrew/Cellar/leptonica/1.85.0/include # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From 48013c7170f3101f8035adcbd06e67edf1b5fc01 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:23:06 +0800 Subject: [PATCH 43/66] added:leptonica header path --- .github/workflows/macbuild.yml | 2 +- .github/workflows/msbuild.yml | 2 +- .github/workflows/ubuntubuild.yml | 2 +- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 15e21f2..b558aee 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -42,7 +42,7 @@ jobs: run: | brew install lua opencv qrencode ls -al /opt/homebrew/opt/leptonica/include - ls -al /opt/homebrew/Cellar/leptonica/1.85.0/include + ls -al /opt/homebrew/Cellar/leptonica/1.85.0/include/leptonica # 设置依赖库的环境变量 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 03fff5f..53d5462 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -2,7 +2,7 @@ name: windows build workflows on: push: - branches: [ "develop" ] + branches: [ "develop1" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index 4b5fd4e..f125f63 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -2,7 +2,7 @@ name: ubuntu build workflows on: push: - branches: [ "develop" ] + branches: [ "develop1" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 2d20d29..e41cba4 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,7 +58,7 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/ -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include + LOADHDR += -I /opt/homebrew/opt/leptonica/include -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl -- Gitee From 9ee062dfba242acf3e733851187d6fec5658c5e7 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:31:07 +0800 Subject: [PATCH 44/66] modify:test png16 library --- .github/workflows/macbuild.yml | 8 ++++---- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index b558aee..7d52f48 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,9 +41,9 @@ jobs: - name: install library run: | brew install lua opencv qrencode - ls -al /opt/homebrew/opt/leptonica/include - ls -al /opt/homebrew/Cellar/leptonica/1.85.0/include/leptonica - # 设置依赖库的环境变量 + ls -al /opt/homebrew/opt/png16/include + ls -al /opt/homebrew/Cellar/png16 + - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' run: | @@ -67,7 +67,7 @@ jobs: sudo mkdir -p /usr/local/lib sudo cp -rf ./XEngine_Include /usr/local/include sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; - #编译 + - name: make debug run: | cd XEngine_Source diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index e41cba4..05c9f12 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -59,7 +59,7 @@ else ifeq ($(PLATFORM),mac) PLATDIR = XEngine_Mac FILEEXT = dylib LOADHDR += -I /opt/homebrew/opt/leptonica/include -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include - LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib + LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib -L /opt/homebrew/opt/png16/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ -- Gitee From a2e0c3d243c4337377eaed96bd83f3f7217f78a0 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:37:13 +0800 Subject: [PATCH 45/66] delete:library test --- .github/workflows/macbuild.yml | 4 ++-- XEngine_Source/XEngine_ModuleHelp/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 7d52f48..820ad22 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,8 +41,8 @@ jobs: - name: install library run: | brew install lua opencv qrencode - ls -al /opt/homebrew/opt/png16/include - ls -al /opt/homebrew/Cellar/png16 + # ls -al /opt/homebrew/opt/png16/include + # ls -al /opt/homebrew/Cellar/png16 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 05c9f12..972e381 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -19,7 +19,7 @@ ifeq ($(MACRO_QR_SUPPORT),1) LIB += -lqrencode endif ifeq ($(MACRO_OPENCV_SUPPORT),1) - LIB += -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode -ltesseract -lleptonica + LIB += -llzma -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_wechat_qrcode -ltesseract -lleptonica endif ifeq ($(RELEASE),1) -- Gitee From 8e14677beb9c2aa70095dc16068c865b0a225791 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:47:37 +0800 Subject: [PATCH 46/66] fixed:lua link on mac --- XEngine_Source/XEngine_ModuleHelp/Makefile | 4 ++-- XEngine_Source/XEngine_ModulePlugin/Makefile | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 972e381..0af0dce 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -58,8 +58,8 @@ else ifeq ($(PLATFORM),mac) PLATVER = -D __MACOS__ PLATDIR = XEngine_Mac FILEEXT = dylib - LOADHDR += -I /opt/homebrew/opt/leptonica/include -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include -I /opt/homebrew/opt/lua/include - LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib -L /opt/homebrew/opt/lua/lib -L /opt/homebrew/opt/png16/lib + LOADHDR += -I /opt/homebrew/opt/leptonica/include -I /opt/homebrew/opt/opencv/include/opencv4 -I /opt/homebrew/opt/tesseract/include -I /opt/homebrew/opt/qrencode/include + LOADSO += -L /opt/homebrew/opt/leptonica/lib -L /opt/homebrew/opt/opencv/lib -L /opt/homebrew/opt/tesseract/lib -L /opt/homebrew/opt/qrencode/lib LIBFLAG = -dynamiclib LIBEX = -lpthread -ldl LOADBIN = -Wl,-rpath,@loader_path/./ diff --git a/XEngine_Source/XEngine_ModulePlugin/Makefile b/XEngine_Source/XEngine_ModulePlugin/Makefile index 532aab6..d84472e 100644 --- a/XEngine_Source/XEngine_ModulePlugin/Makefile +++ b/XEngine_Source/XEngine_ModulePlugin/Makefile @@ -54,6 +54,10 @@ else ifeq ($(PLATFORM),mac) PLATDIR = XEngine_Mac FILEEXT = dylib LIBFLAG = -dynamiclib + + LOADHDR += -I /opt/homebrew/opt/lua/include + LOADSO += -L /opt/homebrew/opt/lua/lib + ifeq ($(MACRO_LUA_SUPPORT),1) LIB += -llua endif -- Gitee From 0064491ebcbcbc30872c17ef326fc785f2353cdb Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 15:54:31 +0800 Subject: [PATCH 47/66] modify:lua include test --- .github/workflows/macbuild.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 820ad22..fe05eb8 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,8 +41,10 @@ jobs: - name: install library run: | brew install lua opencv qrencode - # ls -al /opt/homebrew/opt/png16/include - # ls -al /opt/homebrew/Cellar/png16 + brew --prefix lua + brew info lua + ls -al /opt/homebrew/opt/lua + ls -al /opt/homebrew/Cellar/lua - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From caaf15e08cbd7a44edc9bfb8ee5ab3cdcaaa7506 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 16:06:04 +0800 Subject: [PATCH 48/66] fixed:ms build workflow --- .github/workflows/macbuild.yml | 2 +- .github/workflows/msbuild.yml | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index fe05eb8..0e18248 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -44,7 +44,7 @@ jobs: brew --prefix lua brew info lua ls -al /opt/homebrew/opt/lua - ls -al /opt/homebrew/Cellar/lua + ls -al /opt/homebrew/Cellar/lua/5.4.7 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 53d5462..44fbbc2 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -2,7 +2,7 @@ name: windows build workflows on: push: - branches: [ "develop1" ] + branches: [ "develop" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' @@ -65,16 +65,26 @@ jobs: ./vcpkg.exe integrate install shell: pwsh - # 设置依赖库的环境变量 - - name: Set up Dependency Environment Variables + - name: Set up Dependency x86_64 Environment + if: matrix.platform == 'x64' run: | echo "XENGINE_INCLUDE=${{ github.workspace }}/libxengine" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "XENGINE_LIB32=${{ github.workspace }}/libxengine/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append echo "XENGINE_LIB64=${{ github.workspace }}/libxengine/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append shell: pwsh - - - name: Set code page - run: chcp 65001 + - name: Set up Dependency x86_32 Environment + if: matrix.platform == 'x86' + run: | + $response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"} + $latest_tag = $response.tag_name + Write-Host "Latest Tag: $latest_tag" + + $url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_x86-32.zip" + Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_x86-32.zip" + Expand-Archive -Path ./XEngine_Windows_x86-32.zip -DestinationPath ./XEngine_Windows -Force + + echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "XENGINE_LIB32=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append + shell: pwsh # 配置 MSBuild 的路径,准备构建 VC++ 项目 - name: Setup MSBuild -- Gitee From 2afc56ca07336b0878901c17beff8fa6f5e3f6a3 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 16:12:12 +0800 Subject: [PATCH 49/66] modify:show lua --- .github/workflows/macbuild.yml | 4 ++-- .github/workflows/msbuild.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 0e18248..7b3ca9e 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -43,8 +43,8 @@ jobs: brew install lua opencv qrencode brew --prefix lua brew info lua - ls -al /opt/homebrew/opt/lua - ls -al /opt/homebrew/Cellar/lua/5.4.7 + ls -al /opt/homebrew/opt/lua/include + ls -al /opt/homebrew/Cellar/lua/5.4.7/include - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 44fbbc2..3faa4ed 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -2,7 +2,7 @@ name: windows build workflows on: push: - branches: [ "develop" ] + branches: [ "develop1" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' -- Gitee From c685138a05c6af0ae32d91853b71f1af0d51b6b7 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 16:21:12 +0800 Subject: [PATCH 50/66] modify:show lua file --- .github/workflows/macbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 7b3ca9e..753b225 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -43,8 +43,8 @@ jobs: brew install lua opencv qrencode brew --prefix lua brew info lua - ls -al /opt/homebrew/opt/lua/include - ls -al /opt/homebrew/Cellar/lua/5.4.7/include + ls -al /opt/homebrew/opt/lua/include/lua + ls -al /opt/homebrew/Cellar/lua/5.4.7/include/lua5.4 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From 810a88084b5c80240c415bd111aaa006f3ef8883 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 16:30:45 +0800 Subject: [PATCH 51/66] modify:try to build fix --- XEngine_Source/XEngine_ModulePlugin/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_ModulePlugin/Makefile b/XEngine_Source/XEngine_ModulePlugin/Makefile index d84472e..cba6825 100644 --- a/XEngine_Source/XEngine_ModulePlugin/Makefile +++ b/XEngine_Source/XEngine_ModulePlugin/Makefile @@ -55,7 +55,7 @@ else ifeq ($(PLATFORM),mac) FILEEXT = dylib LIBFLAG = -dynamiclib - LOADHDR += -I /opt/homebrew/opt/lua/include + LOADHDR += -I /opt/homebrew/opt/lua/include/lua LOADSO += -L /opt/homebrew/opt/lua/lib ifeq ($(MACRO_LUA_SUPPORT),1) -- Gitee From a339f4ba7059fccb29bde54ed34e0996385a7e0f Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 16:36:14 +0800 Subject: [PATCH 52/66] fixed:build error on mac 14 --- .github/workflows/macbuild.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 753b225..860d1e8 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -41,10 +41,6 @@ jobs: - name: install library run: | brew install lua opencv qrencode - brew --prefix lua - brew info lua - ls -al /opt/homebrew/opt/lua/include/lua - ls -al /opt/homebrew/Cellar/lua/5.4.7/include/lua5.4 - name: Set up Dependency x86_64 Environment if: matrix.os == 'macos-13' -- Gitee From 9994604b148702cec911c757a447262418b646ae Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 17:34:20 +0800 Subject: [PATCH 53/66] update:vs copy file --- XEngine_Source/VSCopy_Debug.bat | 2 +- XEngine_Source/VSCopy_x64.bat | 2 +- XEngine_Source/VSCopy_x86.bat | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index 98b7e53..1e28ada 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -3,7 +3,7 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_BaseSafe.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_OPenSsl.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\Cryption.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index c9fab93..5c7f094 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -3,7 +3,7 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index c44cb9c..d02822a 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -3,7 +3,7 @@ copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" -- Gitee From 126c9be8e8725d098cc466e8aa4b18cd2d7cf2d4 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 17:35:47 +0800 Subject: [PATCH 54/66] improved:workflows --- .github/workflows/msbuild.yml | 2 +- .github/workflows/ubuntubuild.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 3faa4ed..44fbbc2 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -2,7 +2,7 @@ name: windows build workflows on: push: - branches: [ "develop1" ] + branches: [ "develop" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' diff --git a/.github/workflows/ubuntubuild.yml b/.github/workflows/ubuntubuild.yml index f125f63..4b5fd4e 100644 --- a/.github/workflows/ubuntubuild.yml +++ b/.github/workflows/ubuntubuild.yml @@ -2,7 +2,7 @@ name: ubuntu build workflows on: push: - branches: [ "develop1" ] + branches: [ "develop" ] paths: - 'XEngine_Source/**' - 'XEngine_Release/**' -- Gitee From 3d8ee4785d2dde78a4739afaab379da478d47877 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 17:40:55 +0800 Subject: [PATCH 55/66] fixed:test process name is incorrect --- .github/workflows/msbuild.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 44fbbc2..534b974 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -102,8 +102,7 @@ jobs: cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x86.bat - ./XEngine_APIServiceApp.exe -t - shell: pwsh + ./XEngine_HttpApp.exe -t - name: Conditional Step for x64 Release if: matrix.configuration == 'Release' && matrix.platform == 'x64' run: | @@ -112,6 +111,7 @@ jobs: cp -r XEngine_Source/VSCopy_x64.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x64.bat + ./XEngine_HttpApp.exe -t shell: pwsh - name: Upload folder as artifact with x86 -- Gitee From d8336f5eb9d475a24884ccd4c6ddc72e9e58926d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Thu, 26 Dec 2024 20:28:37 +0800 Subject: [PATCH 56/66] Update msbuild.yml --- .github/workflows/msbuild.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 534b974..86027cb 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -93,6 +93,10 @@ jobs: #编译 - name: Build Solution run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} + - name: Enable debug mode + run: | + echo "Enabling debug mode..." + echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV #测试 - name: Conditional Step for x86 Release if: matrix.configuration == 'Release' && matrix.platform == 'x86' @@ -126,4 +130,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: XEngine_APIServiceApp-x86_64-Windows - path: XEngine_Release/ \ No newline at end of file + path: XEngine_Release/ -- Gitee From e06a43786668c0def7e35998fb30a9df00dd74f8 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 09:45:43 +0800 Subject: [PATCH 57/66] Update msbuild.yml --- .github/workflows/msbuild.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 86027cb..f720de4 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -21,7 +21,8 @@ jobs: platform: [x86 ,x64] runs-on: windows-latest # 最新的 Windows 环境 - + env: + ACTIONS_STEP_DEBUG: true steps: # 检出您的主仓库代码 - name: Checkout main repository code @@ -93,10 +94,7 @@ jobs: #编译 - name: Build Solution run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} - - name: Enable debug mode - run: | - echo "Enabling debug mode..." - echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV + #测试 - name: Conditional Step for x86 Release if: matrix.configuration == 'Release' && matrix.platform == 'x86' -- Gitee From f4de6186967277576930ae689c0343dd9e4cf572 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 10:25:48 +0800 Subject: [PATCH 58/66] ls file --- .github/workflows/msbuild.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index f720de4..6ecdcfa 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -104,6 +104,7 @@ jobs: cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x86.bat + ls ./XEngine_HttpApp.exe -t - name: Conditional Step for x64 Release if: matrix.configuration == 'Release' && matrix.platform == 'x64' @@ -113,6 +114,7 @@ jobs: cp -r XEngine_Source/VSCopy_x64.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x64.bat + ls ./XEngine_HttpApp.exe -t shell: pwsh -- Gitee From de084fd3ac7832de635f51cc5a83b17240b382a2 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 10:31:43 +0800 Subject: [PATCH 59/66] fixed:vs copy file --- XEngine_Source/VSCopy_Debug.bat | 2 ++ XEngine_Source/VSCopy_x64.bat | 6 ++++-- XEngine_Source/VSCopy_x86.bat | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index 1e28ada..6418e1a 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -10,6 +10,8 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIAddr.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index 5c7f094..013bd93 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -7,9 +7,11 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index d02822a..5434dcc 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -10,6 +10,8 @@ copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" -- Gitee From b3855af11e0e2db87e6d16468c2043d64343f9ed Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 12:23:03 +0800 Subject: [PATCH 60/66] Update msbuild.yml --- .github/workflows/msbuild.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 6ecdcfa..0b60715 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -115,7 +115,8 @@ jobs: cd XEngine_Release ./VSCopy_x64.bat ls - ./XEngine_HttpApp.exe -t + ./XEngine_HttpApp.exe -t > output.log 2>&1 + cat output.log shell: pwsh - name: Upload folder as artifact with x86 -- Gitee From b4c41c28aaa102a2bf9968290a0405c623600118 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 13:45:33 +0800 Subject: [PATCH 61/66] Update msbuild.yml --- .github/workflows/msbuild.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 0b60715..cd5c468 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -104,7 +104,6 @@ jobs: cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x86.bat - ls ./XEngine_HttpApp.exe -t - name: Conditional Step for x64 Release if: matrix.configuration == 'Release' && matrix.platform == 'x64' @@ -114,9 +113,6 @@ jobs: cp -r XEngine_Source/VSCopy_x64.bat XEngine_Release/ cd XEngine_Release ./VSCopy_x64.bat - ls - ./XEngine_HttpApp.exe -t > output.log 2>&1 - cat output.log shell: pwsh - name: Upload folder as artifact with x86 -- Gitee From 7ef5ac0c0fbfd13d206054cf11a65861a61f2548 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 15:03:24 +0800 Subject: [PATCH 62/66] update:match xengine v9.x for example --- .../APPClient_BackExample/APPClient_BackExample.cpp | 2 +- .../APPClient_BankExample/APPClient_BankExample.cpp | 2 +- .../APPClient_DTestExample.cpp | 2 +- .../APPClient_DeamonExample.cpp | 2 +- .../APPClient_IDExample/APPClient_IDExample.cpp | 4 ++-- .../APPClient_IPExample/APPClient_IPExample.cpp | 4 ++-- .../APPClient_ImageExample.cpp | 6 +++--- .../APPClient_LanguageExample.cpp | 2 +- .../APPClient_LibPluginExample.cpp | 8 ++++---- .../APPClient_LockExample/APPClient_LockExample.cpp | 12 ++++++------ .../APPClient_LuaPluginExample.cpp | 2 +- .../APPClient_MachineExample.cpp | 6 +++--- .../APPClient_OilQuery/APPClient_OilQuery.cpp | 2 +- .../APPClient_P2PExample/APPClient_P2PExample.cpp | 12 ++++++------ .../APPClient_PhoneExample.cpp | 2 +- .../APPClient_QRExample/APPClient_QRExample.cpp | 4 ++-- .../APPClient_SLinkExample.cpp | 8 ++++---- .../APPClient_SocketExample.cpp | 4 ++-- .../APPClient_TranslationExample.cpp | 2 +- .../APPClient_WordFilter/APPClient_WordFilter.cpp | 8 ++++---- .../APPClient_XLogExample/APPClient_XLogExample.cpp | 10 +++++----- .../APPClient_ZIPCodeExample.cpp | 4 ++-- 22 files changed, 54 insertions(+), 54 deletions(-) diff --git a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp index 3e388d6..228e4f9 100644 --- a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp +++ b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp @@ -40,7 +40,7 @@ int test_query() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp index 3914bc4..04ce866 100644 --- a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp +++ b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp @@ -37,7 +37,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp index 65f27e5..6bc3592 100644 --- a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp +++ b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp @@ -37,7 +37,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp index 88e83dc..2cd417d 100644 --- a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp +++ b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp @@ -43,7 +43,7 @@ int test_insert() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp index f51ad93..b1c0c63 100644 --- a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp +++ b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp @@ -38,13 +38,13 @@ int main() } #ifdef _MSC_BUILD XCHAR tszGBKBuffer[1024] = {}; - BaseLib_OperatorCharset_UTFToAnsi(ptszMsgBuffer, tszGBKBuffer, &nLen); + BaseLib_Charset_UTFToAnsi(ptszMsgBuffer, tszGBKBuffer, &nLen); printf("接受到数据,大小:%d,内容:%s\n", nLen, tszGBKBuffer); #else printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); #endif - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp index 0c6146a..39e96b0 100644 --- a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp +++ b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp @@ -39,9 +39,9 @@ int main() XCHAR tszMsgBuffer[2048]; memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); - BaseLib_OperatorCharset_UTFToAnsi(ptszMsgBuffer, tszMsgBuffer, &nLen); + BaseLib_Charset_UTFToAnsi(ptszMsgBuffer, tszMsgBuffer, &nLen); printf("接受到数据,大小:%d,内容:%s\n", nLen, tszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp index 9a794e2..787b714 100644 --- a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp +++ b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp @@ -49,7 +49,7 @@ bool APPClient_ImageExample_GetAttr(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pIn printf("json parse failed\n"); return false; } - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); Json::Value st_JsonBase = st_JsonRoot["st_BaseInfo"]; *pInt_Width = st_JsonBase["nWidth"].asInt(); @@ -85,7 +85,7 @@ int test_imgzoom() XCHAR tszAPIUrl[MAX_PATH] = {}; XCHAR tszFileExt[64] = {}; - BaseLib_OperatorString_GetFileAndPath(pptszListFile[i], NULL, NULL, NULL, tszFileExt); + BaseLib_String_GetFileAndPath(pptszListFile[i], NULL, NULL, NULL, tszFileExt); _xstprintf(tszAPIUrl, _X("http://127.0.0.1:5501/api?function=image&type=1&ext=%s&width=%d&height=%d"), tszFileExt, nWidth / 2, nHeight / 2); XCHAR* ptszMsgBuffer = NULL; @@ -100,7 +100,7 @@ int test_imgzoom() fwrite(ptszMsgBuffer, 1, nRet, pSt_File); fclose(pSt_File); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } return 0; } diff --git a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp index 6f01244..dc35640 100644 --- a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp +++ b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp @@ -37,7 +37,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp index 32a33cf..6b36951 100644 --- a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp @@ -35,7 +35,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); LPCXSTR lpszZodiacUrl = _X("http://127.0.0.1:5501/api?function=zodiac¶ms1=19880121"); if (!APIClient_Http_Request(_X("GET"), lpszZodiacUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) @@ -44,7 +44,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); LPCXSTR lpszTimeUrl = _X("http://127.0.0.1:5501/api?function=timezone¶ms1=1¶ms2=1-20"); if (!APIClient_Http_Request(_X("GET"), lpszTimeUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) @@ -53,7 +53,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); LPCXSTR lpszBmiUrl = _X("http://127.0.0.1:5501/api?function=bmindex¶ms1=1.78¶ms2=62"); if (!APIClient_Http_Request(_X("GET"), lpszBmiUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) @@ -62,7 +62,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); #endif diff --git a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp index 0e8f80d..c644033 100644 --- a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp +++ b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp @@ -36,7 +36,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); //打开读锁 LPCXSTR lpszReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=3"); if (!APIClient_Http_Request(_X("GET"), lpszReadUrl, NULL, NULL, &ptszBuffer, &nLen)) @@ -45,7 +45,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); //打开写锁 LPCXSTR lpszWriteUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=5"); if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) @@ -54,7 +54,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); //释放读锁 LPCXSTR lpszUNReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=4"); if (!APIClient_Http_Request(_X("GET"), lpszUNReadUrl, NULL, NULL, &ptszBuffer, &nLen)) @@ -63,7 +63,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); //打开解锁 if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) { @@ -71,7 +71,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); //关闭 LPCXSTR lpszCloseUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=2"); if (!APIClient_Http_Request(_X("GET"), lpszCloseUrl, NULL, NULL, &ptszBuffer, &nLen)) @@ -80,7 +80,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBuffer); #ifdef _MSC_BUILD WSACleanup(); #endif diff --git a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp index f770506..1e44cb1 100644 --- a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp @@ -35,7 +35,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); getchar(); #ifdef _MSC_BUILD diff --git a/XEngine_APPClient/APPClient_MachineExample/APPClient_MachineExample.cpp b/XEngine_APPClient/APPClient_MachineExample/APPClient_MachineExample.cpp index ddd9d6c..3f9b45c 100644 --- a/XEngine_APPClient/APPClient_MachineExample/APPClient_MachineExample.cpp +++ b/XEngine_APPClient/APPClient_MachineExample/APPClient_MachineExample.cpp @@ -59,7 +59,7 @@ int test_insert() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -76,7 +76,7 @@ int test_list() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -100,7 +100,7 @@ int test_delete() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_OilQuery/APPClient_OilQuery.cpp b/XEngine_APPClient/APPClient_OilQuery/APPClient_OilQuery.cpp index c3e11e7..a90dd6b 100644 --- a/XEngine_APPClient/APPClient_OilQuery/APPClient_OilQuery.cpp +++ b/XEngine_APPClient/APPClient_OilQuery/APPClient_OilQuery.cpp @@ -38,7 +38,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp index f9ba215..554e0bd 100644 --- a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp +++ b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp @@ -46,7 +46,7 @@ BOOL APIHelp_NetWork_GetIPNet(XCHAR* ptszIPAddr) return FALSE; } memcpy(ptszIPAddr, ptszBody, nBLen - 1); - BaseLib_OperatorMemory_FreeCStyle((VOID**)&ptszBody); + BaseLib_Memory_FreeCStyle((VOID**)&ptszBody); return TRUE; } int APPClient_P2XPLogin() @@ -72,7 +72,7 @@ int APPClient_P2XPLogin() } //得到IP地址 strcpy(tszPrivateAddr, ppSt_APICard[0]->tszIPAddr); - BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_APICard, nListCount); + BaseLib_Memory_Free((XPPPMEM)&ppSt_APICard, nListCount); st_JsonRoot["tszUserName"] = lpszUserName; st_JsonRoot["tszPrivateAddr"] = tszPrivateAddr; @@ -88,7 +88,7 @@ int APPClient_P2XPLogin() return -1; } printf("APPClient_P2XPLogin,&nMsgLen:%d,%s\n", nMsgLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -109,7 +109,7 @@ int APPClient_P2XPList() return -1; } printf("APPClient_P2XPList,&nMsgLen:%d,%s\n", nMsgLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -126,7 +126,7 @@ int APPClient_P2XPWan() return -1; } printf("APPClient_P2XPWan,&nMsgLen:%d,%s\n", nMsgLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -147,7 +147,7 @@ int APPClient_P2XPLogout() return -1; } printf("APPClient_P2XPLogout,&nMsgLen:%d,%s\n", nMsgLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp index c74fbfe..005fc58 100644 --- a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp +++ b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp @@ -37,7 +37,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp index 649aed3..d998744 100644 --- a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp +++ b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp @@ -49,7 +49,7 @@ int test_create() fclose(pSt_File); } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -73,7 +73,7 @@ int test_parse() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nRet, ptszBodyBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszBodyBuffer); } return 0; } diff --git a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp index 29e047f..3187d07 100644 --- a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp +++ b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp @@ -44,7 +44,7 @@ int test_create() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } int test_get() @@ -62,7 +62,7 @@ int test_get() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } int test_List() @@ -78,7 +78,7 @@ int test_List() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } int test_delete() @@ -96,7 +96,7 @@ int test_delete() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp index 23b876f..ea25df7 100644 --- a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp +++ b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp @@ -65,7 +65,7 @@ int test_create() { xhToken = st_JsonObject["xhToken"].asInt64(); } - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } int test_delete() @@ -85,7 +85,7 @@ int test_delete() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp index 6e3a86b..4ea5f67 100644 --- a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp +++ b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp @@ -36,7 +36,7 @@ int main() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp index 46912fd..dbb17f2 100644 --- a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp +++ b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp @@ -45,7 +45,7 @@ int test_insert() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -65,7 +65,7 @@ int test_query() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -82,7 +82,7 @@ int test_List() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -102,7 +102,7 @@ int test_delete() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp index 355ca2e..beaa61b 100644 --- a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp +++ b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp @@ -40,7 +40,7 @@ int test_create() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -72,7 +72,7 @@ int test_insert() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -94,7 +94,7 @@ int test_query() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -113,7 +113,7 @@ int test_list() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } @@ -133,7 +133,7 @@ int test_delete() return 0; } printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); return 0; } diff --git a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp index 7e7987c..cf1588e 100644 --- a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp +++ b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp @@ -45,12 +45,12 @@ int main() return 0; } #ifdef _MSC_BUILD - BaseLib_OperatorCharset_UTFToAnsi(ptszMsgBuffer, tszMsgBuffer, &nLen); + BaseLib_Charset_UTFToAnsi(ptszMsgBuffer, tszMsgBuffer, &nLen); printf("接受到数据,大小:%d,内容:%s\n", nLen, tszMsgBuffer); #else printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); #endif - BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); #ifdef _MSC_BUILD WSACleanup(); -- Gitee From 3fc82155477256bf6223e284e25fe39dc393c518 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 27 Dec 2024 15:09:44 +0800 Subject: [PATCH 63/66] modify:keepfile added --- XEngine_Release/XEngine_Config/XEngine_Config.json | 4 ++-- XEngine_Release/XEngine_Config/XEngine_VersionConfig.json | 1 + XEngine_Release/XEngine_Coredump/.gitignore | 0 XEngine_Release/XEngine_Coredump/keepfile | 1 + XEngine_Release/XEngine_LibPlugin/.gitignore | 0 XEngine_Release/XEngine_LibPlugin/keepfile | 1 + XEngine_Release/XEngine_Log/.gitignore | 0 XEngine_Release/XEngine_Log/keepfile | 1 + 8 files changed, 6 insertions(+), 2 deletions(-) delete mode 100644 XEngine_Release/XEngine_Coredump/.gitignore create mode 100644 XEngine_Release/XEngine_Coredump/keepfile delete mode 100644 XEngine_Release/XEngine_LibPlugin/.gitignore create mode 100644 XEngine_Release/XEngine_LibPlugin/keepfile delete mode 100644 XEngine_Release/XEngine_Log/.gitignore create mode 100644 XEngine_Release/XEngine_Log/keepfile diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 35cedb8..c5754d3 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -25,10 +25,10 @@ }, "XSql":{ "bEnable":true, - "SQLAddr":"10.0.3.154", + "SQLAddr":"10.0.2.6", "SQLPort":3306, "SQLUser":"root", - "SQLPass":"123123" + "SQLPass":"123123aa" }, "XApi":{ "tszWeatherUrl":"https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=3239fc302d6480ce49973f4d1c59e5d8", diff --git a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json index 3198aa8..ddf6ed5 100644 --- a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json +++ b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json @@ -1,5 +1,6 @@ { "XVer":[ + "3.8.0.1001 Build20241227", "3.7.0.1001 Build20240927", "3.6.0.1001 Build20240705", "3.5.0.1001 Build20240510", diff --git a/XEngine_Release/XEngine_Coredump/.gitignore b/XEngine_Release/XEngine_Coredump/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/XEngine_Release/XEngine_Coredump/keepfile b/XEngine_Release/XEngine_Coredump/keepfile new file mode 100644 index 0000000..34d1f89 --- /dev/null +++ b/XEngine_Release/XEngine_Coredump/keepfile @@ -0,0 +1 @@ +keepfile \ No newline at end of file diff --git a/XEngine_Release/XEngine_LibPlugin/.gitignore b/XEngine_Release/XEngine_LibPlugin/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/XEngine_Release/XEngine_LibPlugin/keepfile b/XEngine_Release/XEngine_LibPlugin/keepfile new file mode 100644 index 0000000..34d1f89 --- /dev/null +++ b/XEngine_Release/XEngine_LibPlugin/keepfile @@ -0,0 +1 @@ +keepfile \ No newline at end of file diff --git a/XEngine_Release/XEngine_Log/.gitignore b/XEngine_Release/XEngine_Log/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/XEngine_Release/XEngine_Log/keepfile b/XEngine_Release/XEngine_Log/keepfile new file mode 100644 index 0000000..34d1f89 --- /dev/null +++ b/XEngine_Release/XEngine_Log/keepfile @@ -0,0 +1 @@ +keepfile \ No newline at end of file -- Gitee From 98afb97c1666a904d5cda0d78695f83500c55554 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 30 Dec 2024 09:54:37 +0800 Subject: [PATCH 64/66] update:read me and document --- README.en.md | 28 ++++++++++++++-------------- README.md | 24 ++++++++++++++---------- XEngine_Docment/Docment_en.docx | Bin 169896 -> 170290 bytes XEngine_Docment/Docment_zh.docx | Bin 178298 -> 178561 bytes 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/README.en.md b/README.en.md index 2625232..78b85a8 100644 --- a/README.en.md +++ b/README.en.md @@ -15,8 +15,10 @@ The purpose of development and implementation based on libXEngine is a cross-pla and support plugin system,dll(so,dylib)module or lua script #### Why choose us - -Support privatization deployment, free, safe, open source, controllable +Support privatization deployment, free, safe, open source, controllable +Dozens of information queries are completely free and open source, while similar products are all charged for API counting. +Supports third-party interface data caching. It can save you the cost of other query information. +It allows you to save 90% of information service costs in a year. ## Software feature 1. permission verication @@ -55,11 +57,12 @@ Support privatization deployment, free, safe, open source, controllable 34. STUN NAT Protocol 35. NTP Time Sync Protocol 36. mac address vendor query +37. ORC Get TEXT With image ## install #### XEngine Evn -you must install XEngine,need V8.x or above,install XEngine can be refer to xengine Readme docment +you must install XEngine,need V9.x or above,install XEngine can be refer to xengine Readme docment GITEE:https://gitee.com/libxengine/libxengine GITHUB:https://github.com/libxengine/libxengine @@ -86,7 +89,7 @@ git submodule update #### Linux ubuntu:sudo apt install sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev centos:compile by self -use makefile compile,UBUNTU22.04 x64 or RockyLinux 9 x64 +use makefile compile,UBUNTU24.04 x64 or RockyLinux 9 x64 Run it on the terminal #### Macos @@ -129,20 +132,17 @@ information report You can refer to the project under XEngine_PluginModule to write the plugin The written plugin needs to be configured via JSON to be enabled -## Test Server -Address:app.xyry.org,Port:5501 - ## now task ## other problems You can refer to the document under the docment directory. It contains API protocol and service description. ## Test Service -Address:app.xyry.org,Port:5501 +Address:app.libxengine.com,Port:5501 #### example For more information please refer to the documentation id information query -api:http://app.xyry.org:5501/api?function=id¶ms1=511025198800000000 +api:http://app.libxengine.com:5501/api?function=id¶ms1=511025198800000000 ```json { "code":0, @@ -162,7 +162,7 @@ api:http://app.xyry.org:5501/api?function=id¶ms1=511025198800000000 } ``` bank card ver -api:http://app.xyry.org:5501/api?function=bank¶ms1=6214832830000000 +api:http://app.libxengine.com:5501/api?function=bank¶ms1=6214832830000000 ```json { "code":0, @@ -190,7 +190,7 @@ api:http://127.0.0.1:5501/api?function=translation&msg=中文翻译成英文&src } ``` Distributed Lock -Api:http://app.xyry.org:5501/api?function=lock¶ms1=1000154321¶ms2=1 +Api:http://app.libxengine.com:5501/api?function=lock¶ms1=1000154321¶ms2=1 ```json { "code":0, @@ -201,14 +201,14 @@ Api:http://app.xyry.org:5501/api?function=lock¶ms1=1000154321¶ms2=1 } ``` ZIPCode -Api:http://app.xyry.org:5501/api?function=zipcode¶ms1=0 +Api:http://app.libxengine.com:5501/api?function=zipcode¶ms1=0 ```json { "nZipCode":100010 } ``` Log -Api:http://app.xyry.org:5501/api?function=log¶ms1=1 +Api:http://app.libxengine.com:5501/api?function=log¶ms1=1 ```json { "tszTableName":"xengine", @@ -222,7 +222,7 @@ Api:http://app.xyry.org:5501/api?function=log¶ms1=1 } ``` Oil Query -API:http://app.xyry.org:5501/api?function=oil&addr=四川 +API:http://app.libxengine.com:5501/api?function=oil&addr=四川 ```json { "code": 0, diff --git a/README.md b/README.md index dd64361..56d119a 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,10 @@ c c++ interface api service 编译发布版本将只在github上面发布. #### 为什么选择我们 -支持私有化部署,免费,安全.开源,可控 +支持私有化部署,免费,安全.开源,可控 +几十种信息查询完全免费开源,而同类型产品全是收费API计数收费 +支持三方接口数据缓存.可以节约你的其他查询信息费用 +可以让你一年节约90%信息服务费用. ## 软件特性 1. 权限验证 @@ -57,11 +60,12 @@ c c++ interface api service 34. STUN NAT协议 35. NTP时间同步协议 36. 支持MAC地址厂商查询 +37. ORC图像文本提取 ## 安装教程 #### XEngine环境 -必须安装XEngine,版本需要V8.x或者以上版本,安装XEngine可以参考其Readme文档 +必须安装XEngine,版本需要V9.x或者以上版本,安装XEngine可以参考其Readme文档 GITEE:https://gitee.com/libxengine/libxengine GITHUB:https://github.com/libxengine/libxengine @@ -92,7 +96,7 @@ git clone https://gitee.com/xengine/XEngine_PhoneData.git XEngine_Source/XEngine #### Linux ubuntu:sudo apt install liblua5.4-dev libopencv-dev libopencv-contrib-dev libqrencode-dev centos:需要自己编译 -Linux使用Makefile编译,UBUNTU22.04 x64或者RockyLinux 9 x64 +Linux使用Makefile编译,UBUNTU24.04 x64或者RockyLinux 9 x64 在控制台运行 #### Macos @@ -145,12 +149,12 @@ make FLAGS=CleanAll 清理编译 你也可以观看视频教程来了解我们的代码框架情况:https://www.bilibili.com/video/BV13z421d7W8 ## 测试服务器 -地址:app.xyry.org,端口:5501 +地址:app.libxengine.com,端口:5501 #### 测试接口示例 更多内容请参考文档 身份证查询 -接口:http://app.xyry.org:5501/api?function=id¶ms1=511025198800000000 +接口:http://app.libxengine.com:5501/api?function=id¶ms1=511025198800000000 ```json { "code":0, @@ -170,7 +174,7 @@ make FLAGS=CleanAll 清理编译 } ``` 银行卡验证 -接口:http://app.xyry.org:5501/api?function=bank¶ms1=6214832830000000 +接口:http://app.libxengine.com:5501/api?function=bank¶ms1=6214832830000000 ```json { "code":0, @@ -198,7 +202,7 @@ make FLAGS=CleanAll 清理编译 } ``` 分布式锁 -接口:http://app.xyry.org:5501/api?function=lock¶ms1=1000154321¶ms2=1 +接口:http://app.libxengine.com:5501/api?function=lock¶ms1=1000154321¶ms2=1 ```json { "code":0, @@ -209,14 +213,14 @@ make FLAGS=CleanAll 清理编译 } ``` 行政邮编 -接口:http://app.xyry.org:5501/api?function=zipcode¶ms1=0 +接口:http://app.libxengine.com:5501/api?function=zipcode¶ms1=0 ```json { "nZipCode":100010 } ``` 日志操作 -接口:http://app.xyry.org:5501/api?function=log¶ms1=1 +接口:http://app.libxengine.com:5501/api?function=log¶ms1=1 ```json { "tszTableName":"xengine", @@ -230,7 +234,7 @@ make FLAGS=CleanAll 清理编译 } ``` 油价查询 -接口:http://app.xyry.org:5501/api?function=oil&addr=四川 +接口:http://app.libxengine.com:5501/api?function=oil&addr=四川 ```json { "code": 0, diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index 75e92e03486ffebabb7b0bc7452d7fab8e7017d5..1011bf837b82bf516d95469e9b8676737c06c89f 100644 GIT binary patch delta 155779 zcmY&eXIK;8(-l!HDE`EPAXPv>M3gFoqV$f4fYcy}Gy&-~S&E7vO{&x=y$7jMV?#

}%vGAc+3I#(2cbT4HS5*l{7~fhsNaioZ9*$) zT_uFU_29vPyqlF}8<`sQ6FG$#x`p+A0F3J6J z^tb+V<)obDvf+k-q%p^;gI@V1eTkPiN_D}voU3-1e*LMw7+xBs+>qh&?Iv&&d+J`; z3A~KS1v*i-RgpBo4`!PCU-gG;A)2&)o77g<^r~$S#U;1IrQi5PATUC5)L5V~X=yx} zC!qC~=RUPxaPS|seju^8dZ4;-xAA<<`=n`8$1(9T-6l3UiHBYLTxou( zlY@ahGG;$<`Pi{zr;o*({d;h-_lxVERmLovAOJRxyL-78ZA#}V#r?T@ILh&~_=WkM zd;WSW_7h7!Iv(EkedNRAuJ=p!_YVu0yPi1HoWAOFT+WW4t=@X*JUV9NVO#0=wn(|= zRm^d0dwSR8S-Ht*Z6uv~>&n|RK7Yr&*r$1xW3x;7FWuCR#GU^+lc4@&LAOr3<)8I@ zBCQo@2EF_mh6R1QCnE0 z4N;A$U*s8g|eBD(>-sam4{dUQCo?fzF_^h_`S>^&I z7}Vy&hHo7xt8a5Fu}TEIU0c2OSl90qy;k5_p}ZZM&6G=bcnxC5--&snJyvI7=J&!7 z9jdlb1KUam*#1A-RrlB~q_G`4ww2+`&Ih!lkNV}`y&R3pIMftIpZR@8N+&H*=uEMr zv!g-z+S?@0#n|MR61=&Gh|x-9xnRhw0_C|TEfO6GW$vKr70q-E25paRpE<$t>?0~u zox|Ct-jwIsW2@SFyAgw995=r2;29uR$+G&zL~c)y6B%q_kE_8?vwxYF)~xEp=cWJ( z4nbMt_WK_D<)1%_@e6@|WWEtDuqR7i!3{BaxVrFHC5UbPc`IXPyU5R|4r7)?)ZIL@ zG1X&eZV5B)Q>r)Z!oPTGgXFraLS40Zv@U-R+j&!i`?lVPJbkTpGiZY}ujRTWYCZO$ zl~{B-S))pK9#+O}d_v&)oJVow{V&~slui#3v~F(`4>adG`80;HZZa0~XOqj8jz$ZB0*;Gz{{&gk388T3$GCZ-J zt{I;ryZ#5WvD;;+^)!=$#5`_`4+^|9crFF2+fgF)4|KhR(ZHZT;LMw)7G_+^5gE)# zQo8VPui{^=KbKQQ5QV+z(}@`Fv+Ix9O*|oN$B48HX`Z`4<4Z%=R5A0JQ2TF~|E@+4 z&m8Oh?9{E<^6+s5E?pqxnwa(cHk zLBO#F(CYsH@}eIUAQH?0@`fz){#$wmjQLL%N~jTH?XoDei<&F|-wE)A(+_G8%*9j$ zYeg18#%i+2_JQOL5u(!tm`t7nsEMq9%B)?i5R^IL-pa;ovORL*5Wzfxn7X+CKcM5W zjA1l=Sd*ELp#IckPT^R-+^kufPEA(9y5@Q65lx+7Mh3t{(3ur503e4VTGUw>Cbfyx z-Ay^NvJuK!_hSx#8Ds)H%J(`ggw~`f6boP>+lMO^NBj!0h+r1|2sH)`%n}0V-w_l7 zYcH;iilhG}PM8C9Kjt0^Xsck#YF=V`ZA+L__en|&IFvtfN2rLrCB*s{k6`Wyv4$_O zcEK!QzXCy}!6Ma}yQhwrxd5zqGn!xkVT(1Ns>#|{Mo^C;r^2D+EPzVW>_${*cKA#dPo6V9sJ_qeXDL_dK36IQ+#F9aum>3eNQcZ68)5iBf%)dB$;n18_xBJN1w znvuPT`Qw152jhsHQ3Qn{1f`My_3{I-`hj^K9?UXC*)5}4dmtL!oJ9?#62Q!ZBRZ4T z;Q(`3lfM{Y^BsJFcx?{}MIcxNKLVKb$GkN|fU+XXc>rgT+YrRDBc1?8K8w6UJ<<-W z_Me{zunGb?;lLyW$rZ7kyVZuE)Bu$0 z)qk;?kgqHRW5(})`AVN1ISTg(CGhyUBXBDa6t_ZFX&Mt?ENZgy0eppz+{kqqB5?G9 z(4<$es4%}WG-DOYI%23n9176qSrg{0RN!zPV2!e1nhXq>(F8DsSW~P(Mk@c z`&(dW7(IuTaF#(U4DDRhOeOA9CU|(qSz_&!QB?r=paz@g8Bl;^+-{RK??h|bXzqmH zi8NjsMU{w8UX%eiRyo&JidY2!q!7xpY#{ zmf}})7&Zq@QPY4&&8;wJXrY3slnL|5t|d5ALo5>h-8Dj^Cn>j{fy6}#x+69SJwgBj zG>Y=sA%*t{!I|Zw8^Jg~YQ#d@Qa8LWh}BucLQv=6D7qW2t9%Qo41p}!k5VC#tnP$; zFk^(qBnM!YNGqG|-Dr3V8mr!&TJ$~0K3l_ff)OFuUQ>=G%+ewPVsrQj?J_o_JAv~( zU8C4mV9W|eI~v&u1PaxGw$TZmBLmr0q!D*J%u-2{D;oT)M>BQFj}S<~Log(~o5To= zvIzEVhtSHAJAqq@PkoV$_p3c7jFub{ZC$qQkrl*DeQN^Iv;-#pS03~;o~O}-lu35p>pyM zqZXVPR}4~|+9uwNf&WJFTaNBDSM?ZZ5Ngl|9h!)B@)o2M!b?~xpA;d@L+k>lN%I8a z2!!VqqI(HPpCjdSt|LEggd+nZge?1QGcr~LBLNbWrj{z>mqf!hk-8rQ+zFRmz+#EJ z?ZXo_K4PkrmIE$Zp{*&fFT__LS4dO@X05iGo3B8?n(%g5tErM_Q9C2V&u_Cwv$aPN zM?2V#-0cAl%K&T`G(~@8IqXiGY&t1&z#ao#+Oq{{0ng``nN2jX!0GHQkCmg)p2EMX6*w|7o)ikssmPbu_6kOHi)rVD?l z0b=_0)u}Web-aScF0REVv2Ue`Bo(ga7l`}SN7#oF7mDDcv+`l;t@`lqTP-r(9Pm+k zzuzXcy+zlgu}uIUHeuBsDhNyjHS5yJ3)k?JD`A%QyVdcJzAgCOiuj|PvHU%9q>xPR zf@^$F9c{b5au1D|VWv`u4)}uf0+?+2DBjIxKVaG^ZY=~FaX#BKvMeP0Hq3LU#pz8i z6*;y)I%(kY(jG?bqe5G)Z>k(ZVZjkrncYc3K_3GYzjntA*dU$8>(BFr0#ClafYz`q% zgQV|W8mQ{jt%}+qZYX~B#T{jEhq>j_i&Uf_0}mRN%_gl-XVhD?i`wQFKD?=Tz4k%* z(m>}5XcUC_1oSQ7;PyomScbnhayJ}ysJ~l{U17eYEmM}2G0MRM3z6|^LK9oak64CU zpp80gA_Aj)Wg6Nh!HiNTNh72*%^hwbM)TEYyq&R8x$`uYw)%*kc9p77gC!qY#*jUr z!u&A@wvTQleh+k^llZ=3RqYN6H0PJR8x|11A_3U@`{7>3+|zFLM6aJjT5T$=$bGl{ zaki(WnoS!a2OVyTJYo@E2o9^C;1ODBhh{g~xJQooSgI+0lysDdB~@5j%c=lO5U|`P6X}C}!^bym)($!NQ9pfrX(}e==2< z-21w~eeMVn3Nr|#G?(f(%-c7Af{&cLkFc4QB32hxSb?vtJ_vE)d*@6CMtKhzewN5Dttv$EL-mU2J; zT~Wx6wq&i(Q@R%`THhIJ2=t1y&qYM|jc5TdAG@9c?jn;C`K5XHe9NCbi)SG@Y43hv zxMl$%l5AuU0QTuar1sI>>Qeg}OM|_K_Sa0qeUeSW-X9Cm!N`nG=3Y)`e6Wt*!Yzdd z&BACrg<*@StxqcEcQzwqhQs}$uEde2>~b|CLN5pXYZ=}UFdJXnVWn+Da!ekhciPjp zlf9nRUVjo9zq%OOeRrI08i0rZzlWh!^8p>a+Qd@sFUp*>@G}ag7WUXHTz;SkYF~(5 zp(|m+TT#EWDCq+^R9MgOPPY>G3m2;v)Xlr3uE#(x}2iCt^MI+eada@^$@j=Qkb%)k)YEl&v(3>o#X703&*r&5#U$jE7{$ zb4sFoC|5;`vQg9fah_~@n^zo{BC&CljMNmH4_&a02{Y-qnieEAtR5|fZl0l%V~2{S zJsFLvTS0>1@}~3JGom&@k+p^MiWp-|f8hsWhG)K<(u={p_iiPH;)u@)&I=>}4|l z2T%JR50)!AQ=Oe;4z#bRD;{@I?OFR(hb@tRG;wD558vSl&8_xAxW0W_Y{Ef6&xOlI z^Cc51iy&9|@6ADGv8!a-t#Z~lzUWRx&u9U^+sd%l#v`mvxE@q%c z1ODC65P9Ai%Ew9Fhoy)@$V7qJ?4|pv6(rl9-q%rWvWkyf!c)7^?lY&VE{UhLrC6r* z-^X;+!Mf|rj0v0DoC9+gO{v87``h}=gAbu4^&cjxXKx}nsW(ysdnQYtcEypZicW; zYDXX@-G_mK#ozIgSy4gf(pTTx+|_gfyHq#Hb*C5&%h4gNST>i<7VG^#D%}*RC*xa( zuVZoWy{Ov|GxxPXi2LyFZ#{t+Gw58vM{q`v2h?%{nQ~%O36~>q{QF$?=Iu1%uJRR^ zP5Z!*tf<`l*s&Cqp>sv`VfmVyP1M^%w?gnIMqL1!W1zC^g-^>4Z6`O0x#__jMcvc$ zv{`Gu`;(flp3!q!+Px;0u;NHN{|7hb?#pKB^ZbY0<;P1EPx@yMW6~D8Yvc?u ztuls_NtjxJ-_j+5$dwkNl&v7Htme*D4`4@gb&4V)i_&UwphP}d+g!}=yyk*k>pOa8FXw-DZu zK%CP>?6ehUT!r_=>|Bw?wfa2$7+2$81S;f3S+IJWuDJ2$trP6-_MY4kmL={6K;?G9 zJYI#$<@8(;(KWj1J9Hgli*Q5cTuE%Tafg^DZ`)3fR=AQACEG>}Z_mG9%l9)HU&_3v z_DN74GN611|6Rc6WCsK~YX!P856f z*2CJ_Q}&}fml>Pwg(a2JC~AQqAfRnqKfhF2qN_-rZEKqANqJxQFDRR4@w; z&JW)9>~=!t6o#3$nQ#8`x%?DkBb+-26}6p~bu9|?Ha_tHOqMd}0X|h`PC(~UB-&Ny zIu>;XBYppA2oPH9#3|l5gBx9-4ws*CjMZyvFTj|?v;cy=Rp{jtgL%>n5K*G zt)DBJSfEBkE?V_r&T$ND72W38uaJp9uRupaGv;=v?LNmE2-9NWiu1jPP=25I)5n&m zMWXGhgkev$In)9W9SbTp3g$~K#j+; zA;jTkLt4lQSDHzxY+(N9pa>G)b6#r}gUV6e_bD2Yb?0Iq%V}|PYD-ah`QB%W>P$Hu zwVEh5cwM*Up#_90UHe2A=fv;ry_9@?>yymo^lpEyc`EQi_@EYjRQu!)d96goT<9s( zvmGBv@wq-xZ4d_4vR zhm{XDk5$g^|HkLaNB{GpkA%c7I;rb$A(J;#PbF^j684Gl&4i@vsO)JG z+PRZxn(5g#nJEagNe3TV`ieG*Bj`U->@#Q#Qg8w9g2}xG^|J1f;q`@_i_Z#Doh*nI zbssW4fQP)>v0BOfi&nWxvLiif3}EJ;(8GS6kC=Zy!y%zZ9C!AAauv#Iz%Q4XW|k59##X?U|H}CWw2wUmksRQ$3Jl zZ`@HA0gL|F&4Hy&jjaeE?NKow9KhC3eDvKPzm`prCB>>Hr_gXYw>GA&PzU06&Dw*9 ze3DYo7N{uYF&H@KDvCH1o+9Hx0I6?0@^S(F<-(=89$B>!G4Cy>^ls_G=m|{-ioF6S zkaaxy0m`A%s1jqGvi1rSiA#(65^0#yvnBow(>k465ir+$oa@{Ugk5kn=IjW`qWjOB z(5Ds7fYk@{fAVnG!snW`xg?i**e>X5INH3by%+FrsY{K0`3nqJLHl&5tW;~}f>bpzSg!U)lq;TAyl4YaD zPNCad@NE54*Lb;AHs~72l})=3>^Eyl9(TB^&F|`-Psx-6^y$T;n>jb@AYMLh&?$9>1_>r{H4xN^b ze4<)aGFd_Pz@BZs?UIH$r?e2Gu6+NqEC`y>;MZM}M?|8Q7Kolg1=Y47DC8^;WHzBw zNeaT(`=oPe`?8Lwan|aThU!3P(@X`|<>Y$x_}N+X!N+63Z@hE?UbBuNd*u{E!JUar z_OFV>;R4lBm^qM}D@{+C?WWPNoyAa2k$wLQtFqN=$%3lbvkM2?mc?X(vG3Vg%Iw#N zXGD8rRpR~3gkgU-;()q+cHQXy|HXX$ig?qzZywk?{ z)2{FMog7zvj6u0BV~RQ_c4sd8Q?|LnVxj#7 zNj~Z7E7SHT9gWJ(L!+HJ*tVu^|8VL`eg$^*S}&!R-R=aHo^r~|V^bKHP&`>W(D_B$ z+H}Kh^nsbI?d?-r&+WI~O(+KTPkkRzc5|RWHJwwpZZF^@S}}8{44!`k1&@AMPNmA} z-IN1P`EBRfO2>S6mp@Z^A+Bvm0RPP*Yn_+(Oz?q9oCI}g$facRnzRj=R<$Hk0`3RC zrfnA}>iIvhDgPmEk_yf9N;(|d_e(AJpn#e}ELFBpa$ymH=K#<>lhc>VwhFjR8Nd?`(<1zSROmfN)VSr7%O&*?=z`tD z(d6_>Y5vDO#eMK*Zh>CyI11IL2eCMR;i_H55k zy!W(_pvn@q>=+`#i0HM&?H;~9#(($~ zaA&)1>Laz&Eq3)uNuX2-{cLBDu3YS5sHj|GU_AerN6WMi;@p5^@H->7=67zi-5ysv z(o$Pboc^JvivEev8FSBvMQOXaqaCSH*1yLM?q0##q`9Z7)F>X4q&(jStRJp2vMNhD z7vh-)lxBuMk#w@o`@bfoK|7cTopWycK>~UpuKau96y9^VxEA?q%cPY1OpX*P zZ?#bJSD)+mC8sv|dd`lvW_;R#ObKb^RjBuQ!JP3Py18cb0Y#Z#_u$97adrQxF zqxl7p>{HTEi=l|ebV1~S;%Sor4)~XjiH2kNLS_+vGO9`*I-T3$okvy z$awUO;%l`eS^u-Aj5~^VoeTQpF5swValFI9ySD`Xwdv%mH9y?m)H>fO;{jC>2MXW( zH1mzYE2KALkEX^z)1cOO4=7MbDUXv?bq#s&tK-?4S@U96HL3%`(Wua8@M>YV{gQrs z+t8sDFvTy0h<*2n1bSjx7H0(A;eBYiw0^sBOT#q$ zseD}kA?O|w#ECFQol}2wp&*wiKBlOKI%b2+o?dqS{2?8%Ia|^}h0)7@B-p%|5#nmi zi?g%f?yL~+`m-Q%3zyY~z2<8_eMi$ej5XaL)-jBk5T2WGkEq2OxMDy0MLDFN|Ek0| z340*9P>}E~^5xTrc|Lw(a>DC}ABSs}@S#E41E-g@)t5g6cixbOD?;Q4+D9vh zY<`=A1;5wMs@$rT< zG+mPSJN#4bjpQ#=>doU{HB&1XudNZRdsNvQVfoqyUy2s9%`e^9FT7ywDnZ{>p1 z;4wh8l?H9{M*pbPF zh99Qh0YPfGr0Ci{=beTxdZZ>Z|!=^Ah?F6Fp%Sh`@B}<#RMxoEOTMAsr$4#?& zY{2Kp13q@P4}OCg|B?GEJZ~Q8y7-UhH%_X`PY!T*h2#@ym6QGQ66zB9PgGYa#yrF0 z33+dpI`|xNtY*3z(M5P$`%U(H{1tcHKS`N20j~`hz(8qQSE?wYAbYW}u0i*&3}MnZ zbhFI~oKiX#WbQbdXSG*#d^2M|u430^QGX8dnP|6rOZg0Uab7+(L5gu3A`<;0;#`{9 z()X|3<>D3`=E{3T#Q7pOE{Z9UH5(D{%;}NTgckZkiJCYc=ZY9De=KUAa7Ql9oT8ut z^!_@Z$lqBQIYgY9(B}9PwG4uz|85HA`aMVeeK;DNQRIDFQkS?eQ7#;=&i&ct`q^XU zZ{L^|R7_fZoaw~;O@Ps-BHTk7BRLQTcvH4URS9N6i!rkD)IgJMz2TCAIppLg^&O?h z|E71MN^2A=JYo7(6FTS6exRUpDezXZS&pb`fO-x0PUrPSN&oEc3)sJIb;)nu0x5V9mp2iEBTTfMv_n zi?V}-@6fvDANhaE53Y;FaVl#=efS0J<&IfAfs2YZ$9AN9g^wD#M2Af+oM2q9BQ6AY z^xxkOM4wn9NcZ1Ts=xHfsjt<+Vrl~3S~Lk#_9jK&{cKlB;tlS!tdH?BRQbW*WI7jG z`aIOHTruq3<5I9D_rLmss5y$0JmmFOF121Rqy(;4k;74e5_S?{i2yJP!7EpXHL*r~11$(*l(mdE)% zeBoPV4wb4Uqg*!dFToLQ5{YLoT@4jMjFwG!BR0xxZ2x^Y0e@Czgz)q|^aWD5xMqAt zRE@Yk_Vf_fe)af5{5rop(nRsSOB_(PUcHPgR9U_DSD^RRKE&x|g^YZ!tX(Esma9&Y zT>Z*qf<;Yyzn6E#;4Vi}@_0jk*Vvgg zKH+_EB!|O;jTt-Tf=!zMUT5IJ@uyq7d*yPR@goLgB}A*oi6^eZ4|?{q`(NjXajbm) zJ!73Z8TBq-ScG7@#-+Q1_skF!p_I$kooi&julpwdGoT-eY`)<1bHzM~_son_ksfyj z(zf&X#J_(s9uG1r{Fi+mr#>zonkk6sy5-fI_kF!!NmZxJuPL{&pt-UGzsznr#blu^qlqu7rHN{kJhe* zn@VcRMbH~74wL-%*LDM>h#LGTy|Cn6leQthny-OA7&~cOEv`&NphufUb{xO(CC!$y zn(&d$QB;~(%6pw&kCEu3hMU3K(-Je(g9Wl?LLx|l?)R;2l1ljuAE4NJQuyn)5QMG3$rus+d6&7m|e4 zh*#dOKJ|+KdJSD{tH_R#zWpG)wo-;#D^8#n0*t!G;hu5Qm$6n;T!&I-=f zAI1GVqkhT9FX^Y1yS-bd)|+gDtEG;_5TC>}Ol@$zX@0CS#i=Lh`^j``3Hc(I5%ic} z&%NdwY(Gx4*DL|2r6#Nemz}QE5jAjYt>XXmdh}rRMe}cdeA$J4f6OwN?>+IHh|f&KE*ldYCvX{%v6NprCs2acKo#4HzKG} zHqctQJ9OKL_reziqc0QOTI!!{+!$PqoM$>R)&2?x`f}qe(I)YF90`R_&VH`1bH6Kc zb)e<9oT|Gc+l~Kb*A`G8Z-_9rAbaPb+%ojvKTvewvJt0HtGPz<)?D_jn=SH9iIta~ zhEJN~i&BeP4xVC~{_}%gL#ilKqH8TCve;_neR7QXt8gcc4h&#dkL^*`Y1ni{B>%^0 z6u3*f>M7lTXj+l~)FNQ;vG3EgO~@ovLqRchN+dUX=#F_mFW(mq`G?(E);D=y#Zm>h zW+Yqzhl~Q9$SJYBKbYDzo(^9l?nkb><0WDFzoxgICuhp4rsXMO?262c{#z9HI__5J zRoqxp&X!aZ$;+A&cdNnH=Q!GS~JXiueAqo z%&g1jD+qHWV<+rPzDl-y^mQ<{^E7*RH+b&UJh4O0MqR`JM|I}jD0Q%K{HTig^b{ZL z#&vFBBzj_MQ@F*-HJ$smNW!mzkYP@FrrwXTVF3he-Lc1@*=U59U-|A)#>DO}{LE7X zx@K}1Z-dsh;jbR3Hm`j$D4>p_*@^}n@=xqCyl6ZBMdk&h3O2bkPbN@rC@39&7W=}y zU0Wg4S~So(hvUzgn^n=QACN69KY(QC|~=e=SW^j#}{Q&JvS-i zihh|wg}fEQ;fh@NKy6(5nDs(Ki5aNp_?h`KanOyPIgx82K~hyyl+%VW-54DC0cB0Y z$Urcmh&RQgPsVoe-yI6*Q%0amm1c2*@pOB-TAnT?Zn=!&<-u+x7TH~O$14z+J_YO{ zzeP@7Q@FhI=7*-Ra3vv*dM-pP^vX6SH$)9V{48TS^5CoDj&jzOFp_cnx^cy~#%4tJ z?)VG^6lW{#s-^wj=Y5T(!nIK7L1=_Z zU)RY4JGn1k1AHH7+AL{)yg8`>U=p>ay5#dJp0GHtPh%BT&mBxOR}V!#{I}P7vp8S!i8tpAF;2%sFRaCevk8=Ut2FkyjjmXXtT}eMo(T zMqV~UjRn_G|H8=A)4o4WSu>E&}$ z&n(5JwO8`7MJ7sO#avYbfWC&bD;ahYWPxG3vNG@zqns6`5|Qc^73dx5t~-|ze)GvN zUw3)W%`twswY%d7U5xEhQxQ>4m?>4kLLcU1Q=FA|VSgyks$3{RM19Z8SGcQqNy`5p z_u5UaW4q~KU##r&?Tr#)Ru3ix>ppCYB(TLVjwdqrp03{To_@duXoMMy^^bE|oQP^M z72!QsVQD^LH8{M;9i=Ek`JH*(sLx@9^sw+fxfJStR3WJrpYyfBcp5IWP+G!OU?tP0 zy}hoZ9``w3k<-TS$UiufnEO$2pd|8JdSzI>x~k}N4Q}%ow}} z>&ueDr;$OwUk0q20>*OH7xAILR4>UY-Lm#e@Da~VN%G&w7je!GWN+MkmvoKG9lm?g zVuzM1FkrC0r7AAZY~S@h*^XZ#XjtV`XKIpS>Rqc9y%wL~yX4)UWA~OKlLWhSkr!EU znZp7%x*3E0O6TETN~q-x=~6eW7Q(cf!(3e3HcLgi);Fpcpij7)^P_4{Je9AtQ$88v z?)4?Ni7^<~MILYBeerEiw;&Mb92LJ`&D)>cT`nl^^>><2{v~VZuuA#c$Bem?Cq{!| z=C0I=I<>UNuiz>iPQo7$Pp@9CCVd>HPM*L2(f!X0EY86JwUDs+bT_=j*jh3o3^j2- z9yTq~6)U4|1W<{=Eg>KN{CIe@>L&biSXSbRpF8%W>0k@2T-M=*?h7{Q7*fPsUvK6Y zk2yP41w^bFj}aT*^Q)76hPTlxYiDRg|;wj4LT#WXiB$kTN2pb!aS?^eyR_{ zUkQ4>-Bkp(GTvmam-7add)HwIKVD@Ac0PDEy#O-$0#75%!?9*>z0ppI^H#H~(VtHRIB2KK1kLjS?!1g9ohfZm)~>Xv@yq|5>;fn;JOT zFMY2zUN0Q?({2|>_Stxha=w5xKS z?HiKc2&=Uw^)a)^4(}mr}Gu7p~wJ;ft_=SX$KC@zWp1VUB6XD$K z)ejbz3GI!o$IqzTUbpreRBJC2>N-8Cz`A}$>$8J^dPq+JRXZF)jiz?8$t-yL4*6dB zAvLC`WTA@uuF)U07qEV#u;~7FzJ|7^r~t6%$0+}|-;WRUMM?I^4pd!wRlL!>5PNH& zFl_L2sd7tY$18sfu2RrIP<}CUp@LG5tr8F1wYY6{Y>^1ML0o(f{SIF+@e%{Sy54bl ztN(H2Wl;JbXX8~*`T4dbo$~}GSLLT$bABG8yEDrxrZ({(Xk*;Zs^(7p?&_qC+@b=% zFOF0U42m%yl$$DAutxB{yYdSzgIbZ(G<(^Yg6~`=k2-m%G4GdZL?d(g-^{?>thZjo z%JwL8y?MP=P{VH1WTwLYHLu%Uxbe$TVR_a_y)GD;_DU%*UTwA{p_NDUfzt=`CjaRr zKRX^Hg(;gy_G4B7bdxBzc8;*MQJqS_Lqg=((>XVTj;+DOKD~dpu;pG-TT96nH6O8= zsqDotb9S#G$&s_9`QVe*mWpA!w;p-Tex?d|Ig}QQ&lOO^^TIKto##2{whx4 zOrr1FYD(x2Vvx4pj}h*7;u8+M4kd4<^SkY)rM`Wi@cP5Uu#OJz={QqG8IfzZ08`_@ zK2EhoIYPtc4Q&||F6o5h?_O)VfxTUv5k%2rj^G&(!OLT>XlEyH^T|dLxI;`iST6GK zxl%Dc&S(9=--r|3c7MCQ-FHDd{6mD$*q*#ASz5WG8fLK+T=ko1{dQczVIi2_1 zbkw8e?+KlNA!ZSE#O|Jec+GM({<$fJhx?63m9~=PucWu|>-WPoef~6xzx7yn3|#P6gBs>c?k{ z?;v_MUWH6V^7!YpZ{724*JoSev?qM7DvOL$@btn*Vi?(Uq6}aM_s874B;(>Mso$T zQTW}k@M*!od#iy$(dq-%sLegetk$v<`!-7^a<{9AFcnPQu>GiWv#aMBwZ$wP;q^;X zV-IaOJl|pX+obA?Q`G>{Z-~KhvBfRxxG^swU{~4V%ZmqZs>dXx5&ZWfz<-83J%Fevzt6vg-2R$k3-@55bdMRu!*g`b%Y zGxCG=b5JQkBySS*b1tXVyohKaEg3St4U03s;MgfGiJec1aWdTTZ}kF5sJ6~i)aQqYBdFZ8l#y*N>Pbru9zES}JNk7bQs|RD zVq9Ye;}~vTB*eW?+A>X_u>S{FUi5l2ba3rYR~Oq_`AoGU$H%{$6a8lxrTXnMudaKh z`lbunyLhy%#b%lU(#{ZPiV39K>%T0E0@I9%$bX@e4bd)`6jU9DV9T`g8;b!|X7cq- zwbg45NxbHlIWJnNd!0j{i@GUZbJeOH-L=W1-r*n39n&`8ZdiuGts7V0krN+Wdm>gz391c?cAN10ybv#^dPn8Pmju5pM3v&07MSa;Op-xB1Rbc5QLsF zEw7Q^7VGZ_sMCiS-e8nUzJU`8{_)JuYgwoYCqDN67L`FUO;D{^DtY`lxqk8TK(PC# zodTi7(4-SmPrYU?<%a^W46|*^3#O!(?~$z>f%VGbwsR>tuN>!Tf9&7H<(dC%nY?<> z`TofaSF@_BE}&3<4f5M7sL$%O1MR^auZ&5zR3cY&;#@a~Txj;$5g;3g=iB|%@sF(7mXp}jEF3(Jd3m_-O04|tA~+tbiVv-)g<$xc z?^}YbT!Gic@Fc>sHl3^j_rG<@VU61lOpaAf4mZ1&={>TLj}Ccw36|b@@N~pEV9H(X z1n84uzw#CJr|B>k*pXaMrZ>G~s30yh5~Ooa2%9>LQm*_T0GB{$zxY{eTErOd@yYe? zeE5g=S{->n@S>KWv#xt?|BQHIo^6#Uc;4!1OjzufDM6Ope_u}KPMuATfoe(ba0l9c zevt^)^!EXtM4w*2BR|*uvqWPCU1pA9z-44^*HZWD-3!*!9TRrGOtXZDe6jFzhpgcK z>2L3V<`^Ms)+^5J#M$kNxAk|)F&A#q+#y;3PKg0T2CN-p?i~e44u1X4ru#x>1a_p8 zESns&ePMONe_n#@Jl9}T$DjC+eG`xAv!Klp+WVTp4(HwbO_FEM2%uY*|C4jumBplm zzms(TlKlWjNW*Wk zS+%M$>Qw!H8iz9I)Und&?A4%>ij22Eq&Q0tmBj}=xN|SOQz=E>N z>uH0_AZwto$3rvp)1c!MWgvE~1Sj~Ml191d)rKT6Pd!IdooPNzFZx8V z+J&Q`M2_JDCVPi5e2moBv+#aa6Cuxi%^9;JnKaI;87%Cej2<5d^)UV97^Qug{a1W5 zYAkaMxMjv54_a`c2W)J0nbo;-C4;>Znz0TMT0xf0EpK zQ?P7x>?y%UobiKWRic)dl7shde)%-KkFAkp74enjm~B*FrsQ~?>E#^j$qvb{uu0sd z$FIGnbJ}CzZPHrj=)scZ+<-kWeATSEfNbKFKy|haOYth}sxb;8h2T>1gbK^Au;Yk7 zbFG;a=y>yK`{QW4io?y%$T26jf7!ej_Did<-0>czh`gQ#${>08MbgZ0qS~sy`)LbC zmi%(EimD&;cO*6wIdUAw%kIfBSkbcjhR>+KOs3}>ep0g}y_H3`Ooewr@ZiL)D_nlmG2@cC+>>inGeygNUq zCn#82tsDAyQG(hb0Mp#5mdt`UxuQaO&F>HCeiw+X)qx4qz`i7EJ8pYv7tBr6Se@YW zfxz*LWM*B~eme!<*7Vxse-yvuB;@3ES;%iH+lSGv-UkQlGi`sr|JYJ1lQ<=%uT>~u zq|Enu>TsReWxQ5^Pq_~y%Qc>?S<4WjjoSU59oKg3oMu8yeecm5rt2qMzrbZ0VEYiWbe?#;pUy?=ad>?m} z;yD9VBs~TY$0n&UxCgF`znwa;qPoj5!-lQ9m%(*-L1gnzeSa_`*`cZ_Eg- zF7RLz{XQa!8O1qKfBSYlI(`}P-rONbWtYq%oHL+oTEt*aqAO>;&mgNzJRdXUOOG9Z zD0t!AI~w$^M{0kZe&{B01`{-SK4(1sRIZ~xY&~rmWz{(YMW*;Oa*STQ8Non| zz?H}yuM~n+kx#>gn{mq%iArZYPi+td7xHPU&5~#C9NuA8e_@IFLnP(xthn*nCm5wU zL_^JB#p04xSSM#&i_aXxMoIqOQ#MweK#h^^1jbCs{rODn*SV>m>yw3It!whJ=|N4T z4#CyJT+bQkanQDy5ZCq2{pKn`(3(%1NBMM0&cSh(lIzY1D~aU0v{6cS)>wX12~@{E z$DANpIRm|;fB48X=3vGr4&@Y#2K3G`s06Z>=LC-Lejhpo++LZv)5k~K;e4NCf4wsc zcgo;)Cs7iNZT+UWk~4mA9_j%zGIw$%P`lR}Fi5-eCitjX=N{Enw&?naY!!LTC8O70^1J6Q_!BdLJ-P5TnitOI1@~T(zs9P#$OAjU;G`>eRFQr(52^*A1F3Z5Oy6{L}TdulwWK zmE9z-evwnklr%!tU=<7P1Vga>mnh!7N+-F-m$nHVza^`*H_fgl- z+(7Cl)W+r-KnqJ6)z_wU?2(js)1EbIi1o{u%e|0iL22O^&BsT_22wN7?4ql*FBH=N zsW}E(tG|x|8)e!#2IeO#HLiuRo*v7!f2e7ma;+C-+5Uf7jm; z#m^d!i>tdQW?S)^125!j&dA?>eDTdta+aoLld3#W`X5J6M$4`xs1~8ApPEml(=f!`*VL>vsmj zOlHR}=vwTXIp$L05>KP323vE?e}Lp+BesOqS+=q%hVpl0`znfK4A$<#fBcZhP8H&Y zgoj$O!8_YpFS$7NB=E}pG`Iw{8Z~Q~J6Va8fFl+An%~j2sC=0rk%G#d$j3mNoxd}1 z#634Ks@{n@oj)q-VFscEeHvlx1qawa4IZ0@WUW3s)xBN!u3O&&pcOwZ(^UAf6 zV6d-fE6H|$mPbiqPt{FJf8w4il);ej!Cv(hIOv%}mceFU_tO+%ebHi!jb~Y0o`!C) z5FI1~@!50JjimB2V~jF|+&iNpu`*D`K$;g%7KzfJ{@OBA5+k{8B5)OZ8eOQA3Z{m| zy28M%r{Ou>d)8oNd*3B^QoeizgtD2JVTZA<%c~}l;4UkGWONwFf3rOg=A^aWXJpih z`^*A}P8Ngkki5U#C9-2jSpmjC3>3Z>70RfA%2}fi$r?gqwBXzG`=DY>?oDHqWtOKm zB>0tcb=IXjjgK+!{p=aYr&VrB_wTWwY1N=0%9>SU-kOx;9^LS7_rAvB;&|8B-qyjG zmJ&Op;{IkJT2$G-e<7Lf<;y@1z28?=s*|X5E#Cbh(JdyT1SBw`6*(m_qO52VeSKf~ zrW`#vn_7bd!*h94s7Npwe0kdH%cXuhSZ{3&${Bt6rcxD;iaFc`qF+nJxJWecs?0Zu zE3lYJNsw!`=960Wz*?PCbiH^M?wB&g`SScAZ$B$1VT{&Ie}!Qpan+Z%OY+fGH)6yj z0KSD2;?tuxDRvbS_2_v@eo?WN*E9y+rm__z8%9LGg&AjHQgmX^o zl;|%Ym(voE>Ebf*F#RN2!uD5B8vDQ|aJWieYd7-BKDed^idpeD60StWDM*A=^JJmu zeN*N&H$ApRf4xhhlqWgK7+ZK2Dz-85;ew!3K20yTiqso3TF>NH(4z{wNj**1)=$OO zfdvo_7JigOVEI*g=l({_Q{KBV%#A#aBnVI=mt(h$3iABgLf)_=^*$<)vU8KCy>WT= z7*@@eU(So_7M8yQ{MDzC1v~dQg(3#y&8NwerVpqFe@sW_Tmu~X&;<1~e3Y4YmSE8{ zF1?()URa;P&>C}MAIKd)tg5u^^o_c|i^ohyDY*6G<08TI{pD$*Uxk%228K6p%{%Dk zmOci_ghr*-ZMo^kk}EnYkox>^%>XL$X~IYq4cE6j#Hz_>T-)>&TPJzk&i+2&Z&Otqj4|R;`96Zwyyu$RNmcaS2-w-)A;JVD zL;2;-O@HUqRi~|3xEf{^gRo~X8eSD<+Za9K3rkHR$DgsMyJk6SaZDS7xi5V)7YXLr zf4a?3X6q+Ww~Y8KzT4Ud1Jv?JD;kztMSMR^v)lASv8gg|YbTOOdDc1QWI>_VjXucn zvRjRRN4{3sJ`&iOw69r$I3#O_$PeDpo5W5;HO>L4TL#izn636T3C_iqOf2u5frR)w z@43+w0i8n5P5iAoH|ao&ZN2*3ksPece|*|gJzz1MxtecJBzG>jD(M=zyNpGT6c{_UX22_e3`og`r8krV!Y5bgTdNeRoY-*D*p?gNFsw={Cp(x zSxbIx)%y3UQ8Q-Lqvza~`A#d=f2?(t+6%|!X&WCbwabuHb)hksB3r}iM75^h_*leR zt76B~peZs|^FT%NDh6R=Anp2TE5LL{-5=|N;hU#KC#tC`ABA^z6=HeUlN_1xbX_Q4 z>)$z)7pC@K1tBx1Cx3j~d+)4n`ivilnm*6WH>y;b*0k{PmC7#Xy^Zbsf6EEpHkMtk z&UQ%4mM*^!e*wdOt-&e(QxDLp!fy4qhLnX>n%aPP~Iei~q0#&;MY!wJi|%~LYi`yHIwX)BZ92C8+_d;#r# z*>A8WXo6d!CNk~br;sM!q-K4WwaR?(6WbHo#Tvr}(`hIrs3sDNe}nyp-I;I7cv&;T zBCLY_cwdSOUP@vbRmJ%<>^r@$S@GGUY9!v@Qgrn+W^Yz%7^6p3dPbu0&30jo z=zeC3Nj@y!oB^RX@968&!@>rBo5`N3b~_F z!g3(N`KAJPIIHV-WGi%;P6=dB>z!fk^xom(xEu0m3U@PCe*mE=P?9_3bAUCbeq%N) zX;T2U!rbKh%!2#9cT~|YiL}s?0B|JdhEW`ub-k%8i>^qC9@D+AXZBlFjE>$IsJi-T z%#Gsxk|c%2Oe;VL1vD-9o7B`^7<5k)!RWgYwMsIj7^B}vaSM~|h)#2d@PCpMMm^Wa zTIE+*^*G2}f3=)5qO8;*s{)|Dv({1Ekve|W3#IQ8JZ9Nv=>FX9@3ks5h6Hjk_l_J( z;}a#fwM5Iatz{mruG((~BvYgrh<>H#O7a#Esi*BSMwyWYXvA`pGf;I7)sat=MaXD4 zLNePrPp|^dz30ZIR&!9lGuo1-$N$7U_DH{8nhSqOf8LFUTGFbdfdkcFt+mU+r_DI| z(-I{2rW717cU!lE{-!Fbj8XKEnUv>=*QqrUl+L>?Rbg$cSGA%x+buB*&x^5yS$&LL!JXV*F%9@BMil7*Kl#_@ff<|CBGu?&M+zaJL!B()RL> zb1>d?e>B7dc=;lk^Ul(G$5|-P6<+Ph3(Tj`R`ENe9b>IlJ0N?=Z_e;yDMx7;C&@-_2-ObtNz zob~gNvB@>i&uGn9+RNuo)-9Sv9e>{2I-#&S^ZdYouwH6)q&L8LTcZA_pLVGq$klm? zwq~UMCE@u>uV8Rg&3oNHvW=MP>oy~KNhsB<@s?-3v)tu~%;on1a_o&=a^O1PVUi37udX+Uc<}EyF@>8oo90Ihy!P>uVxY}czmuKbE|!H8$^?kTmzEz zNFBncQRq`^Fyn4&4LdKxX~{8q*QT|hNy_KUJd;*j_x6ll>UOuxk}CXH)0KON(@0y@ z+z`Vp>4Bm2oA%7ti`(k`+)smx&I*?of7<1)^1%QEJb@zDMvQN>Yn+FrU*>3>&o5A zs0hp*GCZS<%nec;tZ_Ai(FUXV@cj;`N5-DykM)Yl_u=TxUuJ-vsF+gxj!q<1BTeE6 zr%f)oAWwPb`+UQoV-Opzc#fefe-pF)0^yz8au{^8iTHd8vCSFLB;hyajz`oewOMmR zM78(oATdkk3OF3e!^{~eWrf$uFGrveZp{FBNF%^i^LB4MsD#l2Hg(nIWKFqyeFRyk zoPk>|v&*oSH*J`5%py|Wzq3Ejwhv^-l84s&aJawBTK+VvAv76MtynX_e>z5y*Igoj z?&HA>ReHlG7~%J zCajzB16_HZ8baon{n`HM`zgbb@pw$8K2hCs8XZYvQu2lIeGsQxow5@l&qgXTpSIE= zIcr%>t($TTp6#@}e~Ib#e#2Iy+P9uIiH7v9lB0Av=9odjn)_`af)nAT+zbnBuC*-2 zT5PjQ)HF0I{$3L0e;pZRdrvU0egA-EFNt7%e~@oxWZT}oWiM?-a&Ji4JSFI5n2NP- zBjb7GH~on1Cr$_lE$06mLxm(mx?(&8XNincrpK+#eLbrTN=z20)?H)WdLQs13N9t9 zDy+PNReSlaIfj3l(fzmZxmt}H13!xWxh0^J`4vn$J3w$~e`WL%!Aioa$vbO#VJzqw zeBB3&9y{rYzZbS;VhQvQ6Q|C5j*)h@wIKnO9fiV5cM!GcxP-Wv(sZs7}YCg$E&C2q3-pby42H>!nHyf07 zd!IR^D_hp2f1qYXN1SupY2~aP1JK9Cn_oc-^f{vug8u4D@|$Wkp8YZIZ;fUfU!@(4 zSa5#ReV0eiJ<2g^{HU@5*|B^dJPTc0t`<<%s>e(MV0jv~F=MON*H${9BCjM;Q+viK z^b-X6&lOenDD#_78;OUsIw4Efj8lMj!Jp-dYEO~ff4nJ!5$w!0IOXdTnLvTOuf(># zdHieQVM%cFO!=nQ=ZjZ>>0wO_)B6H-&wM?}q}NgXj`+cnQ4a}@`!g#-G*rKDnPX8~ za?|lPe`o!|J^)H5WnXJePYf3+!AG}=n%gfGTD5m3Ih*z|ur$hrmc=!}ZZ^uAWV)xn z&43+dMa}K8!?5P8eS)rZ;+!H0$*%w^%cZQ}!A-{^P06AkW$6%ous|02cZS7P`b`zs zYs&b+D2{4er<9(MZ$1q>xkN(Enp2?VR7zwxe~Q=L{j0h@J#l)RKFE_L$LU9ywIeA@O+~q1=I2@@F@GH zf8|9m*Yizvh&s}8(3J<-QO^3K5B!%gJjY&xfpNTxf!kx`@%uId?rjb{?UeKp$lbf*Kx$pJ>hs;&QUL#` zj#u|VU_WO~F?BEqbn7c@x_)KFs4)V4`Av~FtXZF>ZTUlQhWwoY49GRu)+u`re|Vo2 z3O)B5W)WSp^LKPJ&H5500#I{#&+STSGP13)7jng1H+00G#Bm9~J@qB1x$Uz8!-@$_ zyEp9qe}X;UG7m@@K-;HAI%wGB(m`;!m`x)<#3um&eWE;#-*3@cU0_DM;HttGR2v1)Ph3ev9+FdX$sJuo@&V> z5t7rztIlXE35ZIa5~1jO<3mUQ+G}-mbb`REuRsF)Tl@N>Llm;rc+-y_f0}p_QzFEa zd8UtQ$?UlW4tyz0t-XUH7gVa&`oncbAXPKqX1&wCM#cElha$(!lv16!4?H_Oca2d; ziSj8WfLFcN4?xVU?qFJ~6wI}Lum)4ZqVdEC*)xFaN&nPWV~_UlK((X}!B_p9-?=(6 zg!tTQ4W44rSux6)W5(8vf1w7974S{6ryf=CjS4DvJax3Brzb6=a4FA%Tbur^_Zb-4 ztee6>^p+8>F?#GQ$!RWY_XW{G@;bAYM{(n4-SaEZVSChn$4Q<^7N zM`hhB@l_a8pL^dwf1q^PFVt4!ePkpH^(K<%ywQ~vG$WYSu=uc2BW+N7nMar02Aa!t z+w@6k4a@yPZ(mp;fbW}&=}N|6A& z*ShJBu6KLwe=6B55&3*m)R#w|MxBYM($b^2UEtE{G>(n{d){*-lk243R4gyMG@=$> zK;v@OY}+HzCZY%4r|uG36iaV@A1z9{8Ujm+<50T_N3bfj(y;y==qUFN8mPv|==C(s ziC`6M6}~=d-4tso%}EJvm8{^K6;3r~VFqyCdLImSf4)4YzME)x?rV_tHTA(v8!YJ+ z;KI_{tL{1U2PkrL$Ln;lCyr~j59h2*#kLOSou`DupWO!UgJuDHQmr-gS#uq^7oThI zcp<h~cmtJM6G(O#XZ8XJc zX6$)B^*v6#GmDsIcA3M%?92Dj_zde*z0V?8l+p0vuxS65V`k*Bx!)FT8k0S0#+`xs zvYw`hzOj=WBkW_T$@SQgNyw+^;F9@9onc>df95{sRm5sbO`-daf~Nc(9)D&YW+`li zIXMP)C8LHMJuY|dH^6K}S@krva8qkoc(KmQDDl+!EcF39Ugj)+XH<;l8UTh1W#yP% zm2~bmO+`2$IflQIS<)GM;hFK#8HqDzqMj!6(49cI&K$=cBfs4C8~7;HTKnaV0MTPQrM1J~fV-{&#n%%CSYg#pjf~sepZIyM1acTx!9CbD+Vc)i< zkdtUeFxd_L+H!}$%n8@z?|`f&9(F##oBIBd*6hBDgSKdDyO%^ag_?niH}IL1$fRVo z@qEh0W=4%fhnv*bJQiiJ^*a}ms*E_Re|47e%&&b(JokM{!Y0n&*%USR+;&!9t`30N znOXVSHbmc^za#$l<$ds}W@bq0-L+k_{v|1&dD;at!IAh75)}-!6J^bOggW*5jl7Pm zxWpSW>3yiixXDGvj>k#>ho3v-rRqH`Z#h~_p8YfyerhrG{c5UmAE+7HvuBXr zRd4L}HEV0LrPYb4e_Rf1TB&bFFdC zU+GCKvko^I8(e19Oh@X28NMo+1eW>2>y&G)?aQ7~DQ!u`5AtMTJ=rq*qH=nYfUCOU&PhOz zQlzyyV#>a0ogeli$FcSsi8990As7Lu*bj zX&zN)j)X5$dj~@yf11MD2P)-}r04Hwtny`b;E|Nf)Z89ooxN`Kkz)BAqi!qlNMg#W zQpy7x+-uvCYk*{WPR~_7;tOkodXQ(=v5ZO)9nNajI_F-g-&P^W&V_<3K)K~tfG@r> zj^x*0+{2o|OVMijGAjv2pBy6&n_3L>Gp9O#2TlpDv7Sb9f8|Xp*ebr0CrkOB)*1P< z^CrRE60v~NA?kG;#@xM=O7--aG^*q|UiCYpA|zwCm}i7!at1y3t(pj+0ngu&Vb47J3L@E<#ud=6Yl<;uf5Eb?h?1M5okXrJ^{5P3 zch*|bmUqqfe+nccqF8S#ZmN_sCC9Y(DfwK_s>XkRB!G?{z7+G zUU>y)=3G~SB(S5JfpF25c;$7`+a$BGBxphNO_#w>lsAUNyT(O11CgYxQNw-k=_n}R z)$Pn4@hhdcr+2urP-O`Aw^pvQ=FQdzaU7Q zV{p%;Jt}_xZjXgTwy)=QINN#ZH>USHHSEA-eR~T?_+}qgQjGD%vq7Rs%#Lz&M^u<+7ddB zTjTlkf3MUJEa#>W8g#vW=X@yT%(d1`sPSU!IdLd+?`WDQ2bI4AF5J87)a$l&h|aZp zVq{i5stn8DQH_`0$9js;W-S56})yRin3+VLb$l)Eu&x7>5eii7Q@*eX|4f2D|Wz-K<~P*za8SL};cuCsvJM6pOq z80(p9g9K&6=9?;kQl49L(>5G2XG_@eWpT+=i+X&KK!x=T+%bt+(BbFpsOAh#r4?&R zF5P@`29OcWRwkdu39S7F2?{!rvwq-ENv6mRF72HhpE}4WU?`o)0vKu1dY>n^x_1?m zf8v?rGMN3VNsHL~~s_UJgT#_*_wv*09?PrX(|jDtt!UlbQjO??_%8 zokQ^am%e_eCA<0U>ElzQ4E!I1H55pMyr)Ni`ob}V{S zDmH^X^X*F>UH?_&g*j`IJtJAVvB*~EK7ewgf9p*@hn~N=Lxv7Zt5fD5MS89QEZdd# zs1~DN5GoKlU$Tn&C+qpxzXSeurnbaJ-;o6s+ERL{k$_h^54ZttoPA1|_j6WZe{CSa zSXpYVr6Rja)+Wbd3OR-gmi4FGBKMuq{cYKvibC>fJEUsrDq(uzv>LNIJ(*pG3!l1Q z=%x^@y9Epho`d`y1plqcwG7`gf`K7%#6jz6V3=J&q39gfMA>ih5&Ev=4%x&LGw#1_ zVzgI}5$8*5a8n-kNb8p51MHFSe{S%eIur2ltBZr@G91AFgKSSmXd*fcdo{$ru$igX8nmhc+cT6t=cJpgj^bu^n0_ zBr}|zBDXm+Y9z15`)?;ye_}8OA%F8QN%l=kW-m9+4>&=+>A8$>Yf4r&e{r6AEofD7 z)ELDwjZfSz1;Uxz-7bjWzG<&v@}&i-Ny?JQk?q2^lu?{bmZvL1NMK5Gk6!9R+fL+u zHC9(8tH4XG=&p_i`%A2wzUh-QoDwAZi7DBk!sa~NBot}w>-{cfnA&BBx_xGZY0xw_ zbCR6%XUpi9}-JR$so4Mj%Jenp=d`sOE+aa!&2S|KpqG4B)uBOQSk@gj2Z& zEc{O*j70|7qq)}X_&L$`7=Q0;o}Upn-IIL)>J}q$o%$V-=9Fx5e>(!j?i>hYEf|n1 zI#tgm0GXHp#1I##7u>+@-YTkgTb%d5yRp%KuRpq?LBvb0pyQExA5Q z3u;$s6t<-gxX;R+6Tzxx_tE?=B%_%@{*I_rdha^`skBIqS&-KCzQ$~&Yh8|+(TAk& zUDR!51Y_5MwRr&de`VAZ=ld)oKWRnppcVjDHMdoNnXIkYk&m9qfw#MWyT)^un9)rx ze`kMptaBHLZLdvRo-dt+krT-k=Uu{z*4VdZ;2?;%rbH)$j5x!`s4B}ZCkzW3T~DKu zkS3%=qA6{P-I6M9$T6d^ASKjJBXW24=#g>D{ZN*fmFh#XfA+mSEY(Db;ts)|n7S8& z2&GWH&%vfhzV-dkOFM0({m>U->!&GEZhd`f2$P5bW<1zno`rMt{!Dx4#4yuV0Qxrs zFZHG;491iAQ}l&~n$dIGluax1Hbe*_hJKTU2b*|c$w4!~v3KzUR~ zaSnC-Qo=b##dUv$2Li{m0uHPzCRa~WeJYUD5^d{p4OI9y7W7cU*nJ+3$9|hLj&vX* z?7AtK=+~0A^0-RgiRjQ*MTJ;tSY5SHQ|B7!nTI^R)&Pq#lyOQ<#ksjUPdpfD_YOcV z5N$mTe+>UR%03uSUEuH>vmnRIHp3M4eQf$^3LCPP=NQFntzAGFKuhy?aKUHwG<)yf zd}$=lHT^7Xu1Jk?A4q2*C9S7nvyv5w4L>JZ_~N5&~IT;K2MQIb5bKEZ$}Y76R3H+whv zAde9=%segYUIA*(TGAD_RsIf)L7xTLmyYHg+cKJgn(+0dL z_o%Qt_82PzL}IE<4mjf!AYigEG6(wnVZsY3-T&YiJmkZ)Ownf#FXeW7-F1ue|ewk zBC}*v%CfO|uKXRgSmrUHIjFu|Yuv(H-wU{f*Nmx(kv|#*a$H(J_pXxQe`G{Pmx@)=a7BRxiJSbi*Tx&dZfN4QL>u57Y4EU0!Q&YDBy9@T>OmAUuxIpJwcO@UHFKs@J$Co2^WE^w%D!H3__u}+xhT0RTvwMu5s>;;R z)tjm{M#I+<@q?DA>H0Fpf2mI!R!0Cq)jSI%&0sRBs)1K>Zc-_|4;W(2P6VSP#+3Vd zY`5&g0XYBJGrG?}p?S)FW1ygDsvG?rtw6r~jzWpviI|@;mem@J<^!3nIDsmgRZ!OX z&N-{6$z5LA%>hRhM>zKm39Xb*JEt`*NbwUfvpm5R@71^2455-(f5Q`_-Xo)+C*BAY zbTzlZD3LwL<@2<`O??2^gEBOqrrtUu=xjG9ICscMiX_Xm(h4_V>i9(_zrTWEm6_0hk@#Gp#iQ8b&yylE`o*Si@ zo*v12?k}g9sdH^7f4FdWTs#490Xu7Twt;%heXTDKqTm_>gm^ttQ-H!;>4hQ@;~M3@ zmZ#k^j--%guy5uJ7*BoI?=qfi&zhZ@cqB-=2WpZ09X;Y(B5ehqS7QcqMX#t(ee)4( zKKf|R#gp&6Cey=ts4>lG_<3AvZS&4TaK=!qSyR4K;?hoVfB%k3L0I$a)2298BD5WX zXM1bEN3<=mmy^p@6`1VqA;pnJcMT;x@tFtg9U2})d`=$~&en$dV z{b`*NTKo%htm;N6(b83V(BdSk{RZ2lgs>%-^g_Omz}%h)ybHWnGt+t>ReBgIQlcwq za@_F$K4;o*eBD_>DJl4f95rbQunSJ-8wVsK3GcB0@NBP z%4|OG3!lTDwj~KmKF^Qh4sVpdgW@c2S~!c*zpBQdja40#k_Ui(?j4v)yn;D~VVAe& z$n1hh=9pP)uYTI{pb~P7plagzSod0|*DXT=Fr80B{rqLEm1ki*uNlaJ&3#T0)nAGI zl4Fu4f9)Bth%b13N|~pd%<-|1m@gE)FaQ_wyW$;%_rCPX&th$lG4+YxzzJMcf1hSl^uUCFzfcS zME2Q8(f6`e$Cy##AE$&wgPD5MArZF> zeJ~`?y^td$uI>5?B%?1*d^r+UeC-1g49}JMrX)uHtkAtAPYl?x4~9f9?VQ0wqN~tn z#<*h&fj1=0LrbDUtn?_!`buKtf6=t?%qR3LBioPO%W&rI{KCQaC2VWxY5|Xzb z2l+cJvAKLeV=y&Vo(WFYdF(SsqW?|34>wo>=8Giz#`+!QB~>FpqRVKn4qN?Ico$;^ z$7bAfB&xdl)Q>94)=0ja&MWyoe|*ZGwKz%U#Pt?q*%fw@WPy6ky@P>aty%=siC8o% z@ zKn4mGM)I6qRcl3}PQ7eP5=+`&o5zy;@y6&w)n^W(P)nFvH=RU*8dIWYe?-|;e&?e7 z^KAc#9JQW?N*f#~B|;cw_l}??@4d%h25mhm5S@LBJx%zy;z+6yo%@QekZ7||T^2~# z7cJtdr}ylK@m ztL-amkdHNxcKNiykC(gmb#W|3&3a^PdMDziIMaf>YgLI} zE1$Nr?0N?Je;K8pg{}<{v*+gCF7z|@Q-RA@eg)(Mn0{(*+AX%6(8;#_zNP(C(!#vBw;s;tXXvg#z)nr~g3 z8Qbq{oR7WcwqoGvuOMXis_KCULRV})xjGv@uJl;$e<(xewnMhpjd4|TQv`g zY>|{E3n6_#6uIyr`Lz#mthRd(==6+n-H(--n07B;ChMvncj{oT9-}0_cI6~U+`#E$ zaAdkJf7F;ANHn#-9E)x~wX496c&I7CiCOtmE*7YJ#*s*XMEiFnLo>Q>OQEtZ%{PMK z?SToQODfim7djpOOuP?cU7(=8oUjy6qSk;bt~W#7bDT}Q9yx1{7K)jg0f?wimlCZq zb0@kSyZf6^_~=7e`8i)8Po@d}b<^dT86%adPD4F_)`e}}!3o`eR|f1hL) z@jI)ue4d3Bs6L}Os;N-D=J(OENPm@@n^s(B`ae`ZTK8OQE#_de^JybWooleI;z)Tr zZz{3-#=vC&ty{l?))rdoi)3qEh2`K?tWFQ~NNU*Ac2U6bsSXgvpw-Q+$S;z9A9O@UEPRuW@t4<8r92HvySA^grN z9*}$V+FobzFd3tgzk0X~rZ5o6^0%?EO!xGIhvZ#&OHUKq<Xo1k$3;f9b%uso0M- z!07~}S^66E3_`xX4~g#JJ;tHScs!8Kn{in)a7eVcNr`TUd2bK)15LVud_G6bKaF=>v$D4vm@K})*!4na!|lvPi| zc~6n1L@&hDRU8>5NOfa)f08}|xo(nHoTmDnU$PZBH$R_U!yh7fqaq`pHcvnhDX~M+ zXL{;$bQHGL?_k%;JJ{(_s-E8zUmEmE&VU}xD4VRExLDl_HsYr}BNxg0zUNv`BC5p= zl7*e9 zibNs$`%m`eF=iId%Nt`|K7Z`NoSU$F@9R}$yO^y;*hM46JoOvQPv0_%Ws)sMVFmPL zT0(vV>q*X9^|Z2~dLJ-Ve84S%yv^^k>vETf0iah<*&g%tE9lg6^u0YOgfpHv(kR)} zNwQ?%YVwvj+-0x4OOCn&+~e@pX+G^^PcZ>DU-`+ zk=zfvH{TQ=*U_g@Nr;?u%s{pTu(a&n7dEUlbI2srJ6OgyZ$in6K5u%mIs4>7HXP)hWSHmEZV@9X(eA5S?I-?P?&Y!Ft z7A99^n)dZDhd*B=`;;8UOlT}sy?c2JfNAwUXi7ArPl@X%Gk^I&s`~%rioVd^=S_?3 zwz(=L1o&UYf;|?*OBX{@5`;a1yIQ^ zJkEJa@WMIxwbqk2&HNA4B7WsOC3uhdVD+>QG~2x;%=pad;T?N@nE~{5b|o0em#Go$ zh-U!Z$_@eE!G9@H_rj<*XapUoYS!3mRb7p<^hX!9#<&Q?aUUKZ!e3Eo!a82NoPmsCPta}$r3tk zR11n7W#YL8wp4bW;rys>%q$$G^VSi$W`MH$>f2cZ<9mO((d;R$TUQpnoTo(N3{8+~ z1_}Y>@_$nT>ybGYw*|VVTpjfbU61iX_pb20en-!HMdU3(nvm~<)NiRS3vl5Q--)z% zoxH}x8VX)B`W`t0mTJ}&NCGOi$`wWUG@rSm=Ot{HXF=Sb67{SIj8r5iv-9m^#Mz{EBIh*^$f}t6@M0+(@uP=tA3{*)t88@p9a;RexpW=Xpr(v zC;cNc`+|xD6sN2j5-WGr4w>|aEygL`l<-1lMgV6WJ(g$Nz0?>$CJjd`-^bD@>8-hm z5zKr44rE@&ZV_e=j=+2xuKu*R)Dw$`q*fMWv+L_=BzQtn0sx*7K+ROY_`z@Jrhg^< ztO4b2B<3jVZcBAYbnU6R>F}usLrO+l-8_vhxg~QfO7VE_x!*{*Gxvz_@`=sz^NA@MZ_GTxx<|9E>Qon;_fybQ^c0)#fbPj3uPXTwa znnd;>YLWEpS<3=uREl~P9em{6cz=h9Cx36}H!ENVan6{-dw(>;8B<*!>#P~lK1)SY z&TU`cS5^}tMg{%KeGNf0C%Tq_^j2b0YjB8i6%&*rGDB(RP8_~WbyqfKV>#rGKVaRH z6#$@Qz|3lHT<1sMfagujEZ^r;vzo{_sds3gTx*=NbH;>NPNV%n&dte6ynoAkRCX87 z+=E0D^wbm=I7Q!c8V+}L?t9>o+NOXlVvN2o_W`!gs~6mO{FSEd$E|C_&G4ykrLfU^G1i;@2)EV(}VZ8 zPRXQ9`;~XeBy+eXvlZR;5`TKBxv4FOPcO+}NXoB(vl|yk`N0^6Uq?pSNR;RH7*T@s z-gQ8qw)C?kgYR(8IcsU`%!v=5I{Vi@NIqQ?>09%f%HC1L0)O0+_XodM%?)g#d46Q0 z?{gwYrjg{&*ewYXq|!Si&?}|Mv0~rPJaedTq)>Ce4R(sm{v&~%mVeBB2z@zQc}nmm zZT)>-c)l}ksdb1JZ+RNgmo!!vW9b)07Of$4`6;V&dP{F-jvu&5dOP=<*s<1q^|etz zz$K@|-TW&3CI-tfC~JLs!=UF~4}10{t~`ytsF@EY(V8K@Hp!HDq=8s?r}sW7_2tmi zn_>f2yOk2H3^Ga}!hZ#|mwQJSO&IWe+G!2?cfc9G%m80#>m5Xqop1Cyf;g#15zz6| zYi|6kEn~zI?~sFaZ$s|$0&|akj{DmC;B$c4m94C+2~P7|QI~f1Cc>SlJ$YI}6KbOD zt~^THM;N8n02Ta~U4^L&a6QK?>U?sK&V%bae+Rc#<3l7opMOZj>vxt1L~edlt#7gi zxdJ3Bkp2RR!_dE@IyYGxDA8s+_dB$I@2bVVPG4qP)!1ZR^|Z39G8#?-dz||X4f`!^ zSm6*|N^;#y8U&%%dgFxltVaeaF`5`)zf|K*8$O4O1e2%`%Nr0?Gc0q?Z58xr$#%oW zn`87C?OnBDZhuN18D^afcWSX61n|mpszkc+6q6*j626+-K0Wc{eUTg)uhL8Wt>`Yt z$S(J7CU3T9G(xUXL2s_;f#M}mqG%19k61C@ zakOg5Sm$(&VwF4#ngZ;t-$rOKF-+4?E^P$>1vFocj%=?_vP&vEQOS}!L_W(0kMA?= z)XrYIfCrCdjuEO!?E>5@fY86gR!+B zn3V;WGk*|pUb1EgP*v z4p_5uj5*}(3|9&k{mL;smOcyWj5;bc=-RNq)YF9D=AOZrbRvH#-f2&co6j5XW$HvR z7vvpfZ43z(yqufS_E&Og|}^d2~4gC`5(YIfmv-#K3UPo@ot| ze1EP!SssP^zkUZ>nY>X-UN60qQnK96tbvl5dTv>t^SBztB_fp=beW*%IBVl}x#mJ=6m&VL%xZ_Q|g1m&&Sus$oI)n2z@lDEEI>E+&u zD>!O;ERb{q=Ul6U6=2H@;YT+})k6$Dr3u&opYY%~!-&EJh zSFer`3O?YP^`<;3a|O5)2LhqSU#(2h>Eh+S5R*Nrdlg1n+B@eV*oyL z@61Yo*F;qUjyb+~GNf628mm7paiI`Sj342wZ(SJPp*C#if zycC|SItyy?gmLm|PsqHCp+HNEMfaG|udQ?p(iywvCTNIuI3+$q-X#N<-CW7D(!wh<`6PUd zvi)cNWcLwZjygX16;OoWBY&w`%RhYafZPmCrkDprf!RTCd0En+ABxn%8_ z+x(8_v%U`=v&Q%0GW9?Cri_ZlxtJR^<3jw&Bhi!EBHWJSol>;{z` zGLO#o{S_AVVOe)LuUh#e{$S?+tktC+nH+Z^vq|dl;W~3grM(f(*6LtWIJ0}mjG!G> zsm5$t0;CnK*Y4nH&wnwhf6|VJ2z$XDM{Pajn;Mp1qS`8-b_%8S7B+feG-3b~9+?@MuTf>wPxIjtYdEXV(rGnku!{G#WNd`|rWRW3 zqI}u~m|VMR!GG$0CbktR=lx7%Daq(U5x=uQ=3#(K3FeHngchn2dwGw64=D>@hF?6f z)?m3~6i;k~*uiH?Yn_FL8DXm#XzL-Nl@bh z^UDp6o!p~pVx}`A82ZJ1@Z;6{Jhbro@;g|5@^7FLALUIeRCn z-_sMOW-SLc_1-}b(N$QgB(U1%_fc;qjh(;aCP_<(9=~1h9&>>t<@wS2^Xjjy-c0wk zngMp@?0+8&D~x_8?>QWne&@=ki7L`P_@7Ra@f4wI~3BH@i)*(H8y3{=szwRo!?Y3Et-y;o3vtP2$xl-D_ydaAN9FUg(_c ztWx5V?>RTYaB;Sp^>FwTm$sa0I}&rcoa+R8l~2=)Bsp@IlP8{$IT9#?w4%?05s+5E z37ydz789X_aLw)FG$qcC8vUSE$}tb!*3XnEVr*|pLxA@9mus06spZqKt0bO6Z-4SZ z85(1tA7mct1XJ+{FKXRZX~=g*LDw60i1aZ?2F*au;3Df8D2mJot;#V4A+<*_Z;Dgb z9#x%%&O3kSzG)9zduJW|ry1E^ake4RulG^+*SxJ5-oA88TLm1RxexSJ(FZoa!gG}4 zl@?n`)V9^!cwn7TTM=1nhL~gQkAK8u!J6FA@#YwasO-PJ!Y3Zd*9jAV*D$}S(BwPM zDFz5JuKcEwfaoP_ZqR}6jE1jJo$XQL9eeCqy|#{8$-K>0J&(7Ht&?aGUl!MZ32mvX zbX(*Y<@;bfRE1P;>cUcXof6TV%yg+NM^BO86mIZLn;cFGSSn{=8(!%Ztbg{Q?twM8 z>GkS5qgA7eHCek?*?NXRK5g7GdA9jkj#iBUH94}9Q-){%5+0zW zeBI8g6#qNffYDOFoBf7F{X*^#Fo(Ur9CYB7T@BY?dIt5}oQBLZt+T3}^l4XZ?YqW? zM8#X(jq8jdH_;jDqo2*Fw|@?X^o;Y7$X1lKL4sGR?s|Tv7D%}UAa1ZQwRaX!%*^Sn zi*#Sw{v@(+xp#1F2F@;bybUi!S92S6V2K=&YI_Pc)))@UnO@F{{-C2pt0Mj* zGbt-BW_9WzU$9)_<(RE~zQ7opUMc zcQgX=N-0sXnhdo#C&f@w_bSd(ah6Zp@DZnd0PcS#T1)y=9aP>62d|*d53m+ushR<# z-3#Wc8XMpP{bFQm8Fm6+hQSFsAtLt%~?diEe^R<4{ zM$|c}-#L|+BtmjMb$>DIHx)V-2F<5QWB2WR!IUJkBD5#spxp7Qu#Sv%LhK0>77mF|H{nj27cGol0$-SHs=Pkoi+tr9$0k0 zkA92kV?co5(X6wu>9Nq=DYoax5ax~_8K|^FHvW%x!1X>F2{aN@!L{Buxf5X-nCtnp z^}hDWvOm6j?SB`Rtn`q#w*!=wPPFyC37}kSferES`kg@=lnBX=8ay&}XTd9cVG9#Qv#%!QBZe+DuMiRc-=dXVa#*RybKAHXs$K>#4T$T z^#xa2oquNmrt#`~LEz=fjj?Lg+`qG`a7lk*;~HIkwsCX-+SQ6GmVtyU3F^W}*6D5X zOzp9dXb6-0jc26JG=B$2dqyxeWvO7VH3m(IxI;?Rl4j-spE)NqzbVGUBO{HQlD~D& zU4`)wt6$FG1no)fB1yaT$GkJxR`8Zo9xS+IPXn2Re;o5H#Jau>yY!*e67bwC-sV+BYT-&`=WJvZi@7v%xZ2L zUR@bW+b~z)T+cD8|J$y*V9BzJ*~T-vzRZoK+;4i}V9lJ-b_pP4G*6mV?O4rPK_Zre zBY)lp@ONsT7NhJS$jdP-*gOmS?Ysfy)|k8IQQ7SYzKqqGzXPA5k6AuV0Yzr++@|=r zO7oFGf0cGYzjM3N|JhL-;QG!Pz)~mvdKW?A(&d=b4OnMRwI+7%(nzp7*k((|@3_i3 z!%m`DrS5tXIsTj*J)s(|X05NitWimx8h?By`i#9NK$`nNW=O$gK5b@O=9^-!Kzx;B zWG~a&*!8ppkk2t#67#0rX=`b?9HSa9k#V>O9%o{Yf9Y_YkvZ1&qx+YTK(OYUzUAwa zA$`Xn3C2{j){>LmnG$zd=JbRhU#N9^%;)G+BAo{0m18_E@A}bc>5*|U5gdL_?tesa zpCzl7b`XOjEl83Hf~V%DqUx6QX3DBRT7Kjh5scPIs4usSwlYIl__;bb)jRg2-Mg~3 z+y^p4UCF7=_kLx4@Q%~3{T~f6ks9R=k>x?jQfmOnyl0n^U9-VYV)y;MDy;mbh%fiV z^X=f9?u?oNPyjGnN^t3<9kMHHxPP@iz^Dg2nNP#imAKnoCgt{J)-c-{gWNS0;Y`%; zXw8S2rX>>TIk$DVKY2Hj9GQi~Xv?q98&D{3NzS-k`v1xt@-BheolW+2JTAXB-UvbB zd{dQHSu=#!+|xn&Lv3RB!apN7g>L)ZEpWt`ffq=ZA4aes1Id^BSH zJ1p|d*YDeP?|ynDI$Gq4?u_Wxe2l7RR^AWz8;oSV4^eX%?|c~-P>s-u9?QjA!NwL{{YG^ZVG;Sd4RSGW=P&wI8~nBu*8>0VGVGImkFM^!gnrw=cKz z=@NeDKHyL`zu0~*BIx;juz$qwEm1nwoC!Ols$&lOh4Cd!tkj-XFq6J;;DiQ?3UnDGqBWHm3IOFj!69AWW*X#Yp-hat8a4%suso%j` zhsmrYBmS2x%A)@EPOc8!;(zmLG*#M(2Rg28&99(Cl>g1A4Zw1)0gp*5jvk|GDc4%5 z*X_uiXiqI^9|-SQ?H+@1FfDK0-f`gN>gZs3&ls_qW}CFfNbY6~l1Gb`Gxq@^f$k$9 z^rYgfELB9S+B%gE8Gj4|-P2aCToF`{!O-4&^gZ~m&-!w@lA>X4iB5Yt2El*ZqX&3# za}Z%l#-ft5#)h&a_L!f?|H-wMt6-PctS9KEj7Et5-LLdQNgUza@d{}W#MbW!ae;HE zM62dko&^n^a6#pmH)LA>j;pY|i+VE z%^A%*5bjc>^`-_iE{#$11^J780i#gr(HXod5go@2u9a9e@osqk{Bnxe-+k&K+d47~NZ^^F=q;tCxtp$q&la)8RQaF`4H3O0>kv+$vgJj}&4$T6tj5Ho#VMnh4 zm=JAMGf6a)70p?CkK>|=w?}Nex zLOvxk>~U%ec(GgCJB&*$9P4Q#{nOfC`iI$m(l&GN2R`pc(;c`B(0{n(@8DbSQ*xdF)2We!v0(n| zX%}!&Mw}0ce0F(`(Rtv@)5NQ?6V;)0uIOz(4T3eX5r=kUlHWN-yg6e}2Os0iQ-T3p zbg;ghuB6H`>(tALpt!6xu+pN$wckz{og?e?tRJO4L@Q7Q@6Vf!kvg zlV;>+)PK=n6w2T6yu4-L|0D}?4E*YzQR-7g%9{1tr%SULw9quZA6ZMP;@ej!%R#41 zn1x(Xd=g4B>P;VVhglH<6|L!S{tjx0W&qN)&n=U`Belzat{FU?pSHcnKFY7kyQ-KXbM|Di;u!!h6YJi%Be?|)dQY6kAVGqdHYgR!~QsnjvJ+2ea`c7uJGi;eE&9Zc34KM=0s@aNOy;1HG6(@0QH zrhmld$*z+wO}(FUt%o(5bvf+RH%~NwhpU-3#YyeSWaOC9$1}eV7hR69#!zD2&4Ct0 z9FaE$0u?dze45(j#9KOV@CT_~K4Qn2&pNRdDVDF_(b(~ou^MefZl6RZkkBIeP4VV+ z{Oz2%Oc@P7HLz^7{W%L@w}wU4g`=2hBqY7zFR-`N!2_l^hSZ59{Z3B_U8d>UL$TTh#ksxJ~X%5BvkrUOx_-yvChCx1#W z3*+P%%Bt@l^ojEFIYw{1w$k>&-jN!~rQKcgPF~xYs3RrpcP%<<2EvoB+LTb`i9$SK z%=V0Ak-Xe9^|Vt#M&d`&UyowN9HSRj&+Wu{)o1Qv;GcQst6V(hjyHg?x z75MX}a_=aT(^e{<_Ia$y%BkxnLVvyd3aBBvBIHyrv!#u6-EKEtSj+(X+XIzzN|aV) zY#m{ND!Cq`Vl*>^YJBd`v`|Q(-0J&)^Qo|`lSQIzw!Y7Go0Z!3)1Y`Wk~KK0oYYza zd3^R@N(Rw(uBf=2xKxf&6_d9!N1Q*ED+&VN-D)6Cu`-txaNXg^G6N+-{C{|)mm`ZI zK3duZ?(4nfT`x$0x}wf0`w=5$eg#GJjY|_Rdv>31m@GaHTM4qu+Skw z_^A_d95h1m8WEw^Rq{XG{Q$!NYT>L!mF z9uR#i@@y}M9wB+34u3MLM1fpBLL-$fZq_@aU)TClo0|FnC`<&d-iPCif;%NR?=zZr zDX*L}_Jq?=nkV0MRdbP1DV0PxcV9IFEac4vkC9UjIrq-SFUd@ox{CKFV-6R~8CBP+w|7DL#?Y>(pqpDn6yMO|5CF)I2Y;uXfyEs5gV(LkBZpt06 zYZ1Qw`kle1ota|Ubuhd9KFlX3X+BNsoAk}DYcwoPtvs?;S!Z-X#x<_h zJu>S{^3g>sXMerlw=H+oCHs-Fjq6f%UKN(EY!*soib)s&Wyh0ngR6?31VKiv&X734 zv7#gkWf||I#AvV^#|{~i*HR2KBs4{#xk*;!Gx;=C{8wR%p4?!)7-R1YiLT*~|MvTk zC_^qCPx4aH)H8VL9~JuAm|+m->R{tyh~x|qs#ZMF(|_QE%8DkDX(}sVNK89UJ&EI3 zwFoH09%}o-?jaGrWgW^;V<;Q zMjV)ysxga*d}t(+6`N1)s@ExAm20h*M}Nus+L#fZW%trx+Ex@sW=NoCLc5UQ&M4$B z367h4&VO3YNMa`Ec3>RrF;JS75B56;g`H0mQhitEdqfPUwQh_d5%0}672F}JSx@-v z%HsM3ziJ(742FUIN_`;D^<}@|vbIt4X=2`GrJ2E`X?N}_8a`3H#=sO7x{2g^COVL# zsR2aa3)+jpA=a!>Os5s#X&C;?Rwh{|=)8KGynl>tASqGjS{W!zz;;#TkcZ?=_vO>X zzxp-<>Cf&50(SOCAu)&Kvy_eWi)3wWsnl1`shXQC&sJ8Nr-^HqZApUXr)-KL0Y1x< zg)r^tQx6$;_TE`#xchcS3BaAI_xXhesU@7Y*1fj1=xsjj3ySKgsNk6_2P8IWp>&1> zC4YaOtc_PvzL_y%x)qBik>98oB*{th<<}-jtkm==hQPK#ADdCm8vTevI`^rPoE0zDQKZrbNYP@9P2D>$O%hl=185 z4G@$sp1-3;pyGVS9B4FiZYqOxhO4K6czbekzYY)n&*ckJ0=*T*Iq@K zNYt}dR)hp{r80yhY=DYIKW~xk4slsEII5sC>iY}=2wYIHI`A>~C3XBb^LP$&jJ!i}K!3=) zA1;$RShVW4 zM6M{adr2=;pNYmAdKz=15RxEV_=VISM2_cgqjWvIC^>;R8ag7?1nfmWgl_Ipg@9L!D5s<11g98shqwabj2wQ`ik zU;?cNbO$Sc+w?AIG_LrD(2lYi+Mv4(xT)FH^L z5{JTcqWsc|CP7S^w~SN{PVtt^!VhRG8%AbD+t5>?dz(NTyf61K}xtAidxgtqnpiI{JF1++Y%D>-KH z%uQ>}nv)@Sml8m~+}9iy(UqJviC!G}Gz=z{!G%h5?2B2Rgnt!Md1o&5O@V)YxzS%B zZyC-M7*%OLE1(ZYuEB#xn>$|o0=l+#qIMQ?digX3$T;#^TQHd#$%49s4k z(=km51r#ER#9r(@sx~P*Q5iFkzq!`(Pi<2mK4Wp^8o0HwN!Jc}^TF~)*UwxFh}>1k zeDuQ2r;R4)UwVyzA$x2)1O1CaKN{K&yQq-OGI*CV@+KE*~Swc<5K z5`C}AEn}oBs!Pd`Xp~Zx1Id@XnJLTVA2oy7jgj%Uk$>DikGwIIs3mqqA35p1j9Wf* z6Jo384Ca?kSt-FBSgdG%M|ZKbo=Du=xevhk)~cgKc|wi$2^OT-5`SRK7Ykoy6#mag zz0YVZoSAQNCn~;d7yMl`PwuzTdb1Ew-Ure2w1DXg^S2dpPF}-y9 zuHV7U(5Q(A+7}4<9HTo^=A9o%{T^Rtu!+FsSCAh3V(;K`TiXgyG>gBf<~BT|jE_E! zMcguP3{CrFYV&CaXibk93|6_X2MI)fQ=N3S-hYWGrm^bP43sFp)AD8rX||F2?Og8J zA(#2+aA*Dp%I|TdSN%XCi3zFZrYq=LJQoW}H~H)dr zHS5dqm?R17)&wCM$06QlNDw!q1Tkn@4iel<|I#~>l%rB2pJrF(eJZKusH4oeL9DHL7L0k~8L0PxW$VbPY4eS82CO70 z+C?(X3M}M`!oPK_ zhHLhKA+0y%86}6LJQpi5aVRoiQaQOt*(ZD6&I2r_1}SF%V^)<7X26q3oX``_?o4Ey z^2(Thz)0Kw-D;r$$~kstu~-lGl=KArp>9&O(By1@tr=NjmymmKZTqnA!C`F(KUbw_qwHP;=`BU$a)vv?L-Ifj#(WzNzZ%_mSU+pCw|Izq8{NEW7IYId3R)atydhT7zIp zk2NDqSgj_Yj(VE#MO!t`S$Mzq8-LdW{Xji!QK*se1N~dnXXV%Cmt@}x%JSs6=IQ`H zKZ=){8dX1@@k9z1Urf$=UG){owN@6iW&TtTo6$Y0)?gKtO55_umzj$(l+!puOnFW> z+<0mC4$%6S+j-kQS5*r7okNr@Prbf8Xq4-HwiBu{cP~D>j)CG1-s+US;lsDB}%y3B8z{sSA#j~&$11hRa z^%z-ofmYWy&2!2mm(i+Oqkr(y=O85$luXZ!CQpA(kv8l|o)QIgs3-GxWSKJF`@BZl zs-C9g``w5&`%o&Q-gHQOhnT@2-C7e@BfvFvj$hmqR;bP#$!ku%gJZ|E>-)U;KUa0* z!hkeEf7QKBq717gpb421N2};KuC)fb6wk%*Yz8*zmFq^*dq=7Oxqp8C&SUWNwM3~% zYQC2$34PgW)(^cm(}vXoP$59=Yefa1rTOKC`%#st41BMXw+sUxS#z!q3X1m8)nMre zQ#w(!SI6wqF2ZGsx9a?;HRDd@ib5J9*Q#|B3;$#u5G9)3Tc;k+gSc2ql!}}g$380bhdDjbheDuhu zwboO&F^w=sFwRqrkzD{b{33A&rew6e%(Z4;cTW7J_YI1seA@O@nAsBG+WbBri0O=} zzDQW4^|V=hG_fn1GfgN%bIde?7+)k^2R2Gb9(|W6Se>e_`hPh`TlCvJQ{~7f_uHuvSm;)13&KhDZIWf_N>MEaEo)?O!IrB_HC{KMoY7Nx!&uQJh zwi)wFo;j5?jemD}sqoJ}t52=$K&)~fP+{3^!4hbIO@s-P97nA+8uGJs?}4GPI*kigaXyMWokSsW?>CZ0AsX|U zGb;5u0fw{I%4S1VnHCCYYjS*=nx+gZQBhm_0Evn=NGaJF<#|r8k%mis4g0lZ1pRe! zr`oaugTWJ@GZ6P*OD7J3rcYX2Oe7hLI&*gJ1A%<}4v9McdQ%e6-zmq)%4c*1o5L4R zg2ZktD}R6le5dxCiVOAid(L1S$6lS`y4KfLr0px@3^-ZZQ`GMO;&**8(qRQs_2q=+ zngJDcJi9Y(OA>8CYbR34Uuys1haM_6Yu4IBZT+>S2-oU8@Ps|XMv^nYz6LB+zoT|w z&wb4UeXn`8-%r4eV%;(Wx;IgxZ;WkcMhyk8#ecZUrg)3G%z4+pUy!=R&We4(U6QzU zh+ts%{vDCIjK`z;16j*;lgG%;CO}H^q#4yExp!pY4FUMc8-qkmWaG zA$)i3v}+$=>ufa8`_1G^OK3>iE6{}F#k0@f!B^IEllxF*Sz`n+mSlQ(%Zg~2mSd(5 zu78x2AY^I11DDo_&-XOT*yQ`De|;oYSAoq3e_+nwuzONlez0z3g$qsq8R?^*_ECY< z`d~(G{7HQDN%>p9&w~HDHIl3OX#F2St zofb>)-~>hRpF2c}Hjc5Hn@XBBEqsuE`H~(pD|ya!Q%M6mlE1@WNpJTJ;dNAx1MhRa zzpUHF!{|3_ax*iL8TS9ypaE6-o1@D=;sW%)~b~SvmoZL*g4-kXSnRmwhc6XoU3@!=G(iF%{ z#hl9`7Myg`*82>}l=xAQ1>wQkJAWkNqou_FF!TWL8DK$A>=#t2h;!K?ZgbhooB`&s zHBtSOJcc$0v2G+hiChCk-_OkCt9HI`dA0}de=-O^N3#u?o|*v&)6{bVd)31+$LwGD zLojaP=B^VwjmrPb|B$?u(BG6}6ZW%rfn(LO#pwX#e5p;+f*7t$j zZ$_30+d2a`$Kd`v@}8SV6g0IZdWwTm)j4eaZ8G+b=_+q7tro3R>{b)(=c zp9cM$nXU;d^qO8ZFrSL5Jlnv0N*L;QR=!L|el&YmeUo2Xfz6V>*=QBO;jP~pW^YzC zPblKEy9?`42rw<;A%Dp}tHum4S$-dqGf}U`yywiQO<<+S>FRy30yO);w7-CVb0=!f z_hk*VKvy@LzXKcI+GXc|W%Va=Wi@K44{QRwJ@q>}mRi)5yoUNM$tX;1ov2Yu_NS%! z#ii0eolZQbeS%4rtgQg*{79YE+^*rH=d2Zb$wlTE9C&><%700)@?#9^URyYE_vtkay zxnbQpGm`>(tUR{Ip!3dpKz_vg%5$ow44$v-gV7QvdA4PR)PcQAziIQpbzJLx1lAP^ zq~tDeS-Ka$41b7oz9~Pac{J4mJ{p-#0;5vrbfh=V-a7z_kBpd&zB5;1Ff_*dz(3cU zs*_OQmlEmIyfH@eIY9gzgFiUq{-2kSS>9$Oim-BD>q~df+6r_}RA0W&=$)9@NxJ|v zFL(SK6f^4z1Sv*jx!x2gthwBDlfWrk))V6ZvsKPOLVsK<`23wi-gh~(q9;;!8Nm&j2)rDJPRL@xn%PEAZ$~hRV%9GTZ+3SJjc}jv+BZE&VUj<^40_- zL*J3B!+)J?k6$4iD=ojzydj;+lQkb-{45YENalVTs6}gXD5~twgv%Q@T~@g8TKPY@ zZi}pQ;+~Mh+HySxA!Q={H0%-Y&C|HBPg=t+r@F(bzBZejWt9@4+l&nk`U9o!IR-sa z#-8-B!TpkZM+X&c>hozM;+%J*GJqxRM2-wzf`8O5TpXrV{f>}P2`ot6k3lQgM#AGx0z+T^?pO=%{{9b?1};U#u!w*$-?(RWw2!YjpPe< zA9(Y&_a5a*xF2(Fr$k(SA0>ayMl$HPm)_Sxc1mjNcMgEQj2?ekD5RIutZ2wFWarnC1W{VLR0KnU#7iS<#ERcHo=hP4T&+ zvMDV#Ltd>J3C0_X&%3nPe1kE|8XI}lM}IS*k~pY6H@y29yVZK_+lumxkXzN84xcG+ zbZjUHCd;mxA9&1izmX^}$#rvlI#&(MjT5_uN)JgL1!NM?%P$PZMfP95FU;TrK^kmpa$f6xhntlh*INF>I#po!{`+ zN6s4gs6wB7+KacDy9$LrxNwdEy?@HA$mk3qfRJN!DEu-veFQSzJGdpAXB*P~A;6Nq z1Ao^i3oC$2BggPuGybN^N%|wd&q(RD_7?-~&RSS#RcPf}Ps&0wfEw!@B z|7MTE1*x%O{?51@v+{8UGhY*fG3!1Gw^!??{-+r>=lRgwWUny_q>p4D(BwyyAou9< zcww{2rwvqco&`Cht{9yc94d*FofmKV<#)!7k-L`{3J{xf!@ZgLxp_IMw|rB{#_V_a z6lv9EJ7=)s@=5-Xc?H*M3x9G|7nFJQd9|xDn>3@WJ2S_R=*|hwTSi%T^K45hG7s|0 zZJyQkjz;vK#68W}2bx1thf}DZ)CUlFh>+^b?a~N|7?{yobx(kK=kI4MfJA^lZ?j== zWoBsB7-H+&Sy!AZ;|Kcq@B#A%+~GZY4R9Ik>DS9KJ&=mm>Kv}x)_)-+Di3qaNGs;< zJvf1VYaS<0FTalhijMBjryNVx5R$0C$vsLkCA*g~3YT*4DCcdiqnQ_qjic5;ZIVnv zOVpR-&2-9+wf}P=O37@}d_6dh`4tp>yxTrd%0vCu+_)a?Aq z{%Y?t*KKh`y4Rl?1z74j3(8z2O3Oar7wHmGw#)EnHD-&ijcw4!?x$_w6s5(C;Yifp z8ItR)dwWq;@X8$W0)N-cFBn)|f%)YC7dzg|aJUP%)|>LTmw&7RUii*ZGdX6x9ce)> zC_^$wfixQtRS2q3cOun`({ zJ#s}YHS@pL;H9l@VyU$iQ4iQ-W-eInQ4OlDL?%G1z2RPS1}?g^@E01M>Zvh`6$MdJ zf*UCB;6*KXqkm0Ez`XO6046NS_~G_@&FO2Zkk&>l=QgmLSt+<^&#vaJ-e+ju)(5{d zj7yz3nM2kYE$Vq254$+ObMFv&O@aTK+l)0YV=P=7z53dVhS8jFP|{v#N<~$)(shPYGNa zf|q(4n4hL(B>^SqZYbD{u-=zdgRqUOm+MB-l^P2s0l0~r0nl8=yceL(cOrY1?Yi@4 z@@cT)StVx-q(i>X4jG=YL3t^Fj?`}?Q2I3kX-!3HEt$5=BJdeMD4%kS9CCk!eE|A$ zMRz)}cYiN)=ZoF}+{YJIGvF1hX%S-xx!sbTXgOp*&OCFxg1y&3Ye@}AYX*1;9*K5T zf2&nkexFlFwf887Gw_W39g)+-&@LyuOWTQq;Vfg(sM8TV=Q&le!$PPTFp-Xohb*JT zL82MxHbzD6olBG;YdA0y$>i7f`NelnyGrUE-+yhLxm9w9Bm-fT&UUz*V-xZ2794!fyU!);Yi^P+Vo52%4b(gFxj-hAwGMIg>0YLzibWMg{f^Ev zYupF&3$d9IW0LiQP8ZhS+yUM$fz+&a8=o)L>fC$N2`>y3$@2guV=pL%zq^B z_mQ^hPNFNxo^0CdJZlHpv!)f(8eB0itGUiuE7Q(A?JAHYQeI;gyeo<9S(nG?CzNCO zn(4Kz`q-?kdx4&0ZSrZFg7*1Yq-7ExqB9cK>|8gFiO%x*JG(n8HTlBUxaW#WYBr){ zT_0ejpm)D9Dn5V%3a0J zTCyU3#TU&Ft-0y1xhFQ<`|AUhYmKpO$|^=O?DdrLCpY}opSJ$pi54~jd%>OZ0#Kl$z0C06WM}p&72$8y^%eG0S_Li z<|f7_s+tlvdVe3LvLeeI11XihCQA@o=AL83mGhMR!m)GD)zS9_8E-yq6##$i_u0Sn zy3iF{5Wn<};N+8mTfc+HOmRa>j@O!Y2v!2jJY|QFNQ&f}y0vvcsNWgYQJJeA5R4^b zog4Nyg<$zKN#Cr#;V-Gd%^eS4+!hyXleB!@wA-``%%v8?KJdu+n{y!Zkn1-10y6Rg zg9yBzJLI!WAo8^aJeDgXr`vxA-+FRc53hdD95R+-^f&qC=BIE`eg%-ij?iw{ny;(J z{F0%o_n8-G;hqvj9ErTzP}1OH&oL(|=bQn+sdi~KhU947ixti0=`pAta)(GX?R_&X z%Ukt-J`DyVGk4o6ADuQ5&=CwqYD;}z1PAMPz{S4kMATZ1t5Fb-sxp7y)Ya4+H_Toc z$DAAPGo*_(w~fEjntUumR^x4(XjSXpUveLLvUaGaMB8rwtQw5f+*J7AljCOFvCe0d zjTsMMl^RK1&f2>QIDXDd{svzqMVNE*xW1iz>bciVaI~3y_5OKwwZ7sgLDk&7$L&j} zBk;FZXQ1E=eeS%ONJM`F>P^}HpT2(%cSa(naSeXqklYS<&*bRXj*EBLZ+bmhRynsz zJ~*|%o}9Wi^cWoad9q-?nx{l-BI*B}0Y{>FWVTcEHoeeIkOD@f<_5J?c1&+-yHs#w)`7WybnRkhT zuC4Fj>%4bAN*yqqtkf&90gLE%+89!T`{$x029>ByT&e;ap6S$3>Z zcS)_zt~yITH0Oq|AgyTJYdU$>j^Di~a^ZR!U#feNI8~1&t9*9dN4LZ*?DyqMZ3QGD(YJw|Pw8Z&Ax zGH)iXEs9@zR3B6BY5tCUry~FS9ll3aY41;+E;4qz`vl!bTJY<&rWR8GiwCgodY3bs zIKK}SLMPO$WuUe%zoWlR)(7Jv5j@Vb@B;l!&XHYD&Rc)x#4&h%>0zk{yJSIrh4$hZ(5vJrRT9h*Y2tJd=#SJ{o>E+-+Qq7usM~oWLcFtg-L-H(e zBj&_;gRbZcmpcT)3kOjB4u4MMKP4)cQR3)%zg!6<|q;1|7+QwDZ7Z3vvt=^z`R;uHl+oI^xiP zWI5|~QP-Sb0hjfXJb*jUliHx18yd01LGE%a(7Jy$#-;gAwAPNU1{^iVV7X}vMR5sA zqa3rSFYKprHq(mU;q0J~^JzFoGS8%ssTg3MEY}5?bv=!*+5HN3=2OREcZ?Ey=Fv%n zzw%A-M(i2C-to*K7spD>&f! z+Hw$YhPJO;ljIB1Lgn=POk5g9ze$;Az0X6XQF>sQA&`ca9+hd+N~a}vE$4GZ5vYGO zPs!-XcBSq;w4h+Z)vTSkCFAi(IfX-V-E{fkXywx|$7XC$gbN=^X))b?0f_QxBJ15z zX&^LNDK!J>XdLz_F^5DQ*`GY|9y3@0^808(BrRUQqnXduXAW+$vF;-Tc_yNRwL+xVi6n*B^?@+a4u(Eytc~z#L4}(J_mhrnjpd%dL5wr3&6!j@0kK z^F8`am+5t-^>hI0Hdm!?i#Nch{GCN?qpWBgjrv6P+%`n{{WRPR$nbq#u1D9;)>p{00JPn?sRMtQ0cg9{00czFF(v9hdtc)y>|Tt=x&iR?+@uwgP1~4B zTj-ntO_BLVj)dH9ejho?cOsRJZLtP<8n+b$JXdGK1l5+qc8U`B(=LopxvPZ3ZR~ne zU1+-&``Fb^XPwcZDYiBg`84OWEfg8T_FVPeW;x^@JzO%GuOF_NKt+GeK$~yGlPOUU z(mDhaA@eE6d>n>cQ5U0+mt%GvnRADz1M5ylhdQw44T6CdBq!^x7m3xJM&Ey{``w&Q#ftM{$~KD6!-9<29~ay=4hA+f63 zD)+&4jutcVG!z|T!F7MKPMcTtSdI}_$XoN5I?n8oc*>_ud9qG(eq@~QT8cDERH+eg;)A|Y+K9@cVZ;Vs@6_8JF*^^U) zLRvZ34JZsmzGi^&aLyd^sb7z1eU7m|(k4IMBy+}8wMcv{X`v_)m_QTiccw{&Se`kR zbs{f0=EG7=eSj6`*1JmgD$wXcyMPJe-Ya#w%7m1AD=+j%#_+kE=|;ZSxr zJM~8>GV*JabnT@ononbb`QgeWaz%CZ72wJDxwJFtHxcBwdOD5nL z-ml&}8ydc}N6!s=VOxU|HV7eW*23gn<)h3eKhaxoMi6_kyeJNL1yi+KYu-zXOIZ+}V-|Z(T~>`f%i|FPQPZw=amB#PglVtGb5^ z38J4o_1Ngo^n*{N$6Z->>7RAWxbmgrmMC$&>4k3tfniGU;b$C4Pu~Gm$}y*ghqcz2 zL_vQO>ih6Y7+g8G`%|l>x|s$Q;wy8zav1Q5IRgYu%_4>wNNb25qlP^hOr&;oI;yjM z4IYe)9+SWt_88ceJXsftD)l$D)-pM3R*_un$L>cd6fnAb<dC;W9C4d?@PvR)py?P#abO+!O=VM ziD1Lcw|F+%@UI%{} zA(?z1?L%ZgYOO(a&-B1lXgdvMCtmXl)+6^d$&qz>GO;h%`J4gZRbsL(aDh3ott782 zE&OW+wEOZtU{o2IyV&Gg_S7KJXFF%D6{Fx!y$^`yP+`w9DUtbja9-G70?TIc9@BPTu`% z(@8WVKP0;E%v1T|cq636t&t{zI|b&~EeY`(Tb zB*)C3Em1A%VxMfg90MYmv6@Tn12Qegi0^0I<>J;qTDy=q`1LeJWsNYt zm_k%vj(H6d)|P-Y=FNmarCBvDd=B@F2@Of(YDlItQLopG3gjYZUQ(tx!i6Bnd zup}d^7~hn{0V+#X^jd$Y(uqR?RT<}WND#KgSs)pc$Qe+GTWL#Ur27h`!%~JaD36~+ zl|uDh9ug&lai5YfYN{6_3D>MnBMH-?P9wfVvWl&=q{=b`6VaQ zT$LopbLkzw$_Etk%9s&F$ysyF5}kptd*T|U785|vxQj7-z>53~$^B~UY12!g?;q3^ z$-?Jpa-LOfJS2ZkeV!}@+#;^^6?U{9g@bhBEn6W+NOW*)3sP~Pm`wf-6nvrfJPl&5 z;%_f)QdE%Vjz5&D_nn2cPGY8JAn2cXa=)V>v27&zl4O=Q=3o%^@0=P$<$Zd%O{-Q> z4gV;zN!<&I^Q_uFW1P9ZHBaQV6^9*M0XhV3wK^x%Liv9(##}7o@LWel8J^QT+d?&K zKMg7jcT&v&2gH|qTgYAYOO9a=_uY71T6g5$!9uP&HJ-+6)K|VV1uZUSSNrnQSBdJW)o3NL2X z=OpZ%b7S}3b06p~qiD3oxJ|Qnl-g4|vG!UO_PnMdYFRL@_Zk*ox9WC~! zBEf!#2bi|xAT&0CYF*OA7%mY835BIXLXiCj^o-IX^p19-7Qcn!%%?MFRL z&Ipz)CBuSzwB*BhNQtO!`oT09R_LAq-ur*PnHG`Y!foh0s!lv@f6e)nXXU!BVvv%7SDhsDf{o&qDO`+S9$%iL&NGZ;}i$(_GPG2K38a zb1k9$k zHiTi5Q`Yam_4GLvK7h%s_tCvdU$%diKosUzIQ4RP&xbF0;ZG8ROb+ zEBc!8ZRG0s)B<2RYnjmYnE)L=&-`+udvE59Ts{yTxqCHKmzKyG;MFM3Qg43>uT|Bb zy5rJe#Q;R2{HHpWlIU!lwz6>Z{a9`y#toH%Hc=hhpt>^B4;!X9-=3~_NQSvts z@;L^UtWY2$XC^7X)fjP~ci~Ws(XOp3?}r4aq`uEXSpy#9{2eqUh4c0_Im*muk;oL6 z?j=F%QFoTau7c-W9miCWf6agG!6Z-L42TP>dj8JCL9J@M7t7_Hy_QJ8RQpYZm4%XO zZiAmT??w;uHh*i2`|vk#{e8l353ax|v8|i&DGb(4X_(R(66nqURnIY9z#0-FfTkq(S z#X!iX&B!70Yil@l6!utp()HYWbaXu~B&IO~oRIh2X2)j)gWG>#XbNdSgc>WHs%aVTZV_!7m$`wVRD7;Z$0X-fFX-nMC`9AwK;UB0m zhtt?6n8W`m6tB`XaEi?2BRCTx&bgr_ktsu zJw0)L-pw9~rvadYsn+`lo5JSR+?0Y3vnHRWF0?T9qRsHq8POc1)BtVuG+u#3c1!fz zZOL8wW6LpM>!~T8Ms!Ys4r|_Hv4cf8y!7Zu=-sOd*cg8|ZB;0{f4O>v04I^~%w6Tq z76Ht4d(8Z-vXKyhJf0aT0bqKdY^!zCCrrg=N(PNt?gNg*nNc=@4au?6qa@P7`98|{ z*-tqG_CZF>MnDzMXpX_dln51oIf$tIrdqn6nN8AlhQCl&4apm=ZOwoY@XEW<5#sZ*5zGR9yZD8ZMqB;R9g00^%GmJhdfuc$+_EhwN^EStfx}01$ zMN3EKH94o#$%u>Xs(+CZZht^ zG<3o^l_zV5hfSQfz~Cc0X1|_;+BYNUrmV6$cRb7c)4y{ZFPXqv18viftl>c4C<~W2 z;32wF3{9`+sbDnG3{Ne{wUn(H47$P0mneUy8U-0SMgc>yHkiSO=F7cv!gCaBgE7my zk&90>Az9~Yj6`7TD!H6weH>%BS-BHWw@gORm2hZEkYki6f0>)C$UBkD&r#r*7CzHS zHA3ww60|{O4YJhb5y~rI2#NI7tQkV8%AWB}!MPE#)R`OLqK;b*$(6Zk-khqXoST2@ zsID^-i+?Q{3ozvyo`IS*+kZ}b6l6dyr|c?{_bdGc61RQ+j&wz1S6+@!GE%~KDRoNJ zgrJZcx=x9(2TfL|9?HUXlJCQWoHDP;e0rl_t94_%2t%esz$$M*N?wgk?hpy~w&MvT z<#Pst9y)s04B(i%;tk60Bln$Su`S~HopQ!7!;`a zv;|Xso<`Uv21kzBK5JTOIGh2Mat$<|(Q%`m#+6AXHI-vb{KRO|AUZ^)-eJc#{y?Sg zTO0J6!AImj?|O{$Po*b0X1?pkm6An3GuIl<4(=$&9Qs=Im{a7Z?zz_orapf$C0sy6 zxVf*vL%Lc;b1_(){GAzZMB2TtSuQ7|MbJ=^R{1n-5tg(qjgeHm*Xk%H(k3e<66R^) zzbqOEM2=bSl4>d0CDro#EY4!)#7Af)IasL!h~VB;DuY0OYX;~`kQAmwL2cqTL~D*)2d<1~`MvW02rNO#OE0_ntl=;QpwEu32+Ry23@Pbz3gi4Tx9?MLZ4L#%(QD zC!3nCN*zKnaP|2#wH1Gfkul~oC6WxUiPKnm2O}B$Tb;QfK?GPcfP=Xb>yB^tp>tl2 z5yQ`#F7WR=it-#Y2rkPK(i`wTXC8w@POryEJ7?^c6_55L*P8LPrxkz+{)@%sSZPsJ zI|K+4UD{r6`oJ9CV;C;YcENhXBv5*ENV*b@|PD+1s!itvPR1nhFtM|e5 z@JMgh{7r#ab)-;rFfL;7j1ne-O~EfK%u2_Ds_sV&)5l85H~T82>m4zT5snf&*pZYrZvx_moXr7e}~ z$gSr2ne@xfyIy}<2=*%HHhQI{U&0Q8Zpsy9!QOix49>XXvUVrHJ@xk?S<-&Pji)xY zEC+E@af&?kigIYu`r5OsVq%;{vA$TuLvkg4hs5=qUqOZ=*$ZDnhJXR7EoY8N=0Z^h z(U*BjW&~sDO@R-&OY+NMhky#M)xq-C*vUb7_-QS+=ska$c|hqWEU>8$v~7~d&Kaor zYweFFrSmdxtPQWUM@ewXmW@OmI6k>|EOlG>@AdfwpQzgvnzuYzuu>xb^`_8GOQLx7 z>;nl-%RwIF%v{^sHrU(VQOJoXxMqN7ZfYH`^ybTc+l09K{u#Y|vKIR-U(%K8=zqk? z^DO8at9*Z;X1%M9ZH=Tz;*(hs4&Zz56&)z5jEjx-gs38O2G=)hLoH8xMsI=oW`}sY z8Xv7kfl%-y)(lkNT)l3imruqz-^c#EdPUXPAW5&^(JTf7X-agF$xJ@=iV88$HZJQ& z)~voyU7XV^&?u9#>=}q2q>rKH7ZiHV0J&H8q;Y>jM$JLq^%r|9vj`GXaA`TWYXZg3 zFUJUZXUrSD%$CM&4-x=Da)*8&4J=njaFL%a!B_te^(jlT0GM*_JG+Bwoah<=mjAUT~;kD&gQ1@{q zVhw*R8&oORKqe=d<#kD!A-VGV+|SRF_^Q#FXirQDxPU-??htKFo{1V~j_OWSJ5fQT zI+oJPoHEs#XF$^Wz?k3Lx#LN$tO$QG2Fp%<1<%?t(l|-(3RKi-d}3J6cnF-V z5PIoR5*w@h5)O-ml+NciS)7@RG5OV9QCHIO;qS50X2E0g(CR&)L}En@D8(r4{aY{bgq9J zM)8g;7z1UHd&fTmFV+lj>-*j}O$s0wYcjXc}*Ygfg9=6%{Cwm6KJd{h41Cq4d2 zZc2i=X016OQj3(V`V8fmQOAoq_< z(DBh}*>$h#r=4IWEm6|j_JNJ4Dzbm(hE1XIZ__%eKXdQkS-^asPZQZr3x8VO7@21R z-o)IRT1*a%Cad4sWNG_G=l`Gus4+ORB?42T96j+aPzfV8mt#iZVd@YRH@9RG;N`K& zdv2pUQr>g>ZY%ch=o{X8bhKMfj}qur1z)c90q2m>qUn$!%=$(!vU~Qml9YdUJty`{ zx?XZOcj76Hoe?vEfVa(9UqOMVW73jIBsL{#8`3k9FX~R?+Q2Woww?k0xwWjckrJ6R zM>!8O7$|NKi;<_E=0TizNeXl7U1g|`4WUN@l17mi7;fkgg0 z{W;Wl>cR6XXha3vTHi;RZL?iS4m`FOk5|@ynADhNhs`o z+BQ;m`99|tE)YZp&n+vRKn%X*(d}w>Rp}5hYWS*_yw%+0T0b>iIrD$aJwHO1{WQ`2 ztZc9VZ-qv+2CASMjjGSl=dqtTX2EmaPuoQE@@wm^`A#43BURiMK0wqL3?$M9DcixR3h*Lab`7~j} z)>Q+Smbn~H8}0e>X%`H7uA36}HS;AOY;xKCP0v0tv%G^9UTTAzT3N5m=3rGQa+|Ue z`Xl|bB&x+yk4vN8RPjQy&3+bv@{AFa04L-(UCv>MpyNjMri^#Qo&nH3>} zF4TouzoU6$V@?5RwO!6J+n^gvO(DZUUDoexaGkA{w_U+x>O}NeQquV}%oUmYU?&T6 z<>{__b`ToK!428*FziJJTCn^C-iAv6_+x_Sly0#sUx|5Ig8%DUc>wR<} zy83KOm%I`+0l1>HAy0{#{Hrw|LL;>EIRjbW%sYQBot82#M#9=i9dhAj$ap*ih{$Q_ z>secmC0PMxr8n7)lkoNz18v15lM44cf9}ef{f^EVJqA`dW00ds37Af;fs}Yhg4M); zhve$ut!T~!-3mCBb(ioBUrTzfcv6@yxet_?w(T-wyIu2S&Ai6W8M!k-drF7c9hxWB z%`_`h6 zK%_Qhr?A0o3{93}Mzi(0OJ)E??0q>#<}9rz)#!k{J!@T3GPCN8e(}Vy)W38pzWeC6I5ZHg1sGHal$QAxe2PDfkDfx12W% z2eVvr&5?#fJ|#5R)*#uZ_-nHbPW6nn%{$andheu&~V{0N}%HDPbMDjj>0emM;Xg<&Toc`+>jVFTp`i_!lpYBb9 zz$2risAnAd+HZ2FMVIULSNBZ%Pwj(cu#=}nx!mwYC$4jG?{!U@Mae6$iTI^Z*}#~! zJ`!y~^xxTr4w;A!e{p>I5H+K)jtX(q`B}!^&1}2{;d*;Yu)onRvp0l2t*tK#(Kj|? zQFEmcQH!Xib*(uN+I{6dSdgr7Vq}|-r3zbz`W-g+mF zlaR=fg?|ZmQGRFt!rv<&-}{rN9?9IX=h^0rm=kRRY41+Vc^hnH=~-Aj%?Q(K)bov9 zpDV|a)G_3Re~kGw-Rq`%2Qv}~&HWS$<$zzf%0Z-}MRG7{ZzfAf{TL*lZ^yK2X0`p$P@2Nz5G zhj(ej*lTP%CXmdPU-lJ0PQ| z-pc$W%+MSG{97YFv6f3)DlLFyLibm{2Rt7TB_(3zc}iC718c^n*2l~cuXlSDt8g0f zJCGK=-yUAmv|QJR`oYO4L89JN&)Ws*SNGe9fUOw|UESk6yESUWn`gek+DM$u8ATX< zf22;a%A`@tI=>@#D{okdwrH7;Y{S`^mN=eo(3RZrXfK!ap{&r?ORqMUJ98>WAnUMi z7k7)eRkcy%6zHcVp7cCFGEAOnA+JDt5}LBNd0I0+OU4r0Id=#Ha88Wbih&N~CBNf- z`_hI-CS#${y;AP-mwGO4$$z~nCb4Dye<=xjDo;JS3*~rg)Tjic;ihC2qs;XYR+SJ@ zZH5Q3Ps#iJ0s+r9Ui6GWK^KF2)GzrWnf2IqJVJDj=-7fwcQ5lHP@8O`Q7>s4sb5T>W#ZqSRy675oxupi!9H+ ztCj+_N*=8Ojs43y?OhoRw$_~z~%yrbKz48tbg=_Xg z_-1J~Iit!TcJ%|^W?0aC0XMF>^m=eCz=Gy?Hr@5f+N2X@29lgMqt5lg%?+7WGm3^5 zc0MJeuvYHg9WhT@q3iC@wMM*)Z)YS@WO-_II$!T?P7EzLEVBGObB8L8f9aR=+hA4CEXMVcA)TIJMEP(Vxvw4I zt@Uf}H^xkjKnlGls3la@f4s@1V$T_kT`zH~#P_Z$qhg)P@3<;bhaH*NeZL{haehjt z*luXnGOt=)liQjIRucIt-5aNF>N~1 zR!)x^|3OAY4DGhqDbse|$dcPQ=DFxNPb>lj}eEDO5lQugwui9q7vTs_fmQp44|>8by&? z!j)D!xoCh&i1~ZogV43dCaWuXapc6Piqm6T6)gQCaenfY&<=o3>-Vq@_e8L6BMz9p zP8{)wLULEhH$#P<-?;$vbC1riFDyIm4>gr?)GU@cagZAbf1aY<`1`KkLn5g-CBu=G`+7mi zpZH}0b8N2Za6$Hqu4MO?(FztQ zO4-~yDi9&(f5{PSB2f8z1`m4cI~eu4e!WoW03_9SP~cJiTO!prN4*cHP)q18={4Lq z{f~^2Zeo;bo8$;C*^)UsLy1m%ZaYT0eva*+yktZ`{sx3`w;53CypdEal{#FbmLz_r zA8GT7+znb)OQ&0-%Dk4WD6;T7K5G=Zs=5r$1$H^n=#Yl<#UUj$`V& ztov<;4(vJtB#K~sX~X4Q`)%0aTkaha>58?c`)yHjw^okidF2~S@&e$D+2Lsw;iz|E zmnOL8e;u+*-~$Y(-bO)-v=??x%Xj*2cQ%uxx9p9!p4g)O&Th-t2X8O+t#*if6t2O# zk#=MoSK=HXwe(kebbna6)Ri$eF|%?67^a(%QuX?$k}Nd`k84t$wIrk9ZpKd`WDwET zO|g4P%y;(2%l4%WVnzJT*lRNfKuPzk+XHQ#3 zrHxzH7$tdj-Aj2QUd^0q+}K@LUMghw%)LK~IOoX{=Tb#1d-MME`oJl@`-XL{+P{N;6|6Jonw_QCUyT5j4Z6ydyzpq| z`d}m8GJ9ahOZsJ3A=;A+m){Y?OAmHW8GGGBA&wEVKGW=31@H`XDA zy++{kts_Zr;dIa2WnKpXLiRS2t@8ZLf3&ppzwIOAZO?NmjISzYeMhxh*tC>z=Vjd4 zY;twxyA5bAy*+yyd{{jK8!oducI6+WzGrW&w#*sY0mimOo9uvGxL>L_Id@<74rlL? z)~?JbC8oQ#NjiF-62v^W^bw0~TkM=ShS@V?EV~Ot0#5y&O)hEX@$VaCYeocie_3U1 z&+Vh8ZR)*4a`Y;&8!_b7*gTtXSuJ_<)}(}n-=p4fsXt#=+xRj&4NF>`WFPu}D7;qR)$Qlo1G=O|5=cL+%{BIC7Jm>|#Gc?v+~TyuGx zSwTgT-2K+OiUrn@2l|l$8Mz81e^6`nOTnd|N6wqefFCE?sOaHcs8s+;zRhWGA3!Y< zDYG|BLm8tyZW8Env%nCj}AvkW2xC5k2C!tI6Z8*+6O|_a%pmXlsslu*Y80cfAvU?o8zI} zMrtUBVn(mjZWX_F?DIP+Wr8)<2u3B6^rh2|h(acffn&?;#jp9r7H`nOxNb6la^=D@!N{vNhnIk~kx8+T72xf64)f`OQODbnd zP9-^W$m&z*M_^{w+Hj-e}Oe{P@RmaoRLk)V{w zow(2`5)+Ic_bu(ARt^OH%T2M$14wP-Sb6g@4tT7qy_2VLK-SWxJ%GO&?;_&Mf$_>w zUw{dD<^VUg#J?S26OTl_l1vhw>pS2KtwkT3gtxRlpxFoEdiDl)+q-vAYxV7~6tIGW z)ftJ2rdUo<~~zay374__7V%Kdq@_zrOf;m06WJoV|?)weL}p z6r?OQ0`z=z)s*nzXKaeE3b-}T0=B<l}>vE2tTcI~&5RlsYPZ2*jucSQ{D{mJMH z-g1O#Jp!wfe|IA8x5t$>`Z#hZd~0k_VO@=jA3$NYY$NiprXKI+$EKaD@MNOrjl_3s zPIHGmm-{Eu})9Vkq;k;k7Hj1#W(miecAIMV*|{6MV( z3b4O8s30xL%UATsVMrJ>YHtFY-ZMlOk=U3ZnMFH=8RHYnpsiR%SWT&Nx1oPO_5vf zX=f=k{*ilMzeiaD4(yb8vNGcUXSa0CZUYLFp3@W4UB?$>L{5)<0nho4qA7o=%0PQ! z%w)t+e;i6vB?0K@-sFL0MEXQM)7&#B`oc%Q3pntUz^fTW%(f=u)H$=>dygWpdiSVR zZRO;u?~tI=Ny(zVO5VMy2_bT>Hp7FS8E+>Zj5%=|r<75CkL>L^&FTF*m0*XEd@0|?+7r{iXyO(5|pFIaB0+W_pz=1iV6j&ThH9Oqo zAj>J?g3N4)OUy`6E!*s0*yOJ1f0R;OHU`fV#AVL4n2`+o`i^U-^Ue5UI%7+(oHUy{5`UXzRV6ka3b1OpmkH^9>w&qfA&qTfXSIm zU6@2=(&SuIqL++`Q#NiW1M2sTDzs@GDl1R-&sRna3{hhCrj}f<&wRb*D$>R2oV{7OzA4aSus^a5h*w$?SnhDwRae?DgQY$G8fF|<(TilC=fvtgJ?Z}=tBwPZZ_+VD}PNAr?R z)S34r(6zY=3QTiY)$dU*r>miiLOM&L&m?N79+G-5mc%2omM-=wk9dwiUDV7_zIK@Q zo`XZ+Vb7cVu&aB0goR}8)(8$vdp&A_&877>b|WN8^~S(h(*JfTfAQ9gp{mV)+V^yw zq7})zLh|0eeCLqpn)eQF?&hYuPAmtRTTTLqnJb6Au+n(7No{xl3uQpEbxjQtEbF}@ zDI`M3g?=V^J(Hb?1dgjRyGbw*75%H@Qf5`lZ8&(_ih2@bM5_#`m z+SpZb=CpaSxUbp=;($x#NNa~ik%oZ4(z zmCbk9{C$gwudh9CAC~ZT)(B>)|5wg6uDx5|{sK^je~`T)p{PitD!iQg{VvSBy2SyZ z4R3r|1tix1VCM)1v?o`AYh9UzY9rXUe`zy$Y4SS@=BDzlfUSs^6b6vQ7O4m>iAq@g zVl3)}Rc@a)oBYDi6G@c$DQqhV?$5Fgnc?>1%_tJ(vn&>E7Vmbx z3&M7CfA6z5S;dt}qqmVikh>RI*j$lF=;DXoUiF>Ly;JCCZRAsxCzwQKuktICta1@@ zzir#3T3C)?WQ62fB1PNw$u=@SiuK+IyuszGA%RUO<}s2%k)AtVYT?#x(6(kRpGhER znp@wIzP6O#MVl2@W$qBn|Bu$=)r9`mn}T3vf6Mrey>ri7*%RZ1uDM35`0UwX0zP}x z(n!$BWp9E!tv!KeJX(ikRU>K2-VijEH$qCz_VHt@&3Ti1ndgUtDZNr^6k`;x>>Cnr zzSgUh^V^GUNt=Re&&jnle}@=<;mhcPOPpridgo^BEjlc ze=~aV9k*t8om{uo=8lakt1wAW6JtrsXh_b~YM6k)bhX;j-JYVJF>3BV1=>p!g7xQr zD{EJfRDGGcDI|M!R;ChjY^jR!kRYrnoGJ;-L`4xWX0!S8c5$$8i5t{rP$lOaU|CRI zxMpY694FSCO; zDeJ=Fb>vm9=p~6CR8bLf)8vf6_?C z`m8mAk?i%(-Ag&Ze3ESd`U(-{J0iI0CBRytkWQ{CWQ3b6zaxbrbw1__yk)(BBP5cj z7A)VMxt{BfnvZFps_D+3nDh4YL!0x4LiwtAi4n*usH*N%C;qS0m1zx+_mZdHMWsS) z&70*hb0y)r{c?Ut)QHM9(wz&pe=#|4lFD*T7l~knan=UHt5B8G9i(JUjra~#dCM0a zrQl7&8Z|X>t0<5E94mC6EClkd^Xv_sLdEp-wlS)6ebx=TeQ7lc>=V>6Dsv0^ z4)7_pb&^+B$mXZ>Ple+`K|&-$g;U>V5uk-4=O12>x`4q;BBji@<5 zF)D$)cH)r0n#ZWsO}BZzNL~tPRU61f;IEc+?u!7as7UI{EZQemZ1wh#9-IJ;KyttS zL~q##HZ9wjgS4h-%9GGTwpqo*YxnZ7acH(=)IjPHz$B-JZ)(&6&JjFcSbx=XwS}34 zx@y#}7SW-Ui1y`M&qwf_3pqk>IqwvN?Cre65|`u!K$M;==1*5?MD~PxtnzY5P6Vj= zOT{mfL73h>vh{QKVppE?hQ)@$!<6%8WJhZ23QKay)(1p>JsymlYjp1_R8(&t8P|mp)f;DU;VDRzk*N$Z zlKmyTo8LKH|1E(>%D03LqB?orAzUcTiTcirA+WHmlQ8Y;ozYmJwCU`VHFNy;-8}e`rw5h;DSzBGHf4TpX)ioh znVk7Hf=9Zco*4|eM=!pWw5A>)lArXX$;4fERs{yc<2EE)b@>I@=^4Z(xm@nkaCV5=jE-6Mq7ckrmV5S>(OfJNFcK z@Sx>)c%0M9fecsqtZoYAz1$nQK77%8z6&G!2ZpsqAX{b5(+KkO;O>=8OV)C;!_tG8JFx z^)NM4;{rw!a(~APbmF6COiSeX2Pl7c3Tb^wSpX;~2 zGj>9HO6-q^>K)kz5njHye7&9m^9 zGt~1YiC#g<8a1N?wR}lnn7+(4UPWP}Y-2*xo5yekqRQ1)zFw+C_6Bm37&H8h_DIfw z>Z1(!?2R`hUs~!gMv2nw*yr5DTlEIrWZWsCQ&c7=PlT%Bg_tIxJFVTDY}R65(}wL_ zd0^9%I)4h-Sz}X025($S)C5T1t-!|@i$&yL`arJf`gks%oHs?Ou}s$pV2THaNd)IbAj1TI9mp(%Nfnq(<)OwwD#z_>H*vyB?TuY8@i z1(|5>cpS!OTH^2|5@~X-H?_6;?uFm^qNNGwoqxq5274`KwdY`8KJ5j?;Vcs@=S?8L z@dr;%HWyFLn~k$3KK{vvuR2|}dGWmD?4af3lFv4h2-9*!iw%a6JATxpNgLzI%2B%_ zzoT+S-^!@Rw)6>c=84$kJ$i~RCpz#6SM$zDm$F*#z28&z&$C}Mo_gD~e$TaVeB_S5 z)|by00R?~PoYGmphw|iP)ptnPfOURIWYl(>$yumxx^sb_l5ZaLv_szznb$r$iRxmTewzX?eeSe^sZ*QQJ8btNIQc%$YYV zP#R6-%r*!+)3e~ef6_>+&B%yPD+hV}B)cx#h!lTRW)O~EnA1czkx)m!^d@1a-V$VG z{8hQD+(%5x9NQ_@*1y!dlxQG`lAHUodIJHu72Cx?p~y|DJJFt!FxtI6RW!;S&u`lA z>5D|lTaJy(x%UCPWJ^s|aGP4wBY;B5XvOPwfJWzjqqtb09NUQ}u_biQs!cTU%JF37 zDH(q;iC%4pERLia!L$ID<_I{+m#Q3S1nOe<9tHP2Q|t8p3C-kpKHjp76`-X@+cg~$e8VpT&7Cy7N&a)uC;Hk^+$f(Mf_GMuAVpA|`5$WPXafyoDC1wHC zQTAt^A0ewo2cmP8MVLEr=C@4U1#vmtQGS0%0M|2Ia{!CO{z!@H@rfyUEqLbAUXV~c zQE#(1I%oPEUeGgHnE~UlTd_~@s+v&7LSLMt$#y>Yi}Bs&tqeBbnm34>yn>uJ=ov(? z^-C3^|I%iIG)zC=Ya6)r?rpubCGnE-cV>)*1Z`0MQiU$$N7bmAKTGlNOs}2$p!k3A zheRo?ybt7~qdCa$@Htdgv)&LdXKd=VE9|@Fsi$(j(}#jmP`>1zBUn+{)i+EL9^w z9h>YOyqOQ|19`)Wib$Z&-agoL`a6HJauQ4MI_dtIbEj0A{Q8`?>qhO(9U{FX*~(nI zeCU};^BP1lnF;;6pb#_rQ)x?FRJlGEVz$J`gDgzQ6=U9{^iuI_uI(Iggf-hdQPb6q zmlTP?r0xR}DpI%M^vD-OLLmQS?KkOBz})?N#)VM(K(fe3Tq1wZ#emOWN_l^R>Zmq@ z?KZVE;5-|+_6~p*_-LJypP?2R5#TO!N@~B6D45gVnMb{i8nw4f>U&D?PUe{##;M94 z)yB4-`}YV}U_i(=Xx;M!BUEye=h)zc&Z+=D4ZmFDDM;kN_NWj3_}qyw2Fdj8J7y;{ z>p1EG%IijAwmsWJOC|2=qVkXt%9?-q_5K{Mbwoi zctS~*w-~_})E)_6K#yQp1-U~8hAHiO0gkS+Fp6|RpXE7y3sUyk<|Jr8pTw8@QLIkB zv+yJ3-g&P)GCcxu+TuRbn{1Wdi5Q-z;=D4UIP}xQM2A*OA$L6c2PJ=T?E@~uM$WS% zB-rO^#OQYxf0blfF35~PNwa;}!8L+e3VAV7>P=QmdYBXpdMF;4z2WHS?<|auv^ANu zU-E-Nblx5DoEG+1-9@h13%J zNKF+8pEs>$=ThG+aYB>4-M#7q3gVydD-m9*Valzjx%N1F>}yTm4&!#T1pYf;P0&s8 z^7=jea@c`dqAGt*>N|pSfZ4To(B-`5%vt4@gA1$ENTuMREuH+00vnmw7e475e6#bieu;lMz)hF0j3_!dU#^^t15_9_ zwimOpXNMxhA)jruNS}~c1y0%0l{so~H03IAc2c17JDZ&NTvL5*sddW1;@Qr*<|b%A ztTIQy+<8ivY{GptHnic_F{Q+l+IweATUwz5W4-6COd{B}=XZubK1a>MKnGH7ibeeTJegW>j1 z|C_o*G_G#5$-2mMD#=JbUj3dK);+C51xw}a<{f`Ra%2`G!}SRbTHoRBO~z2h?u@Uq z+bq^Jf6pQ&-Z#<;vfXpNB1_I(9)Rs-S(m>S!!v6Szz1%8YtQztXGT z+sN|CUkbFR?qrQ%cm4Nkwu22OHxRY%vGyI$+55>1|2N{9N8fKSOcJMZY!~!oj#>uA zRSbWqSjWT{Qty2u66M6G@5nZWdrb*vK>9l0q6m%5#(Q>4E_fb8px3_1PdqMF!$lkP z%IQ5GlIA&8+LAt)I|SiWv#X%789wxy1LVE;ULO+fqHZIWpCbTGpVR(9D1pyASNrlZ zO?iIU3s?GG)YHJhnyU?baHef0VfD3U?45t)14vxI)K&Rz9f@7SLz-=PK@({~ck|ZP z+xX$AIr3KiV1nP1U6QWBIILCR1C^FvHw8L9MpL&LCE{xpJdHvREx|C8desLcO9E=l z4yQkOV(kMGhosIauPG9`S|1V@LiaX2n%x_{J27VN3DvxFc3k8_boG09{V`9b1XF)k z`jtTpxT14*+`K9VWN%n3Gxr7CJGRVMw!x2)esa}VzT5{RC+3~rl@B}X$gDq-dvp4c z$ZN~7`Aq8}gDgfNrusb`Pg$c^Vj=c{^uIxvfw$&9cy6+M@-zbLUWs+b)@C1+Zpq<* zc(QIJ#I^S&qaq{|%dvi`k)bt8$s&JwAb*e0>L+mlvbJ8Iyhle0Fax!|!w#i&4b^gxwwrVC9=Ogt3nQ~UxeU+=2_xjm@-kkD1sz2^_e7)myz`i+ z{>?u9A~~K=nl*2uUTMY`KH`I_F=m^K8#a3bOQQ`{8# z;=FmarO?$2`1vgOYVu^kv)}i!X+OA|mW);m3i3JiosWu`9ToYYd4SHY*--)mL_Z~` z0v#>!q9^KzuWD*8L;ySy_B>h8XRXKc`9F`o`4~Ae+-uYTrwSmXL`CS#g;N9<;d`DE z8S!7<(`5&==-+eT-QRNrhYf$9`#|msYPM=4r5J(K7m3(VOXx^B2UPVXnK(WplO}PH zA7oGM3vh=%zO44T+?B}4v2E^y+*QzYl*nwuACg%LE*-S8`7UfKW%lpc1l0QGW8^g7 zt!m7eZ2CK#Ts_wtDz&O|D%uHapD5msh}tXd1rpeZTaL$2To~#}M$o3Y;$kk>$KUxde(Q5RlcQO9VqL;8b)aCl6cy-Z$mqg@l zO^&sX6g3=l*#;1#_nU+Vq^{X!#p~X^VY^6Qno=kzqw~H#n7bMK&;}bvo}c5y0nxo( z?D~9Zm33G6tA5WY-hO}PTpQY>b$=3`|LhG0{GFplH6cMO+br)Ty+t4VVx80VImZsk zRZu+Z-tPhs3M^NR0M_t}?vE1fOvERLrYzk2rI#A8eTR%3sN_8cbQcQDlO?eG#WGTy z2pfC+9+>3Yo(yz|B3+lY4@juj_0G+BMN}}!?|9NPW;DYMc7A^eiDa+ZZ{n)3lcfd7 ztK%nViIb3b$ZUB8ZEDo$Oxu>3RV-DWFWY!bG6IF0mFp>2;URe-Z*sInDre-3KH=sQ z|Ax)(CNs3g2G93N4+i!(#aeRSBz~Z&s@`5eGMRrm4{oBwn9VO3#NJg{0k%9PGuU3^ zL-3?{=SttfFAaZ7P$zf>d~$^9_e`=2lkGxvCN&%C7Q^<010p3h6~goSjsQ2xrIbJ? zev_y)o_j}~z2==%)9T(hE_U9yx|dWqpomTIbsW6JXs`CDf2t_J0rbDV1phR z$51_(<(hNwfe!53g%aCXDH$Y?Jw1X`J)t~vt_rCIHEMqmC}D(@aPIe+o41d!Z?@TA zoJ=Xca{~0N&eF1xJebSHjYm-)Iv6Sw(>?||6t?I z-tg3?2XI~`o}`yx#ykdWm%Z^k^~sX^uO?=;!MBloC^MkcksfC-NRZR~rHYuX{nB#3 zt(o;VtM`8~XC^1fQz_3Hwb~tzw5Ddd|CM?oiST94!LSN4E~Ajn)GVV&>%`H!w|TIS z)u@32mh^GWyLe;Y(2_eAF0F6&~%D?)^|__UHziF z+$i$Z=9JW&S@iSCzmq;ll8+*i*_+(lL{ZIjWx0PW*+#|TjE-poGM6Xo!lK`2Tk6`L z8u2`0V69VJFWGDPd#)EOOpaRIZ0+4EunHhjzw{D)`O-#h^410~JTe*mpVgy063MI{ zjp%=mVC25!O>teYJzpd;)q52#1qMnYz9QM_9&;dWC|*(D;j()y>8DVC2y0O7coj;} z;?#c&C<7OvP`yl0(W6vkjqQ#LH(zJSW5~3!K8y?nUXB2nb>o#q>)~qNH3ARQk}n2J z<|*y3+r0TSQvwm3nYN=IGdiqnGb*{YWJXZlBXGYxb4IbHspwtbkuwBjmXa3)URed| zfIL;B$~Ls}jAKA^V0g~Ce&Pk~c_UGbH@|@}UubmpusGrc>pD+@BAB^j$p zB*yfpu`wol)I#NIet-4UdB1Y5T{?dXde`g>&}+s|6*i$*<=8Ak<5cm@zn07fUqre- zeYO`FJ5!JCQobX1)e1b*_nW9ySD9Oo;#`TRp!ZX-`#WBr)*SG%d4y|50lfA;B@*I~ z%*R+HF26HxciGO{D{+uR(mFYbq2-%}FAc7;M$PSVCTeeiT3HN?Ak=1ZMWp5WaL%vLc zeP48ckIbBrp+%+>FL8ZGxTJq8Gc4?%Dg9M)rjTmXi@|p+N?Nl6X)@UVV+2q&n1btM z{VYk=lXc)0(_2LHy3$@)ZzICcV-pNb)Dg=WWVz-|d_xVfx?xo+dz={&Se3xLrR}`B zlMzwW?A(nx^MhCQ>v?#x4IbQ#?ZQ7iys6a&4SVxotRrhGeE}q25bb|I69A>{yrNN- zfm$PgjBB1?UQ6uYIoE?pE&VRTDtRWe2##y@>~ap^uG(Ll@4CxaaUid9uBYn@Gq$h5DCUfE zH;XXTsNWnVX>W4`%Zq=^5lF~TemZ-TT#^MNxhDy;)U9ymI zedi8=K5JB^`&A%2S5EAs`G{9}IWW^XHaC2tCbSVH?eFl_qz7|`OJ^NcL0XiO^||+R4mf|tmPDViwFT01u9s0H zD|ZzQf6bgoXLLMT^?OukKfZj&yO3D66){8G=rXi9BXZsx)Q)1SP~v_o{cTl;u}pl#LTw_u&gJEt-UzJZDrX?<+m%>c7I& z=j`m#e7;FWf_?oSaL*$n`M`lMu*z)X`cLZ+PWQ8iXo9(r*b#*I!uK3v)(n)^mSk?Br^nP?f3Sua{e=-$uc# zy=MnfsXdMBwW;))tIaBqt5I`sxea;_5U6$}q(kKI z!K@`6ujYS%q&-Y}gUze^fCNOoRvS~LJfj`~l`oNgE^_5Ax;G)CWH?jdnn{^!%1yE5 zTe1N#z0_TR(3=x^CE6%iuzRD|B{pwV zIOw|a+cfUcybo9(?ZcO`WOTU?#PQ|*)%uJao75aOaKf(iN}|d_uC|KmNAEY4S~|~Y zv^e`dcw5ud?69S&Jy7~6iJA?$M`6GA#P4vn;?vGuW!gmSYu+%=aMqVZC{$VVmPqnB zQ=)%bS$YXJU_S4}^Bvn;PipVUj6{?zMEWQPgA4=$KUb&zv?B zkCc@wZG97d=@>tWXi~0%B9YBpzAYC9)V%pP6lH7F97qq7z>pHeJn7NI?Sj=dUkr|y zJvs2UQIIS%4oLXpdj#*nU6EsxiJVBk4V!<$m07@>d>Mr+sy8Z%=wV7eYD47iWn)}@ zf&ufIGhy5CzVw+B#}Ks15kOL>6}pYOFX` zw%SP6j1X@7jK(WhVW7`ai{6H1lzd#7G~*TwDyjJoSfc5KCt$Z=g7z%)JygLqL!>tc(y; zHZ?X$vv_+_GGLW?i+LF5M5t`%{_478Btk}c8cDA7f^KXx|6gN6SkQbMfS8a8`Fk$e zOnrj!IW$IdSNjwAH%4HGN)4?Ub;E!2de`0=y6u`iJ9i5tSH0*Yl=V8>P`7Fd){HuD zUW}T99mY(MGJg;1m-M^vUW?b)9YVs()}y}gEB72+65HyW?t{Rjd!wIp{sIW?sE}U2 z=e{CX$+6urUgg`UmXI0;@9OPgx$`XSpkK`_;w`;x>BUh4P(sL_-{JH~^x1z-QC1r+ z+rR~+r(QK=ZoXXYkxiR#i8g>ExjrfafZOK?F3c4<*VM$WSB+DHos%bPAmjR!JiVET zP}wmsESY&CTjqfVsYd;zd1stySMCYFSG7^_sxhZXkieVrJFl5qlPmYaKbld5UFFSZ zMk4K9RrB&Y(1uz<}Q?+dvRyRD=f<-BEu>{3r7pv0(7k zlQgYOK@SMoXRJ};cU>1jqiRfcuR`1ugn?oM~sZt-TLKtzPLH+}Fja&r`B)qHuX5tqRN} zc7KOHLp79hpt#DOD<^-r+~~7iSvogn^|m3^OI*#46+n@YY_mYzq`tGQs%htHGppCs zI(K&CnRyZw+&gT*W(nC*3pc`xgsUd+c$m3n5!G`$U zW=8{?cOnozLWOJt^_o#q)AqPprx4b}@KU{R7qsKEFSS{W^pY1TwM>TtM2iqRzH_*^NqWNdvBZa6AS> zZO-Vxz^DC#8&-wfoNEZP_AFrVeSFR9&v z5ko%JZ8-=~o2d(*_*=n(nuF<7**^C*5`Aey)#i;sGG8;524ykku5!KVE_>tO>C;F@ zd*{1-aB#K1_do;NJU=8VlI0x&s*xVtA=9=3P1Op>Wp5PBiRQfH4W~mZj z&5msSHFJNl#gE0A^7k+aBv4mx$YGnGT(J$DSGjv;@>-_c zy)#_)mr);R67w`F`PJC)L$YE=Y&e2dEy@uL%DD7x91B1BD`y8^042ZXdb#dhDNN}? zUWd}(4&dW8Emsm;{kf(ri8J*#>W*`tyNZP0yGDNv1h}VvRPK*3T(%k1!fCY~8$zRg z(LodBG1drF5>*^1C0>m5)FW%Qck-+>Qq}b&4H3 zM9&*=;w^EIs?q^s=Go>*>Ky4~m-n9jL`ftQhNPNN#SSN2b+GO^&GJ;?+$g*>OR+B?gcL=T+@D#j6mU)hWT-Bx9$v zG$t*WTfHUn1Ye%+n9&nwLUV-;FP~c0*#^uyy@s+5<>%JBAY=7@X58$&D+1f!!GnJe zAAmG#Cz8nM%^7tiH-h!N52~R$B_v;})trij z8g~BDldYL^Eu(5pl#V)#*yyv3;0r^mz9UxS5Qz>P>%;bWYEyE8bb?HZu(}_rcR0vgYr3?g%ovH$;ue zn|Dg0?5bZR80d0eLvP;m4MxlZve0e3GO4AVqJZz-JDd?~GIe?8-pw&B8_)%tBVbj_ z)2{Uyi;!_9cxgP>-DZB>Q&Yvj_xU7}4Emd6p~q$x64eijDkm}bf!sCEO#Ocz0fEmK ziR_!SLQja#weQ}MkC;(x^#xvY--&W>=F}5UNX)JdtJ2>aqP%{O(iux?ka!61@66W( zk$Iwe$lf^6`(1$5YHJrp^h=!w5)99IlgmWw${B9aLF<%b+Z0Z334V%Rx%u&h*W;96 zc_gae%|heKxklyyp;2S=&`W=LO9?`Uv^7tpac4%PS;vnrFDAuveXe}V{{t`qC7vB%32_w^_@FD*PMR?diTBG#-Wkl);jf& zd80m3eutMjBPp=yP#|?mF8n2Y!PT2Y=*~pDlycyT%{CK0{O)a#Db(u>`1?@_DtlWL z{OC4zRpu{Tsu6QkRBr=*kU7ODVV6);tsQC}??7_Pxhlos+eGO-iyFTaI)opbOKN=fYT zB^&RSmITS*md{bU{WHSuo;o$KV1z6^gv4W?E637n6xB6d zirwZa2x_XwSih7r!X8NpyQKHq+ri41xQrBy>XjMU+n;~r7$Cv7UU$5E+?=+=9g;R6 z9%}%IZo|*lH_~U5D4wf;1f#P%)LM7>=S}{>(2?GKys@Cax!)uV30BuC06QuT*Aiv6 zbLD0^*NFwa<_+=Xp1nEs8RM53g?KDy2hknNv3e6$ZS^HZBSz79ReZQ)hVux(wW)Qm+Rn2^x3t^xK7mG1xP@R z&9SNLoAE|$l-|>BBaV=W_KPj^Y)y!h`q{T7=01PvA~m)hYfy6ST|d_;&V9Y(-t3b_ zg0d#Rv(iI)1lQEu_7qiE^Be*A%#pdI@~qT+%u|01KGmznCbarV^fT_aku8#KFiIpw z^TPNsXZ(lcb7f|b>Yi#g^Id-!mow(Q>!p>h~bU`EvU+gkKr` zhY5dpD(sQH$<6Io6XyubTDDxdsJu`T`djJo;845-r3DPh3(D-@&)a{1P$>@^FD(faalIuZusCJq42d?erX&L> zl(TckSx}xIZFqZ&{boo$UsmCcf3&P!#Gfirm6bCjC`03%lAxontUnU=T-{|BS`3Noj@(sGjII?6)dq`X*_tG>R?9C&0yAB2){tO84NZt-*d=+g zMYl9c3f2p)k+DnZ9 z_YA0CN>)6l;ji)?R4Ju(4#^;vs@@da5W!4|qur|@%{HrFv)t7~E(|RRR|57jm ziHFsj&^Ki{CF)ER-qLqumzNDla!8ZQ{U+81{afD=wn77u5(;U>&7dqWyH}KFNZwh4 zoaEr8&avTY`LeI!R5Kr4Z?KEym6AZn083q&M74lA!6P4W%U{a##3-n9Dkj1^S@-qb z_3sji88tG^YOY}epICp0vJGE!MI!xDex!=}@*E?FNKI%!TWy5;4i=10-h5V#g5Pb} zOyxN>f(crxtPi!oCUp{X1RIChkrD`q^5N6b{9m4hQAq(~TJ;7cs+?R)UTP|(WRW{o zcgUzkyq2GD=#S$<$lgRh3IQ&Jz=K|1YLaKyxg&AA6s~hf#O{A`u4N`AyNWh)*voTD za!#B-^?TS^5-S8^c>6xUkh|u)Ap2DIXYNtaOYoWe&YNA3r%~kr zv5ah^o>Ik6aV&qR0hsSLFNJ-OGm7dwnFRDEYE`jn5;4V!{;O0r0z*0K_roQhb1lns zPYoZY6Fo(@K_F5Yd`7S;3zswcW;Le$V_d3s=Y1d}1q`HC0eeVhcbEZ{K>Eym;5yT5 zc>l-{m~wqYNqK2&1cRn=s(0H({@VNYAH**`Z)`IUSAKs-$fhdKu>X#Ca$b?3)T?+F zhTdTqgkQ%kX|Wvro_6u-xfMRMK3+(DrNTj zv-0xwo27~~TEQAMSi;%g;kZScT5S+|BMM20WQdB`U^BujpE}v9Dn5TFECl~n2nZ52U@JB?B%J|EBJ`eC&K>VcMtQWc-_!ebH=S!?PPO5wDSk^q zKwL-PB>0;1ofB1*Y+G}Ed?YmGi!O_CO25mXV`1oIZwEUo_m0#@99G!|!DafZ?g}Qj zW~+^~n7PNMGc_2p4J32nxS-WOf;@RsVAxDlvNnIbmTA|M!1v}arw|fR*C|I0 zX;)dMZ;8JCf2}qbHo4Y_WibL8WSb`nyj)W?(e}y<^>x&N83VgZ)L1G5R-5;GNv{V9 z{9E3M*9@Vb`}*S3ZTsg^Au8=)E^4eNx!Tkqezu$)Sqfhyu%LM-KDZgL^jE1@I;_q3 z4vBwUt2(D7(^Y7?H+C2Nu(jXhIkC-Z-X82zRoZg|a(vQ1DzhE8eSU|rnN`qfVxvk) zonS>@u(0MF+-Dh8^~x~w7@Kvrq5K@-{*FAKv>R!4(>vceP%Wx_orMQZr?&Vry8?h;Qvn`qM^`}H0f7;GKElRiN-eLbRTC%r6pPOf4M3agcK_J!%Zq0vT$Enn3 zdzU5GFS-Im$&%4fx%7X0o?kCR$76=6;!j%XX_>H3ElT z)cTIFh-#TFd4XD_1Z7-ChJg9*_q2>KF7lz2^&!9I=?$#!3{$Ug>xh4WZm+qr&WB{m z>_U?JG^f4&q*Y-|%MqyDl;}<1UW7(HYPGd8j^P{#4&|DPS|uNf1Z|wQc~gvJyeTas z5|y#*1Pg&--^^di&Z3ak9Kaxg3Z(>lRifMmxn=umP_^8U=vQy-pT^ZFBH(c6P87A0 zQk%W0yqR99=im~}=rS4!Pf3r>W0Ehr1Sqd&=@cXi)0IB@d|h|^`j_280U3W|Impw< zn#r2BqJuA<(;R^sGN9Qt>cKdYwx(xRCHOVl2$mU5#8JOTUzukFv_6>Sa|AN$+Vg`$`Ge6rzjFx%=GbPK>E73B z94u*lc*@xPd9r5vxA=EPbq;@3T=I7DXl5R=HcI+c^>`8$4pQ47!2r}_6Uk41FXsVD zqgTxvaIdmODN(s8tsJ4tDeGq$_5PXr4F)B+`iA8KMUqh?Sl0W!XGg_^)(kBkk`lKoaa<6h1M;#`8@i~S|xv`R|;kj5I;w~x?z7aTSZ!`EZm&8 zRhD*IZBL7>Bw5Whrj+Cuc*``VBINxx%5^4c0)TdK>g9K4HKB9&s&T*@ooy~mLpf?( zAUq<~X2*x0Q68i?&CmqPhp0Xy>`w`A0MPZFL;SzzK*GVCmflE3fZosEgo;~>X69v9 zCcx|U1%W4nUP^K9D!G4f(vWHdfZ16WTRy(ZxqVxn&T0A&p0d|~kMlbxJu&Z{lP|5Z zW?>VD12ErU4%+0J(1y!7(KAn`Cf%yW#yS+jO$n?=`VVk9P>S>RCsBncdvn7la$X2d z%6I8Vc!o?u%^Nr4ZB3s8Pyj8d#`YS~r1Vara}fNm(>O>C8K{5pdq~hmbQ`%987Uqi z9;GU?H;e(f+CXX0K+kHU$^xWnN+wy1b&D|xUMjj~8kf+{6v2V(n74N~z1@98~9pmJdPp45ZUU4Q2g`p({f zMA1amcPNlq>w5K~1NGN}TaV zb=yZWTDEcOGk?yj?aHpVQ3ez=cg`q8A=;Drj+%9A>TiG8cGX(SUy4I=?K$9#7fGn^ zz)&TVfb7cK>)LXzQFtvGca{zKlA2TBQB<*!<~U%-dS@Fow=(v@<L}Oegr{iTUli_{z5vW?_!P>@ zA$fo88ObMMV)XC9J=T^4BNS^w{hmvHRKI|iESvN_aSt+1 z+beTyBv5?Gx&YYzB;ypKN|l?6&6ET`M(Qpkuvc|kPSTp2O@Tz9w)TNwFk!t5lSD;z zsbdvzej$#n^P{#5%cvzhLRGJT#~Vph;)H)DkmP+={(Yu`YfgBm-(qlQ>Ut)>}aL3$(j?{A$6 z4d^ElS#K7i$WdpmMj%!oS1=_!=&36UAVb^dca#-zkyURP0@q}vnUuO%GaGyqE08Up zy@7?L7ZmvpCsUrEh0i;E_)NeTg}r~igO+W{sQdukss*2ICV4ESK`Mwgz_Qtfhd8}B z3b=5+zNDTwVY&lO$Pt{hr(Aypm@Mi` zwE<~CGu@I8jWi`68du(l3NUnb?nE1;U1o1QSs9ZUgcg#{stx^Z?cIC56wl33bBDAg zF_JQmzWuRwPko2b>}>5E+ag|{_w@zX`DJX%rKJu#p~u_Oa;0{EJZCWi=qj3L-4rCe zpf$E3v9Gc>IS(1nLZ0znQdfTlPW+PXH7F%MsZ)S*gH`6(SWMEsYiv^gl}bs;ph_-{ zO9qxn=r%Kcq`Hyd|L#lAD2Z#aM&Mm)1URV2?aCO-D9W?sK5&m)ggU1H@=`hTmtvmb ze#)`oKh3BJ4e4{FUIjp^R%Z8h;S;KJ%A^KBtGAv+)z<6{V5~j$qxyf`**k<)GN+9$ zoW|pu>qA#o+@xj))FN46xjZnnBodQ^Z$0;@$nJ9F?8qW{WX?B*Po>w~iMR($c8waD z!>v!_s2$Zip3;Y^t9tX$gPEmd6UsPJa?pr#wI?;>(yy$B^MKJ-Z=K zZAP>{b2!A3?y8Yw8~cAc?Ky;Gikapf9hHUCQ=)W~l(%jJ(U|X?Hk>QD3h+BwJ4zAJ zkBZ3s9Z}z@yeq6P1qyTC<^}WqUb8c!CrS=HX?2p`O1D%w5lu(-h7x+o%tyg2v4^up zz_kMY+>#dxo|J&Dq>co9_P~XnZDtOMTm`um9V<|*4c;zN$N9A`Fk#o`aC5r|1Yy6QSr-~9(X-^1Wfd1 zD--N{OLnTUNqB#g3*8b9z%OlNU#8}uvT$<@2r6=} z*gUzfN1@e>cq-JR`<-PAjJZ8;|pqd3VP@WP2mOXR6!Blw( z@|OyH+^*c$tdG5QfBe_#IM?qP{MUU`TpQ$7?ww1;kGy}YAj97(F~xUqhQDa?DUn#0 zw;1HgJ*yVIxy7KlySGIloqEkgT%jtD9KklNiF@KXc3;=aBz8$7?(bZJzO{QlOx>*F zjG9QSAiahpg1-43L|N_m`AEskTA99srZ>@n>{dR_+EwaM-RAToVb1WKx|ON6_ciSw zflya@{+@r4Ti$apn55G$hJKrV-6J@Rpl&h1R)C~BStM^niM2x>;B<+v60(w5S2y2> zk2-6>BJkQ3qAD#w1&RqOt407(0-Vs2N#(DS;Bn?sObOzkEB7c>%*d;al1{22rex3w zl_maBc@3r`+hCAPd27Y0yn^#&x=xv_tgM7&P9+V7RAnJWiF)eI)$w_kXi zL3rP4Fx1%S{*C4acY#C6voK30>U-yBr8D;qiDQ=|fD+9Y5V`S)sZ|?^8n5(+069ox z$zO^X`^p%<|DHFmv<=JVcIgq!;B>irRqR<3lQqiqV7JfTb1J2fdk3sW8ez4OzkOvS zWl(6omeEn7sxv4)8ys=#2OAEE)VMybiPrsLEk}ZG{ZcvKLXIT?LEqD-s+KDf z^1Q`V-dxl7^nq#t-N^5_`BGEGd3?tZo^5}44KoJzQShWI8K`0N#Vw|*v>CZ#UKW%0^|-MX;#~jOxt!ar}C#6!Cd1qQ}ccU;$8dA8um}0AJFG7=k!<= z+sJu4Hi}JZ8)^oLMb?^*y!U>8BqVm#2w{}lk!X{VRMt@|5^Ny(nw_{a(#H6lSo41# zdGiU^JoM$u`L8(myIhD)qldjTS9&T!UDvE2v;$ zl5Yo65#AQS+goXowqw9(xI-`?*V^M;hSp-{B`Zo*;;oNJ&*xBUye;&W=;MOEKING zmaA|V2+W+6;ktz(tx=PRTeXC1xn9~C9hM66*=Bkxdy*2=y6KCaA2Tz!+YFZ8x_6vJ z9>5+o&s^Goc9h_Eoh%;W_tmQ)hh2^7`aMtF)9E9IC$tE;d))@|RZwkncr+50FnGXfa^#4DQ3Cy42JxUT!f6u%SRmH z-E6ZX%kL40V7A+8i8n1GxrUHg|{Z#Sf8{p1UTFjxeDMR zbI;oZ37P&KJnZn~IXmDc()E9HY&#@Zp1H|O`^?!PSu*ENbu-C9d48ZE@ix>5a2~e5 zO1||d(3EZ9AX6ijzAc|9Z&(dD6stGp?kgkgvy7ByYSDa1kIs>vQ3`%}f8f$Y&T<6b z_k8gpnXpy3OnW;C@(E6QX^ngU&#;%t4t|>XB&+3Jv;2}j&RJQTxdpY=GD@r zjWMsIE<*ku)PY&;*3A#yl(}Pw1ZW7ka*7Gv)5kRQJ1G*&0!&Dq-!2U+0tGhfqw4qsF<4A$yuSLJu?MK z;KjC@(S4J~pSSYiw#<0e>f-~=zri_Q)1YCA6!hP zL?-Z>4wp>zCW)ovKl3$iikwjhJiHp&n`&HX{|vBjXHbxgH0kIK9++RbbTQf+v{ucV z80iy7MfT=7%ag^M2q#o$js$H&e@9uiFKuwSrG8+oWopzLyvWq(Ge^IdUXgPk7Tb2C zhY3Wb_UIt;d?kNp&%y>|qSn0KrLAUEQHIUb+U>&o25XnSZ4%t;-ht|r9h>`LSi!wR zgf#)2>O0CzD0ZF_h`#g%K*+!z=e&uIEs1v#H-tav?+6uV*5AUn0s>xRQyH~0b`~+P zcSbm9!^-01yg|lwy+e00cDg(zfFm7~K-nWN^sG_KR%w5P>Ajh)NN53hzm4id`JSqB^u<#m0QCj)vk2~PneQy^ zL&jN-fD5qMnqdNeIB)Y#w5b~@t01QA!kp1rd?OK23$wa8Bp2bQ=8Ri#GAn3T>w`G( z%Dn1@Ykx~0ityZ1R%G?23?YuOl<<9Bd45d7tM~Ol2d4hE2oHADSDpwWj#rLA<-p8= z5{+gZ=4oU&H+PdHA2I1Xb0o+sY6LQN0FzU);%LwHp`ty1GoyD|@$aMt=~SuMmg}=A zv(O_LRdF)Dy-8n{3?$|PSObrem zo;`b8xf65LI~}QSOSr))JqybY$()|k<>2#3OctCW(0FO8%P~@8uNt*SbM3btG`%_S zmg9nR$lK+Aq@iRU|AHW+bMi?hOp8z-J1~12j9_`{frxFzXk+JylGeU{MZ4zr*dsIbG zP~AF>D>Fh3;T*N)&O8aH^e)&|ZPdz?C)X0{L7mfo0kr6wLYxiApxfBJ>EBuD*Qk$c z1P`TE)_P^YHYnaXY9P_=owFk$v8#v3^c|(Bas;4XJ);kLL*{|4@NYJD_2$v+Q?F*y zry01{;mk`fHGCP+QO-51QCdum;Abs*P00iz-x5y9%;oWx(Hyc3qE(k-eFrYBwOiP9 zg-vpQk52Ns6HSNSk};EW%{Ud9&k?X?^40YFWdU~^Zo{L;c75^C@_or;$=hX+ou}Qn zV(AqmtWgilXYVRGKAaob1}RLwnydPaOTNLh#4q0C)c}^vjV1Y_^R1w9AW=0okhRW@ zRml{!e6HzdMGBBJDp~=wmft~{lT1S^e7=BxNwzs&@)%3v=O}8M64;ewq~!8ed?ruh zyejsTr$jkSMFsOa7gT>)EMRFO`FR?LlPjY9lp;p@r-OEfp;&o7McYz29TIiu(#WH#3bkX=ZB z)JqB7B|RnU&m0Z0dGlt#}%TMXiA=sBcsdc zxSmVKK1g28X|e8bziCykGWWsj>nmZ$N+&5%*-RTy1zQjI_^ z4?4G$P&QgmJh*Pt%2|Qd(Q0IGhj>r~Vk25`UvH-Be=j>b}Lm97E92Tr4_YQK)EpruDF^M(vs#nmN zEo)TCkx&7zZa%q0BTqYiDaord$VaAcSM%P0E!$(ptY^y9jBcU`;M6&S<1KA}DJAk! zbKV42pR&}djpssfua;nm&k?xdn<>Qw`vMxs-c%Auq~9irAo`wdI0qBWfP{QPz?N;) zY6vyhS>%(A~XEy@SretN>nC)G*5{dgz&vNqu8r(U)BheZ-k0!2|Aq|H6DRx zjzyA)0-;ARD#~_m3v76g0Jm0u-q+)X#|>Abe!gyM5Vb@J)ZA5Elak`I%`C;S+i-UF zFBN3!Q@J9u44KIVK-&nN_$No?9XpxA|ntD-BRwV-PTF$iXehJK2M3~ue1I( zv+Ddd?uFR1$brKp9wDuJ{%7|ql}gkrmXqlCA|`^$G!6HkoH z1`)Mo{@ixCulrViR=807y=F(*=V!0Ng`6SvQA`RqOq$Ufi4vpFl*op7eUYH^sa4o- zD+q0W2iI%P8_P`6Y@NB?gLS3`N%BDhk)u9o^4S~1sM+;pK=IYrIpubN?Wt8@Eqtk* zKH{n#;Tju07CK5xfa&Ti(7IV#bsAM}N1~N;{h+(#EhbWb{qDLiuHGlAhZ-B6V)Wc8 zfhbAMZhy$5OdXa))kaQOpLV0MyF)DH9st{ux#VH-=yH)xxccvb!0TP zWNOS0ZgBp8gZ|D5v)$jhaE|0TMd-bqIins0>7O+=7@g*w+$W%xe1rE<4Km+gc?eE$ zk6`1K$}^`%hyYNI%}bkErm9KEJk0MPdibREp$*!v9D!_=#;xz@3#Gr**iiSWT%Hou zmXfJUeJTm@`Ae~yFKPcEjulDIQ?GI%NO_Kct(P%>@%;^BkenmdK$s`@8)hJpnfeZY zrl3Sh7{bXBWxun7bH{%M7e}s-dMtbD)qL#SY$;SI)t)jfxW48{cW`dMDb<796zVHx$^Pua$qc~8QB zfsrdma)yf~uRsSJVNl z8}@+dhue#>k-Q%Hdq_}|)|oqQt4K<%4+*b(tu{70q;WN)2im0V>Nb#483)9Y4-Zu5 z2L{ou%J0bWd8dB|w)WN9#-R#3^|t1J?GB@#w;0Z06!vxI4mf7c`s__yGox^aTplHR zs?7t`BQf>RA;2EFa(qRN{5?D+oVWEIoY`M~DZ&Dnfo_AwxwNzc9q}zul_W~VbZ_vh z=>e2w^n%^U5zOyBJ+#M@rI&dHB(kS-wQ)dnOjy1 zm&wc66=4)9dC9}g-e_EjraM0Ls=h}*`?FbgRA)zjop&!np{~q*h>~^;nKJl%WOVG9 z@mFQuI|(bjbP5P-faP4dk^G-%$76;~Pn;bRWm$6hO9eQ(Ucn)mwebgk2Ut%>6^Eo_ zQ^&GOJ= zmVQ3u1JGYN*SmbT-q$;SYWcJQ57m)i{c3hdloCh@eD9I7g9i|Lvf2P&gUWu9bcX+N zECacbZAK;0{?4jqQ0@a95Tftd+W>>^Em531XXj9vJF!KFC~5n=54L7k;w6Eq&$GZG zq-b1?4dT-^mJ-*0pJ3Tu5`?qOg$gR?no99Zi~msUW6g*f39`t4Jf|0mjy_o;o@?TJ z52kL{;W%&<;ufjjb8T<|IdAv|*JOSiYT0-Gbi%hMh+RXAQT$==iqlvokCm}J$Sv_r=WA! zDJDVfp0fk}#$!}-;9U|iNy!uGRj&4jdnJ7V5EJ;XyUpM&%5y4U)OBN3Zs%Re9U|7I z2vLoCRyaL>UuPLH>gnbBr~}n#`*X%tnYzmfZ}~|q0eICHhM9ADz4m^yY~G_^4CUUR zeZz{Ib>smK=P8AvW@lkdB?l3&-0P8A08rR#?K?!OE$DB3N21=Do}Uw>1>1MFp>6bx zijK{R$-*x4REQ~ibAmH6bV7V~g(x@=xTl;qF)-kN#rh8NwazYNt*DQYCky!aNRN!l zJ2I+z1Q=>tciFi?(-(cp_L4bUqZaDg`$gv@mn@QPXx_^OVXJ`#loQV&k+FZBWmROvVgsIhSUMg0n zL_%*`yUIXKTi@50Uz(Ym=e47C@9)5&yzBPAhVGvjCXz1<3~V;u);cBQ2HErdA^FJ6 zj5)xbrM6eyqZiINRDjinvv<#ZJ@O~6%ptsglp6dpHf)1);wdh~j)JZ^0vcSNA8ll- z1=HAk(dtaFOX`&HKt6Gk)^}bQj5D); z0U;&adhSuh3YLs?DKLHO95o!LUfNu3)OgD5#hy#vR<9{gWq;>#^W|!z zcTPW+T$LQEF&OZ-;KX0}1HmXQ=5 z_b0SrwxPuK9j`Rdvu_H_<;ovqZ#bC~F>opGBGOcC6z@3t)tr@?>rs!S%)ZHg71so2 z%kSWV>bn<0a_RL!JB)xjdvop+zjLt;#qO%ju=G;rlbOqZkUL&tc~{@T<;_OV(;o6H<0GRlDj(2Cb6-nJ3}&x%BF-dRVR2*gxnH0I3xfav3p6>+$t;^iF>a&e@QrA zDvBTzLd3ItX(UpH%8NrX-OlnSl1R9&{YHZ6yT=CBqlQV%n|mTF5a~@!t@P_5!Nd{w zfsnI6VA)wD$Uu615CmquDQ&1Bbs9;$rgf8(aBY`n_p?NTNzH+O>b)85!yV5t*Jl9} z?^67|gKwS_GQR`qw^mN1Hmh>3@oJK6%HHQWebH3QZqx=hc*Sytq`6u~$?oPt{8=K$ zzUFPh;!?3GZB#)oL==fwTiL-RBXc-^>7)W{;e@o|8!XLxNR$E0n-B9d6`_95`}JPy zrIn=d>B?s$$O8+1!Adev@cDayxa^S{!3RY~?*rD<+A}JocohQTLm%!~!H_(z@}ZFM zXBHBZj^snJ_e zD{Zz>GaVW{fQL}rsn*eQE^NN|DV?~!Jdks)msCoA`XaC9pW|HoR5EzD7bFEyN9p!tzxKWJqMV6H-6pn)Q=kM*unEV!u68KYbTz5Y0rUwdQ;p|*@io!Pu7VSpt3(bz|vUy z=40ulpF$hNq-9Z(OcVHVjg38rVI?JCy!oOlx9dKr*NjBnl{&%v(0E(x1PgObpnfp| zp*Fc_VQW%f)d?Pguq=g&Gm!vv^t_Q|?E!6Y z)8)Q@20~=H=Gc^IOzb4aM;u;x8YRnM=_qXw)t}t|{?6qHr9`b;c`>zesLx&%o5HOO z_f#=G5)QM9UJl7C@oyw}4O8Q~^Wi|@<=9k6EMzGxl0@jLBS4}gTCpGv$;;H$cL1-j zo1|o7Z`Wz$`cik& z@@!+f$od$1^PX3p>yS|Ta*xV7Y#T#eExykFJ#t?P-Q+uiRVh~i-TPE{OMz<7Pvw0K z$>UMDL6SQyI(H&-|48jge4VSNUZy()o|>VxrXMl2ioU>-BjYV3%#a8b=MEWxyTUzx zX#;oLcZgEseCRc{89i+3%AgU?%slZOmCyPPQ8+f4inYOoSlBO;3kI;>xx1_-)XOz$ zW#-z(xGyvMx6+95^p6U{*&F*b?fUyNIJ9zyphurmTbHD#e0}Z%@gD|5jX;RfR!j+S zM0ys0$z|i^PFyEAhaB}fyOVOR2X63x(_=$Fklu*8 z>GkiCYxU)IKGd&Iuhbnr5u;qq+hK66!yXq_jhr_dKH20x(lOBQ z1Y;YuWA5HlmRzsGKrU89+IJ32&be|I%Pjr9ci=CqBQI$?A zrn|}!AQ|^{ooyw4*grXH{P9@>R&VO+W=w(vXkyAygTYsvR&OKkquvFQ;d0L2a48hJ zR&T>DsnbY;e4tiaja9Cndb3DgTiPYa=;_LJ8YS4=l~=A&quV{w#-JpB-moWS8?le# zES2O6HC|Z?a!3ZHY|fkeb<6kX!J1;8)d-Xlf+smIli?6t;56Z@nd zGKfvi;#f0+RsF`C9e1+ZBEN(4q;jP7HtL(@eW2QxN^Aip0xAxda%=%Pe}yy9^{3?X zNT$`njt&i!yLaB{6#08p3)uTLn=g@v?hQUYqdcAkoY{GYAPdMENPsJlJ-x4C8kee8 zqmAkmiK`(|{PV1NQ%*HG+V#dZD?}k;aDd$Ot#d&(ib@;UuRT{A))38gjZMk8tkS5r z<^Ab1x5^joeQks88LNIsf7dzEW_rLhX6-^WZnkLai5oXxF+FHQyH4cDgKJ|djHWh5 zmOieBNBihA=V#8ndw1nw)9(U{q)qPYK~J9E@IfQ6R~Efc(i^pKp5Q?p+b{ayb}Y2L z-cA%ixpzqB%5ZTR++EChQykQ%^m#u<+^qM(;Uca4Ip4uySqRA?e?hF6w+qUg!#%Wz#iKYDF^v( zU*H5&jsW2QvGsRwtF+Ao94;oEBk+6DZd9V4+WE*f2hQx;RZm8vR?+5(u;(gdsqBSS zidtDYsM|5W)CiPVf0!6<^&R1)t#HvY%lVNqW<&y*R zrCC0Dtto|%%6G5cC=QJr5oY>)nVsQ^&RdyN?AdqNoNL$Kr+<&-24<^K58U8Y z`}#Su*YcE*Sh_kTpoX;QTpyQMGP+8u^K7RN(p~U|6RlB0e~)He9;Oujw~RB1jSYs1 z>o_iVLGuF?)sp9y-u)*sU<;mYW?0?a@f#py`Yk>5-mIMK4Odx@npLo-X7}8O zcRzbW=P*~Uyh?-IlYPgt7uwJFgr++ZF^zP^o1Qntt^|1T;urzESZg&T`~)@EST)YX z**ziff3DV^R6Y|h&)y&j63g~PBTY-nHamBG?gM3By)@P4RIM|yQZmXw5b}Og%%R1MzL8C2 zZvu3QCkK1N)lw%*rWLM-mhgh+DUlY0_`hBmG^P_QoOm}UK`JL|I!_PKSw>mjHeYUP=K(e+bA8CSRC*96Jc5Xo=NSujI074qcX_f z!!nx^!-Ol1!z}lx=;4yq#|VLOcGlP=f7Ttv3#y(5GZS7da&=xX?> zy4XvEqxDgAEY#k-cNAY}y-HPXps3s->nSTTd&8)=B}#{L#ci3rZ6Eocxjq|q{XJKE zTW*c{c_H;scDPns9OIeUpD!_qe<`gTUIqEvIchP9Gf^PQDNS3S5_UN=3easJiy5q$9ur)SsGzLLgt>IS)FoUF}hve=92X)J{}K z^kG@!mok`WB6Swzw!=YQ*#@95{iE98`Ki|#?d4-m)HsP!Sf%gqA>mZY--CafucXE% z#WZ=)c|0&}r~gfvlz|JY-q;aPKPiE)O5YPIV9Bv{D^I|DituG`-oJaDdT~20jFj-L z_bC|(clUe&r;(4C+PXN(e;}Kvv5h?bv_e6s-fC-Qn~k3@_W}2c0`}QPJUBg?)36uP z(>Ut=s)$^@$>$ZmObOjPv6J#!-uKkWy>T~1kg_*U$n>C39-v#snI>DL{gxzvTsdk> zy`>EZ+@v~Et^$x94_J*FXhWs0lt@=e50hFbDreMfDdAf!tQ-NKe|PI4lV5{Cw?-iI zUw}C!ShF)9P+VwY8Dtw*Y@fz?a9U&=z;LE(^#(nY{9=x%VhZUkLPAcGy)Ckn($bqG zWj4l)#4*kDvkY?ZoKa=&8u6)=-L&_8fH>nw)VQKnG?Y9G91h;inzvP^ULxZ-9G-jT zRRhx@$jEtvgb~cofA5US!Z|xgJ+d;YCx+XlSc6D#@byjyR1=5 z2K1_@WW|iVr3AZJV%?|BZJ9Y;2y$O-g|etg@+|P6cV@#xLBbPKV{^sx8>VCeFUmPU zPL88C+o%vt|L5`jCJPmbQVMf&;F5 z!;q12XPmZ(e>m10!QoP>UG-MaBH7A}4X;PBrXmGZ9x&f}lHq)+5tuZ^QB#7&zkexb zMCXz!v`4$l-y^%D^V*yqYIL2SH;|CT%pBV$Zq||=hf19VP!qO9u7bp^CB1n#CtYLp z0*;fA^>$U-n4bK)HEOBG<|ieBIlVsKvORMz@m0UJe<|kx7{~Uh?~Hn(i53R`hBvAE z8ncR^Rasy%V?Bbo+QT28D3CYwj6gz-jT2w}#FR+?N$Z0ji_f>)Ae~ALpAs+lpZiU$ zkJ_0d*kOoru0eqwedZu&&-6i3$#Dba9575C?;IORdzkQY17PQVQ{qipX8oQ?NsWv| zit)H9e|l`o^D4$_X;v%mN?DX|9=q1OX`^1i{tl}kvHS1Aa-I1Y5@UyoU%zx@YgRp1 zz;qlL`JR$6k@NSsM2_^7yd8UVIynLkjEqRjR8bk|%r+)GK+z%9DU*tFg)O zpVKlzzhJ-R{kEt>o4$?r>TOK?o4AL3$s9Gwo|chpQTar<3hSjpVb1l&Gnd?(u<>|g zfAXCpnfsk;_4X9Sl-`KnyGeQe)cZNSxU zms;5F{dx3`$M6g~pS`Jtb>s_)^0C@OW!Sh3u!|A(jgI;h&kYN5!>xHe>8`^ z?s$Zqsxj7@qGPlOH9KwtOvT+s#3r>3$Cq7_y%Bh3>i67Va4oeDTh??oB#g#&(gY2ng3{lya?TUhM-CicsC;)O!%kdV?J}A+WkfC2R@-l^!n{PSh$_ z`{%TR>}{k_WTx!^dc(8TDq!!Gf0>h#lSP+n`aBT@=N^Tk`XpLd5cfzJI~ys=0J4p=-n$if3_t~NPJR7vK#?|&3oqlf5gDB8s!LnHo;P|Q;2i-LWNsMxEw`WvQ8*H=vol9at&Vd1(iP1#ff6hA0caDVTrGC%0 zeX^eGDBFa^vU^iQrbmt7b4ia32Qi>%{+``i(i#_u8pbv1T|QvO>*>62h}dicqnWtD zQS?hi*J`82PF7TMg*={D`s_Z)&ZpMJ4xEc=pQ_3*0h{LtVE4a_P4qwgi9p0EmhROX zLcQjP1;gapPAx!Ae+q*xdy{+FtBv6d0Ik}v%|rrQg3TvyitA}7=IhLAYYvsqg~=vk zhlo5seNJgEa%}28fW7vZ)d+^<%=?W*kg|3!-pc_8iaD48>bv#;uI8JtO}4>nmB<8$ zZR?XGU;;{Xt=@*WDy?euU`DNpY@_;5#;Rwpj~uORGyJ`!e^bmbbIq7Dvzg}fsba-e ze!IUz8_XA72JWrBU#N7rL+U;NoJW4vk`-Y=&dwkmNgJI_uRcbukL)=d+%<221l;Z= z89}Rj&CvWHSJ|@7sJ@dU;I_o1oNX*=q8a4(g9aSgW|cVmMe^BFBc265STorhpJD3C zGfNMex!TAee{>#GvZA=mv+V(vzLstHp85n!v7uU38~mEj{-tcDMy#o8{A@;k%pGVB z`a5olM4HRmbry0TKwu!osZozY2Fav`TKKLsLbmxJp3GA+0t|`8k@Lrz$^9nR%L85C zajs~^DS>{@*zW9^6HCc9h=$UCfUgHJcK%ZFBo}k_e`ZOWLw|Phw5LSj8Tku&CmMF+ zP-cVMQzs{RABpTC(Ou5+~cmMectyx1sobUt&gWvi$@o!`M6+v~Hb0@!D6GjVCt&azdy zf)}(j;)dLbTxp$=$asG@quvZ1C`?+vXGfaQch$~5?mJPnP8F7`H#84d>n;ako{TC= zlB37xTpzTj%&eOaOku6}!sfk_!+6H83_Dn(e`ZN^p3w}RxFim89tuj|E+^)(#Awc9 zIkeRr0nWwr?$4)6?8$5e{LELA+AX8xOrHa4dnx|;0;>CR_9|TCEaa$#g|07S!#viS zgR&-ViO&~rc;6I0@<{evFz-k25Ov!>d*Vkic%cue_Y{LMRDbP6EM}-Qvkm@J!LC@- ze+7e9S9e)N3f>tN0Zyk<+_N`K(y67vjHAcvHt6JXMi-U@Rj9r*K!}M7TZH7Vj3%k9 z0=1X(hNN)IcVVIXckG={3cjjd&Bfk*XQfIOn@sh37clYO)@0$Mqdl9o0SE+DW3H(@ z^^RUH@O+KkU+@q<)0ej3=%vcnDoBdifAeKR%=47Ro^8BkJ!)A-o`z~8QDV=y%&14k zeVc7AsIbz>DMC0)^E=S~3N2J`jxWa9l(=^?zXTTOb)@dU3|^^>@+=@7%!2xkdMsP! zd@r=Phy@f683c zu)MNvtnwv(X^uc?vGd54o5A_|%qfY+E~sBBGiXi!n?!X(R*Xh`IKCux*kA za))d(hg+xM7;GGuGDD)vxjty>n>PmjEMmnr8!f@NcVmWw@^mN*H7NRExv{)8F8HJGYe>*Jk%sdeewn3_m+UTlm*X~^rTWyI6W|i;&)+(&fZ&Tho zFzXLARWWLOQ!>@-7Lyh#+E+7*B+(^*W^c0B(hsZp_9!ZwZMN4t@nZN&6)AjVn;n~I z&M5xgXGR2|>~OT_sAUt~(yCrD`*u|ik|)nCTQ&ukYY8Rgf|ziZ-ObO5P)|Nq=X(p{~f@tajSYt91A^HLmpq z!J6o2uN=@%o*%VT0c>joFqKng?6CiImV4AT+#k6U*&g`u>N_;CuC%v~^q-7PkEzIn5}R`$2&e5m2M}Is#$|ZvMT2W&U@Fref3J;{lst{Y(#v?sDjbU? zqrM}Xs2Ral32)6TzX~UDlxJ`3uhiexSuL!z0ZC{MYxX9)z1NicYt9%L^G8|EoE;9H zy|n-+x2}J>j)+Z0;noGu!f1pmyaM?7^eZclL%GJQ)wym1iNn zt?Md-uumgKe`Fi3zQZ!&s!z!wEwuD&#^LLWj#fGh2(Uw3~0^k}NvKHMucwnN#=EBE!G3Sgpmh3Am$yy}s`2r$fz==|Ge*kuMrf&loiJjPO3_I6{`#@;7 z&YUXJQnBmJB6+v>iw*qhnzkF4H+sqVJ=;wIp!D5t*n|X>vJL*9yu~(%C_Kv5Mqsro z&U1&{Wdvp$jDD%1Z0aDw>0}!y{PZ4g_Z3@Ne+Nr^`jNK#A;wZWp5#llLHVM9h&gX^ zZyHOme|a+R&-{*fKzkOf+rT%~94KhJr;WZLs)vuLHbO>AqR%!p04cHAhKZipDrzo& z&b;3?kk`hO+tawza_>l^e5TE$>@tLHy(KDjDmU1@31j4qqz#Np&gjUz&y1=Kwifia zW=Dhr>taf<)=fR?OM+Og53aB;Cz#)~eQ64Ke+^K5jX*xeC(#+3ni_keKuEs$h{fP= zNS1y;LLKc9?33SGV`DXL$?~>|J5Zmp4U*oTH!b$`77Zn!y=)su`;{5~B%dRFT<%@o z@LV|{=Ob~q+vgIW%YC4Xfv{`+(ve${(f>`g!F!^gH%ER-9t`>G@5VW7s(LiDl`;>w ze}(ftAc6a-Q3J3}{mKmf-n7j&`lymQ*_(m|JqH}?b4L4sXRwgx9_1!zZ{C2_cphs6 z_{9JRQ!?B;dFnY-)s)CKgKzyy8@h7oi5rGmuB7Zu>5OEY+O~_*nRnHGQ=ud0n%;{Y zwZ22|WpJki6JYWQsS`73db5oh@#zoQe?~rfGD>W_%*V{s*wmG$6z6v~NSOXT@-@>J zu?R0)Je}M!MVBU$UtvA|!Lw5Vj*zShL zrnAa6daoq*no+Q)vtPi=6r`?9>*n*${icY(m3E0Y!F`$M2fvuX<=E7ldex0&f5X4} zMk2wCGevLev~UsET&w?p+NypJ-=vy?b(51kyDrauJ8Ym!Nc z>H0l5yb#`gkzDE7h6+&S=ap>+-_n|r;jyaq!HU2In7yfjuI5PfMslWKc}KK*q>oF? z>Pt2&#;sve=6BYqD-gj3;TiaLZd)lvUvX zLM2!Gsmf~V2dXo-c!B7Ty3E7jsuRG$12{|cMud} zsZGg)-Ik-4y&x8uZB+Ej+)H}hmxzEW()Y%o@BHK<8TB2kPV}0T0Mlixe|p5MTEpid z;C#wo>X0ggk>44Zxm-DPBoe-|%>_%4yGmFHhNs$$BEeaU1bzsnvD@IuN)!kb%Dq_| z!9lJS;v;JN7Bq#eY%t4?C*o!Ym)&yYpwb086? z&Al^UmLcCC%2PAh;4oACem({H(Rz-?>(9xk)?1?q

@az@T5Z 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 vgDi*;L9@hyniv0-~7) delta 155298 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�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%0A|QYUegk(c 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≤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

THxtjOE&?M2dIu=ZECWW$QtN`-QbQl>$ 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 z≫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 H2EhJ5oE=mS -- Gitee From d706e7ef23bd7dc87879be5756cd9b721ad65361 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 30 Dec 2024 09:55:00 +0800 Subject: [PATCH 65/66] update:configure file --- XEngine_Release/XEngine_Config/XEngine_VersionConfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json index ddf6ed5..282944b 100644 --- a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json +++ b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json @@ -1,6 +1,6 @@ { "XVer":[ - "3.8.0.1001 Build20241227", + "3.8.0.1001 Build20241230", "3.7.0.1001 Build20240927", "3.6.0.1001 Build20240705", "3.5.0.1001 Build20240510", -- Gitee From d29f77d2ce8acb29c32cccd8119d0b62ae0eba34 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 30 Dec 2024 13:30:42 +0800 Subject: [PATCH 66/66] Update:CHANGELOG --- CHANGELOG | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 1b2b52a..1768e83 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,15 @@ +XEngine_APIService V3.8.0.1001 + +增加:OCR图片文本支持 +增加:OCR识别开关 +更新:匹配XENGINE V9版本 +修改:更多的ci发布支持 + +added:get image text support +added:enable support for image text +update:match xengine v9.x +modify:more ci release supports +====================================================================================== XEngine_APIService V3.7.0.1001 增加:windows的coredump支持 -- Gitee