From 439503661d150ce3c7fa55f2e7d5dfd57bd75d3f Mon Sep 17 00:00:00 2001 From: mago Date: Tue, 10 Mar 2026 14:50:57 +0800 Subject: [PATCH] 1 --- .gradle/8.11.1/checksums/checksums.lock | Bin 0 -> 17 bytes .gradle/8.11.1/checksums/md5-checksums.bin | Bin 0 -> 28147 bytes .gradle/8.11.1/checksums/sha1-checksums.bin | Bin 0 -> 74327 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/8.11.1/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/8.11.1/fileHashes/fileHashes.bin | Bin 0 -> 18597 bytes .gradle/8.11.1/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../8.11.1/fileHashes/resourceHashesCache.bin | Bin 0 -> 18531 bytes .gradle/8.11.1/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/config.properties | 2 + .gradle/vcs-1/gc.properties | 0 .idea/.gitignore | 3 + .idea/.name | 1 + .idea/AndroidProjectSystem.xml | 6 + .idea/caches/deviceStreaming.xml | 1490 +++++++++++++++++ .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 10 + .idea/gradle.xml | 20 + .idea/migrations.xml | 10 + .idea/misc.xml | 10 + .idea/runConfigurations.xml | 17 + android/CMakeLists.txt | 15 + android/Post-service.cmake | 1 + android/Pre-service.cmake | 1 + android/app/AndroidManifest.xml | 16 + android/app/build.gradle | 119 ++ android/app/proguard-rules.pro | 54 + .../app/src/com/cocos/game/AppActivity.java | 125 ++ android/build-cfg.json | 8 + android/build.gradle | 28 + android/instantapp/AndroidManifest.xml | 23 + android/instantapp/build.gradle | 106 ++ android/instantapp/proguard-rules.pro | 54 + .../src/com/cocos/game/InstantActivity.java | 125 ++ android/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6780 bytes android/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3964 bytes android/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 9915 bytes android/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 16236 bytes android/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 23478 bytes android/res/values/strings.xml | 2 + build.gradle | 18 + cfg.cmake | 27 + gradle.properties | 76 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++ gradlew.bat | 90 + libservice/AndroidManifest.xml | 3 + libservice/build.gradle | 35 + libservice/proguard-rules.pro | 21 + .../src/com/cocos/service/SDKWrapper.java | 185 ++ local.properties | 1 + res/values/strings.xml | 3 + settings.gradle | 10 + 56 files changed, 2893 insertions(+) create mode 100644 .gradle/8.11.1/checksums/checksums.lock create mode 100644 .gradle/8.11.1/checksums/md5-checksums.bin create mode 100644 .gradle/8.11.1/checksums/sha1-checksums.bin create mode 100644 .gradle/8.11.1/executionHistory/executionHistory.lock create mode 100644 .gradle/8.11.1/fileChanges/last-build.bin create mode 100644 .gradle/8.11.1/fileHashes/fileHashes.bin create mode 100644 .gradle/8.11.1/fileHashes/fileHashes.lock create mode 100644 .gradle/8.11.1/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/8.11.1/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/config.properties create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/caches/deviceStreaming.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 android/CMakeLists.txt create mode 100644 android/Post-service.cmake create mode 100644 android/Pre-service.cmake create mode 100644 android/app/AndroidManifest.xml create mode 100644 android/app/build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/com/cocos/game/AppActivity.java create mode 100644 android/build-cfg.json create mode 100644 android/build.gradle create mode 100644 android/instantapp/AndroidManifest.xml create mode 100644 android/instantapp/build.gradle create mode 100644 android/instantapp/proguard-rules.pro create mode 100644 android/instantapp/src/com/cocos/game/InstantActivity.java create mode 100644 android/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/res/values/strings.xml create mode 100644 build.gradle create mode 100644 cfg.cmake create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 libservice/AndroidManifest.xml create mode 100644 libservice/build.gradle create mode 100644 libservice/proguard-rules.pro create mode 100644 libservice/src/com/cocos/service/SDKWrapper.java create mode 100644 local.properties create mode 100644 res/values/strings.xml create mode 100644 settings.gradle diff --git a/.gradle/8.11.1/checksums/checksums.lock b/.gradle/8.11.1/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..5b2fb61caf02d071f0685799931dcb2341dde0f0 GIT binary patch literal 17 VcmZS9J9}31_@QZx3}C>_2LLn`1SS9g literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/checksums/md5-checksums.bin b/.gradle/8.11.1/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..7efdabe1a443f110394e4f32af9f5f009cd45efd GIT binary patch literal 28147 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 DJ{cgJ literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/checksums/sha1-checksums.bin b/.gradle/8.11.1/checksums/sha1-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..2bf4f7a11868ba5414849c30288f22112dd3c082 GIT binary patch literal 74327 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 P?px7aEUdQJch&y^v|W6} literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/executionHistory/executionHistory.lock b/.gradle/8.11.1/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..104dc3f7bb2c6864980e4f5719a80afd35f788de GIT binary patch literal 17 TcmZQh6rK6<_F|s|1}FdkGhYNI literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/fileChanges/last-build.bin b/.gradle/8.11.1/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/fileHashes/fileHashes.bin b/.gradle/8.11.1/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..606d764a7940238478c26e5229e323022afeaefa GIT binary patch literal 18597 zcmeI%JxT*X6ae7KHi8JoLbHX9f`uSK^aKGBQEY@Xf=DVm8-D`YS)>qAP_VJGkbqcv znYD;#2-sQZth-C_0v7TO%)G}N9y9Z`vlc>H|0+iqjp zsH#^n)?3A%l>h+(1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&U_)CG+c-Uf`bNQ_IRvx>v*ZaMv;mJ literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/fileHashes/resourceHashesCache.bin b/.gradle/8.11.1/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..19d5076211fee2bf2108e13b4ca15618a18bfc99 GIT binary patch literal 18531 zcmeI%K?*@p6adio4Gg4wiZC!SA&N3I5J@&*Eq3v<0!xw^d$0i$@$~&{K{~hYd$)Th z@1E&fhtN)+p9tS*eoGYr0t5&UAV7cs0RjXF5FkK+009C72oNCfF9N%`NF`sUJubbA z+CGG7H5SQe(&(SF%P}8sm&N}sr1ox~n7`oDQ+s FdjYkMC5He2 literal 0 HcmV?d00001 diff --git a/.gradle/8.11.1/gc.properties b/.gradle/8.11.1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000000000000000000000000000000000..dfc627e5da406e355618ab261ec85d3c49ec4a36 GIT binary patch literal 17 UcmZSXb^8Bqs + + + + \ No newline at end of file diff --git a/.idea/caches/deviceStreaming.xml b/.idea/caches/deviceStreaming.xml new file mode 100644 index 0000000..23267a6 --- /dev/null +++ b/.idea/caches/deviceStreaming.xml @@ -0,0 +1,1490 @@ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..3eaf5c6 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..fe9675f --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..74dd639 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt new file mode 100644 index 0000000..1bfd51c --- /dev/null +++ b/android/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) + +option(APP_NAME "Project Name" "magotest") +project(${APP_NAME} CXX) +set(CC_LIB_NAME cocos) +set(CC_PROJECT_DIR ${CMAKE_CURRENT_LIST_DIR}) +set(CC_PROJ_SOURCES) +set(CC_COMMON_SOURCES) +set(CC_ALL_SOURCES) + +include(${CMAKE_CURRENT_LIST_DIR}/../common/CMakeLists.txt) + +cc_android_before_target(${CC_LIB_NAME}) +add_library(${CC_LIB_NAME} SHARED ${CC_ALL_SOURCES}) +cc_android_after_target(${CC_LIB_NAME}) diff --git a/android/Post-service.cmake b/android/Post-service.cmake new file mode 100644 index 0000000..16fd033 --- /dev/null +++ b/android/Post-service.cmake @@ -0,0 +1 @@ +# Supported for Cocos Service! \ No newline at end of file diff --git a/android/Pre-service.cmake b/android/Pre-service.cmake new file mode 100644 index 0000000..16fd033 --- /dev/null +++ b/android/Pre-service.cmake @@ -0,0 +1 @@ +# Supported for Cocos Service! \ No newline at end of file diff --git a/android/app/AndroidManifest.xml b/android/app/AndroidManifest.xml new file mode 100644 index 0000000..d4f80c6 --- /dev/null +++ b/android/app/AndroidManifest.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..9f5e206 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,119 @@ +import org.apache.tools.ant.taskdefs.condition.Os + +apply plugin: 'com.android.application' + +RES_PATH = RES_PATH.replace("\\", "/") +COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/") + +buildDir = "${RES_PATH}/proj/build/${project.name ==~ /^[_a-zA-Z0-9-]+$/ ? project.name : 'CocosGame'}" +android { + compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger() + buildToolsVersion PROP_BUILD_TOOLS_VERSION + ndkVersion PROP_NDK_VERSION + namespace APPLICATION_ID + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + applicationId APPLICATION_ID + minSdkVersion PROP_MIN_SDK_VERSION + targetSdkVersion PROP_TARGET_SDK_VERSION + versionCode 1 + versionName "1.0" + + externalNativeBuild { + cmake { + targets "cocos" + arguments "-DRES_DIR=${RES_PATH}", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE" + } + ndk { abiFilters PROP_APP_ABI.split(':') } + } + } + + sourceSets.main { + java.srcDirs "../src", "src" + res.srcDirs "../res", 'res', "${RES_PATH}/proj/res" + jniLibs.srcDirs "../libs", 'libs' + manifest.srcFile "AndroidManifest.xml" + assets.srcDir "${RES_PATH}/data" + jniLibs { + // Vulkan validation layer + // srcDir "${android.ndkDirectory}/sources/third_party/vulkan/src/build-android/jniLibs" + } + } + + packagingOptions { + jniLibs { + useLegacyPackaging Boolean.parseBoolean(PROP_ENABLE_COMPRESS_SO) + } + } + + externalNativeBuild { + cmake { + version "3.22.1" + path "../CMakeLists.txt" + buildStagingDirectory "${RES_PATH}/proj/build" + } + } + + signingConfigs { + + release { + if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) { + storeFile file(RELEASE_STORE_FILE) + storePassword RELEASE_STORE_PASSWORD + keyAlias RELEASE_KEY_ALIAS + keyPassword RELEASE_KEY_PASSWORD + } + } + } + + buildTypes { + release { + debuggable false + jniDebuggable false + renderscriptDebuggable false + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + if (project.hasProperty("RELEASE_STORE_FILE")) { + signingConfig signingConfigs.release + } + + externalNativeBuild { + cmake { + // switch HIDE_SYMBOLS to OFF to skip compilation flag `-fvisibility=hidden` + arguments "-DHIDE_SYMBOLS=ON" + } + } + + if (!Boolean.parseBoolean(PROP_IS_DEBUG)) { + getIsDefault().set(true) + } + + } + + debug { + debuggable true + jniDebuggable true + renderscriptDebuggable true + // resValue "string", "app_name", "${PROP_APP_NAME}-dbg" + // applicationIdSuffix ".debug" + } + } +} + +dependencies { + implementation fileTree(dir: '../libs', include: ['*.jar','*.aar']) + implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) + implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar']) + implementation project(':libservice') + implementation project(':libcocos') + if (Boolean.parseBoolean(PROP_ENABLE_INPUTSDK)) { + implementation 'com.google.android.libraries.play.games:inputmapping:1.1.0-beta' + implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.10" + } +} diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..fc884b7 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,54 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in E:\developSoftware\Android\SDK/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Proguard Cocos2d-x-lite for release +-keep public class com.cocos.** { *; } +-dontwarn com.cocos.** + +# Proguard Apache HTTP for release +-keep class org.apache.http.** { *; } +-dontwarn org.apache.http.** + +# Proguard okhttp for release +-keep class okhttp3.** { *; } +-dontwarn okhttp3.** + +-keep class okio.** { *; } +-dontwarn okio.** + +# Proguard Android Webivew for release. you can comment if you are not using a webview +-keep public class android.net.http.SslError +-keep public class android.webkit.WebViewClient + +-keep public class com.google.** { *; } + +-dontwarn android.webkit.WebView +-dontwarn android.net.http.SslError +-dontwarn android.webkit.WebViewClient + +# This is generated automatically by the Android Gradle plugin. +-dontwarn android.hardware.BatteryState +-dontwarn android.hardware.lights.Light +-dontwarn android.hardware.lights.LightState$Builder +-dontwarn android.hardware.lights.LightState +-dontwarn android.hardware.lights.LightsManager$LightsSession +-dontwarn android.hardware.lights.LightsManager +-dontwarn android.hardware.lights.LightsRequest$Builder +-dontwarn android.hardware.lights.LightsRequest +-dontwarn android.net.ssl.SSLSockets +-dontwarn android.os.VibratorManager \ No newline at end of file diff --git a/android/app/src/com/cocos/game/AppActivity.java b/android/app/src/com/cocos/game/AppActivity.java new file mode 100644 index 0000000..5aaece8 --- /dev/null +++ b/android/app/src/com/cocos/game/AppActivity.java @@ -0,0 +1,125 @@ +/**************************************************************************** +Copyright (c) 2015-2016 Chukong Technologies Inc. +Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ +package com.cocos.game; + +import android.os.Bundle; +import android.content.Intent; +import android.content.res.Configuration; + +import com.cocos.service.SDKWrapper; +import com.cocos.lib.CocosActivity; + +public class AppActivity extends CocosActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // DO OTHER INITIALIZATION BELOW + SDKWrapper.shared().init(this); + + } + + @Override + protected void onResume() { + super.onResume(); + SDKWrapper.shared().onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + SDKWrapper.shared().onPause(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + // Workaround in https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508 + if (!isTaskRoot()) { + return; + } + SDKWrapper.shared().onDestroy(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + SDKWrapper.shared().onActivityResult(requestCode, resultCode, data); + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + SDKWrapper.shared().onNewIntent(intent); + } + + @Override + protected void onRestart() { + super.onRestart(); + SDKWrapper.shared().onRestart(); + } + + @Override + protected void onStop() { + super.onStop(); + SDKWrapper.shared().onStop(); + } + + @Override + public void onBackPressed() { + SDKWrapper.shared().onBackPressed(); + super.onBackPressed(); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + SDKWrapper.shared().onConfigurationChanged(newConfig); + super.onConfigurationChanged(newConfig); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + SDKWrapper.shared().onRestoreInstanceState(savedInstanceState); + super.onRestoreInstanceState(savedInstanceState); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + SDKWrapper.shared().onSaveInstanceState(outState); + super.onSaveInstanceState(outState); + } + + @Override + protected void onStart() { + SDKWrapper.shared().onStart(); + super.onStart(); + } + + @Override + public void onLowMemory() { + SDKWrapper.shared().onLowMemory(); + super.onLowMemory(); + } +} diff --git a/android/build-cfg.json b/android/build-cfg.json new file mode 100644 index 0000000..fb658e2 --- /dev/null +++ b/android/build-cfg.json @@ -0,0 +1,8 @@ +{ + "ndk_module_path" :[ + "${COCOS_ROOT}", + "${COCOS_ROOT}/cocos", + "${COCOS_ROOT}/external" + ], + "copy_resources": [] +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..183885e --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,28 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + // jcenter() // keeped as anchor, will be removed soon + } + dependencies { + classpath 'com.android.tools.build:gradle:8.10.1' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + mavenCentral() + // jcenter() // keeped as anchor, will be removed soon + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/instantapp/AndroidManifest.xml b/android/instantapp/AndroidManifest.xml new file mode 100644 index 0000000..774d132 --- /dev/null +++ b/android/instantapp/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/instantapp/build.gradle b/android/instantapp/build.gradle new file mode 100644 index 0000000..e7ed41e --- /dev/null +++ b/android/instantapp/build.gradle @@ -0,0 +1,106 @@ +import org.apache.tools.ant.taskdefs.condition.Os + +apply plugin: 'com.android.application' + +RES_PATH = RES_PATH.replace("\\", "/") +COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/") +buildDir = "${RES_PATH}/proj/build/instantapp" + +android { + compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger() + buildToolsVersion PROP_BUILD_TOOLS_VERSION + ndkVersion PROP_NDK_VERSION + namespace APPLICATION_ID + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + minSdkVersion PROP_MIN_SDK_VERSION + targetSdkVersion PROP_TARGET_SDK_VERSION + versionCode 1 + versionName "1.0" + + externalNativeBuild { + cmake { + targets "cocos" + arguments "-DRES_DIR=${RES_PATH}", "-DCOCOS_X_PATH=${COCOS_ENGINE_PATH}","-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_LD=gold" + cppFlags "-frtti -fexceptions -fsigned-char -DANDROID_INSTANT=1" + } + ndk { abiFilters PROP_APP_ABI.split(':') } + } + } + + sourceSets.main { + java.srcDirs "../src", "src" + res.srcDirs "../res", 'res', "${RES_PATH}/proj/res" + jniLibs.srcDirs "../libs", 'libs' + manifest.srcFile "AndroidManifest.xml" + assets.srcDir "${RES_PATH}/data" + } + + packagingOptions { + jniLibs { + useLegacyPackaging Boolean.parseBoolean(PROP_ENABLE_COMPRESS_SO) + } + } + + externalNativeBuild { + cmake { + version "3.22.1" + path "../CMakeLists.txt" + buildStagingDirectory "${RES_PATH}/proj/build" + } + } + + signingConfigs { + + release { + if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) { + storeFile file(RELEASE_STORE_FILE) + storePassword RELEASE_STORE_PASSWORD + keyAlias RELEASE_KEY_ALIAS + keyPassword RELEASE_KEY_PASSWORD + } + } + } + + buildTypes { + release { + debuggable false + jniDebuggable false + renderscriptDebuggable false + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + if (project.hasProperty("RELEASE_STORE_FILE")) { + signingConfig signingConfigs.release + } + + externalNativeBuild { + cmake { + // switch HIDE_SYMBOLS to OFF to skip compilation flag `-fvisibility=hidden` + arguments "-DHIDE_SYMBOLS=ON" + } + } + } + + debug { + debuggable true + jniDebuggable true + renderscriptDebuggable true + // resValue "string", "app_name", "${PROP_APP_NAME}-dbg" + // applicationIdSuffix ".debug" + } + } +} + +dependencies { + implementation fileTree(dir: '../libs', include: ['*.jar','*.aar']) + implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) + implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar']) + implementation project(':libservice') + implementation project(':libcocos') +} diff --git a/android/instantapp/proguard-rules.pro b/android/instantapp/proguard-rules.pro new file mode 100644 index 0000000..fc884b7 --- /dev/null +++ b/android/instantapp/proguard-rules.pro @@ -0,0 +1,54 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in E:\developSoftware\Android\SDK/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Proguard Cocos2d-x-lite for release +-keep public class com.cocos.** { *; } +-dontwarn com.cocos.** + +# Proguard Apache HTTP for release +-keep class org.apache.http.** { *; } +-dontwarn org.apache.http.** + +# Proguard okhttp for release +-keep class okhttp3.** { *; } +-dontwarn okhttp3.** + +-keep class okio.** { *; } +-dontwarn okio.** + +# Proguard Android Webivew for release. you can comment if you are not using a webview +-keep public class android.net.http.SslError +-keep public class android.webkit.WebViewClient + +-keep public class com.google.** { *; } + +-dontwarn android.webkit.WebView +-dontwarn android.net.http.SslError +-dontwarn android.webkit.WebViewClient + +# This is generated automatically by the Android Gradle plugin. +-dontwarn android.hardware.BatteryState +-dontwarn android.hardware.lights.Light +-dontwarn android.hardware.lights.LightState$Builder +-dontwarn android.hardware.lights.LightState +-dontwarn android.hardware.lights.LightsManager$LightsSession +-dontwarn android.hardware.lights.LightsManager +-dontwarn android.hardware.lights.LightsRequest$Builder +-dontwarn android.hardware.lights.LightsRequest +-dontwarn android.net.ssl.SSLSockets +-dontwarn android.os.VibratorManager \ No newline at end of file diff --git a/android/instantapp/src/com/cocos/game/InstantActivity.java b/android/instantapp/src/com/cocos/game/InstantActivity.java new file mode 100644 index 0000000..318e839 --- /dev/null +++ b/android/instantapp/src/com/cocos/game/InstantActivity.java @@ -0,0 +1,125 @@ +/**************************************************************************** +Copyright (c) 2015-2016 Chukong Technologies Inc. +Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ +package com.cocos.game; + +import android.os.Bundle; +import android.content.Intent; +import android.content.res.Configuration; + +import com.cocos.service.SDKWrapper; +import com.cocos.lib.CocosActivity; + +public class InstantActivity extends CocosActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // DO OTHER INITIALIZATION BELOW + SDKWrapper.shared().init(this); + + } + + @Override + protected void onResume() { + super.onResume(); + SDKWrapper.shared().onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + SDKWrapper.shared().onPause(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + // Workaround in https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508 + if (!isTaskRoot()) { + return; + } + SDKWrapper.shared().onDestroy(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + SDKWrapper.shared().onActivityResult(requestCode, resultCode, data); + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + SDKWrapper.shared().onNewIntent(intent); + } + + @Override + protected void onRestart() { + super.onRestart(); + SDKWrapper.shared().onRestart(); + } + + @Override + protected void onStop() { + super.onStop(); + SDKWrapper.shared().onStop(); + } + + @Override + public void onBackPressed() { + SDKWrapper.shared().onBackPressed(); + super.onBackPressed(); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + SDKWrapper.shared().onConfigurationChanged(newConfig); + super.onConfigurationChanged(newConfig); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + SDKWrapper.shared().onRestoreInstanceState(savedInstanceState); + super.onRestoreInstanceState(savedInstanceState); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + SDKWrapper.shared().onSaveInstanceState(outState); + super.onSaveInstanceState(outState); + } + + @Override + protected void onStart() { + SDKWrapper.shared().onStart(); + super.onStart(); + } + + @Override + public void onLowMemory() { + SDKWrapper.shared().onLowMemory(); + super.onLowMemory(); + } +} diff --git a/android/res/mipmap-hdpi/ic_launcher.png b/android/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..888c0d56abef8d4ca9123954777b6f820c967b6f GIT binary patch literal 6780 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 literal 0 HcmV?d00001 diff --git a/android/res/mipmap-xxhdpi/ic_launcher.png b/android/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1e5a6b3776489f893d8ed4768ae9fe356b4df8 GIT binary patch literal 16236 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‹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 literal 0 HcmV?d00001 diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml new file mode 100644 index 0000000..8542005 --- /dev/null +++ b/android/res/values/strings.xml @@ -0,0 +1,2 @@ + + diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..899d584 --- /dev/null +++ b/build.gradle @@ -0,0 +1,18 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + // jcenter() // keeped as anchor, will be removed soon + } + dependencies { + classpath 'com.android.tools.build:gradle:8.10.1' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: NATIVE_DIR +"/build.gradle" diff --git a/cfg.cmake b/cfg.cmake new file mode 100644 index 0000000..c1dd3c1 --- /dev/null +++ b/cfg.cmake @@ -0,0 +1,27 @@ +set(CC_USE_GLES3 ON) +set(CC_USE_GLES2 ON) +set(USE_SERVER_MODE OFF) +set(NET_MODE 0) +set(XXTEAKEY "ffLzRmJHtIxbW5NJ") +set(CC_ENABLE_SWAPPY OFF) +set(APP_NAME "magotest") +set(COCOS_X_PATH "C:/ProgramData/cocos/editors/Creator/3.8.8/resources/resources/3d/engine/native") +set(USE_JOB_SYSTEM_TASKFLOW OFF) +set(USE_JOB_SYSTEM_TBB OFF) +set(ENABLE_FLOAT_OUTPUT OFF) +set(USE_PHYSICS_PHYSX OFF) +set(USE_BOX2D_JSB OFF) +set(USE_OCCLUSION_QUERY OFF) +set(USE_GEOMETRY_RENDERER OFF) +set(USE_DEBUG_RENDERER ON) +set(USE_AUDIO ON) +set(USE_VIDEO ON) +set(USE_WEBVIEW ON) +set(USE_SOCKET ON) +set(USE_WEBSOCKET_SERVER OFF) +set(USE_VENDOR OFF) +set(USE_SPINE_3_8 OFF) +set(USE_SPINE_4_2 ON) +set(USE_DRAGONBONES ON) +set(CC_USE_VULKAN OFF) +set(USE_ADPF ON) diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..c840969 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,76 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +org.gradle.jvmargs=-Xmx4608m -Dfile.encoding=UTF-8 +android.useAndroidX=true + +android.injected.testOnly=false + +android.native.buildOutput=verbose + +# Android SDK version that will be used as the compile project +PROP_COMPILE_SDK_VERSION=36 + +# Android SDK version that will be used as the earliest version of android this application can run on +PROP_MIN_SDK_VERSION=21 + +# Android SDK version that will be used as the latest version of android this application has been tested on +PROP_TARGET_SDK_VERSION=35 + +# Android Build Tools version that will be used as the compile project +PROP_BUILD_TOOLS_VERSION=36.0.0 + +# Android Application Name +PROP_APP_NAME=magotest + +# Instant App +PROP_ENABLE_INSTANT_APP=false + +# InputSDK +PROP_ENABLE_INPUTSDK=false + +PROP_NDK_VERSION=29.0.14206865 + +PROP_ENABLE_COMPRESS_SO=true + +# Build variant +PROP_IS_DEBUG=false + +# Cocos Engine Path +COCOS_ENGINE_PATH=C:/ProgramData/cocos/editors/Creator/3.8.8/resources/resources/3d/engine/native + +# Res path +RES_PATH=E:/project/okey101_native_sm/okey/build/android + +# Native source dir +NATIVE_DIR=E:/project/okey101_native_sm/okey/native/engine/android + +# Application ID +APPLICATION_ID=top.android.test + +# List of CPU Archtexture to build that application with +# Available architextures (armeabi-v7a | arm64-v8a | x86 | x86_64) +# To build for multiple architexture, use the `:` between them +# Example - PROP_APP_ABI=arm64-v8a +PROP_APP_ABI=arm64-v8a + +# fill in sign information for release mode +RELEASE_STORE_FILE=C:/ProgramData/cocos/editors/Creator/3.8.8/resources/tools/keystore/debug.keystore +RELEASE_STORE_PASSWORD=123456 +RELEASE_KEY_ALIAS=debug_keystore +RELEASE_KEY_PASSWORD=123456 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c0fb64a8698b08ecc4158d828ca593c4928e9dd GIT binary patch literal 49896 zcmagFb986H(k`5d^NVfUwr$(C?M#x1ZQHiZiEVpg+jrjgoQrerx!>1o_ul)D>ebz~ zs=Mmxr&>W81QY-S1PKWQ%N-;H^tS;2*XwVA`dej1RRn1z<;3VgfE4~kaG`A%QSPsR z#ovnZe+tS9%1MfeDyz`RirvdjPRK~p(#^q2(^5@O&NM19EHdvN-A&StN>0g6QA^VN z0Gx%Gq#PD$QMRFzmK+utjS^Y1F0e8&u&^=w5K<;4Rz|i3A=o|IKLY+g`iK6vfr9?+ z-`>gmU&i?FGSL5&F?TXFu`&Js6h;15QFkXp2M1H9|Eq~bpov-GU(uz%mH0n55wUl- zv#~ccAz`F5wlQ>e_KlJS3@{)B?^v*EQM=IxLa&76^y51a((wq|2-`qON>+4dLc{Oo z51}}o^Zen(oAjxDK7b++9_Yg`67p$bPo3~BCpGM7uAWmvIhWc5Gi+gQZ|Pwa-Gll@<1xmcPy z|NZmu6m)g5Ftu~BG&Xdxclw7Cij{xbBMBn-LMII#Slp`AElb&2^Hw+w>(3crLH!;I zN+Vk$D+wP1#^!MDCiad@vM>H#6+`Ct#~6VHL4lzmy;lSdk>`z6)=>Wh15Q2)dQtGqvn0vJU@+(B5{MUc*qs4!T+V=q=wy)<6$~ z!G>e_4dN@lGeF_$q9`Ju6Ncb*x?O7=l{anm7Eahuj_6lA{*#Gv*TaJclevPVbbVYu z(NY?5q+xxbO6%g1xF0r@Ix8fJ~u)VRUp`S%&rN$&e!Od`~s+64J z5*)*WSi*i{k%JjMSIN#X;jC{HG$-^iX+5f5BGOIHWAl*%15Z#!xntpk($-EGKCzKa zT7{siZ9;4TICsWQ$pu&wKZQTCvpI$Xvzwxoi+XkkpeE&&kFb!B?h2hi%^YlXt|-@5 zHJ~%AN!g_^tmn1?HSm^|gCE#!GRtK2(L{9pL#hp0xh zME}|DB>(5)`iE7CM)&_+S}-Bslc#@B5W4_+k4Cp$l>iVyg$KP>CN?SVGZ(&02>iZK zB<^HP$g$Lq*L$BWd?2(F?-MUbNWTJVQdW7$#8a|k_30#vHAD1Z{c#p;bETk0VnU5A zBgLe2HFJ3032$G<`m*OB!KM$*sdM20jm)It5OSru@tXpK5LT>#8)N!*skNu1$TpIw zufjjdp#lyH5bZ%|Iuo|iu9vG1HrIVWLH>278xo>aVBkPN3V$~!=KnlXQ4eDqS7%E% zQ!z^$Q$b^6Q)g#cLpwur(|<0gWHo6A6jc;n`t(V9T;LzTAU{IAu*uEQ%Ort1k+Kn+f_N`9|bxYC+~Z1 zCC1UCWv*Orx$_@ydv9mIe(liLfOr7mhbV@tKw{6)q^1DH1nmvZ0cj215R<~&I<4S| zgnr;9Cdjqpz#o8i0CQjtl`}{c*P)aSdH|abxGdrR)-3z+02-eX(k*B)Uqv6~^nh** z zGh0A%o~bd$iYvP!egRY{hObDIvy_vXAOkeTgl5o!33m!l4VLm@<-FwT0+k|yl~vUh z@RFcL4=b(QQQmwQ;>FS_e96dyIU`jmR%&&Amxcb8^&?wvpK{_V_IbmqHh);$hBa~S z;^ph!k~noKv{`Ix7Hi&;Hq%y3wpqUsYO%HhI3Oe~HPmjnSTEasoU;Q_UfYbzd?Vv@ zD6ztDG|W|%xq)xqSx%bU1f>fF#;p9g=Hnjph>Pp$ZHaHS@-DkHw#H&vb1gARf4A*zm3Z75QQ6l( z=-MPMjish$J$0I49EEg^Ykw8IqSY`XkCP&TC?!7zmO`ILgJ9R{56s-ZY$f> zU9GwXt`(^0LGOD9@WoNFK0owGKDC1)QACY_r#@IuE2<`tep4B#I^(PRQ_-Fw(5nws zpkX=rVeVXzR;+%UzoNa;jjx<&@ABmU5X926KsQsz40o*{@47S2 z)p9z@lt=9?A2~!G*QqJWYT5z^CTeckRwhSWiC3h8PQ0M9R}_#QC+lz>`?kgy2DZio zz&2Ozo=yTXVf-?&E;_t`qY{Oy>?+7+I= zWl!tZM_YCLmGXY1nKbIHc;*Mag{Nzx-#yA{ zTATrWj;Nn;NWm6_1#0zy9SQiQV=38f(`DRgD|RxwggL(!^`}lcDTuL4RtLB2F5)lt z=mNMJN|1gcui=?#{NfL{r^nQY+_|N|6Gp5L^vRgt5&tZjSRIk{_*y<3^NrX6PTkze zD|*8!08ZVN)-72TA4Wo3B=+Rg1sc>SX9*X>a!rR~ntLVYeWF5MrLl zA&1L8oli@9ERY|geFokJq^O$2hEpVpIW8G>PPH0;=|7|#AQChL2Hz)4XtpAk zNrN2@Ju^8y&42HCvGddK3)r8FM?oM!3oeQ??bjoYjl$2^3|T7~s}_^835Q(&b>~3} z2kybqM_%CIKk1KSOuXDo@Y=OG2o!SL{Eb4H0-QCc+BwE8x6{rq9j$6EQUYK5a7JL! z`#NqLkDC^u0$R1Wh@%&;yj?39HRipTeiy6#+?5OF%pWyN{0+dVIf*7@T&}{v%_aC8 zCCD1xJ+^*uRsDT%lLxEUuiFqSnBZu`0yIFSv*ajhO^DNoi35o1**16bg1JB z{jl8@msjlAn3`qW{1^SIklxN^q#w|#gqFgkAZ4xtaoJN*u z{YUf|`W)RJfq)@6F&LfUxoMQz%@3SuEJHU;-YXb7a$%W=2RWu5;j44cMjC0oYy|1! zed@H>VQ!7=f~DVYkWT0nfQfAp*<@FZh{^;wmhr|K(D)i?fq9r2FEIatP=^0(s{f8GBn<8T zVz_@sKhbLE&d91L-?o`13zv6PNeK}O5dv>f{-`!ms#4U+JtPV=fgQ5;iNPl9Hf&9( zsJSm5iXIqN7|;I5M08MjUJ{J2@M3 zYN9ft?xIjx&{$K_>S%;Wfwf9N>#|ArVF^shFb9vS)v9Gm00m_%^wcLxe;gIx$7^xR zz$-JDB|>2tnGG@Rrt@R>O40AreXSU|kB3Bm)NILHlrcQ&jak^+~b`)2;otjI(n8A_X~kvp4N$+4|{8IIIv zw*(i}tt+)Kife9&xo-TyoPffGYe;D0a%!Uk(Nd^m?SvaF-gdAz4~-DTm3|Qzf%Pfd zC&tA;D2b4F@d23KV)Csxg6fyOD2>pLy#n+rU&KaQU*txfUj&D3aryVj!Lnz*;xHvl zzo}=X>kl0mBeSRXoZ^SeF94hlCU*cg+b}8p#>JZvWj8gh#66A0ODJ`AX>rubFqbBw z-WR3Z5`33S;7D5J8nq%Z^JqvZj^l)wZUX#7^q&*R+XVPln{wtnJ~;_WQzO{BIFV55 zLRuAKXu+A|7*2L*<_P${>0VdVjlC|n^@lRi}r?wnzQQm z3&h~C3!4C`w<92{?Dpea@5nLP2RJrxvCCBh%Tjobl2FupWZfayq_U$Q@L%$uEB6#X zrm_1TZA8FEtkd`tg)a_jaqnv3BC_O*AUq-*RNLOT)$>2D!r>FZdH&$x5G_FiAPaw4 zgK*7>(qd6R?+M3s@h>Z|H%7eGPxJWn_U$w`fb(Mp+_IK2Kj37YT#Xe5e6KS-_~mW} z`NXEovDJh7n!#q4b+=ne<7uB7Y2(TAR<3@PS&o3P$h#cZ-xF$~JiH6_gsv9v(#ehK zhSB_#AI%lF#+!MB5DMUN+Zhf}=t~{B|Fn{rGM?dOaSvX!D{oGXfS*%~g`W84JJAy4 zMdS?9Bb$vx?`91$J`pD-MGCTHNxU+SxLg&QY+*b_pk0R=A`F}jw$pN*BNM8`6Y=cm zgRh#vab$N$0=XjH6vMyTHQg*+1~gwOO9yhnzZx#e!1H#|Mr<`jJGetsM;$TnciSPJ z5I-R0)$)0r8ABy-2y&`2$33xx#%1mp+@1Vr|q_e=#t7YjjWXH#3F|Fu<G#+-tE2K7 zOJkYxNa74@UT_K4CyJ%mR9Yfa$l=z}lB(6)tZ1Ksp2bv$^OUn3Oed@=Q0M}imYTwX zQoO^_H7SKzf_#kPgKcs%r4BFUyAK9MzfYReHCd=l)YJEgPKq-^z3C%4lq%{&8c{2CGQ3jo!iD|wSEhZ# zjJoH87Rt{4*M_1GdBnBU3trC*hn@KCFABd=Zu`hK;@!TW`hp~;4Aac@24m|GI)Ula z4y%}ClnEu;AL4XVQ6^*!()W#P>BYC@K5mw7c4X|Hk^(mS9ZtfMsVLoPIiwI?w_X0- z#vyiV5q9(xq~fS`_FiUZw->8Awktga>2SrWyvZ|h@LVFtnY#T z%OX30{yiSov4!43kFd(8)cPRMyrN z={af_ONd;m=`^wc7lL|b7V!;zmCI}&8qz=?-6t=uOV;X>G{8pAwf9UJ`Hm=ubIbgR zs6bw3pFeQHL`1P1m5fP~fL*s?rX_|8%tB`Phrij^Nkj{o0oCo*g|ELexQU+2gt66=7}w5A+Qr}mHXC%)(ODT# zK#XTuzqOmMsO~*wgoYjDcy)P7G`5x7mYVB?DOXV^D3nN89P#?cp?A~c%c$#;+|10O z8z(C>mwk#A*LDlpv2~JXY_y_OLZ*Mt)>@gqKf-Ym+cZ{8d%+!1xNm3_xMygTp-!A5 zUTpYFd=!lz&4IFq)Ni7kxLYWhd0o2)ngenV-QP@VCu;147_Lo9f~=+=Nw$6=xyZzp zn7zAe41Sac>O60(dgwPd5a^umFVSH;<7vN>o;}YlMYhBZFZ}-sz`P^3oAI>SCZy&zUtwKSewH;CYysPQN7H>&m215&e2J? zY}>5N-LhaDeRF~C0cB>M z7@y&xh9q??*EIKnh*;1)n-WuSl6HkrI?OUiS^lx$Sr2C-jUm6zhd{nd(>#O8k9*kF zPom7-%w1NjFpj7WP=^!>Vx^6SG^r`r+M&s7V(uh~!T7aE;_ubqNSy)<5(Vi)-^Mp9 zEH@8Vs-+FEeJK%M0z3FzqjkXz$n~BzrtjQv`LagAMo>=?dO8-(af?k@UpL5J#;18~ zHCnWuB(m6G6a2gDq2s`^^5km@A3Rqg-oHZ68v5NqVc zHX_Iw!OOMhzS=gfR7k;K1gkEwuFs|MYTeNhc0js>Wo#^=wX4T<`p zR2$8p6%A9ZTac;OvA4u#Oe3(OUep%&QgqpR8-&{0gjRE()!Ikc?ClygFmGa(7Z^9X zWzmV0$<8Uh)#qaH1`2YCV4Zu6@~*c*bhtHXw~1I6q4I>{92Eq+ZS@_nSQU43bZyidk@hd$j-_iL=^^2CwPcaXnBP;s;b zA4C!k+~rg4U)}=bZ2q*)c4BZ#a&o!uJo*6hK3JRBhOOUQ6fQI;dU#3v>_#yi62&Sp z-%9JJxwIfQ`@w(_qH0J0z~(lbh`P zHoyp2?Oppx^WXwD<~20v!lYm~n53G1w*Ej z9^B*j@lrd>XGW43ff)F;5k|HnGGRu=wmZG9c~#%vDWQHlOIA9(;&TBr#yza{(?k0> zcGF&nOI}JhuPl`kLViBEd)~p2nY9QLdX42u9C~EUWsl-@CE;05y@^V1^wM$ z&zemD1oZd$Z))kEw9)_Mf+X#nT?}n({(+aXHK2S@j$MDsdrw-iLb?#r{?Vud?I5+I zVQ8U?LXsQ}8-)JBGaoawyOsTTK_f8~gFFJ&lhDLs8@Rw$ey-wr&eqSEU^~1jtHmz6 z!D2g4Yh?3VE*W8=*r&G`?u?M~AdO;uTRPfE(@=Gkg z7gh=EGu!6VJJ?S_>|5ZwY?dGFBp3B9m4J1=7u=HcGjsCW+y6`W?OWxfH?S#X8&Zk& zvz6tWcnaS1@~3FTH}q_*$)AjYA_j;yl0H0{I(CW7Rq|;5Q2>Ngd(tmJDp+~qHe_8y zPU_fiCrn!SJ3x&>o6;WDnjUVEt`2fhc9+uLI>99(l$(>Tzwpbh>O775OA5i`jaBdp zXnCwUgomyF3K$0tXzgQhSAc!6nhyRh_$fP}Rd$|*Y7?ah(JrN=I7+)+Hp4BLJJ2P~ zFD!)H^uR2*m7GQZpLUVS#R3^?2wCd}(gcFcz!u5KN9ldNJdh@%onf06z9m~T0n;dqg6@?>G@S|rPO*Kj>{su+R|7bH>osA&uD4eqxtr**k($ii`uO? z7-&VkiL4Rp3S&e+T}2Z#;NtWHZco(v8O3QMvN0g7l8GV|U2>x-DbamkZo5)bjaSFR zr~Y9(EvF9{o*@|nBPj+e5o$_K`%TH1hD=|its}|qS^o6EQu_gOuDUH=Dtzik;P7G$ zq%_T<>9O}bGIB?;IQ*H`BJ5NWF6+XLv@G7aZwcy(&BoepG~u`aIcG>y+;J7+L=wTZ zB=%n@O}=+mjBO%1lMo6C0@1*+mhBqqY((%QMUBhyeC~r*5WVqzisOXFncr*5Lr0q6 zyPU&NOV}Vt2jl>&yig4I6j93?D>Ft=keRh=Y;3*^Z-I26nkZ#Jj5OJ89_?@#9lNjp z#gfAO6i937)~I|98P%xAWxwmk(F&@lTMx63*FZ~2b{NHU+}EV8+kMAB0bM*Zn#&7ubt98!PT^ZcMOfwMgkYz6+;?CKbvV zQ}Z@s_3JcMPhF&y1?}9uZFIBiPR3g7lf=+XEr9Bl%zRfGcaKb*ZQq5b35ZkR@=JEw zP#iqgh2^#@VA-h)>r`7R-$1_ddGr&oWWV$rx;pkG0Yohp9p@In_p)hKvMo@qIv zcN2t{23&^Nj=Y&gX;*vJ;kjM zHE2`jtjVRRn;=WqVAY&m$z=IoKa{>DgJ;To@OPqNbh=#jiS$WE+O4TZIOv?niWs47 zQfRBG&WGmU~>2O{}h17wXGEnigSIhCkg%N~|e?hG8a- zG!Wv&NMu5z!*80>;c^G9h3n#e>SBt5JpCm0o-03o2u=@v^n+#6Q^r#96J5Q=Dd=>s z(n0{v%yj)=j_Je2`DoyT#yykulwTB+@ejCB{dA7VUnG>4`oE?GFV4sx$5;%9&}yxfz<-wWk|IlA|g&! zN_Emw#w*2GT=f95(%Y1#Viop;Yro3SqUrW~2`Fl?Ten{jAt==a>hx$0$zXN`^7>V_ zG*o7iqeZV)txtHUU2#SDTyU#@paP;_yxp!SAG##cB= zr@LoQg4f~Uy5QM++W`WlbNrDa*U;54`3$T;^YVNSHX4?%z|`B~i7W+kl0wBB`8|(l zAyI6dXL&-Sei0=f#P^m`z=JJ`=W;PPX18HF;5AaB%Zlze`#pz;t#7Bzq0;k8IyvdK=R zBW+4GhjOv+oNq^~#!5(+pDz)Ku{u60bVjyym8Or8L;iqR|qTcxEKTRm^Y%QjFYU=ab+^a|!{!hYc+= z%Qc02=prKpzD+jiiOwzyb(dELO|-iyWzizeLugO!<1(j|3cbR!8Ty1$C|l@cWoi?v zLe<5+(Z-eH++=fX**O-I8^ceYZgiA!!dH+7zfoP-Q+@$>;ab&~cLFg!uOUX7h0r== z`@*QP9tnV1cu1!9pHc43C!{3?-GUBJEzI(&#~vY9MEUcRNR*61)mo!RG>_Yb^rNN7 zR9^bI45V?3Lq`^^BMD!GONuO4NH#v9OP3@s%6*Ha3#S*;f z6JEi)qW#Iq#5BtIXT9Gby|H?NJG}DN#Li82kZ_Rt1=T0Z@U6OAdyf}4OD|Sk^2%-1 zzgvqZ@b6~kL!^sZLO$r{s!3fQ5bHW}8r$uTVS*iw1u8^9{YlPp_^Xm5IN zF|@)ZOReX zB*#tEbWEX~@f)ST|s$oUKS@drycE1tYtdJ9b*(uFTxNZ{n3BI*kF7wXgT6+@PI@vwH7iQS{1T!Nauk>fm8gOLe`->Pi~ z8)3=UL_$OLl2n7QZlHt846nkYFu4V};3LpYA%5VaF#a2#d2g0&ZO~3WA%1XlerVpg zCAlM;(9OqH@`(>Tha{*@R%twB!}1ng4V=^+R`Q{#fkRk)C|suozf-uCXrkIH2SC^C z6wlxR`yS;-U#uu#`OnD%U<41%C4mp>LYLPIbgVO~WsT1if)Y)T*8nUB`2*(B;U_ha1NWv2`GqrZ z3MWWpT3tZ!*N@d*!j3=@K4>X*gX4A^@QPAz24?7u90AXaLiFq=Z$|5p$Ok2|YCX_Z zFgNPiY2r_Bg2BQE!0z=_N*G?%0cNITmAru*!Mws=F+F&Qw!&1?DBN{vSy%IvGRV@1 zS->PARgL^XS!-aZj zi@`~LhWfD!H-L0kNv=Jil9zR0>jZLqu)cLq?$yXVyk%EteKcWbe^qh#spHJPa#?92 za(N(Kw0se^$7nQUQZBet;C_Dj5(2_?TdrXFYwmebq}YGQbN5Ex7M zGSCX~Ey;5AqAzEDNr%p^!cuG?&wIeY&Bm5guVg>8F=!nT%7QZTGR(uGM&IZuMw0V_ zhPiIFWm?H?aw*(v6#uVT@NEzi2h5I$cZ-n0~m$tmwdMTjG*of^Y%1 zW?Y%o*-_iMqEJhXo^!Qo?tGFUn1Mb|urN4_;a)9bila2}5rBS#hZ5wV+t1xbyF1TW zj+~cdjbcMgY$zTOq6;ODaxzNA@PZIXX(-=cT8DBd;9ihfqqtbDr9#gXGtK24BPxjZ z9+Xp>W1(s)->-}VX~BoQv$I|-CBdO`gULrvNL>;@*HvTdh@wyNf}~IB5mFnTitX2i z;>W>tlQyc2)T4Mq+f!(i3#KuK-I8Kj3Wm(UYx?KWWt8DEPR_Jdb9CE~Fjc7Rkh#gh zowNv()KRO@##-C+ig0l!^*ol!Bj%d32_N*~d!|&>{t!k3lc?6VrdlCCb1?qyoR42m zv;4KdwCgvMT*{?tJKa(T?cl|b;k4P>c&O@~g71K5@}ys$)?}WSxD;<5%4wEz7h=+q ztLumn6>leWdDk#*@{=v9p)MsvuJMyf_VEs;pJh?i3z7_W@Q|3p$a}P@MQ-NpMtDUBgH!h4Ia#L&POr4Qw0Tqdw^}gCmQAB z8Dgkzn?V!_@04(cx0~-pqJOpeP1_}@Ml3pCb45EJoghLows9ET13J8kt0;m$6-jO( z4F|p+JFD1NT%4bpn4?&)d+~<360$z5on`eS6{H`S>t`VS$>(D`#mC*XK6zULj1Da# zpV$gw$2Ui{07NiYJQQNK;rOepRxA>soNK~B2;>z;{Ovx`k}(dlOHHuNHfeR}7tmIp zcM}q4*Fq8vSNJYi@4-;}`@bC?nrUy`3jR%HXhs79qWI5;hyTpH5%n-NcKu&j(aGwT z1~{geeq?Jd>>HL+?2`0K8dB2pvTS=LO~tb~vx_<=iN8^rW!y@~lBTAaxHmvVQJSeJ z!cb9ffMdP1lgI=>QJN{XpM4{reRrdIt|v|0-8!p}M*Qw^uV1@Ho-YsNd0!a(os$F* zT0tGHA#0%u0j*%S>kL*73@~7|iP;;!JbWSTA@`#VHv_l_%Z7CgX@>dhg_ zgn0|U)SY~U-E5{QiT@(uPp#1jaz!(_3^Cbz2 z4ZgWWz=PdGCiGznk{^4TBfx_;ZjAHQ>dB4YI}zfEnTbf60lR%=@VWt0yc=fd38Ig* z)Q38#e9^+tA7K}IDG5Z~>JE?J+n%0_-|i2{E*$jb4h?|_^$HRHjVkiyX6@Y+)0C2a zA+eegpT1dUpqQFIwx;!ayQcWQBQTj1n5&h<%Lggt@&tE19Rm~Rijtqw6nmYip_xg0 zO_IYpU304embcWP+**H|Z5~%R*mqq+y{KbTVqugkb)JFSgjVljsR{-c>u+{?moCCl zTL)?85;LXk0HIDC3v*|bB-r_z%zvL6Dp__L*A~Z*o?$rm>cYux&)W=6#+Cb}TF&Kd zdCgz3(ZrNA>-V>$C{a^Y^2F!l_%3lFe$s(IOfLBLEJ4Mcd!y&Ah9r)7q?oc z5L(+S8{AhZ)@3bw0*8(}Xw{94Vmz6FrK&VFrJN;xB96QmqYEibFz|yHgUluA-=+yS}I-+#_Pk zN67-#8W(R^e7f!;i0tXbJgMmJZH%yEwn*-}5ew13D<_FYWnt?{Mv1+MI~u;FN~?~m z{hUnlD1|RkN}c1HQ6l@^WYbHAXPJ^m0te1woe;LDJ}XEJqh1tPf=sD0%b+OuR1aCoP>I>GBn4C24Zu$D)qg=gq;D??5 zUSj%;-Hvk_ffj-+SI{ZCp`gZcNu=L@_N}kCcs?TyMr-37fhy$?a<7lt1`fZw<%$8@B6(Wgo!#!z9z{ab|x`+&;kP!(gfdY}A-GP&4Cbh-S< z1(kmgnMyB2z3ipEj5;4<{(=&<7a>A_Jl`ujUKYV@%k(oD=cD7W@8~5O=R*zdjM_y; zXwme~0wo0aDa~9rDnjF=B}Bbj|DHRQjN|?@(F^=bVFdr!#mwr|c0843k>%~5J|7|v zSY=T)iPU6rEAwrM(xTZwPio%D4y9Z4kL0bMLKvu4yd)0ZJA3<;>a2q~rEfcREn}~1 zCJ~3c?Afvx?3^@+!lnf(kB6YwfsJ*u^y7kZA?VmM%nBmaMspWu?WXq4)jQsq`9EbT zlF2zJ)wXuAF*2u|yd5hNrG>~|i}R&ZyeetTQ!?Hz6xGZZb3W6|vR>Hq=}*m=V=Lsp zUOMxh;ZfP4za~C{Ppn^%rhitvpnu^G{Z#o-r?TdEgSbtK_+~_iD49xM;$}X*mJF02|WBL{SDqK9}p4N!G$3m=x#@T+4QcapM{4j|Q zwO!(hldpuSW#by!zHEP@tzIC|KdD z%BJzQ7Ho1(HemWm`Z8m_D#*`PZ-(R%sZmPrS$aHS#WPjH3EDitxN|DY+ zYC|3S?PQ3NNYau$Qk8f>{w}~xCX;;CE=7;Kp4^xXR8#&^L+y-jep7oO^wnQ840tg1 zuN17QKsfdqZPlB8OzwF+)q#IsmenEmIbRAJHJ$JjxzawKpk8^sBm3iy=*kB%LppNb zhSdk`^n?01FKQ;=iU+McN7Mk0^`KE>mMe1CQ2a_R26_}^$bogFm=2vqJake7x)KN( zYz;gRPL+r4*KD>1U+DU+1jh{mT8#P#(z9^(aDljpeN{mRmx{AZX&hXKXNuxj3x*RrpjvOaZ#`1EqK!$+8=0yv8}=;>f=E?5tGbRUd4%?QL zy$kq6mZeF%k6E1&8nwAYMd!-lRkhQTob$7s`*XqcHs;l~mHV}fx&0I&i!CHaPVSM{ zHdRh7a>hP)t@YTrWm9y zl-ENWSVzlKVvTdWK>)enmGCEw(WYS=FtY{srdE{Z(3~4svwd)ct;`6Y{^qiW+9E@A ztzd?lj5F#k`=E1U-n*1JJc0{x{0q!_tkD<_S6bGsW)^RxGu%Rj^Mvw|R0WP1SqvAI zs(MiAd@Y5x!UKu376&|quQNxir;{Iz(+}3k-GNb29HaQh?K30u=6sXpIc?j0hF{VY zM$Do*>pN)eRljAOgpx7fMfSrnZ7>fi@@>Jh;qxj1#-Vj}JC3E^GCbC(r55_AG>6cq z4ru34FtVuBt)bkX4>ZFWjToyu)VA>IE6hXc+^(3ruUaKRqHnx3z)(GXetm;^0D95s zQ&drwfjhM4*|q=;i5Io0eDf?I{p}qo@7i7abHX5qLu~VDwYf4bmV~-^M_U?DL(+cG z{AyE^a|*73Ft)o5k-p)+GLXj#q01VlJ9#ZJkf|+c%6qfRgVp&6NsU3~F?!uh}HJm73xq>v$h zYoW3wJE6n9P|;{8U<^%UE2wjR4x^G_Nc$J(i)!>;g4`CCh2z^Dth#ah#<`#axDR?F z4>~hnN2%B2ZUuU6j>m1Qjj~5jQSdA&Q#7hOky#=Ue)}7LPJ!8nbZO_0Sw{G>>M7&E zb1dy|0Zi$(ubk`4^XkVI%4WIpe?Bh!D~IjvZs14yHw=aQ8-`N-=P*?Kzi&eRGZ_6Z zT>eis`!Dy3eT3=vt#Lbc+;}i5XJf7zM3QneL{t?w=U<1rk7+z2Cu^|~=~54tAeSYF zsXHsU;nM0dpK>+71yo(NFLV-^Lf7%U?Q$*q{^j04Gl71ya2)^j`nmJ$cmI9eFMjp+ z#)jKmi4lZc<;l>!={@jTm%?!5jS;6;c*Ml55~r6Y?22B^K3bPhKQ(ICc&z%w<4W1= zjTTtz_}IA$%kCqU)h#$!Yq>>2mVG}qYL}!avmCWYV}x4!YEeq)pgTp| zR;+skHuc7YXRLrcbYXt>?@pa{l^2pL>RrZ!22zMmi1ZR?nkaWF*`@XFK4jGh&Em3vn(l z3~^Q9&tM^eV=f^lccCUc9v02z%^n5VV6s$~k0uq5B#Ipd6`M1Kptg^v<2jiNdlAWQ z_MmtNEaeYIHaiuaFQdG&df7miiB5lZkSbg&kxY*Eh|KTW`Tk~VwKC~+-GoYE+pvwc{+nIEizq6!xP>7ZQ(S2%48l$Y98L zvs7s<&0ArXqOb*GdLH0>Yq-f!{I~e~Z@FUIPm?jzqFZvz9VeZLYNGO}>Vh<=!Er7W zS!X6RF^et7)IM1pq57z*^hP5w7HKSDd8jHX!*gkKrGc-GssrNu5H%7-cNE{h$!aEQK3g*qy;= z)}pxO8;}nLVYm_24@iEs8)R7i;Th0n4->&$8m6(LKCRd(yn7KY%QHu_f=*#e`H^U( z{u!`9JaRD?Z?23fEXrjx>A@+a!y-_oaDB)o@2s{2%A97-ctFfrN0cXQ@6aGH`X~Nr z144?qk;MzDU-cgQOLfT3-ZR#hKmYtKG*iGf4ZJ`|`9!^SkBDUUSJCba)>mM!)k~(z zdjUqB`)~!UObMHB1b$UItM$<0kwlqHH;c z=)+~bkOcIT7vI0Iy(wD)vsg9|oi##%Rgrq`Ek;pN)}lbpz`iv{F4K*{ZZ?Zjixxxr zY|SPl2NsXH+5pimj+MvbZ_+HrfvdC13|9Zs)Y=nW$z<0mhl}%irBSm5T3ZrN#2AhY z_ZrTmS(L`U#y}VZ@~QL9wUS6AnU*7LWS02Xyz`b>%rTml#Wb0yr>@c(Ym*40g;P{V zjV1XSHdU>oY!&Jh7MzhzUV8(9E+yl5UJYga>=0Ldjwtc`5!1>LxaB-kVW;IlSPs+0 zUBx=m8OKVp<`frNvMK>WMO(iKY%PuvqD+PK*vP6f?_o!O)MCW5Ic zv(%f5PLHyOJ2h@Yn_to@54Yq;fdoy40&sbe3A$4uUXHsHP_~K}h#)p&TyOx(~JE?y(IBAQKl}~VQjVC-c6oZwmESL;`Xth?2)-b6ImNcJi z;w|`Q*k?`L(+Dp}t(FocvzWB(%~9$EAB6_J6CrA}hMj-Vy*6iA$FdV}!lvk%6}M)4 zTf<)EbXr9^hveAav1yA?>O0aNEpv0&rju{(Gt|dP=AP%)uQm~OE7@+wEhILrRLt&E zoEsF^nz>4yK1|EOU*kM+9317S;+bb7?TJM2UUpc!%sDp}7!<`i=W!ot8*C&fpj>mk#qt~GCeqcy)?W6sl>eUnR%yCBR&Ow-rc|q;lhnI+f-%`6Xf)% zIYZru;27%vA{Qi2=J`PQC<28;tFx(V^sgXf>)8WNxxQwT14M9I6- z+V0@tiCiDkv`7r-06sJS8@s|Lf>mV+8h}SPT4ZGPSMaFK7_SMXH$3KN7b2V?iV-jA zh1!Z>2tv^HVbHnNUAf-wQW#zMV(h8=3x2Swd|-%AczEIWLcm~EAu7rc3s%56b;7ME zj}$pe#fc^314Mb9i)xH^_#({)tTD4hsoz!7XcHUh9*G|}?k=D?9LBkTm2?fgaIG(%%$DL#}a-_990rQBU+M;jrf zCcvgM`+oyZmsUqc?lly9axZfO)02l$TMS#I+jHYY`Uk!gtDv|@GBQ||uaG^n*QR3Q z@tV?D;R;KmkxSDQh<2DkDC1?m?jTvf2i^T;+}aYhzL?ymNZmdns2e)}2V>tDCRw{= zTV3q3ZQDkdZQHi3?y{@8Y@1!SZQHi(y7|qSx$~Vl=iX<2`@y3eSYpsBV zI`Q-6;)B=p(ZbX55C*pu1C&yqS|@Pytis3$VDux0kxKK}2tO&GC;cH~759o?W2V)2 z)`;U(nCHBE!-maQz%z#zoRNpJR+GmJ!3N^@cA>0EGg?OtgM_h|j1X=!4N%!`g~%hdI3%yz&wq4rYChPIGnSg{H%i>96! z-(@qsCOfnz7ozXoUXzfzDmr>gg$5Z1DK$z#;wn9nnfJhy6T5-oi9fT^_CY%VrL?l} zGvnrMZP_P|XC$*}{V}b^|Hc38YaZQESOWqA1|tiXKtIxxiQ%Zthz?_wfx@<8I{XUW z+LH%eO9RxR_)8gia6-1>ZjZB2(=`?uuX|MkX082Dz*=ep%hMwK$TVTyr2*|gDy&QOWu zorR#*(SDS{S|DzOU$<-I#JTKxj#@0(__e&GRz4NuZZLUS8}$w+$QBgWMMaKge*2-) zrm62RUyB?YSUCWTiP_j-thgG>#(ZEN+~bMuqT~i3;Ri`l${s0OCvCM>sqtIX?Cy`8 zm)MRz-s^YOw>9`aR#J^tJz6$S-et%elmR2iuSqMd(gr6a#gA_+=N(I6%Cc+-mg$?_1>PlK zbgD2`hLZ?z4S~uhJf=rraLBL?H#c$cXyqt{u^?#2vX2sFb z^EU-9jmp{IZ~^ii@+7ogf!n_QawvItcLiC}w^$~vgEi(mX79UwDdBg`IlF42E5lWE zbSibqoIx*0>WWMT{Z_NadHkSg8{YW4*mZ@6!>VP>ey}2PuGwo%>W7FwVv7R!OD32n zW6ArEJX8g_aIxkbBl^YeTy5mhl1kFGI#n>%3hI>b(^`1uh}2+>kKJh0NUC|1&(l)D zh3Barl&yHRG+Le2#~u>KoY-#GSF>v)>xsEp%zgpq4;V6upzm3>V&yk^AD}uIF{vIn zRN-^d4(Sk6ioqcK@EObsAi#Z-u&Hh#kZdv1rjm4u=$2QF<6$mgJ4BE0yefFI zT7HWn?f668n!;x>!CrbdA~lDfjX?)315k1fMR~lG)|X_o()w|NX&iYUTKxI2TLl|r z{&TWcBxP>*;|XSZ1GkL&lSg?XL9rR4Ub&4&03kf};+6$F)%2rsI%9W_i_P|P%Z^b@ zDHH2LV*jB@Izq0~E4F^j04+C|SFiV8{!bth%bz(KfCg42^ zGz5P7xor$)I4VX}Cf6|DqZ$-hG7(}91tg#AknfMLFozF1-R~KS3&5I0GNb`P1+hIB z?OPmW8md3RB6v#N{4S5jm@$WTT{Sg{rVEs*)vA^CQLx?XrMKM@*gcB3mk@j#l0(~2 z9I=(Xh8)bcR(@8=&9sl1C?1}w(z+FA2`Z^NXw1t(!rpYH3(gf7&m=mm3+-sls8vRq z#E(Os4ZNSDdxRo&`NiRpo)Ai|7^GziBL6s@;1DZqlN@P_rfv4Ce1={V2BI~@(;N`A zMqjHDayBZ);7{j>)-eo~ZwBHz0eMGRu`43F`@I0g!%s~ANs>Vum~RicKT1sUXnL=gOG zDR`d=#>s?m+Af1fiaxYxSx{c5@u%@gvoHf#s6g>u57#@#a2~fNvb%uTYPfBoT_$~a^w96(}#d;-wELAoaiZCbM zxY4fKlS6-l1!b1!yra|`LOQoJB))=CxUAYqFcTDThhA?d}6FD$gYlk**!# zD=!KW>>tg1EtmSejwz{usaTPgyQm~o+NDg`MvNo)*2eWX*qAQ)4_I?Pl__?+UL>zU zvoT(dQ)pe9z1y}qa^fi-NawtuXXM>*o6Al~8~$6e>l*vX)3pB_2NFKR#2f&zqbDp7 z5aGX%gMYRH3R1Q3LS91k6-#2tzadzwbwGd{Z~z+fBD5iJ6bz4o1Rj#7cBL|x8k%jO z{cW0%iYUcCODdCIB(++gAsK(^OkY5tbWY;)>IeTp{{d~Y#hpaDa-5r#&Ha?+G{tn~ zb(#A1=WG1~q1*ReXb4CcR7gFcFK*I6Lr8bXLt9>9IybMR&%ZK15Pg4p_(v5Sya_70 ziuUYG@EBKKbKYLWbDZ)|jXpJJZ&bB|>%8bcJ7>l2>hXuf-h5Bm+ zHZ55e9(Sg>G@8a`P@3e2(YWbpKayoLQ}ar?bOh2hs89=v+ifONL~;q(d^X$7qfw=; zENCt`J*+G;dV_85dL3Tm5qz2K4m$dvUXh>H*6A@*)DSZ2og!!0GMoCPTbcd!h z@fRl3f;{F%##~e|?vw6>4VLOJXrgF2O{)k7={TiDIE=(Dq*Qy@oTM*zDr{&ElSiYM zp<=R4r36J69aTWU+R9Hfd$H5gWmJ?V){KU3!FGyE(^@i!wFjeZHzi@5dLM387u=ld zDuI1Y9aR$wW>s#I{2!yLDaVkbP0&*0Rw%6bi(LtieJQ4(1V!z!ec zxPd)Ro0iU%RP#L|_l?KE=8&DRHK>jyVOYvhGeH+Dg_E%lgA(HtS6e$v%D7I;JSA2x zJyAuin-tvpN9g7>R_VAk2y;z??3BAp?u`h-AVDA;hP#m+Ie`7qbROGh%_UTW#R8yfGp<`u zT0}L)#f%(XEE)^iXVkO8^cvjflS zqgCxM310)JQde*o>fUl#>ZVeKsgO|j#uKGi)nF_ur&_f+8#C0&TfHnfsLOL|l(2qn zzdv^wdTi|o>$q(G;+tkTKrC4rE)BY?U`NHrct*gVx&Fq2&`!3htkZEOfODxftr4Te zoseFuag=IL1Nmq45nu|G#!^@0vYG5IueVyabw#q#aMxI9byjs99WGL*y)AKSaV(zx z_`(}GNM*1y<}4H9wYYSFJyg9J)H?v((!TfFaWx(sU*fU823wPgN}sS|an>&UvI;9B(IW(V)zPBm!iHD} z#^w74Lpmu7Q-GzlVS%*T-z*?q9;ZE1rs0ART4jnba~>D}G#opcQ=0H)af6HcoRn+b z<2rB{evcd1C9+1D2J<8wZ*NxIgjZtv5GLmCgt?t)h#_#ke{c+R6mv6))J@*}Y25ef z&~LoA&qL-#o=tcfhjH{wqDJ;~-TG^?2bCf~s0k4Rr!xwz%Aef_LeAklxE=Yzv|3jf zgD0G~)e9wr@)BCjlY84wz?$NS8KC9I$wf(T&+79JjF#n?BTI)Oub%4wiOcqw+R`R_q<`dcuoF z%~hKeL&tDFFYqCY)LkC&5y(k7TTrD>35rIAx}tH4k!g9bwYVJ>Vdir4F$T*wC@$08 z9Vo*Q0>*RcvK##h>MGUhA9xix+?c1wc6xJhn)^9;@BE6i*Rl8VQdstnLOP1mq$2;!bfASHmiW7|=fA{k$rs^-8n{D6_ z!O0=_K}HvcZJLSOC6z-L^pl3Gg>8-rU#Sp1VHMqgXPE@9x&IHe;K3;!^SQLDP1Gk&szPtk| z!gP;D7|#y~yVQ?sOFiT*V(Z-}5w1H6Q_U5JM#iW16yZiFRP1Re z6d4#47#NzEm};1qRP9}1;S?AECZC5?6r)p;GIW%UGW3$tBN7WTlOy|7R1?%A<1!8Z zWcm5P6(|@=;*K&3_$9aiP>2C|H*~SEHl}qnF*32RcmCVYu#s!C?PGvhf1vgQ({MEQ z0-#j>--RMe{&5&$0wkE87$5Ic5_O3gm&0wuE-r3wCp?G1zA70H{;-u#8CM~=RwB~( zn~C`<6feUh$bdO1%&N3!qbu6nGRd5`MM1E_qrbKh-8UYp5Bn)+3H>W^BhAn;{BMii zQ6h=TvFrK)^wKK>Ii6gKj}shWFYof%+9iCj?ME4sR7F+EI)n8FL{{PKEFvB65==*@ ztYjjVTJCuAFf8I~yB-pN_PJtqH&j$`#<<`CruB zL=_u3WB~-;t3q)iNn0eU(mFTih<4nOAb>1#WtBpLi(I)^zeYIHtkMGXCMx+I zxn4BT0V=+JPzPeY=!gAL9H~Iu%!rH0-S@IcG%~=tB#6 z3?WE7GAfJ{>GE{?Cn3T!QE}GK9b*EdSJ02&x@t|}JrL{^wrM@w^&})o;&q816M5`} zv)GB;AU7`haa1_vGQ}a$!m-zkV(+M>q!vI0Swo18{;<>GYZw7-V-`G#FZ z;+`vsBihuCk1RFz1IPbPX8$W|nDk6yiU8Si40!zy{^nmv_P1=2H*j<^as01|W>BQS zU)H`NU*-*((5?rqp;kgu@+hDpJ;?p8CA1d65)bxtJikJal(bvzdGGk}O*hXz+<}J? zLcR+L2OeA7Hg4Ngrc@8htV!xzT1}8!;I6q4U&S$O9SdTrot<`XEF=(`1{T&NmQ>K7 zMhGtK9(g1p@`t)<)=eZjN8=Kn#0pC2gzXjXcadjHMc_pfV(@^3541)LC1fY~k2zn&2PdaW`RPEHoKW^(p_b=LxpW&kF?v&nzb z1`@60=JZj9zNXk(E6D5D}(@k4Oi@$e2^M%grhlEuRwVGjDDay$Qpj z`_X-Y_!4e-Y*GVgF==F0ow5MlTTAsnKR;h#b0TF>AyJe`6r|%==oiwd6xDy5ky6qQ z)}Rd0f)8xoNo)1jj59p;ChIv4Eo7z*{m2yXq6)lJrnziw9jn%Ez|A-2Xg4@1)ET2u zIX8`u5M4m=+-6?`S;?VDFJkEMf+=q?0D7?rRv)mH=gptBFJGuQo21rlIyP>%ymGWk z=PsJ>>q~i>EN~{zO0TklBIe(8i>xkd=+U@;C{SdQ`E03*KXmWm4v#DEJi_-F+3lrR z;0al0yXA&axWr)U%1VZ@(83WozZbaogIoGYpl!5vz@Tz5?u36m;N=*f0UY$ssXR!q zWj~U)qW9Q9Fg9UW?|XPnelikeqa9R^Gk77PgEyEqW$1j=P@L z*ndO!fwPeq_7J_H1Sx>#L$EO_;MfYj{lKuD8ZrUtgQLUUEhvaXA$)-<61v`C=qUhI zioV&KR#l50fn!-2VT`aMv|LycLOFPT{rRSRGTBMc)A`Cl%K&4KIgMf}G%Qpb2@cB* zw8obt-BI3q8Lab!O<#zeaz{P-lI2l`2@qrjD+Qy)^VKks5&SeT(I)i?&Kf59{F`Rw zuh7Q>SQNwqLO%cu2lzcJ7eR*3!g}U)9=EQ}js-q{d%h!wl6X3%H0Z2^8f&^H;yqti4z6TNWc& zDUU8YV(ZHA*34HHaj#C43PFZq7a>=PMmj4+?C4&l=Y-W1D#1VYvJ1~K%$&g-o*-heAgLXXIGRhU zufonwl1R<@Kc8dPKkb`i5P9VFT_NOiRA=#tM0WX2Zut)_ zLjAlJS1&nnrL8x8!o$G+*z|kmgv4DMjvfnvH)7s$X=-nQC3(eU!ioQwIkaXrl+58 z@v)uj$7>i`^#+Xu%21!F#AuX|6lD-uelN9ggShOX&ZIN+G#y5T0q+RL*(T(EP)(nP744-ML= z+Rs3|2`L4I;b=WHwvKX_AD56GU+z92_Q9D*P|HjPYa$yW0o|NO{>4B1Uvq!T;g_N- zAbNf%J0QBo1cL@iahigvWJ9~A4-glDJEK?>9*+GI6)I~UIWi>7ybj#%Po}yT6d6Li z^AGh(W{NJwz#a~Qs!IvGKjqYir%cY1+8(5lFgGvl(nhFHc7H2^A(P}yeOa_;%+bh` zcql{#E$kdu?yhRNS$iE@F8!9E5NISAlyeuOhRD)&xMf0gz^J927u5aK|P- z>B%*9vSHy?L_q)OD>4+P;^tz4T>d(rqGI7Qp@@@EQ-v9w-;n;7N05{)V4c7}&Y^!`kH3}Q z4RtMV6gAARY~y$hG7uSbU|4hRMn97Dv0$Le@1jDIq&DKy{D$FOjqw{NruxivljBGw zP4iM(4Nrz^^~;{QBD7TVrb6PB=B$<-e9!0QeE8lcZLdDeb?Gv$ePllO2jgy&FSbW* zSDjDUV^=`S(Oo0;k(Idvzh}aXkfO)F6AqB?wWqYJw-1wOn5!{-ghaHb^v|B^92LmQ9QZj zHA&X)fd%B$^+TQaM@FPXM$$DdW|Vl)4bM-#?Slb^qUX1`$Yh6Lhc4>9J$I4ba->f3 z9CeGO>T!W3w(){M{OJ+?9!MK68KovK#k9TSX#R?++W4A+N>W8nnk**6AB)e;rev=$ zN_+(?(YEX;vsZ{EkEGw%J#iJYgR8A}p+iW;c@V>Z1&K->wI>!x-+!0*pn|{f=XA7J zfjw88LeeJgs4YI?&dHkBL|PRX`ULOIZlnniTUgo-k`2O2RXx4FC76;K^|ZC6WOAEw zz~V0bZ29xe=!#Xk?*b{sjw+^8l0Koy+e7HjWXgmPa4sITz+$VP!YlJ$eyfi3^6gGx6jZLpbUzX;!Z6K}aoc!1CRi zB6Lhwt%-GMcUW;Yiy6Y7hX(2oksbsi;Z6k*=;y;1!taBcCNBXkhuVPTi+1N*z*}bf z`R=&hH*Ck5oWz>FR~>MO$3dbDSJ!y|wrff-H$y(5KadrA_PR|rR>jS=*9&J*ykWLr z-1Z^QOxE=!6I z%Bozo)mW7#2Hd$-`hzg=F@6*cNz^$#BbGlIf${ZV1ADc}sNl=B72g`41|F7JtZ^BT z+y}nqn3Ug`2scS_{MjykPW2~*k$i6PhvvxJCW;n!SK5B8Rpm41fCEdy=ea-4F`rN5 zF>ClKp#4?}pI7eR#6U|}t`DA!GQJB7nT$HVV*{qPjIRU1Ou3W;I^pCt54o|ZHvWaH zooFx9L%#yv)!P;^er5LCU$5@qXMhJ-*T5Ah8|}byGNU5oMp3V)yR;hWJKojJEregX z<1UPt%&~=5OuP(|B{ty);vLdoe7o^?`tkQa7zoXKAW6D@lc+FTzucotaOfJ!(Bm zHE8f8j@6||lH`y2<&hP}Q1wr(=6ze0D6NRL{7QaE1=nTAzqjIeD}Be&@#_d*dyurz z&L7xo-D9!dS`i>^GaIPArR@r=N#-ppIh!UBcb!N*?nLUO+*%C>_dCF1IH)q>5oT(t zjQo{AoDB;mWL;3&;vTt?;bvJSj>^Gq4Jrh}S}D>G)+b!>oRDWI?c_d77$kF5ms{Gx zak*>~*5AvaB-Xl)IgdZ^Cupv6HxQ0 zM(KPaDpPsPOd)e)aFw}|=tfzg@J1P8oJx2ZBY=g4>_G(Hkgld(u&~jN((eJ}5@b1} zI(P7j443AZj*I@%q!$JQ2?DZV47U!|Tt6_;tlb`mSP3 z74DE4#|1FMDqwYbT4P6#wSI%s?*wDc>)MR$4z9ZtJg04+CTUds>1JSDwI}=vpRoRR zLqx(Tvf34CvkTMOPkoH~$CG~fSZb;(2S4Q6Vpe9G83V={hwQ>acu+MCX)@0i>Vd`% z4I8Ye+7&Kcbh(*bN1etKmrpN)v|=eI+$oD=zzii6nP&w|kn2Y-f!(v<aE zKmOz#{6PZB(8zD={il`RO6D}v(@mN_66KXUAEefgg|;VmBfP?UrfB$&zaRw7oanna zkNmVGz4Vhd!vZSnp1(&_5^t;eSv6O771BloJAHi=Pnn+aa6y(e2iiE97uZ{evzQ^8 z*lN@ZYx<-hLXP^IuYLGf<01O*>nDp0fo;;Iyt`JADrxt7-jEF(vv_btyp6CT8=@5t zm`I0lW+2+_xj2CRL|40kcYysuyYeiGihGe&a)yilqP}5h+^)m8$=mzrUe`$(?BIY> zfF7-V10Gu0CkWF)wz04&hhI>es0NS7d`cnT`4y8K!wUAKv$H09fa>KeNQvwUNDT1zn}_*RHykC$CD%*h7vRCQ&Z z4&N-!L>(@8i?K$l5)13n0%VPPV`iG7Q$2{1T3JypLSvN%1kX73goBIOEmg=Uf$9e? zm}g>JFu}EQKH>|K!)m9teoCmTc`y2Ll}msZYyy0Pkqjeid66>DP_?C{KCw94lHvLW z-+X!2YSm70s833lH0o+|A%Xwsw`@8lE3ia0n_Dve;LC7@I+i~@%$lD|3fNf&R6ob6 z@iGfx^OC4s`$|vO!0jTWwVpX;X^EqJF{i324I>N=f@u+rTN+xJGGR0LsCQc;iFD=F zbZJrgOpS;04o^wP7HF5QBaJ$KJgS2V4u02ViWD=6+7rcu`uc&MOoyf%ZBU|gQZkUg z<}ax>*Fo?d*77Ia)+{(`X45{a8>Bi$u-0BWSteyp#GJnTs?&k&<0NeHA$Qb3;SAJK zl}H*~eyD-0qHI3SEcn`_7d zq@YRsFdBig+k490BZSQwW)j}~GvM7x>2ymO4zakaHZ!q6C2{fz^NvvD8+e%7?BQBH z-}%B{oROo2+|6g%#+XmyyIJrK_(uEbg%MHlBn3^!&hWi+9c0iqM69enep#5FvV_^r z?Yr(k*5FbG{==#CGI1zU0Wk{V?UGhBBfv9HP9A-AmcJmL^f4S zY3E2$WQa&n#WRQ5DOqty_Pu z-NWQGCR^Hnu^Vo2rm`-M>zzf|uMCUd1X0{wISJL2Pp=AO5 zF@(50!g|SYw3n<_VP0T~`WUjtY**6Npphr5bD%i3#*p7h8$#;XTLJAt5J-x~O1~`z z`2C~P4%XSI(JbrEmVMEwqdsa^aqXWg;A6KBn^jDxTl!}Q!^WhprL$kb(Iqq zUS`i$tIPs#hdE-zAaMGoxcG?Z;RO2L0Y|gcjV_)FFo|e)MtTl`msLTwq>po$`H6_U zhdWK97~M>idl9GE_WgobQkK_P85H_0jN?s3O)+m&68B`_;FnbZ3W*Qm++ghSs7|T4b7m~VVV%j0gl`Iw!?+-9#Lsb!j3O%fSTVuK z37V>qM81D+Atl};23`TqEAfEkQDpz$-1$e__>X2jN>xh@Sq)I6sj@< ziJ^66GSmW9c%F7eu6&_t$UaLXF4KweZecS1ZiHPWy-$e_7`jVk74OS*!z=l#(CQ^K zW-ke|g^&0o=hn+4uh-8lUh0>!VIXXnQXwKr>`94+2~<;+`k z$|}QZ>#pm2g}8k*;)`@EnM~ZQtci%_$ink9t6`HP{gn}P1==;WDAld3JX?k%^GcTU za>m|CH|UsyFhyJBwG5=`6562hkVRMQ=_ron-Vlm$4bG^GFz|Jh5mM{J1`!!hAr~8F^w> z^YhQ=c|bFn_6~9X$v(30v$5IX;#Nl-XXRPgs{g_~RS*znH^6Vhe}8>T?aMA|qfnWO zQpf(wr^PfygfM+m2u!9}F|frrZPBQ!dh(varsYo!tCV)WA(Wn^_t=WR_G7cQU`AGx zrK^B6<}9+$w;$vra)QWMKf_Tnqg93AMVZ6Qd=q6rdB{;ZhsoT zWy9QhnpEnc@Dauz4!8gq zqDanAX#$^vf-4~ZqUJtSe?SO+Hmb?)l2#}v(8}2+P{ZZuhlib0$3G0|a5?JR>QgUUP$HTE5hb`h>imq#7P+Y*-UVLm@9km|V# zoigziFt$bxgQMwqKKhd!c--&ciywIED>faY3zHLrA{V#IA)!mq!FXxf?1coGK~N(b zjwu*@2B1^(bzFVBJO`4EJ$=it!a0kbgUvPL;Er(0io{W4G7Bkqh)=g)uS|l0YfD}f zaCJwY7vR-D=P9M68`cmtmQ^!F-$lt@0S|9G7cHgT13A0xMv)HmH#Z<4{~iYo_VOD{ z5!kU+>mUOvHouw+-y?*cNlUlDwD#;6ZvAIc$YcwG&qKZFh>EtM(Eda+w)E$HcfZyB zG*$<*ae_ApE%gxWx%O^~XMnRSNLv!y`g99F(J_m)spJAc95P|_joOIoru%atbw z9PYgkcE*8x#)-W{>96KDl&74iW<#wrK)1s zxzU{`rW5af+dT6Z@_1dG<}CtDMT`EGVEXSL_5D9)Z;6UJe-TW7)M?bY%E;8G?Yc!$ zic;F5=#dba^P~7f#qvC}Nd#XEo2r_UlgfR_`B2^W0QjXU?RAi$>f&{G_Lu8Fp0qDp z?vAdm%z#3kcZmaJ@afooB=A@>8_N~O9Yzu=ZCEikM>UgU+{%>pPvmSNzGk@*jnc5~ z(Z#H4OL^gw>)gqZ!9X|3i4LAdp9vo)?F9QCR3##{BHoZ73Uk^Ha={2rc*TBijfKH- z=$cZQdc<5%*$kVo|{+bL3 zEoU&tq*YPR)^y-SISeQNQ)YZ9v>Hm4O=J)lf(y=Yu1ao&zj#5GVGxyj%V%vl9}dw< zO;@NRd4qe@Et}E@Q;SChBR2QPKll1{*5*jT*<$$5TywvC77vt=1=0xZ46>_17YzbiBoDffH(1_qFP7v2SVhZmA_7JDB50t#C39 z8V<9(E?bVWI<7d6MzcS^w!XmZ**{AO!~DZNU)pgr=yY1 zT@!AapE;yg&hmj*g{I3vd## zx+d%^O?d%%?Dba|l~X6ZOW|>FPsrjPjn-h4swysH!RNJUWofC?K(^0uHrBPrH5#W> zMn8^@USzjUucqo%+5&))Dnnw`5l1mp>roaA99Nkk4keZl2wAF7oa(!x?@8uGWzc5Q zM}g`}zf-D@B6lVFYWmmJ8a+_%z8g$C7Ww~PD9&jki08NY!b!fK288R;E?e3Z+Pk{is%HxQU`xu9+y5 zq?DWJD7kKp(B2J$t5Ij8-)?g!T9_n<&0L8F5-D0dp>9!Qnl#E{eDtkNo#lw6rMJG$ z9Gz_Z&a_6ie?;F1Y^6I$Mg9_sml@-z6t!YLr=ml<6{^U~UIbZUUa_zy>fBtR3Rpig zc1kLSJj!rEJILzL^uE1mQ}hjMCkA|ZlWVC9T-#=~ip%McP%6QscEGlYLuUxDUC=aX zCK@}@!_@~@z;70I+Hp5#Tq4h#d4r!$Np1KhXkAGlY$ap7IZ9DY})&(xoTyle8^dBXbQUhPE6ehWHrfMh&0=d<)E2+pxvWo=@`^ zIk@;-$}a4zJmK;rnaC)^a1_a_ie7OE*|hYEq1<6EG>r}!XI9+(j>oe!fVBG%7d}?U z#ja?T@`XO(;q~fe2CfFm-g8FbVD;O7y9c;J)k0>#q7z-%oMy4l+ zW>V~Y?s`NoXkBeHlXg&u*8B7)B%alfYcCriYwFQWeZ6Qre!4timF`d$=YN~_fPM5Kc8P;B-WIDrg^-j=|{Szq6(TC)oa!V7y zLmMFN1&0lM`+TC$7}on;!51{d^&M`UW ztI$U4S&}_R?G;2sI)g4)uS-t}sbnRoXVwM!&vi3GfYsU?fSI5Hn2GCOJ5IpPZ%Y#+ z=l@;;{XiY_r#^RJSr?s1) z4b@ve?p5(@YTD-<%79-%w)Iv@!Nf+6F4F1`&t~S{b4!B3fl-!~58a~Uj~d4-xRt`k zsmGHs$D~Wr&+DWK$cy07NH@_z(Ku8gdSN989efXqpreBSw$I%17RdxoE<5C^N&9sk!s2b9*#}#v@O@Hgm z2|U7Gs*@hu1JO$H(Mk)%buh~*>paY&Z|_AKf-?cz6jlT-v6 zF>l9?C6EBRpV2&c1~{1$VeSA|G7T(VqyzZr&G>vm87oBq2S%H0D+RbZm}Z`t5Hf$C zFn7X*;R_D^ z#Ug0tYczRP$s!6w<27;5Mw0QT3uNO5xY($|*-DoR1cq8H9l}_^O(=g5jLnbU5*SLx zGpjfy(NPyjL`^Oln_$uI6(aEh(iS4G=$%0;n39C(iw79RlXG>W&8;R1h;oVaODw2nw^v{~`j(1K8$ z5pHKrj2wJhMfw0Sos}kyOS48Dw_~=ka$0ZPb!9=_FhfOx9NpMxd80!a-$dKOmOGDW zi$G74Sd(-u8c!%35lL|GkyxZdlYUCML{V-Ovq{g}SXea9t`pYM^ioot&1_(85oVZ6 zUhCw#HkfCg7mRT3|>99{swr3FlA@_$RnE?714^o;vps4j4}u=PfUAd zMmV3j;Rogci^f!ms$Z;gqiy7>soQwo7clLNJ4=JAyrz;=*Yhe8q7*$Du970BXW89Xyq92M4GSkNS-6uVN~Y4r7iG>{OyW=R?@DmRoi9GS^QtbP zFy2DB`|uZTv8|ow|Jcz6?C=10U$*_l2oWiacRwyoLafS!EO%Lv8N-*U8V+2<_~eEA zgPG-klSM19k%(%;3YM|>F||hE4>7GMA(GaOvZBrE{$t|Hvg(C2^PEsi4+)w#P4jE2XDi2SBm1?6NiSkOp-IT<|r}L9)4tLI_KJ*GKhv16IV}An+Jyx z=Mk`vCXkt-qg|ah5=GD;g5gZQugsv!#)$@ zkE=6=6W9u9VWiGjr|MgyF<&XcKX&S3oN{c{jt-*1HHaQgY({yjZiWW97rha^TxZy< z2%-5X;0EBP>(Y9|x*603*Pz-eMF5*#4M;F`QjTBH>rrO$r3iz5 z?_nHysyjnizhZQMXo1gz7b{p`yZ8Q78^ zFJ3&CzM9fzAqb6ac}@00d*zjW`)TBzL=s$M`X*0{z8$pkd2@#4CGyKEhzqQR!7*Lo@mhw`yNEE6~+nF3p;Qp;x#-C)N5qQD)z#rmZ#)g*~Nk z)#HPdF_V$0wlJ4f3HFy&fTB#7Iq|HwGdd#P3k=p3dcpfCfn$O)C7;y;;J4Za_;+DEH%|8nKwnWcD zBgHX)JrDRqtn(hC+?fV5QVpv1^3=t2!q~AVwMBXohuW@6p`!h>>C58%sth4+Baw|u zh&>N1`t(FHKv(P+@nT$Mvcl){&d%Y5dx|&jkUxjpUO3ii1*^l$zCE*>59`AvAja%`Bfry-`?(Oo?5wY|b4YM0lC?*o7_G$QC~QwKslQTWac z#;%`sWIt8-mVa1|2KH=u!^ukn-3xyQcm4@|+Ra&~nNBi0F81BZT$XgH@$2h2wk2W% znpo1OZuQ1N>bX52II+lsnQ`WVUxmZ?4fR_f0243_m`mbc3`?iy*HBJI)p2 z`GQ{`uS;@;e1COn-vgE2D!>EheLBCF-+ok-x5X8Cu>4H}98dH^O(VlqQwE>jlLcs> zNG`aSgDNHnH8zWw?h!tye^aN|%>@k;h`Z_H6*py3hHO^6PE1-GSbkhG%wg;+vVo&dc)3~9&` zPtZtJyCqCdrFUIEt%Gs_?J``ycD16pKm^bZn>4xq3i>9{b`Ri6yH|K>kfC; zI5l&P)4NHPR)*R0DUcyB4!|2cir(Y1&Bsn3X8v4D(#QW8Dtv@D)CCO zadQC85Zy=Rkrhm9&csynbm>B_nwMTFah9ETdNcLU@J{haekA|9*DA2pY&A|FS*L!*O+>@Q$00FeL+2lg2NWLITxH5 z0l;yj=vQWI@q~jVn~+5MG!mV@Y`gE958tV#UcO#56hn>b69 zM;lq+P@MW=cIvIXkQmKS$*7l|}AW%6zETA2b`qD*cL z(=k4-4=t6FzQo#uMXVwF{4HvE%%tGbiOlO)Q3Y6D<5W$ z9pm>%TBUI99MC`N9S$crpOCr4sWJHP)$Zg#NXa~j?WeVo03P3}_w%##A@F|Bjo-nNxJZX%lbcyQtG8sO zWKHes>38e-!hu1$6VvY+W-z?<942r=i&i<88UGWdQHuMQjWC-rs$7xE<_-PNgC z_aIqBfG^4puRkogKc%I-rLIVF=M8jCh?C4!M|Q=_kO&3gwwjv$ay{FUDs?k7xr%jD zHreor1+#e1_;6|2wGPtz$``x}nzWQFj8V&Wm8Tu#oaqM<$BLh+Xis=Tt+bzEpC}w) z_c&qJ6u&eWHDb<>p;%F_>|`0p6kXYpw0B_3sIT@!=fWHH`M{FYdkF}*CxT|`v%pvx z#F#^4tdS0|O9M1#db%MF(5Opy;i( zL(Pc2aM4*f_Bme@o{xMrsO=)&>YKQw+)P-`FwEHR4vjU>#9~X7ElQ#sRMjR^Cd)wl zg^67Bgn9CK=WP%Ar>T4J!}DcLDe z=ehSmTp##KyQ78cmArL=IjOD6+n@jHCbOatm)#4l$t5YV?q-J86T&;>lEyK&9(XLh zr{kPuX+P8LN%rd%8&&Ia)iKX_%=j`Mr*)c)cO1`-B$XBvoT3yQCDKA>8F0KL$GpHL zPe?6dkE&T+VX=uJOjXyrq$BQ`a8H@wN1%0nw4qBI$2zBx)ID^6;Ux+? zu{?X$_1hoz9d^jkDJpT-N6+HDNo%^MQ2~yqsSBJj4@5;|1@w+BE04#@Jo4I63<~?O?ok%g%vQakTJKpMsk&oeVES1>cnaF7ZkFpqN6lx` zzD+YhR%wq2DP0fJCNC}CXK`g{AA6*}!O}%#0!Tdho4ooh&a5&{xtcFmjO4%Kj$f(1 zTk||{u|*?tAT{{<)?PmD_$JVA;dw;UF+x~|!q-EE*Oy?gFIlB*^``@ob2VL?rogtP z0M34@?2$;}n;^OAV2?o|zHg`+@Adk+&@Syd!rS zWvW$e5w{onua4sp+jHuJ&olMz#V53Z5y-FkcJDz>Wk%_J>COk5<0ya*aZLZl9LH}A zJhJ`Q-n9K+c8=0`FWE^x^xn4Fa7PDUc;v2+us(dSaoIUR4D#QQh91R!${|j{)=Zy1 zG;hqgdhSklM-VKL6HNC3&B(p1B)2Nshe7)F=-HBe=8o%OhK1MN*Gq6dBuPvqDRVJ{ z;zVNY?wSB%W0s^OMR_HL(Ws)va7eWGF*MWx<1wG7hZ}o=B62D?i|&0b14_7UG287YDr%?aYMMpeCkY1i`b+H!J9sqrvKc#Y6c8At@QiLSwj)@ifz~Z|c$lOMA@?cPqFRmZ%_>bz2X4(B=`^3;MDjsEeAO=? zSoD&+L>A|fGt7+6kF2@LqhL06sD%|~YsIe=EcWqy{e_61N_D(*CacnMvyXMjP87HI z4PT6!$fzxx{}=>jeqzkkoN+!r9e|@lZUN4pn(T28v`k=_vIhTn^i9O3qTqd)-%!QQ zYB6*6B@&b(!#X4C~59SLZuorNU_wWZA36{>O%iX)VS5NNZh49C_ppI>?)wwml}_0MLzOXT>lmo#&Ew6d?mu8~~I_^4VGBQtCAke;RQa5DL` z1PFDPsKb3CS$v;RhlQ1J@AHa1VRuuxp}NOIvrC>4$$A0Ix0VpAc0lfG%8{mR{TRQ( zbXM#1Tci3H*Wt>cVuMta^6^z`=^B@j+YhJqq9?>zZPxyg2U(wvod=uwJs{8gtpyab zXHQX<0FOGW6+dw&%c_qMUOI^+Rnb?&HB7Fee|33p4#8i>%_ev(aTm7N1f#6lV%28O zQ`tQh$VDjy8x(Lh#$rg1Kco$Bw%gULq+lc4$&HFGvLMO30QBSDvZ#*~hEHVZ`5=Kw z3y^9D512@P%d~s{x!lrHeL4!TzL`9(ITC97`Cwnn8PSdxPG@0_v{No|kfu3DbtF}K zuoP+88j4dP+Bn7hlGwU$BJy+LN6g&d3HJWMAd1P9xCXG-_P)raipYg5R{KQO$j;I9 z1y1cw#13K|&kfsRZ@qQC<>j=|OC?*v1|VrY$s=2!{}e33aQcZghqc@YsHKq^)kpkg z>B;CWNX+K=u|y#N)O>n5YuyvPl5cO6B^scmG?J zC8ix)E1PlhNaw8FpD+b|D$z`Id^4)rJe78MNiBga?Z- z0$L&MRTieSB1_E#KaN*H#Ns1}?zOA%Ybr{G+Sn3moXTVZj=L`nt?D&-MjOMz-Yq&@ z$P3h23d_F8Dcf*?txX7}p>nM*s+65t z1il8bHHsBynUK|aEXSjzY6sz1nZ%|%XeWTcGLRyRl@q4YAR)JovbdTTY&7u>@}28A zgV^Npp?}I!?3K7IXu9ml-Lw;w@9m zBYTeU+Seh8uJ-w?4e_6byq0f7>O3xm(hO}Y=fgU5^vW|>0yQ^0+?}LT55ei$i zzlU-iRbd8TRX9Ept%h%ariV=%u%F@@FA>U*XdAalcH%>#5_a&w)g`uW%3}m?vP- zc5}DkuF6ruKDwEYj+2YTSQ9=rkp19U5P@(zRm(nLod(sG9{~nw1BUoS2OFDXa{xfw zZ~UaZLFUZxfQ*9?_X?*~`d;nn-BbaefLJ`DT13KF6?T5Mnt;v5d>H}s)aAIzJcs#B z|CuXPJKww}hWBKsUfks#Kh$)ptp?5U1b@ttXFRbe_BZ&_R9XC6CA4WhWhMUE9Y2H4 z{w#CBCR<)Fd1M;mx*m?Z=L-^1kv1WKtqG(BjMiR4M^5yN4rlFM6oGUS2Wf~7Z@e*- ze84Vr`Bmi!(a1y}-m^HHMpbAiKPVEv|(7=|}D#Ihfk+-S5Hlkfch02z&$(zS3vrYz2g*ic{xBy~*gIp(eG}^gMc7 zPu2Eivnp@BH3SOgx!aJXttx*()!=2)%Bf$Gs^4cCs@)=(PJNxhH5lVY&qSZYaa?A^LhZW`B9(N?fx<^gCb(VE%3QpA*_Pohgp6vCB36iVaq zc1TI%L2Le?kuv?6Dq`H+W>AqnjyEzUBK948|DB|)U0_4DzWF#7L{agwo%y$hC>->r z4|_g_6ZC!n2=GF4RqVh6$$reQ(bG0K)i9(oC1t6kY)R@DNxicxGxejwL2sB<>l#w4 zE$QkyFI^(kZ#eE5srv*JDRIqRp2Totc8I%{jWhC$GrPWVc&gE1(8#?k!xDEQ)Tu~e zdU@aD8enALmN@%1FmWUz;4p}41)@c>Fg}1vv~q>xD}KC#sF|L&FU);^Ye|Q;1#^ps z)WmmdQI2;%?S%6i86-GD88>r|(nJackvJ#50vG6fm$1GWf*f6>oBiDKG0Kkwb17KPnS%7CKb zB7$V58cTd8x*NXg=uEX8Man_cDu;)4+P}BuCvYH6P|`x-#CMOp;%u$e z&BZNHgXz-KlbLp;j)si^~BI{!yNLWs5fK+!##G;yVWq|<>7TlosfaWN-;C@oag~V`3rZM_HN`kpF`u1p# ztNTl4`j*Lf>>3NIoiu{ZrM9&E5H~ozq-Qz@Lkbp-xdm>FbHQ2KCc8WD7kt?=R*kG# z!rQ178&ZoU(~U<;lsg@n216Ze3rB2FwqjbZ=u|J?nN%<4J9(Bl(90xevE|7ejUYm9 zg@E_xX}u2d%O1mpA2XzjRwWinvSeg)gHABeMH(2!A^g@~4l%8e0WWAkBvv60Cr>TR zQB1%EQ zUoZeUdqjh+1gFo6h~C~z#A57mf5ibmq$y_uVtA_kWv8X)CzfVEooDaY!#P?5$Y zGPKXbE<75nc%D-|w4OrP#;87oL@2^4+sxKah;a-5&z_&SUf~-z(1}bP=tM^GYtR3a z!x4zjSa^)KWG6jxfUI#{<26g$iAI;o_+B{LXY@WfWEdEl6%#8s3@b`?&Tm#aSK!~| z^%DdrXnijW`d!ajWuKApw&{L+WCPpFialo&^dZ9jC7A%BO`2ZF&YUDe;Yu|zFuv`2 z)BE*7Lkay)M7uohJ)446X``0x0%PzPTWY92`1Oq4a2D_7V0wypPnXFR)WM0IlFgg@ zqz#hv2xJEQL8eu}O;e(w4rSA?5|eZHbS6jENytJBq59?bOf>Wrl8ySZH36H(6fGR#vHM6q zn}!7!I@4$*+LFXs{x?|=q2*QtYT%Lw3+5(8uc0j8o3}TrG(zSV#>4wo6~)u|R+Yx# z?0$AspZDjv{dfv417~C17Oy%Fal{%+B6H(NX`$Bl>II-L3N3 zZc+sKZbqewU*&_Xt;9k=%4*aVYBvE1n&JZS7Uqjd%n8nOQmzh^x#vWK{;In~=QO)g zT-n3OU(1@3QfL|$g1d2xeBb@O15Rl01+hmpup2De7p%Yrd$E7(In!*R+;IJZh}v!svi z;7N~pq8KZDXXap0qd_D=Y^B)rz4S0^SF=&v6YYTAV$ad43#x!+n~-6< zK{8*vWoAdW(gGGt&URD}@g6tMoY(+Lw=vvxhfIIK9AjvNF_(W}1Rxn(mp;tJfDV<0 zbJN0t(@Xb8UeO{&T{$$uDrs7)j$}=?WsuDl+T2N5Y<4TMHGOMcocPr$%~(yvtKv(n z`U96d!D0cb9>Dx2zz$m&lAhazs%UeR^K*gb>d8CPs+?qlpfA;t{InXa)^2ryC(FU(Zc6Xbnnh`lg`K&g^JeS>}^c0MJKUCfV+~ zV(EN0Z5ztoN;hqcj!8V+VRbSltJ<~|y`U+9#wv|~H zNE!j9uXa=dec@JQSgJ6N6@Il&tzCBJv9#ldR`Lm*<)YwH4tdlAlG0Fl8Nfa(J~c%DQ2AA-}x8D=p(l#n1+hgx;N;1Aq?lq@{Lt9FKu89CjnnHD1G_@p;%Lp`+b@ttb33!E_Xt;QUD9~nRQl&xAro9-{+&6^ljK2f-d>&qy&d#0xwH z@slNv@ULKp!Cf*JHuS@#4c?F->WjPc)yiuSargAIEg>muRxzY?Hzdq@G5CS)U1*Et zE2SLh=@DI1J(guiy2Igq(?(xI9WL%g^f@{5Hmr|!Qz4`vn|LjrtO=b~I6~5EU5Fxy z;-#<)6w#w=DkpSthAu+E;OL?!?6C9Mwt*o(@68(Jhvs-eX4V z=d=>HI|`3J%H5X|gSrC8KH^IL?h5=3ID6svwHH@(wRbSG`Zsor^q4`3PCn#-(YX?< z_q8+T)51$E0xyKR{L!LN(G=+9K6$3#PDT^IAe|Igkx=!4#rqKWoXiZdh`&ocjp=Ok zemJe6*{it~>;sr(B0fSmp(S#*y5I0)OOz~Oe6Im+($S}e3tyx7Y6pA8vKCBmSEQDa zLfkm*;uMbTLpcR0)tF_v-lbK%`5>POyI2E(!)2=Rj0p;WKi=|UNt6HsQv0xR3QIK9 zsew(AFyzH!7Azxum{%VC^`cqhGdGbABGQ4cYdNBPTx+XpJ=NUEDeP^e^w^AOE1pQI zP{Us-sk!v$gj}@684E!uWjzvpoF|%v-6hwnitN1sCSg@(>RDCVgU8Ile_-xX`hL6u zzI4*Q)AVu(-ef8{#~P9STQ5t|qIMRoh&S?7Oq+cL6vxG?{NUr@k(~7^%w)P6nPbDa~4Jw}*p-|cT4p1?)!c0FoB(^DNJ+FDg+LoP6=RgB7Or673WD5MG&C!4< zerd6q$ODkBvFoy*%cpHGKSt z3uDC6Sc=xvv@kDzRD)aIO`x}BaWLycA%(w-D`Pd+uL*rL|etagQ;U&xt_9?7#}=}5HI)cU-0 z%pMA`>Xb7s)|Y)4HKSZOu;{lg=KjeIyXb0{@EM`FTDkLRH`!W%z*lQJ74P%Ka76)H zblrSIzf+dMWbO`g;=(b@{pS)zUcO&GrIFe%&?YeX4r8B2bBArB%-5ZrQ+vonr%AYy z1+u0*K{UVUmV>h5vD!F;6}a%KdMZQLs04oGkpiaC)zI( zT2U9qta5o|6Y+It1)sE8>u&0)W~l$NX@ZQ8UZfB=`($EW6?FT%{EoRhOrb9)z@3r8y?Z99FNLDE;7V=Q zotj&igu*Rh^VQn3MQKBq!T{yTwGhn1YL6k*?j?{_ek5xe8#i#GG4S-a_Re2lssG!} z`Y-d0BcOdB@!m?4y&hMN68}#0-IIlm_xO)d#}ugX{q^OZe{-@LeJyv`cY&ze4t2~! zKb{qX-j;kt{?gC(vW%}X4pm@1F?~LH{^Q8d@X$dy@5ff~p!J3zmA>H`A)y+6RB_h* zZfIO+bd=*LiymRw{asW%xxaVl33_xtdVrrqIPn zc@y8oMJvNtgcO~4i0`f)GCFkWY8EF?4duLVjHTdb6oYLnO9}Q-pe{CKQJL)hV8)JI z$mVA0Dq&7Z1TbYdSC(WbJ+IBjXngZTu&I+vHF|>Zo$757{8lL;8Zr-Exkf?3jzN5k z_d9I>{>^J?!l)< zNd$7E9FVrta}3qy3L7Ys$^fRWNuu^hs^{*eXvazd&+Q*?lTfc>2+EdP(o0P_Z05HX zVKsfFAQ{t^CRu~Dw(CuJ>tvx*p$5@flA>QRl455b&{*U?xU8`)nF2T$uu_(l8VNtq z?pBiRQIckGzk8W&SFSB=g6eG`ZC;6v9w`?eF*S}3E@N`2ropeHP)E}o?qJkyVEI;K$!)bWY zt9>4WmDVJh7U~m$|K`T#hF!v|znj^=M;69uXrFys#51XT;DbMr4H)>7UQ1e2(cuQf z4kr~Tt1tpBB2GaJ(|j~lHgW40EgMMVqR6eJoJig1SBg|2=$~4I3P0eP$q%_`sS&4~ z26=&a&tLjQbch1`cVXa-2fTl1y8}->|Nqu?uVrNTov!=VKh)g89wUPTgAzkSKZ57_ zr=B^mcldE3K04t4{;RaG53&9yovq;@aR#VHx+R1^^*kr-vEEd!uea68Z<{R%_DD6fn&T4 zu;fDj07L-(_fLSJGdkeh&c&7A(ZLj`7iwnkAcqUexU;WjUkqeg1m1-IUZTIZA(4dtr2Gr`e{BIejlCgS<33MB=1!8?a74!F%=Uo7N`F@k} ze+1C_eU4Y_$mvdjci zwEtCIphA2PBzBhng5=M#e4r%)RW5rVD|_`PvY$7BK`}w~d>%0O9sY#*LUAq=^OjMF^PY5m<7!=s5jyRfosCQAo#hL`h5vN-M}6Q z0Li}){5?wi8)GVHNkF|U9*8V5ej)nhb^TLw1KqiPK(@{P1^L&P=`ZNt?_+}&0(8Uh zfyyZFPgMV7ECt;Jdw|`|{}b$w4&x77VxR>8wUs|GQ5FBf1UlvasqX$qfk5rI4>Wfr zztH>y`=daAef**C12yJ7;LDf&3;h3X+5@dGPy@vS(RSs3CWimbTp=g \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/libservice/AndroidManifest.xml b/libservice/AndroidManifest.xml new file mode 100644 index 0000000..0a0938a --- /dev/null +++ b/libservice/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + diff --git a/libservice/build.gradle b/libservice/build.gradle new file mode 100644 index 0000000..d822818 --- /dev/null +++ b/libservice/build.gradle @@ -0,0 +1,35 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger() + namespace 'com.cocos.service' + defaultConfig { + minSdkVersion PROP_MIN_SDK_VERSION + targetSdkVersion PROP_TARGET_SDK_VERSION + versionCode 1 + versionName "1.0" + } + + sourceSets.main { + java.srcDirs "src" + res.srcDirs 'res' + jniLibs.srcDirs 'libs' + manifest.srcFile "AndroidManifest.xml" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) + implementation project(':libcocos') +} diff --git a/libservice/proguard-rules.pro b/libservice/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/libservice/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/libservice/src/com/cocos/service/SDKWrapper.java b/libservice/src/com/cocos/service/SDKWrapper.java new file mode 100644 index 0000000..e7ab46f --- /dev/null +++ b/libservice/src/com/cocos/service/SDKWrapper.java @@ -0,0 +1,185 @@ +/**************************************************************************** + Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. + http://www.cocos.com + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated engine source code (the "Software"), a limited, + worldwide, royalty-free, non-assignable, revocable and non-exclusive license + to use Cocos Creator solely to develop games on your target platforms. You shall + not use Cocos Creator software for developing other software or tools that's + used for developing games. You are not granted to publish, distribute, + sublicense, and/or sell copies of Cocos Creator. + The software or tools in this License Agreement are licensed, not sold. + Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +package com.cocos.service; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.AssetManager; +import android.content.res.Configuration; +import android.os.Bundle; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.List; + +public final class SDKWrapper { + private SDKWrapper() {} + private static class SDKWrapperInstance { + private static final SDKWrapper mInstance = new SDKWrapper(); + } + public static SDKWrapper shared() { return SDKWrapperInstance.mInstance; } + + @SuppressWarnings("unused") + public interface SDKInterface { + default void init(Context context) {} + default void onStart() {} + default void onPause() {} + default void onResume() {} + default void onStop() {} + default void onDestroy() {} + default void onRestart() {} + default void onNewIntent(Intent intent) {} + default void onActivityResult(int requestCode, int resultCode, Intent data) {} + default void onConfigurationChanged(Configuration newConfig) {} + default void onRestoreInstanceState(Bundle savedInstanceState) {} + default void onSaveInstanceState(Bundle outState) {} + default void onBackPressed() {} + default void onLowMemory() {} + } + + private WeakReference mActivity = null; + private List serviceInstances; + + private void loadSDKInterface() { + ArrayList instances = new ArrayList<>(); + try { + String json = this.getJson("service.json"); + JSONObject jsonObject = new JSONObject(json); + JSONArray serviceClasses = jsonObject.getJSONArray("serviceClasses"); + if (serviceClasses == null) return; + int length = serviceClasses.length(); + for (int i = 0; i < length; i++) { + instances.add((SDKInterface) Class.forName(serviceClasses.getString(i)).newInstance()); + } + } catch (Exception ignored) { } + this.serviceInstances = instances; + } + + @SuppressWarnings("SameParameterValue") + private String getJson(String fileName) { + StringBuilder sb = new StringBuilder(); + try { + AssetManager am = this.mActivity.get().getAssets(); + BufferedReader br = new BufferedReader(new InputStreamReader(am.open(fileName))); + String next; + while (null != (next = br.readLine())) { sb.append(next); } + } catch (IOException e) { + sb.delete(0, sb.length()); + } + return sb.toString().trim(); + } + + public Activity getActivity() { return this.mActivity.get(); } + + public void init(Activity activity) { + this.mActivity = new WeakReference<>(activity); + this.loadSDKInterface(); + for (SDKInterface sdk : this.serviceInstances) { + sdk.init(activity); + } + } + + public void onResume() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onResume(); + } + } + + public void onPause() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onPause(); + } + } + + public void onDestroy() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onDestroy(); + } + } + + public void onActivityResult(int requestCode, int resultCode, Intent data) { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onActivityResult(requestCode, resultCode, data); + } + } + + public void onNewIntent(Intent intent) { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onNewIntent(intent); + } + } + + public void onRestart() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onRestart(); + } + } + + public void onStop() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onStop(); + } + } + + public void onBackPressed() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onBackPressed(); + } + } + + public void onConfigurationChanged(Configuration newConfig) { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onConfigurationChanged(newConfig); + } + } + + public void onRestoreInstanceState(Bundle savedInstanceState) { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onRestoreInstanceState(savedInstanceState); + } + } + + public void onSaveInstanceState(Bundle outState) { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onSaveInstanceState(outState); + } + } + + public void onStart() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onStart(); + } + } + + public void onLowMemory() { + for (SDKInterface sdk : this.serviceInstances) { + sdk.onLowMemory(); + } + } +} \ No newline at end of file diff --git a/local.properties b/local.properties new file mode 100644 index 0000000..1936549 --- /dev/null +++ b/local.properties @@ -0,0 +1 @@ +sdk.dir=D\:\\tools\\Android\\Sdk\\ \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml new file mode 100644 index 0000000..90c4b63 --- /dev/null +++ b/res/values/strings.xml @@ -0,0 +1,3 @@ + + magotest + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..4091c2c --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +include ':libcocos',':libservice',':app' +project(':libcocos').projectDir = new File(COCOS_ENGINE_PATH,'cocos/platform/android/libcocos2dx') +project(':app').projectDir = new File(NATIVE_DIR, 'app') +project(':app').name = "magotest" +if(PROP_ENABLE_INSTANT_APP == "true" || PROP_ENABLE_INSTANT_APP == "yes") { + include ':instantapp' + project(':instantapp').projectDir = new File(NATIVE_DIR, 'instantapp') +} + +rootProject.name = "magotest"