From 7cd7abd5068df516a3cab10f21a44e0b197f9458 Mon Sep 17 00:00:00 2001 From: terrencetang Date: Thu, 17 Aug 2023 17:47:32 +0800 Subject: [PATCH] add openal-soft Signed-off-by: terrencetang --- thirdparty/openal-soft/HPKBUILD | 91 +++++++++++ thirdparty/openal-soft/HPKCHECK | 144 ++++++++++++++++++ thirdparty/openal-soft/OAT.xml | 20 +++ thirdparty/openal-soft/README.OpenSource | 11 ++ thirdparty/openal-soft/README_zh.md | 11 ++ thirdparty/openal-soft/SHA512SUM | 1 + thirdparty/openal-soft/docs/hap_integrate.md | 135 ++++++++++++++++ .../docs/pic/openal-soft_install_dir01.png | Bin 0 -> 29691 bytes .../docs/pic/openal-soft_install_dir02.png | Bin 0 -> 20694 bytes .../docs/pic/openal-soft_test_01.png | Bin 0 -> 47918 bytes .../docs/pic/openal-soft_test_02.png | Bin 0 -> 3602 bytes .../docs/pic/openal-soft_test_03.png | Bin 0 -> 2506 bytes .../docs/pic/openal-soft_test_04.png | Bin 0 -> 3442 bytes .../docs/pic/openal-soft_test_05.png | Bin 0 -> 2999 bytes .../docs/pic/openal-soft_test_06.png | Bin 0 -> 4518 bytes .../docs/pic/openal-soft_test_07.png | Bin 0 -> 2381 bytes .../docs/pic/openal-soft_test_08.png | Bin 0 -> 2267 bytes .../docs/pic/openal-soft_test_09.png | Bin 0 -> 5312 bytes .../openal-soft/openal-soft_oh_pkg.patch | 16 ++ 19 files changed, 429 insertions(+) create mode 100644 thirdparty/openal-soft/HPKBUILD create mode 100644 thirdparty/openal-soft/HPKCHECK create mode 100644 thirdparty/openal-soft/OAT.xml create mode 100644 thirdparty/openal-soft/README.OpenSource create mode 100644 thirdparty/openal-soft/README_zh.md create mode 100644 thirdparty/openal-soft/SHA512SUM create mode 100644 thirdparty/openal-soft/docs/hap_integrate.md create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_install_dir01.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_install_dir02.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_01.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_02.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_03.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_04.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_05.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_06.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_07.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_08.png create mode 100644 thirdparty/openal-soft/docs/pic/openal-soft_test_09.png create mode 100644 thirdparty/openal-soft/openal-soft_oh_pkg.patch diff --git a/thirdparty/openal-soft/HPKBUILD b/thirdparty/openal-soft/HPKBUILD new file mode 100644 index 00000000..6d53b35f --- /dev/null +++ b/thirdparty/openal-soft/HPKBUILD @@ -0,0 +1,91 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Contributor: TangShaoteng +# Maintainer: TangShaoteng +pkgname=openal-soft +pkgver=1.23.1 +pkgrel=0 +pkgdesc="OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API." +url="https://openal-soft.org" +archs=("armeabi-v7a" "arm64-v8a") +license=("LGPLv2") +depends=("pulseaudio" "libsndfile") +makedepends=() + +source="https://github.com/kcat/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true +patchflag=true + +builddir=${pkgname}-${pkgver} +packagename=$builddir.tar.gz + +prepare() { + if $patchflag + then + cd $builddir + # 添加控制动态库的符号可见性开关 + patch -p1 < `pwd`/../openal-soft_oh_pkg.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DOHOS_ARCH=$ARCH -DSNDFILE_FOUND=TRUE -DALSOFT_INSTALL_EXAMPLES=ON \ + -DALSOFT_REQUIRE_PULSEAUDIO=ON -DVISIBILITY_PRESET_HIDDEN=OFF -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1 + make VERBOSE=1 -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + cd $OLDPWD +} + +check() { + if [ $ARCH == "armeabi-v7a" ] + then + cp ${OHOS_SDK}/native/llvm/lib/arm-linux-ohos/libc++_shared.so $LYCIUM_ROOT/usr/$pkgname/$ARCH/lib/ + elif [ $ARCH == "arm64-v8a" ] + then + cp ${OHOS_SDK}/native/llvm/lib/aarch64-linux-ohos/libc++_shared.so $LYCIUM_ROOT/usr/$pkgname/$ARCH/lib/ + else + echo "${ARCH} not support" + return -1 + fi + echo "The test must be on an OpenHarmony device!" + # real test cmd + # ./openal-info + # ./alrecord -c 2 -b 16 -r 44100 -t 5 -o record.wav + # ./alplay record.wav + # ./altonegen + # ./alstream /system/etc/graphic/bootsound.wav + # ./alhrtf /system/etc/graphic/bootsound.wav + # ./allatency /system/etc/graphic/bootsound.wav + # ./alreverb /system/etc/graphic/bootsound.wav + # ./almultireverb /system/etc/graphic/bootsound.wav +} + +# 清理环境 +cleanbuild() { + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} + diff --git a/thirdparty/openal-soft/HPKCHECK b/thirdparty/openal-soft/HPKCHECK new file mode 100644 index 00000000..c06f05f0 --- /dev/null +++ b/thirdparty/openal-soft/HPKCHECK @@ -0,0 +1,144 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Contributor: TangShaoteng +# Maintainer: TangShaoteng + +source HPKBUILD > /dev/null 2>&1 +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log +tmppath= + +checkprepare() { + # 添加pulseaudio库的lib/pulseaudio目录下的库路径到环境变量 + tmppath=$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=${LYCIUM_ROOT}/usr/pulseaudio/${ARCH}/lib/pulseaudio:$tmppath +} + +checkunprepare() { + # 恢复为测试前的环境变量 + export LD_LIBRARY_PATH=$tmppath + unset tmppath +} + +openharmonycheck() { + res=0 + cd ${LYCIUM_ROOT}/usr/openal-soft/$ARCH/bin + mkdir ${LYCIUM__MANUAL_CONFIRM_PATH}/${pkgname} + + # 测试项1:openal声卡详细信息 + ./openal-info > ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "openal-info test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项2:录音 + ./alrecord -c 2 -b 16 -r 44100 -t 5 -o record.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "alrecord test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + cp record.wav ${LYCIUM__MANUAL_CONFIRM_PATH}/${pkgname}/ + + # 测试项3:播放 + ./alplay record.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "alplay test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项4:音调发生器测试 + ./altonegen >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "altonegen test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项5:音频流示例 + ./alstream /system/etc/graphic/bootsound.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "alstream test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项6:HRTF示例 + ./alhrtf /system/etc/graphic/bootsound.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "alhrtf test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项7:源延迟示例 + ./allatency /system/etc/graphic/bootsound.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "allatency test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项8:混响示例 + ./alreverb /system/etc/graphic/bootsound.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "alreverb test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + # 测试项9:多区域混响示例 + ./almultireverb /system/etc/graphic/bootsound.wav >> ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ] + then + echo "almultireverb test failed" >> ${logfile} 2>&1 + cd $OLDPWD + checkunprepare + return res + fi + + cp ${logfile} ${LYCIUM__MANUAL_CONFIRM_PATH}/${pkgname}/ + + cd $OLDPWD + + checkunprepare + + return $res +} diff --git a/thirdparty/openal-soft/OAT.xml b/thirdparty/openal-soft/OAT.xml new file mode 100644 index 00000000..00f4c474 --- /dev/null +++ b/thirdparty/openal-soft/OAT.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/openal-soft/README.OpenSource b/thirdparty/openal-soft/README.OpenSource new file mode 100644 index 00000000..616e1105 --- /dev/null +++ b/thirdparty/openal-soft/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "openal-soft", + "License": "LGPLv2", + "License File": "https://github.com/kcat/openal-soft/blob/master/COPYING", + "Version Number": "1.23.1", + "Owner": "tangshaoteng@163.com", + "Upstream URL": "https://github.com/kcat/openal-soft/archive/refs/tags/1.23.1.tar.gz", + "Description": "OpenAL Soft is a software implementation of the OpenAL 3D audio API." + } +] diff --git a/thirdparty/openal-soft/README_zh.md b/thirdparty/openal-soft/README_zh.md new file mode 100644 index 00000000..be85de9b --- /dev/null +++ b/thirdparty/openal-soft/README_zh.md @@ -0,0 +1,11 @@ +# openal-soft三方库说明 +## 功能简介 +OpenAL Soft是OpenAL 3D音频API的软件实现。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 4.0.8.1 (API Version 10 Release) +- 三方库版本:1.23.1 +- 当前适配的功能:OpenAL Soft是OpenAL 3D音频API的软件实现。 + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/openal-soft/SHA512SUM b/thirdparty/openal-soft/SHA512SUM new file mode 100644 index 00000000..a36faa3e --- /dev/null +++ b/thirdparty/openal-soft/SHA512SUM @@ -0,0 +1 @@ +21f768484978e4321b733004988cb5ecf43d908e7e08f2d421a338633fcfb2ade722d035de73742470ff135ab538d6b9b56df14020976adb1d1e081dfb095c6b openal-soft-1.23.1.tar.gz diff --git a/thirdparty/openal-soft/docs/hap_integrate.md b/thirdparty/openal-soft/docs/hap_integrate.md new file mode 100644 index 00000000..38727866 --- /dev/null +++ b/thirdparty/openal-soft/docs/hap_integrate.md @@ -0,0 +1,135 @@ +# openal-soft集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 4.0.8.1 (API Version 10 Release)](https://gitee.com/link?target=http%3A%2F%2Fdownload.ci.openharmony.cn%2Fversion%2FMaster_Version%2FOpenHarmony_4.0.8.1%2F20230608_091058%2Fversion-Master_Version-OpenHarmony_4.0.8.1-20230608_091058-ohos-sdk-public.tar.gz) +- [DevEco Studio 3.1 Release](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2F81%2Fv3%2FtgRUB84wR72nTfE8Ir_xMw%2Fdevecostudio-windows-3.1.0.501.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230621T074329Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D22F6787DF6093ECB4D4E08F9379B114280E1F65DA710599E48EA38CB24F3DBF2) +- [准备三方库构建环境](../../../lycium/README.md#1编译环境准备) +- [准备三方库测试环境](../../../lycium/README.md#3ci环境准备) + +## 编译三方库 + +- 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +- 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/openal-soft #三方库openal-soft的目录结构如下 + ├── openal-soft_oh_pkg.patch #构建patch文件 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── HPKCHECK #自动化测试脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md #三方库说明文档 + ├── OAT.xml #开源扫描相关文件 + ``` + +- 在tpc_c_cplusplus/lycium目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) + + ```shell + cd tpc_c_cplusplus/lycium + ./build.sh openal-soft + ``` + +- 三方库头文件及生成的库 + + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库和头文件 + + ```shell + openal-soft/arm64-v8a openal-soft/armeabi-v7a + libsndfile/arm64-v8a libsndfile/armeabi-v7a + pulseaudio/arm64-v8a pulseaudio/armeabi-v7a + ``` +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 拷贝动态库到`\\entry\libs\${OHOS_ARCH}\`目录: + 动态库需要在`\\entry\libs\${OHOS_ARCH}\`目录,才能集成到hap包中,所以需要将对应的so文件拷贝到对应CPU架构的目录 +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + +  ![thirdparty_install_dir01](pic/openal-soft_install_dir01.png) + +  ![thirdparty_install_dir02](pic/openal-soft_install_dir02.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ```shell + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libopenal.so.1) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/include/openal-soft/${OHOS_ARCH} + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/include/libsndfile/${OHOS_ARCH} + ) + ``` + +## 测试三方库 + +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) + + 进入到安装目录tpc_c_cplusplus/lycium/usr/openal-soft/${OHOS_ARCH}/bin,执行如下操作步骤: + +- 配置环境变量 + 执行如下命令: + + ```shell + export LD_LIBRARY_PATH=${LYCIUM_ROOT}/usr/openal-soft/${ARCH}/lib:${LYCIUM_ROOT}/usr/pulseaudio/${ARCH}/lib:${LYCIUM_ROOT}/usr/pulseaudio/${ARCH}/lib/pulseaudio:$LD_LIBRARY_PATH + ``` + > 注意:LYCIUM_ROOT代表lycium所在目录的绝对路径;ARCH代表构建架构,64位为arm64-v8a,32位为armeabi-v7a。 + +- 执行测试项: + + ```shell + ./openal-info + ``` +  ![openal-soft_test_01](pic/openal-soft_test_01.png) + ```shell + ./alrecord -c 2 -b 16 -r 44100 -t 5 -o record.wav + ``` +  ![openal-soft_test_02](pic/openal-soft_test_02.png) + ```shell + ./alplay record.wav + ``` +  ![openal-soft_test_03](pic/openal-soft_test_03.png) + ```shell + ./altonegen + ``` +  ![openal-soft_test_04](pic/openal-soft_test_04.png) + ```shell + ./alstream /system/etc/graphic/bootsound.wav + ``` +  ![openal-soft_test_05](pic/openal-soft_test_05.png) + ```shell + ./alhrtf /system/etc/graphic/bootsound.wav + ``` +  ![openal-soft_test_06](pic/openal-soft_test_06.png) + ```shell + ./allatency /system/etc/graphic/bootsound.wav + ``` +  ![openal-soft_test_07](pic/openal-soft_test_07.png) + ```shell + ./alreverb /system/etc/graphic/bootsound.wav + ``` +  ![openal-soft_test_08](pic/openal-soft_test_08.png) + ```shell + ./almultireverb /system/etc/graphic/bootsound.wav + ``` +  ![openal-soft_test_09](pic/openal-soft_test_09.png) + +## 参考资料 + +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_install_dir01.png b/thirdparty/openal-soft/docs/pic/openal-soft_install_dir01.png new file mode 100644 index 0000000000000000000000000000000000000000..835390a70d75ef4abfd008e72637a8f7700afadf GIT binary patch literal 29691 zcmdSBcU+U_+cr*HM^(T&QD)r}BFdg!f(xw5UMZj;L_i1-Mo6rPR1qj5piCR>+;)*L_{*IL_ld&RqM^ z(p+w(;z}7A8M&iJemE^7^95Q)=5x`P%fMeQ#-AMl|N9Ji+Wb2ie6#Wp_+^Rbw-(>Z z$P~q|61px0zpuD>#2zUlBVPyod`9tmcveOR`RmaizO@Q*858*-m2EF~4$ZgmySu|_ zgkaZfnKM>x_l(-c27i1~scrbG#Au_&mXjwgj-KK_U)rD|7fxJh8S}$Y3k!lln67O3 zBbC`FT{rX9(JL^YMNL^W7bM!-2OS(aYu&GApM-WX`YrDT($ZsNr@JtHMX#DLF$1dz z*7P-b^`X8F8Gf7nT!lf{m+*=?QF69Hm;huZFyfCRUFTqV~QfSkmBh5Bu080UjP%+ zAHC@aNoZb&mI!0ZYO_Squ3JdWv7s%^8_=doqTv$(2=I{#BLxy_H#bc(Qr1Tnixm1= zC|JW7Jm0`KM$mto!N9lP9@$#f;N>LAHeEp$Q_1#ry5OY%WU~HAuBh_pTWd-@0qO4Y zq-Pnk@O#x(4H>d9HGta(hM+wKxal@{OAjZbodQEmLiCwTc z!ZWt|tyazKN%89@Ze5lzt$*6Ia)Nv%-i-H49D!9@4vV|y-bREy?^?p_z)5suC5?LN z>FF<&#jjtxTYw$mKCYP0){Ut|X}(=X^J^-#^*>!557w=x)BLD3%Um`?GG!}q>^qp9 zd!5Al-6b%!7dQSk!f5VArnuYBGs|-a^pqn(L>6kix6udg5z1})V(jp8#|?Mc*DS&I zuj!|<>&2`*C}9Gwvf(Q)?8)A`Z%%W2gNPtV{)PrcWPS zC*K;#jyG)@Z@lKtN@tMp;@9z#6t`Fp{_j5iaNlNww~FWq-vPJ~E6MwXHQXhh&cK?| z)!?>t)@{9D71a^OFTH6L8vJVAgx(EFW8_6vyHeuVfM9sd%L#s4q3&y!d|Sqr6Fs^O z54OB!fc0as)^JoP)sV3BTXeV@8x@cs~h{op`*#|0 zq-UMp-B$jy2Z}9`1%ZN4;hQm39dk$7CDur}y6#39ndax)GP*YK5L^q+ zN}bDuv7#63&FB`oKw=^co{azcIxtQdnO-AdYw|ew+2L}YTVmX*A6r&$ZZN`|HF?H~ z;Y3d~Gj}Y7TZy#A3=Q(dO z1a9R+SDv^*#7?)Fx*UVT(1ouT!VqFJ+SE`;PmNq|y4sW|3J%^6E)7*$gHEDzMm;Hh zsRe1XwJjma4Xjh0N~0c>^oE}E%9fUv8W*ZlS~}t-TEc;>>dh|31MISCYLBdB946T> ze3PY~MGI0M*(cJS+)Bb52#Haf-xW`ZnFe2JG{(71%$d7K z3N=M=2k<;2_LPxWy9o#4-MjvDvcOA(*hJp!?Te7R!d{O)HD0xM zAoRoxitoYAuR$f`9neF_rlT;oBnB{ingE4#Q1B;NSdUsGk}12%VzwAf<@?I)+g8#@@=*Bqfh&n}bf@4tZWdc|%o2FhjFv>g+Z_sUT6dR`t zc-41%V_M5YdMYsTR34VX-olspiMUFRv|Fx9t-CyQxHAUYDP)Gn{-&+x6)mho)W>10 zd>_n>qEN01t>bn<#vQuR_+#FY_yphhyinjN8<yS;@B|Vs;oQF-!=U{%K=Y|D zYNJ*VIo(;p#`%giR>nBi5r+@L7`NXJj4kDQ$}DPH*7r0?c;a{rJl(4qa!-{It$FgnQU}N;HEan+A;@Cf**oN3;y0<(IG06=4f;N3Ns#15jPw z0^D5N`Md@NL0)fKy=$mBVeHiNDb2>H-Za(R3PU^lAn}l(*r+u$wRc|+W#SpN`~~S- z$F=AtKTA({MP!?w29DN9dS;#7nP^CeuyJCK@|)%c=3bG!ns1z>WyL;<$QT(JEQMhjo{_p} zTQkm(@T4MqM8h4VA3f9M%rwak7wQ~4avq}+0B@X1MM%sJx~E{9pLw2nks+?Uoq1+V zXj@QraWt7~4AR4i3DSiAtA++vhgdz3*wHZkYKCCK9F<`D%R8{M{ykGcjV1X89Da|A ziOl@)>C3R|3A4R*(YbNeyA_a+80qQ53aR(EB>ARA*{-!35>F}IyYD8`%;C1X=Wo7L z66#Y!D^Ij7APx(0?hUgkYtR-$x;DI7o?nj#t6$f-Da89m48@Y%LipXUJb-zjq~H+K zRMlJ{mO8(Kd08R&dt*FG|Q=qP!dh=dbeSe@+^ zkNT0+{5B^XI!iLE$4o(+sSrwnjfceN*l9w;J5*fO88K5NRHoz4wTDt>FR#8ts(8|C z81M8Zr~h_0flNI{^XmC6ru7>KSwiUjdJ(ZVFMlOTPd66tAgdE+=!gs>wd)fMBn*MK zV{R`39oc?3#qWA@1kyTUTgOb(c>|r%nH&>r#HKr$7+) zREtuNbXL|i^xz%xazc$GchipIOM-I?e$U=Ku6K9V9VVk}Kfg6}fPv=b z{HCjv#yITMnR3O=k=xX;v*`9Z@@IaSNCmR~bteB7(@J}$-shRF<$!Qb*Rfrf_lw45sui|KCcNy$1j zAM0tLflu2^o4@mlurE9#*3YSpiuK2YX0+4p>6?~`FF4JImS#|DJx{Bhi7<{4)rVmf z#TJutGp#J$ju;Mht;7Of@gO8U%KWQbc;q1a4B7(xN3uVS0%Lc?wQZ^tA~V%?C5bLn zI=MH7n(-tm+JxWcWfe@LLCzcwEJ&p8nN!>^aLS&a(~(4+AO}CwoJ3f{%bXhXcyXMi zYBCY+BfT-HEw>t4_gC#~(MdNu&1<$hw6by;JdEKj!q=qWiKCDQjCpZ$*j0P^_xQ0V z$1LpzJ;|7E7p83@*H=mn zCHaMo$GSflp$$Gk8?#5+$r`VN+Ndyl0;Xq-w%$7H+a1R7gY3jOA58LbNvswr6KBev z3(Co(-ksC7t8n3UHk!;PQw!(x14T@mIZ_?@(KF9GbodP~eP%%Slpc>|Gh%~mC0OhG zVQ!Qn?1OvStEMEu+NRmwhB6mYOJqqJ0YwS}4W&mT2`l&8#4x|qChu`tJ`(1V_MA=3 zOs$zU3KW&S+*l~{G-exr3Gj~!zP=4p@$@&FL49^TO1%}PkL+Ak|IS6))0Oy+|yygzX#Iw zW{jYc8NFQ1p_(sGI`8VwWjjitN^Dglr2wWm)cr|QG?=V}y~oY?1;$O-@EVU6zk zCGZVN(5}4o0GAz<$TRmg1$oE&;J+lfjZW-V)+uXJeYRiiwbAspjAGG;3%9-jcONv! zT}j&8`@oc?n`J7wQ#mOL#d;l|Qw7IpL5TD_^G21m1S&LYX48{UZ(9w6W8yD`|*KhZs4}%ve0MV&HWRwU&>qy*@?0ASl-!*6(N%28I5&Ba(mf*yULi&aex4M zn+7Ve5iGZktE*3?`7}!5`yb)Kt;@1C?Y8>3gjAs0}GcReQaZ0?!br81QKAMU0yo zl(*X1%TuR*ySve{RcVLZM^g*pj8-jmZ>iPn{m^Q43DCUY^NLx9*0}d>Xdt0kFzU}CrAz4Ev*^Te+LqoGqgQY{bFT`70|?$H0+ zCkvU^N$?DAZ$+T?&`8&w4=93)j`N6%`()!Ou0|F7pBRdx(SRZVEXsO$4yeh%(*%~3 z)+l7?&M#Cb=SK#sF9xEO;~IdImY08xb0b`@I=CM;vk9DRBk(Yo!O5uw4{M2yJUXhv zSQ(xjn(ln%;C4=w(&x}4e}hm%x5WE0WTos+dIOK}ZB>R#yH9Ob|E ze0z3gG-@*b9KHumuA{v|GY*+~`U>=jyz=4OjUB*{=WA3*Hy93HZ<2nqYJeB{DcY9w zUT5WUY{v*ay4eLzl{X%H+!!d$8ocd8yO@B|_)O-K0^;K!FrnG3g>RiD+8rw^=z{yi z^t)#t=38JjPpt8}Lor6uPad5aDT_iS~&}CAI z)LHRhu$!#s+b(_>cB}Yw-U*`c9LNaN#{GDQ%U4J zdUef50Va=DGfNh6$hbM&NwG;)1k4mT$z4B}yk6X>Xqxkw1#D;jta>D;11{DOw!q)a z){psPec@*`Wk9EWb`^P3eBHBWNBeZuu&3xIVgmfC=^UKw z(y8W7=-L=7p-ML5B@|elUw`_uk#dPdOeV{d`ITYoU9ht;T$;psHwdwwWyv)PIX}-1 zVujt0++ojwSvCcw7TM0#OXlg@`Qq?3{_Ug*{s@=N5eJ8IE!e*o)wN(@Gt}=6UaK9P z1KSo@1l+~CWtPs&FqygM^dhLmi9J8n?7RVPeWPA4Z7Flg(rLWeiI>o9|6-uD-Y_ch z#~Y@z3h|q>4~_$3SFZr1)7@r0OyOkA8H&rT7^0Q0rR4^=MSXV#AkU6Ite>iqOKm}~d%l5A2%+NPmVH+r;7*T{xh2;ixJ1hB7j4Wx`vL9yB%z-{# zt|kS7#p!TgSzt3> zRZ}%(8p2T!eJ-{vgtQC;K88PU3LN;SFRErDGq`?CF)OEk6GR&ox_%n=RL~P`lHUg3 z!bS0YOi7GH-w;^YPtH>&e9SxyyGeevT9hL;(72KuB~05s|lRwT`Ye+ef>ScL4sctRzw3~Q#FcQPIA047X!ah$5#*((A%KR0vII- z@?4M{^EzV^Xbc5+4PQx}san*8-*^-@;|CXCLqN4PA7ArPdfFdTx_23c#o`v5-r@Ms z0R#GLo8W!e*;;0E7)mcG1+z7%JJ@Kyq(K8Lf7fiS--9BXdU~QMtWKRIc|A4JJlxXM z&z?CLAE;9XEaMH>ERF9#UOSIZT*eee%pG^kga2__cre-Pg$OY3eV*hyRg!wl$jqQ7 zShy7G{WGor5kf(-3hdOpfI>IygNvr(Qx*#k$GAb<;yQAHeh8PxO{DvIQow%aud1Pa zdx*ccjQN@x=U1%VxjI@({#}()fe;e4bXn~i)ih;J);|QW_*q z8b@+nmcwr?>jAmQ=siEu4B%%Qt++QvKVLj;t! zPO3^FaE%H5Qa5hu&UIN z{Hi)##S#D~s#}C9#QUxwUA#1d%ww_I;8ULhhx`dhyww{XhY9AFX)j-mQN;uZ#zyU+ zGGHy5dg}dIL9t_X4XtLelX%lnalsK~25r{?)%e<;pUOzsLN$2`>tf(VTxm58**=B-1k7zy9{^9Kl+>aQXuA{eT(xpX?T6AXuxJqB>B9;pCk}m6C6h#Uyy?=#(z`Kg?K{$IAi;l(b>h_ zefuK)R6_;?0~By1mM6JEpPVyrCHl66bA|Plo&(NLLUP9`bky^^6^F9cQF7ybZ2FQL zoRIJcQFme4c7C4!kT}G)umZUWPL12l;l>V{Qr`NX1VCofWzPD%w*r7-u^)KJtq;t2 z<{EA0TX8RssU_sA{+92CTUovL@$;vt%~|7VOV1YhVP@51t3Wlefo-jFXhnTFA#D4T zgE8bCG@An8SApC3mV3;404&NhkmipB$9>1LA8ketITsCXOKj}PO|WSq)Z&RSInv&} zjmSIrBz&6Lxoul<#36k)zMu=TqHX-lY-#Gr4SVCi(b4NfhAzL~;ZCoBT37AXy|?ys z(>EuqPu(`D-3-r-zxaTa?CfX&0<@h4*Vuf4CgfQ8l%&!}ZH+9|wwy8>a34HbMoiY9jaNS6bm=yqmDR*)WS_yx> zdN=8$JFG(TP$bXn_{mf`&fL|nP^r|nXO%gNb)ZT=)VO@ZRbZVVp1Ov98MkOZW}`XYzfSS@2jj#jnmD{ z7}4U(oADyDMX%E*D>f2-3yrldSFgkmk{+t_1K6pK+q%K&OIPkRdU&F_=O?~@=iG2* zA+OKhYtq2?I6GxRQ!e)exBa^vJx!@&ukxyKT3j9L+}gX|1mJcGUE%Cw6Q-sGl1MdO4sR1&>suP#rK9))_jV|7ErJ zg*6e0K10HT-#qy2)(X83yIwI6tG434Gf@)B&+63K^d6B~B0 zlPU*GslQD-ArWVxc&~B2m;Mv6GbWfosyGnL=EktsqLTv9L>FJ|t8*vL1gTn|P+vuw zOdUkMvTX~Ve^YMRaG*h+zIoz^eQ-44c9xT^)vDT~ z>DKg^%HZWZyW^3txTXw5QG?d};7A}D1EQ}wwAl$D)n149Omc^6odDRD0LyDU?6Nm* z^C%g9z8R{BPI9Li&53?1i4h|Y=l*cdnR~kffT~m|-F>Va_-lSQp6KYQtj8*djp|q@ z6&gUQhApq5eW5v%N3NvFk_7RMV<7l8nsa^1_s-non}Ei=ID5trJ;1C|imI;h?W_oe zDaXdwaR=W__d=|W?yw&-hjx<=Kp|`!SbA$`On>QA#CG6Dy#qV=VIG?N%(IlkJ_*oY z?y4>7LJ+|*54oY!+rxFs<7<-;gyVxeHJ_&aoU#DKRCM)BytU-I=&`Y4iL`tKd~ zgK8>_W2I`*eKqG@;YDOUYQ1*KQYMtm`G8A>gAJMbdBN8DGpcL2tU_Kp%9UNmYJC&L zNNzs4ZI1%FL=VdAgzp}0bSn`#52l#H>@q3BIJc6SkSFkQg!n?=Tac+L28AI>Qx)EH zTc__00EW~_TKHHOVzBY3QH0GE7wyttNY6?G!D{CW(LC;>!}hY-tk4kkQO*H!1upse zL{fasoM1PKg4gChaMiW!*k4L0zv`_7D!_vaJ~rkO5#&1B+^0a@!oO+gpPO!~MpH!( z=r?now^Q}i&`HC5Ykon+)j$pKp1sod08=SN5w6rM&x-1Xk>%)q%z`F3s0rMYPF3M- z$Z5%;$^nW$ITyjj6 zmGYtTa8szd=)|zAqvm1~tm@meZtPssfew6Zf~tr4*z1t>T<9>k*9y{5MSFVovw5N+ z+KXGSJ!AGPbmy9iQ6P1>yZXJ=?!kmM*5$53!p?;4QZECkA;jeUOA7{FeF8Fpj>z5- zV#Y4!`T&7O3^3$N(_aId`4=X13H)SL$*k`LGs=|8<+nu@L8kjHclw(f)x(@|?f-7N zsQwvi4y#UP051&L4DCdN%lfh$&bAtq|8w^n5Pb>BS?qK_B!^cUk6tF==ZzW?r&pVU zC%DuEg^NSur|XuhMd|ibso-70)eUvmqI1h2PPg;x%YKmq-@z13Le}G*!i{CGW?ku~ zW^L#n8QW)z;I$put2UHQ%3KO(n94)Usg_J5kry#BZo9$J^A7y56;Y%oyV`7(;JTOl;A-BZ1GnHqXy zFj=T`fgDk$gSF;b$6K3C;2lK14uk%GczqL;k+rO^XLmPkEjspyqZ4wzqC7ctyL>L? zQ8VtBW^3B7`KQL>A*`JC0~B?jHdsx!z;$+nQ#WJCQGWryaer^-16QqUg@f6N)5Luk zug1r7^%Gr~xnsw<7PNvvWs44KcORm`;l>khOU2)g6TSsYeE9{mO;BOJo?JE1*A_)g z*;AdE424D`wf8T{&M;wGY?qx-4LkyD^<5B8fw05VFo>x6D`x*Vq7!!YbcL7kIkj1y zA;O_rJ1EG0%@6y!!DSjXn_7dC_!Cut^#brLXIt;Go|#*u(2aeCiS|Q4Kpil7opO%4 zoTzLFMWwFL*OR6)BiRy)g1t;ILNAB z##~*k8nut+vO2PFm+LIgGm0N3c;4P6)VlfH+@P)UlqSDlJh|rg-EvO@#?kQkU;6C_ zZCww=+>e~gPVkz##U_?}gsHc8KL3yxzE3-|6dn*wAQBo4AgcsrkkWpI@KaUAx|=Y{ z!K8VOQFMq?YE|5VnO`PsG%um7Yy2@UsYCd;55Ki`k9nJR;W#@t z;npeuqKMm{yKT}|HP1Jv56`tbmss6ML(6uk#k}Y)0z{Bkr@HX-qz$wmeGtQIT_=R8 z6vXwBko)UoE;a7_H-D=5-sbR+qI6!3?V~t&RA(OI2>XG}VY@W}ci;`Jud14rKU$iV za&dL|4p|fa{!z@FPbWs;>m$zVJzkeng-B|!Ha2U$G;ClhS6h9mg0O?Hm{3|iI2Git z-lm^Od!IgOtU+ipFf zC6|5lindxtKD9|wn`p_4VU>s`lR|~BF8fvZYO~Kj#*E9u58ZXsvqrXl=^Q4fvTeVL zLS&J{K5J*k8&%$Pd&nGfcR-r}klKlfMn_c>=iA|TS`EF3B9IbzA3)qs647_a@pBLn zTBy1NP8~Cvd+;kAWeDkC} zp<&pNCQ<<20(ylyc8cMr7|A4QRH~{1Yumq!nK)YhP@M!VZYmNuK~wp0IW_e9o)BJe zdDvLVDB}oJZ;&CYT2+0X-+QV&U~KxpCd}GkQ>@J|gffCtLDNYV4t*avAGQ(gFOjnS zc`{B!Q+wPTX|uE^!lMkOyD`vXpa7|#d4T7&MS$|^@mK%s3OL{hKcdWvXZOvbWJ!bN z$MhcvLu)4^#Br?2IhMor2kaDZ9G6ViNk5`x9}OR!kxRY)64$V?MfY`bGe9O@KjqME z#yN`UwgXDL{B3V!{ca!RsnK55Sav}SQ39IA7=0bJSa2Ag3wfujdVaXJGoudHp}|i@ z;x0BWr5^++&0SgvMC_7UKY-{n<4Fhjy~TxsfihRYSY^o^?y{dzS5|DS>Ao`V5l_0< ztsvB?o!t?ypKj(};<5SGKt`q3?pd=K1R<5oJ;L6zbuGZ5-z=UHHlU*u|HxC#J%JVb zw2OC(&h0f%^!GvW0pNkz9R2*UQC2DZ%R}+cI_BEmri~%e!J$>jzDGIl0T6Xtb(%CE z0AqWH@|OuX3aLoy_fYuv_zG=Y#(R_YoiEcKQs#C3$JXD6dYLEtX}ydSkGmY=kDF>h z#2`$qrmPQ;ll=lv=L+JxINXK4+xnShm99{qN6SRME-jIk!bi=tx)08Pwlst`XM*!tJ9NasF3uKRD4LEvvy+ z(S-N*nxN5KC428>n{hugE1$72ZnvIZX46SdeiCaCVTdE1>p5z&#yaLB!H_}|Rv3&{6UY+e7=a=+&xvv9Y`VN#f z{{SBsSvgxbPGd%op?Vx|llSuFcO_UGTiy{1>3O14^Nm(@!c& zVOQ=@&W;GZrkZAQ*i5@^#x^{I4|@uVgEPX(zuaEm~m5Ya$VV?>@vKc`TBVL9SD3mDT71!P?y^5qk2IN=h~3@&1Wgy zn>V;8$KpB+49ZIi37t$=a1!OaKSKC$*cq-h&0(p7>|_6#LwC|=C#o;HS5*5jAkuO$ zpoSK-@Q!~q_X?NrP?c%JzsQ>-a3_6ba=|5GzX$w6t@kPCJB_b*uV|-2en?LlB>2iNW=P#hv#^dXVm9O?vD2~ zilabxVI2ZZH@1y0s8jknqCM03YI<`F)8; z+LS!go(AkQ=IeJb;#0y0cwpVpvrXeRJAQlYja|Qu(1p_4Obd>NHMCra-TrkW&r1+> zfOq>shG{J6HDKA45cetGN($c>I_yg_^UBfYTNXi2D<#rC;&vFk^F13twCzaz;H;wA zRZT=l4GVb;DU%*LX|bh@lMjJ_3(NkmBb0Cmp}G(F__zT+C;1uVZ4e|j)h!xrL_#6k(J+$X5PpF`k~@E zR-mP(FKGr;0-pmmiPt z72U4$vQl4WZCpNMHjq9Xkr$MKTm~0R@1hmH0rEuG_7V-C3clJ4VBJpW!yyA+hT=p6 z<>+cUr>g7#d80;&Uh1-E+nw^v*SBTuaV#-ChW++g%ULJ73aR?kWaF`$Pxn$iClnq$ zc~*ez=|zyi@jS^u5F;=*IuPm|$7gmRz5w+Rs9L4$)1L_@EP8JlwryH84~p6kFCXf} zl3%8WtAaEwqw^HIzgA;$lTa^A(||5p!J|(|P{&Bo zMLpHO(x5xUDiu?=i6VtP)ejir;;>8*M`Wmxy^h~|jUM)QoHtpE7Of;rcCs!81gvdH zx#$CuSUN~zcJGSk@~ItsjmDUYtHUD!ppk~gdTL!GHHr6sCSwOsl-wdH3Z((pG?yBL>{;UrJ=B*4wwEe_+5(Og34&76o7ro$yA`+=m)!CN5yY%JP(T;guD* z_MK(T{r-U2wPe`fm8iNsI}obw)6+DWjMJPF3U9|7uP=5CEuGr*2`g2iixxFl5Do7SL4^w;OmcQq!h4wBIVXy>W ze37B`qKio&iS>dj#&04E2AgSAIAX(ZyrLLNR_q4o2A?n7;8S!~e5vt=9~D-O80GdF zHW7n~9RV+d3=g`JJCY6BV4hp}9Y1Q!ELLumTzs|!9;W*!B)xD1sx=B#HxQL|3Tj8w3lf&tgqp;V59C<*X3T5XvobaKT?8^l&WD}a;DBa^71W14 zBSn=Y@=nCH3txb!mA{0k_#A30e5g;dLvtVb&0|0j_;Ne+oKWXup=b_;eCMq~P1$e3 zndmcrj2Z5Ol95O{7WB_r)g{c-a0I8jpS%j2**B593dBm8)0h2X>pMRwP@b$oBl7-p zKQH1MHd@2j!&h?n7-3JDBtMg_4VCv_gO$Fop5f%n1fvm0(5vq`Fh#e*{4nOF%q$b))hX zx5m6LR@W~YM{{Xxj$OihT~*k-Z``gqo<1=0gr@nXBJK;ByIIga{!2Ey+3>s3c0f-} z)I3}nlO#xUJ?&VjdK{7@^4cn`2g>KVaBkcG)%ybBdF9!`r{F8ZZxjtOMj`_ih^rs z>4vMyPb>*4Dr`osB(omUIZKWS}s7Y@P0g=xOUD=bIkUu&yxK=>}&6yDD4 zMl55BC5wsGkLiYgVm<*+-YEM0bzM1=n>nh4-C@#^!brU=y5|Ig}Tm zc`lP_3S!lV(n{ydoPI3SC#jEkClhg*wAXM102lcD_kR*v%$PF~Gn#MY&0~r-y8A(y zz;1G`zyVwbJ+AlPTI`qos>ih53WOE6P_AwMjam>;2Q}T*e`&L$|7^2URn_u8zc?U1 zTQDf_c*h>7o!k$qCw%lt3>+!w4@05C1i*^2K-Ddg=t< zWs_wo${AtJ4H5|rg~qvv#^9(cMP#)i23=FQmF%THlv2x4D!tQ~%?M zZI4BwM-7?t<^J%n^hpf|-l1PW^=j0SXBcuk(l1QNV3S8v^8h%Rie7lU51sjvRir`2 zUZbvi_)YZ31mn}K<*Ct4k7sig!-rYTv(_y7{v~jsvJ%DMB-gqEEzZ^V1GsEqj}~Jy zQZ!ptL3i?(Q$l;focr~CGYW_%)?Je_%!@uPMVxly-5c)1-x76?v8l85vvo&bTG0_d z-@0;~XevjTnax!TPh|zK&ILnj7_;`$DWorEFzJHUPGoX~*oS821ER6%2bW<~s|AzA zCKt%Oo?79gl0d69?_ny2XL>Dv*#G$yyUb=Rz7@VKV4;#*_H3b&yTduof_2-P5)N8< zjHr(uufvH%UJcDml=1lMNSL=OVk7D3A33a)rSKALaL*8%{3aD7M!>Kw6-b%4{&$FI2FcBLEt;rpn}Iw- z;~kp?xcq$94X=05CSzv({j~H`ytpL=H182%yMMiPE%DeSUTrx5^zQPqwSd!zw|t{4 zA!Pe_->AcUeI3^Z`#+$~2J^Q6G=Agt!1X`-j1% zw6pC@BK^H2|4)jeSr@eT}Ww;kts}W0Llv=-=)L za1yGbVO6|da~;A|*>Wa6o)e|!$GlSo_;y2{zQ3>|qve7aB+R+4$N=A9IEAG#3J>ta zr>3dyGI_q4Dl$80lF6wpP38gIT){i;xbtr^#9z&L+&$l&S3F~FWX)-u;PGRSc`udX zpTjpMHrVM0i;IJKzoy|MQdtiKDNC3aE(BqoX?hCir6uVnwE-msM0ytWe}r@U>OL&_ z@DNPP>#D8sjnp+XG3j~@m_aD>7EH35%hb)zh1&W$spuL2g z=SvH!$LqLZ&4%owzdFBCA@z%UDJ2oN;5+(>{>W|5d6$s+g+l%jh1h3Oeob zeP|C+l;Sngy!!^Q3#CLV4AREvKydH_bC6;VAw-1_@M*UkX&wOODBx9hVT*#LzvvO4 z&i#8>jwF2AA8eJ`&u*SoQDJ!JM@-b9SiK>^RTHC5xnP_xm7_F99lS*=36X0;{F9sNMk4tLAl`+lzIQ5D%q^ocJcWVxVlw;cm8YfL5I|Yl!~{#$Ek$Uh%gQ7 zH|oOu{pVHBP9y$saxdx-`nqcGG;<3|*9x08{2r@kz?c1@b?IP@Es!<*PQ7Wq8Bpcp)_I%taSd8cwfG6Xhe_+O z`y^`FAzJyHssI{eM*m4B!Z-FsC{#x7los}Xs#1tc;5o{0d=H#@2627 z$Ox?fQs|PB)qX14YN7dBYSq#aK47T-DoFevQgQzkJ>rvfAi>90@Af^;gw$Cwc0e=w zOMP$nO%;Wb!_ar0ED&dlw$)`4pfvaIs*_xTXN|(FbQWogRCdDDyH-&A0t_)GT`-le zi)^VSxncb?V-P@W3enaR)4U605OYKBEWm_CyOUZs18QtzvJJCe3-;df-eN;%p2N)X zE)Rsh;Ow?R#G4BSNQ2akapO@+1&HQ&+oJ?rX+*vDeL$?-97L-8i$-hCnK-Y{jwGB` zA+IC@K^4%XULryJtq}f5&m(;H*d{dBzEd{0u^v$;rkDPs;Yre- zH#5!~q0|AOJh1)$TOd8`3rU7R)3V`!GSDAyhONTa_g1b+% zrUU(8YZ3IFXx{*tJ|Jfn*HMw{bXR9N+^RodkQq&@70dH*mEMmwou1p2PL2;ijXFg7 zDF(C7Hn|C|BOaD&Llw>Zkp&+6Lw5!FCFzYNV-K53DOnB=jpOy^Wg$)Yd)p^)T*n}} zAqLd1e*bWbHajv$zx|xIauGp73G)Olaa_v2b^}e0*|9f*+^8xe10K0?MeQ5KH1v^EM zoP|gMq3`KoP+++IsWczXqi!?n>U(HhdmX7qQt&-N-O>QQ@n}Gi$D^m^A5tBo4JsfF zRKa+O#!V3C7s&t_F0v)~H8z=NL>kNs@EbMT<&l<1AV~njQUA(2Z3n#515~yf@S1^b zznof_?wDFrU;Khl>#_0Za-R9NwzqqzNdKlOhrFVs4{7154)~^kH}Y^KJS7NnPO7w} zvpC1}PO_e7oN0IUwEFKGRpCzBSPXk#b+%oBv+;O2w>T=h)O;tKwszLKbtKOR?k_jg zX+`@ISNmim@o4@7IvwKj!57YfCs}N&Lz;rf+fsf2>h%WJFVp88jiu^!|HSy3dH00( z=^_e#_pwyd>%4V;CY%>y;ja=O__<8sJBs#6_;hMN;3y~_J?-*-R_W0#sry93SNKt&z|Bp3ItoW9dNCC6BKs@oP9`VN7y-@Ylm z_RtM2#9_so+Cb%Us5X`I+}OlGi6%6%3izgP4j(&ko?w?yB6V_nbak0j} ztP~-A(%3&kn}e!~yOs;_d9f)cAj@$0rh9W!58*?bagx2Fadyryu8|#&NVuH|hXyr3 zrvXfo{=Jp)-_aso>UBK+@wn0gDar__DLs)g2ikj}29Vhy^{B;K@8C|X7V(7(LVIGA zxdB~DdFFjYdG6;hascP);1u321Q(oKlK|9D2c-m6D8N$}XEB|kc|oD5IeZlm+c5jK zKhC4Hp10NBpbj2#zFX)psYSoW9vKu=#)uOM$7hj#?MQD zJRb74MMg3bd3(k$G*j6J2`WH;BPF%|8SRr=xp&M@f(H8VChIj%Km+|AXrM<*0S_k3 zvq0KF|AO`^2t#+S?2qd?PcHTG(;~CL#>2i?h_dyD;gNk5S2m7Q+Z;{F0bfj@o&mIY z-k&8I4VMRCDZPj|+%5M()8n*Yn$Mgt>`94n-sZ?t0B>?1FTm>mWWN7Fi5T*10X6-F zo2*q=xX>7Q2Ojq*+O-I3vw;S{OB7@hZeWh#0>@=Vum2iwwDU;-w2A14v2(QnM zcb)~MMFt}3AQg0eezcfU_AD|G62(Li?GsSV!(Dbu#R(i!1xe|V7j{$reANQqmv z)QUFegKE8Ac_CZWRaz}y(@|xZa@8$mF2N9Rr{D_#q-f)x{NUTf-=F>2u4c|1bI;T9 z9TJ8GmegCzHnc5+hcf2p?jsGBx_f}a@IBM?_fq$NtVFCjvS9Ro(VBnx{GHZ(<2IZ= z@Q$QS0Zn@O4eZagQF25;`S%|Fx1u-Y>d{c!Jl03T^Q+d14(&j8UNIw;ooDr&J6?w` zH9P1xRNfyHD&L;!(`tzJbOxkJ<}PT*{=sb!!DV|_BtgyR&=1Y$IM96l2mLM`jIg&m zJkmP0ub>8X9a?s%w4DNS%LD#^`syr=7vOu-oHb=+eky*SDLz(Nf$o&g!-dH_smkgb z@_Qu}U`+q=6$5|aO+O4Oz2i+ko->v40s4@<|GJhJo6w4QK4ywzhXNbm8bLPu-kG5J zx}P@Glx74{FE zX;7pT!-w_lYe_)<Nw+V6mlvUF;4lWcDJL<|6&&=Worg0hg$~R6pB5#^Ub2$7KJ=#C2KSFyMj31bp({vz|*uh?>2WGO`c~ubQr3&EqvG-GbBevWmimG&ugLDN5E_(;I|CwGEl)Emk zw5{MNU>ImX0BNFpW;|C&rxFnlH=`c)MaI`E`Sr-#5~`Cklva?6LtSfZ8Aa)8vj@qR z@2Y}-!Tx>!Sq9baT<{k!g2wna;UE>8Gqq%-q_n$a-}u|u83cXCjAw`e?6l27*j`NG zZYr1J#BIN~J@o%nccx)YooN{M>Qr%xVqI`S#fsIs0Tl_di0RY{T10A*O_nGKltmDf zO#@LFU(&8^TQfPa0iAvq^6DZ8*_EbvMghzC@#;a1<#h zBbt?SvRw)ept}5)ppYvP=(f7n{T}|un(n>2bDU=6$t%LZ1Y*&IlB~0J z=0fMVMQ)0RooEj)|eK`}~PI`ce-zhlp3AAGZEcHoxUeJ(!@rzEY=R_g1->aa!hD%{^$z~R1r`b|7#?BbKapM>pNebcE zuJ#pCw^Nrh?fA!O4u*aj9s`4R7~DD&=aBkR+p`=lhg1~zOw>`sqSnf9a7l54nPw-4 z$L?Bpt+zcBg5=W6!-MH8^4+m6NMbdCB7cNQ_| zmWSMg`uI1ch%_Ue4kLW&2R2U*SGz9LY1pE< zUZDoQfHDWhyiz3|+AMTQ?<*v13^6>OP_+7joPK(R>fZ*}$-U2WXa?NVq@_M=T6TqM zTB2i4DJ-yW{(SrRPWU!-RCq%D;*PP;d{9gP8Ogo(gj@K_zt z7e3ywxxb9!#zWQFcqHjpCZm=-^_IFmc~eZImNGD=Y7R9ofpL=PY*^QVcMfCF8Ga$X zDt#^k-{C~11wzm^Sf^x!ztoqW!QKaxjHpgjg`A9{rKH(!=|6!yDgnD*7r`YWDhmZw+tV3Z=L_qk&KC zGD-i+R$%Bpe%AZ`sClohsgWYaf|L3cn=Nx=i{9W$zfQ<~k-pkXMeuvWgVN#DD_uU0 zSpZ}vBZ5`lJ!D|dSgkfya<9ImBpM8*LvH5jTy-_98vCk?DSZ1_G@{Y>CtQ zh4)G<8Y{^J8UNX)*{zrJ_o4>lGo?#V=CVHABAFB;roPCBf1Kvw7BzTBHXQq!$2(dg zFrVbEy9-&eZ6?xODQ`R?RBxXedLp^AU&;+nVs5c-gnLt7go2TA6938e#LpQX1}#zB~(KKn%cPOVm=h$7-T;)g_ToY7ToIaOn^ zxMhT-be~~zI;|p6WZY{c=2G@uCv_UazKrKuQXR6OF^Kpv@qm3ryshe;p`F7GcfBdB zJ!>%sUg(eX@wq-E%c0zjca_B9h+}E~(V3DQr$@-*nWrgU#9X6Kt2fnh zP`%~5^T9{tbJ&TAt94BSR>eVT^;a+*pPP|5@t|(hOd0zTp z+S3W{IFNc*JrsK^3jp|4jq!nXO$2KK<&DrHVk4qYi7Q&=Wr^qH+r(6D#jYsq<}hKB zf|&8N*RXY`up0;C_IG)3er6d{37qCxbX8xCs+53<3`u_|{8yF*NmU_|B@wG5cyvKO z8A!_10Uy{G0EQiI(cWmbfLTq@jKxU%XsXStn03HrE~`{v*nwb@=VzcNoWa=y5$Qyy zZ$Fg>bmXkHdnVDQ0CHw^Dc+(oGCBAFdV~-|OzyShEKI;+n0G6Cm zWX=?;VG0JCz6-uXqQhHrW{trGgAzFN+^az+44e@3A!v$4) zD%aYdhC{tH2N56Ir7n{w#_9G6>)D z&JQz1CioApLsX_ zG9lM-)2y@1kOnwjKZ+DMHRRmk)0Rk8(2L|pDqsL>%Na$nT}gnog;xkZ@O!DZioZTK zO(>TCa2LDEKly`ieEML7kIYpbZFxD#O1?K}Qc-AlFd2^he`4EPBF1jkD%Jq$@koQ`7dE7x0P?YtxPDiNtlTAB|y>W=| z4!AS^c*R3U<}ReCk8t~8x;Hnze-Or0Jr%MEd)(98>nh3b2a3MM6S7P06J0v}3P>)_L!+EV9-m;aA{sf-Qyh8_$ LeD(0l6OsQ0Yucvc literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_install_dir02.png b/thirdparty/openal-soft/docs/pic/openal-soft_install_dir02.png new file mode 100644 index 0000000000000000000000000000000000000000..54ee04c998d59ca78d370aa945fcaf730842ca1e GIT binary patch literal 20694 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 literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_01.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_01.png new file mode 100644 index 0000000000000000000000000000000000000000..cc336c034a91a983249b69764d90c1ae25941b49 GIT binary patch literal 47918 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 DAIEyT literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_03.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_03.png new file mode 100644 index 0000000000000000000000000000000000000000..5beb815049ce2f8460d7705e6c38a9d1a3b438a6 GIT binary patch literal 2506 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 literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_05.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_05.png new file mode 100644 index 0000000000000000000000000000000000000000..343e8405bee5995267440e6d3ae88c4640d93948 GIT binary patch literal 2999 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%0AHCG!tX}CjO3&2n)R9(@&J|+AtlElA*F=afD z81DMvXyn_6T@j3;vJ(=FT*A&l0>IH7&fxa@L?T2I4#glBqUQ!a?^nAi+MU`HyPBeM z{R+6?h;a)PWVDkMfkbs(D<5Cza2z046v$TrbOn)L`CHMftG4%%b`P7M3ex{7SItu$`@3?M e^T=UcdFFG$-#DfY6fz+Jcq`-Je#z_afAAl58EHuX literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_06.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_06.png new file mode 100644 index 0000000000000000000000000000000000000000..f968169f8181da09eca271861b580849fba197ea GIT binary patch literal 4518 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 literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_08.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_08.png new file mode 100644 index 0000000000000000000000000000000000000000..4605fa6750f94bfe2ac392d26a21ea909add6cb1 GIT binary patch literal 2267 zcmYk7e^iob7RMj6vZmFXX=}bccl3FIzG#J%XuK9xmeW@v+M50Ye5m9$` z&*^uZPFX7?Oj%|kycL0pB5uuQiz0an7&M{DL0o7q3+kLN!3InO=Mz2|)I zeLm;@x*s3@$=Xi<0O7lL;SK<>AQJI+ELn`$#U@uivV{~M!0!OkzNm5Ju#ooczHb3| z$XhmhcoA}5dU97@F#r)yKdz8&X5&!+mYm#;`!>4_atx79y>9(1J#+bXcTCObyA#(! z&ktX$_&aaig@Kqj+|AyFdL0if9!@G{qVK4!zlc z6m)1!*b)F9Tnt?Zz(Fs!8c96%79f$=|Mt=E*}NTqYRU~%>~y-8E1dHe1V;noB2fi* zLE~(3^^25CXv=nmQ!5xCXH=o2b8hZi`&Qvh<7lOS^o!~v6+egkFqHuX`})e985OA9 z{NQN&OZ#AOcHGMv!{VKR&pW>EBF`>-8-BUcDTdCJ4*6_4o*1$`Zx?l&T?Ib%pj|j~ zhqkEiL+bX635$6Q>=PkZSKc5)&AcXbE_Sv0^r9F-XXlkt?A21ZbZGuE%zbxNxN>uk zFC%tp+1uWP%g0<-G9d0`;psl93M(=7{@>CXz}poYG?M)yf*>z>D?KwKwn!+WuD{4zI#y#{*9-dQA zFQ8jTPKW1@OTx|`BMV9cuNseIl-@)VY=Dvte3QLVv5xQlV5^Mt#9#PuY<_HjL}RC1 z@E)vn^%X`J;O$M8o)Q!#lR>F`MN0uEk`M zlhwqRy#}%T1{;$_>s-$tpSX)rr~~nFKA!W70**c2Ma?_G8YMUxmpb*qrt<5QHhCg! zG9%7Rwu5zA_13Xc%X@8TN;+B7G8chU+%uzXVymj+UmTJGzioiu?Hwbs<;~j;41LFD zxrk_rUA94kA;MCX+!_t*kk=_(w~*wzB~us$`evlo>!dh0-yxxyHWg|NB@CI&USryd zwaFdl3i<4$H{UP=OOZ5^bX6Ruu{l{A4VO~PGFAo)H~(B2z`2uqKJ2#F(ZvH*=l!W} zj!T_LmN0VlviP1HL)H+TiRoDv7Z4S|y-=XvP%o!K;jNml!p`=SwMSVTS7S^2nGwA* z@7iEIAGLFzJ&$>3KrN6=QS(Y16tVF-L7Ye;7m(_u9ZK!j61F?pZBs)3Z79?g=GyB_ z&FZU?Uf9s>A7c+5G0iova;zNb$}yj+9-Fww`6Xy2vI?69hey8K#4MH^=XnRp@A7K{ zO^pefjWF}9Emh1Cu#Lra{pRLvV!S(Z{+*td?8{OR0u!EmP8*d!xYx)hWnye1>X4w0 zy3uyuc9me<0y{lNS#XsVVkR@;^+aDeYq?5+Ne-1xajQ445KRZ7JpLh1)fur!tW*=W zeW-QKjfMdoDI&7fFunNSDd)IWdf616{Y(fZBcfsf=z0{xs(zs!d7pyq_)=5_gzvhe zV$0mmYNlsHCpTHb&c1I*KK?Wd$9!WJkz!KQit7BAjx}k_CRVf{IgGwmrP;C<1@(fAT zjc@~+*yArjd5)%{2eLfhI6PJ=m19lSbnsVtC~W!VL{P>zWW-JgZq>c_KDVlrhN4`( zZ!L%YSQ?DW>oy1RC+Nz{QbM{6>O3Xt7YF+*>!Jmw*X@d8Gj_e3>R??D>AL!Oc_dM0 z(tA{wmGcIgtuLLcm-X76+;wq2@~_&#=3-u-JKe}nZ_{SW6F{2waM%)_(N0ON?=Z&? zHVvpb^BCPGYR;>d+9UyIr@O$^VLsx)LTYU)XD5bFGZstQ42*^eh!|SEA=R-V(l#-p zQlwe*y6h2tx>1}<^?3)HW#m`&ZKaIS4sJ*9T1*`ll>KN>haR@97FP;T1u=9cRlLz> zWYrLw0?7E&srG(sjl>6Egd7$n`PB*s24*zSwG3*y3{2uARp(AoGYjYn+V>4@1f$$R zqWI*s_|f{x!K?SJvhteyjq2NIb5Rc5Tgg04-DA(;X%&$83g^*Ukhaf0zw93=J8zEv zSwya=1Jk=Tp+A>p-Rwwx(7ghyp7w*u74pgj2nl}rodLhMm=P&<{!8hNoZJBKwyx?EYK8~_YYwhfh zt}T4lenZMo`2VDzJK}hV@%J0j6nLXXObG&zojm{9h-R-I`K%vNssuT~+M)!eqZR|X zG#xa%5CELnyEQT=*|3Mc5+=)39!+Kd@0*y~DSL{b!M+ImG|Z}AZB1Dd&^{AOUTv*4 zJnp7O4}H(}V9-|@jnsjAZRbCH#cyddJjQbvC{Ue)OmQ5=GKCC#@bz2pmtHk016mG1 z>zTpdbAk;4z(Jk%n1fBKPAH)5AcZ@z*{G3yCY8Mg=cBk*hNp~Fj@qZOPv_1d; literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/docs/pic/openal-soft_test_09.png b/thirdparty/openal-soft/docs/pic/openal-soft_test_09.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b59e66a1f3756814dedd71ec8df5e1b22ecd0a GIT binary patch literal 5312 zcmdT|dsJFix<752>2xNKnPiL!c{pp*CR3lKhP+g0(^T6g(Y8kL0hme@6-T26Q9#L> z>6j);yqPrd(JJk-(I^O2q$&txu7ZiE)CUlaLN!4uDyRsE2;OZTUG1!Prd{i_<1J#{jg&Y zw{O=JxOtBF`l;6;sIla?D<7-}_b;4#D<&I)Hg&9hp6SZCbrypD5cT%)*H7o-XUF2Q z_O@(!vwzP81Ik-@*M4l%ovO+lU>=NhBzCQO&yU8go z(z%iC%U1CNCrxiI(YdYbA?aA$2G&hUmIH^GVHjMd^Ic-ye16%yQDgtYPFb8LHm84R z%GOJy>&-7*sC{rPqW}J?$r7(OYOMA4si8Ku0ZW!*#M1IX`z1r=(bW_)O%XKaaoga4 zAr)Sy!+j{+WlE9TTT%m~jK6FkjqE2EJ8}<$h zTFNPomsru`7|t8!$F)pUH==`Kv#cXQ-ekVh3S#^0>0KnH9nxJEOhjeyM3#_r9!J_q z;I{ng!nfZ_EyE*`${u6rcW+UeoxpU%vcoz3f~+=lehsBCE6>h>dsqbfih?T4AtHf% zH^!6DkULb*CUUDj7dNV{shrXbS?qjrO*}#5Ky$p0cw`H&G=flquU6`njr$ZSJ$mSm zM{ReBBxRW*HSB4y0t7|{!vqbQIi@=9t$@b<{3iEylFX;KBsfg$Vsp~JVAxm6-P)sa zDtN31rlCR`0|NL4@>jo4lKk3XG^6O?P+)s5vNXkS`R0I8*?Bl+ zXT7#cjPEU3{K^=X5a{ANnj}J$`go({y292y0sU_G4rG{ZFl3^D+<^7B2@Ux02UirN z_@0)m)MmM?h=Y5+l*_S7-D1qCt8o${4^%;7;n*%@vV>|1j z+2r{)E)Gk8mB4YN;O>Q({3r{zrM`_*Q_92Qomj1^d4VgDbeneMRr<4jiLGaD-;30Buyu+c+j9{8 zU||HHid~lXI%*539s7?QX7W%FgiKy~xD$oHw07;bhR|Dt z7F>(?h=R?}K!?X8Y-@vG=jj_Jp9N;0>%*gKZ!>KzBLhpOI!jr^pD( zlCM-~xHXx;NO<|MAyyQOrk0n$!SF|pya1Dg6lGJ5dUfog;}_9h4|PdJ4m!b^*q zgy{B`z63y;@o%u`@{BJUyJq{1l)PS9bbypSqff?96BG94*aPOv2FbQypK0=ZdGMzGv>c}bwn*y6v7^##xWwqgKQXgx4nUMCd z_^LBe2~$kKYpBj=p$iP$LHbdyTGkxaHiAxz%2@5UP)w((QRqOJCVDJz+Dm2B1STmn zt?+|QM0EAMIvYpATHrMk_=lIgzf(#9R%`gNOM9!+Z?x`G2IU#IxpN1Tu9So9sC?;SaQlF$h-N*=CD7?Y{np52UMmmvJaZnVTRGA6&o z)~dxzYSkhwEV9C^>bz&A@}MmH#mBDzt@(@>1RCbnb;Y`%f)0(R z6!g&cLyM1e>fHLr?bh*FnI!HY)(*{_w}?XRCQ(P6u`0XaW%E|h1(gLWVUv8r{(HMG z=Qt@Ui&@gqy@TsE(Li36iw}5Xy8Lf)FFJL3VPmw(T^Q#k^Ggtvi`u}tIF{F?6616t zh9A&AqHz=JC3G7Z?fIagqO1tvUvt20Y-$~VH4F+A%Gg;I|G^%(r)6(5@un99o#~w0 z&&s@&ve74fto~A4d0A|)z0Vtv)qOVcrqWt0Px{zB76RZBTT>X}SuzSepdt?PTZ%C3 zJWow@0E%!kV{t_l zUD9viwO^BWXOqlh!603`bRERqznl24&oWC($ivwg{3(b#9+hKWG-^&O8P8^`LXVboRp;o*lMRzJ;&nsxwOK^MR~l8x|59bD(bUWR7PEG(7c?(*5PPiZn3FhF zbrapp!54IxTTK?`I6Qn@)SQ`;wlc5JLwrEBp}mDDNAVk{NYRP~>sRl*M9rKt2ul`NON4`^c1%e^9@FSj{#`uyxdbu&>A zFUW$Uj?vJ|0A`^Z7z;ZtR;a(6Py+`1xkV-!tvPeRSd#B zd1#A2w-JcLP!cx(p)r)O_emxGF&;Qco%XHa8sCcnJrRIzQEFm}RrO0mQ<^;-61#X&>5pZ7s_Q{*z(N%ea%XlR(o9OY@KQX8#ZL z<_9|=M?)~S9fK=wNloxq zx0VgGvlSEXkeb6a{-|TlBpO@&v$RJsJmrUVC8vc>>Bhk7K1)npIzNAB<11VYA&@3| zDk_fSPXlQqrpm&YOCo+Rwa6s;;T^Clv; zmQ?E1ct1WldS;K(? z+RA(oIM#nB@`Oa)8LOF2{df{=5!kBsA`++6d_;xf*9x-&)*f@BP+2zJz%LWlhb20+ zF=D#1&Rrg&dcuK7`V9lH7KDAFI5+&1>9SUz@|;dD1}4P(_i@X5lh9z4aLr@VZNNnYlK+iE zAU4>H!;d@aKRE;yf51QuB?P{+Y68>``9*fr7KNo>$P~jq8NUBC@m_*~$l@xgkny=V z$O%R@V-M1A&>JoZxEj@;dsCR-dA!t{wcA5hO)fx$IkCf;gn|!koJGJx#oOHv12-WWK9Ds4fB`*b zgGSaLQJJunqhHYn@#xZqptus$)}6-!NCI9^)?ZrzPh|?K07J`j-gK znwMU#M>BqLN!HHTE}bnnx&t&AhVXq4F-cnT{aek}B9Mv;yLBwO@yom4texEjJ$4mO qSy5_vbfCBNaLsXCT(K%wAyIMU%4f$9y$$|=-hMOuIQQ6@zy1%ZW%Bj_ literal 0 HcmV?d00001 diff --git a/thirdparty/openal-soft/openal-soft_oh_pkg.patch b/thirdparty/openal-soft/openal-soft_oh_pkg.patch new file mode 100644 index 00000000..f5373751 --- /dev/null +++ b/thirdparty/openal-soft/openal-soft_oh_pkg.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b231a1e..8e3d6ca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,8 +30,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "iOS") + endif() + endif() + ++option(VISIBILITY_PRESET_HIDDEN "set the library visibility preset to hidden" ON) ++if(VISIBILITY_PRESET_HIDDEN) + set(CMAKE_C_VISIBILITY_PRESET hidden) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) ++endif() + + if(COMMAND CMAKE_POLICY) + cmake_policy(SET CMP0003 NEW) -- Gitee