安全分析报告: Trials of Heroes v2.7.3

安全分数


安全分数 48/100

风险评级


等级

  1. A
  2. B
  3. C
  4. F

严重性分布 (%)


隐私风险

14

用户/设备跟踪器


调研结果

高危 5
中危 20
信息 3
安全 3
关注 1

高危 该文件是World Writable。任何应用程序都可以写入文件

该文件是World Writable。任何应用程序都可以写入文件
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#testing-local-storage-for-sensitive-data-mstg-storage-1-and-mstg-storage-2

Files:
com/ironsource/mediationsdk/utils/IronSourceUtils.java, line(s) 489
com/json/mediationsdk/utils/IronSourceUtils.java, line(s) 491

高危 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。

应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/ironsource/mediationsdk/utils/IronSourceAES.java, line(s) 74,142
com/json/mediationsdk/utils/IronSourceAES.java, line(s) 74,142

高危 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击

如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-7

Files:
com/game/billing/PurchaseActivity.java, line(s) 256,264,275,15,16
com/safedk/android/internal/partials/AdMobNetworkBridge.java, line(s) 112,5
com/safedk/android/internal/partials/AppLovinNetworkBridge.java, line(s) 112,4
com/safedk/android/internal/partials/MintegralNetworkBridge.java, line(s) 131,4
com/safedk/android/internal/partials/PangleNetworkBridge.java, line(s) 132,5
com/safedk/android/internal/partials/UnityAdsNetworkBridge.java, line(s) 47,5
com/safedk/android/internal/partials/UnityCoreNetworkBridge.java, line(s) 119,5

高危 已启用远程WebView调试

已启用远程WebView调试
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04c-Tampering-and-Reverse-Engineering.md#debugging-and-tracing

Files:
com/applovin/impl/adview/AppLovinWebViewBase.java, line(s) 29,6
com/applovin/impl/adview/l.java, line(s) 29,7
com/safedk/android/internal/SafeDKWebAppInterface.java, line(s) 268,7

高危 应用程序包含隐私跟踪程序

此应用程序有多个14隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。

中危 应用程序已启用明文网络流量

[android:usesCleartextTraffic=true]
应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。

中危 应用程序数据可以被备份

[android:allowBackup=true]
这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。

中危 Content Provider (com.facebook.FacebookContentProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: com.google.android.c2dm.permission.SEND [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Service (com.google.android.gms.auth.api.signin.RevocationBoundService) 受权限保护, 但是应该检查权限的保护级别。

Permission: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Activity (com.facebook.CustomTabActivity) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_JOB_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.DUMP [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.DUMP [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (com.mbridge.msdk.foundation.same.broadcast.NetWorkChangeReceiver) 未被保护。

[android:exported=true]
发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据

应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage

Files:
com/apm/insight/entity/d.java, line(s) 44
com/apm/insight/l/n.java, line(s) 59,70,79
com/apm/insight/nativecrash/a.java, line(s) 483
com/ironsource/ab.java, line(s) 707,396,572
com/ironsource/de.java, line(s) 263,352
com/ironsource/sdk/utils/SDKUtils.java, line(s) 274
com/json/ab.java, line(s) 706,395,571
com/json/de.java, line(s) 267,356
com/json/sdk/utils/SDKUtils.java, line(s) 302
com/mbridge/msdk/foundation/same/report/crashreport/b.java, line(s) 55
com/mbridge/msdk/foundation/same/report/crashreport/e.java, line(s) 112
com/mbridge/msdk/foundation/tools/r0.java, line(s) 37,53,76
com/pgl/ssdk/z.java, line(s) 44
com/safedk/android/utils/b.java, line(s) 134
com/unity3d/ads/core/data/datasource/AndroidDynamicDeviceInfoDataSource.java, line(s) 584,538
com/unity3d/services/core/cache/CacheDirectory.java, line(s) 45
com/vungle/ads/internal/platform/AndroidPlatform.java, line(s) 113
org/cocos2dx/lib/Cocos2dxHelper.java, line(s) 146

中危 MD5是已知存在哈希冲突的弱哈希

MD5是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/apm/insight/l/m.java, line(s) 71
com/bykv/vk/openvk/Lxb/Lxb/Lxb/ebl/LD.java, line(s) 18
com/bykv/vk/openvk/preload/geckox/utils/d.java, line(s) 16
com/ironsource/mediationsdk/utils/IronSourceUtils.java, line(s) 415
com/ironsource/sdk/utils/SDKUtils.java, line(s) 191
com/json/mediationsdk/utils/IronSourceUtils.java, line(s) 417
com/json/sdk/controller/s.java, line(s) 46
com/json/sdk/utils/SDKUtils.java, line(s) 219
com/mbridge/msdk/foundation/download/resource/MBResourceManager.java, line(s) 90
com/mbridge/msdk/foundation/tools/l0.java, line(s) 17,31
com/pgl/ssdk/t.java, line(s) 375
com/safedk/android/analytics/a.java, line(s) 59
com/safedk/android/analytics/brandsafety/BrandSafetyUtils.java, line(s) 556,1174,1185

中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
com/apm/insight/e/a/a.java, line(s) 4,37
com/apm/insight/e/a/b.java, line(s) 4,22,23,33
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/LD/ZU.java, line(s) 4,5,14,20,21,23,25
com/bykv/vk/openvk/preload/geckox/a/b.java, line(s) 6,7,38
com/game/billing/DataProvider.java, line(s) 6,7,90,91
com/ironsource/fa.java, line(s) 6,7,27,90,123,149
com/json/da.java, line(s) 6,7,213,218
com/json/fa.java, line(s) 6,7,28,91,124,150
com/mbridge/msdk/foundation/db/BatchReportDao.java, line(s) 6,78
com/mbridge/msdk/foundation/db/c.java, line(s) 5,51
com/mbridge/msdk/foundation/db/e.java, line(s) 6,172,1077
com/mbridge/msdk/foundation/db/g.java, line(s) 4,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85
com/mbridge/msdk/foundation/download/database/DatabaseHelper.java, line(s) 6,94,161,202,313,321
com/mbridge/msdk/tracker/b.java, line(s) 4,5,22,36,37,51,52
org/cocos2dx/lib/Cocos2dxLocalStorage.java, line(s) 5,6,48

中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等

文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10

Files:
com/applovin/impl/sdk/AppLovinSdkInitializationConfigurationImpl.java, line(s) 169,136
com/applovin/impl/sdk/j.java, line(s) 1317
com/applovin/mediation/MaxSegment.java, line(s) 38
com/applovin/mediation/ads/MaxAdView.java, line(s) 188,178
com/applovin/mediation/ads/MaxAppOpenAd.java, line(s) 66,56
com/applovin/mediation/ads/MaxInterstitialAd.java, line(s) 74,64
com/applovin/mediation/ads/MaxRewardedAd.java, line(s) 86,76
com/applovin/mediation/nativeAds/MaxNativeAdLoader.java, line(s) 79,74
com/applovin/sdk/AppLovinSdk.java, line(s) 210
com/applovin/sdk/AppLovinSdkSettings.java, line(s) 148
com/applovin/sdk/AppLovinWebViewActivity.java, line(s) 33
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/QAg.java, line(s) 205
com/ironsource/adapters/ironsource/IronSourceAdapter.java, line(s) 79,50,49,312
com/ironsource/d8.java, line(s) 100
com/ironsource/li.java, line(s) 115
com/ironsource/mediationsdk/adquality/AdQualityBridgeKt.java, line(s) 8
com/ironsource/mediationsdk/adunit/adapter/utility/AdOptionsPosition.java, line(s) 12
com/ironsource/mediationsdk/c.java, line(s) 300,396
com/ironsource/mediationsdk/p.java, line(s) 2291,2274
com/ironsource/mediationsdk/server/ServerURL.java, line(s) 31,57
com/ironsource/mediationsdk/utils/IronSourceConstants.java, line(s) 107,120
com/ironsource/pr.java, line(s) 12,22
com/ironsource/rr.java, line(s) 97
com/ironsource/xn.java, line(s) 22,28,34,32,26,24,30
com/json/adapters/ironsource/IronSourceAdapter.java, line(s) 80,51,50,387
com/json/adapters/ironsource/IronSourceLoadParameters.java, line(s) 58,61
com/json/d8.java, line(s) 100
com/json/li.java, line(s) 116
com/json/mediationsdk/adquality/AdQualityBridgeKt.java, line(s) 9
com/json/mediationsdk/adunit/adapter/utility/AdOptionsPosition.java, line(s) 13
com/json/mediationsdk/c.java, line(s) 301,397
com/json/mediationsdk/p.java, line(s) 2510,2493
com/json/mediationsdk/server/ServerURL.java, line(s) 31,57
com/json/mediationsdk/utils/IronSourceConstants.java, line(s) 107,120
com/json/pr.java, line(s) 13,23
com/json/rr.java, line(s) 98
com/json/xn.java, line(s) 23,29,35,33,27,25,31
com/mbridge/msdk/MBridgeConstans.java, line(s) 16,51
com/mbridge/msdk/foundation/download/core/DownloadCommon.java, line(s) 21
com/mbridge/msdk/foundation/download/core/DownloaderReporter.java, line(s) 12
com/mbridge/msdk/foundation/entity/CampaignEx.java, line(s) 40
com/mbridge/msdk/foundation/entity/m.java, line(s) 183
com/mbridge/msdk/playercommon/exoplayer2/drm/DefaultDrmSessionManager.java, line(s) 32
com/mbridge/msdk/video/dynview/moffer/MOfferModel.java, line(s) 119
com/safedk/android/analytics/StatsCollector.java, line(s) 356
com/safedk/android/analytics/brandsafety/BannerFinder.java, line(s) 289,479,583,1772,168,177,205,214,223,231,239
com/safedk/android/analytics/brandsafety/FileUploadManager.java, line(s) 413,446,393
com/safedk/android/analytics/brandsafety/FullScreenActivitiesCollection.java, line(s) 69
com/safedk/android/analytics/brandsafety/InterstitialFinder.java, line(s) 469
com/safedk/android/analytics/brandsafety/NativeFinder.java, line(s) 328,123,132,141,149,157,90,99
com/safedk/android/analytics/brandsafety/creatives/discoveries/c.java, line(s) 1065
com/safedk/android/internal/d.java, line(s) 429,672,693
com/safedk/android/utils/PersistentConcurrentHashMap.java, line(s) 228,217,252
com/unity3d/ads/core/configuration/GameServerIdReader.java, line(s) 9
com/unity3d/ads/core/data/datasource/AndroidMediationDataSource.java, line(s) 10,14
com/unity3d/ads/core/data/datasource/AndroidTcfDataSource.java, line(s) 9
com/unity3d/ads/metadata/InAppPurchaseMetaData.java, line(s) 6
com/unity3d/services/ads/gmascar/utils/ScarConstants.java, line(s) 4,5,6,7,9,10
com/unity3d/services/core/configuration/ExperimentObject.java, line(s) 6,7
com/unity3d/services/core/device/reader/DeviceInfoReaderFilterProvider.java, line(s) 11,12
com/unity3d/services/core/device/reader/JsonStorageKeyNames.java, line(s) 4,6,7,8,10,11,12,13,9,14,5,15,16,17
com/unity3d/services/core/properties/SdkProperties.java, line(s) 32
com/vungle/ads/internal/Constants.java, line(s) 20,8,16,28,11,37,17
com/vungle/ads/internal/model/Cookie.java, line(s) 13
com/vungle/ads/internal/model/OmSdkData.java, line(s) 81
com/vungle/ads/internal/signals/SignalManager.java, line(s) 35,37
com/vungle/ads/internal/task/CleanupJob.java, line(s) 25
com/vungle/ads/internal/task/CleanupJobKt.java, line(s) 8
org/cocos2dx/lua/AppUtil.java, line(s) 26,27,28

中危 应用程序使用不安全的随机数生成器

应用程序使用不安全的随机数生成器
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators

Files:
com/apm/insight/e.java, line(s) 7
com/applovin/impl/d7.java, line(s) 62
com/applovin/impl/q7.java, line(s) 18
com/appsflyer/internal/AFb1gSDK.java, line(s) 18
com/ironsource/mb.java, line(s) 5
com/json/mb.java, line(s) 5
com/mbridge/msdk/dycreator/baseview/rewardpopview/MBAcquireRewardPopView.java, line(s) 26
com/mbridge/msdk/playercommon/exoplayer2/source/ShuffleOrder.java, line(s) 4
com/mbridge/msdk/playercommon/exoplayer2/trackselection/RandomTrackSelection.java, line(s) 6
com/mbridge/msdk/playercommon/exoplayer2/upstream/cache/CachedContentIndex.java, line(s) 21
com/safedk/android/analytics/brandsafety/BrandSafetyUtils.java, line(s) 53
com/unity3d/services/core/configuration/Configuration.java, line(s) 22

中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件

应用程序创建临时文件。敏感信息永远不应该被写进临时文件


Files:
com/mbridge/msdk/playercommon/exoplayer2/util/Util.java, line(s) 174
com/safedk/android/a/c.java, line(s) 84

中危 SHA-1是已知存在哈希冲突的弱哈希

SHA-1是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/applovin/impl/l4.java, line(s) 363
com/applovin/impl/sdk/utils/StringUtils.java, line(s) 42
com/json/sdk/utils/SDKUtils.java, line(s) 111
com/pgl/ssdk/t.java, line(s) 356
com/safedk/android/utils/j.java, line(s) 361
com/unity3d/ads/core/data/datasource/AndroidStaticDeviceInfoDataSource.java, line(s) 344
com/unity3d/services/core/device/Device.java, line(s) 459

中危 IP地址泄露

IP地址泄露


Files:
com/applovin/impl/o3.java, line(s) 100,102,97,101,91,106,94,95,99,90,108,103,105,107,104,93,96,110,109,98,92
com/applovin/mediation/adapters/ByteDanceMediationAdapter.java, line(s) 182
com/applovin/mediation/adapters/FacebookMediationAdapter.java, line(s) 114
com/applovin/mediation/adapters/GoogleMediationAdapter.java, line(s) 145
com/applovin/mediation/adapters/IronSourceMediationAdapter.java, line(s) 115
com/applovin/mediation/adapters/UnityAdsMediationAdapter.java, line(s) 85
com/applovin/mediation/adapters/VungleMediationAdapter.java, line(s) 103
com/applovin/mediation/adapters/bytedance/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/facebook/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/google/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/ironsource/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/mintegral/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/unityads/BuildConfig.java, line(s) 9
com/applovin/mediation/adapters/vungle/BuildConfig.java, line(s) 9
com/mbridge/msdk/advanced/view/a.java, line(s) 65

中危 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息

可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-6

Files:
com/applovin/impl/adview/l.java, line(s) 27,23
com/ironsource/kw.java, line(s) 37,39
com/json/kw.java, line(s) 38,40
com/mbridge/msdk/foundation/webview/BrowserView.java, line(s) 286,284
com/mbridge/msdk/mbsignalcommon/base/BaseWebView.java, line(s) 105,103
com/unity3d/services/core/webview/WebView.java, line(s) 134,147
com/vungle/ads/internal/ui/view/MRAIDAdWidget.java, line(s) 200,195

中危 此应用可能包含硬编码机密信息

从应用程序中识别出以下机密确保这些不是机密或私人信息
AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-3131942789501253~2132921892"
"fb_app_id" : "781575725365770"
"firebase_database_url" : "https://trial-of-heroes.firebaseio.com"
"google_crash_reporting_api_key" : "AIzaSyBpxno5OdmNrIeu39MM4ibJx4_wMqm6PQI"
"google_app_id" : "1:1064951258772:android:6953dcacab7cf2ca"
"google_api_key" : "AIzaSyBpxno5OdmNrIeu39MM4ibJx4_wMqm6PQI"
"dyStrategy.privateAddress" : "privateAddress"
cca47107bfcbdb211d88f3385aeede40
DFKwWgtuDkKwLZPwD+z8H+N/xj26Vjcdx5KyVj5GxVN=
936dcbdd57fe235fd7cf61c2e93da3c4
de666676b048887c19cbcf0c5904a3450c4c2cdf
HSrCHRtOan6wp2kwOIGJC1RDtuSrF2mWVbio2aBcMHX9KF3iTJ1lLSzCKP1ZSo5yNolPNw1kCTtWpxELFF4ah1
HkzwDFeD4QuyLdx5igfZYcu9xTM9NN==
PGh0bWw+PGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHN0eWxlPgogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIH0KCiAgICAgICAgLmZsZXgtY29udGFpbmVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nIHsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDsKICAgICAgICB9CgogICAgICAgIC5sZHMtZWxsaXBzaXMgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgICAgIGhlaWdodDogODBweDsKICAgICAgICB9CgogICAgICAgIC5sZHMtZWxsaXBzaXMgZGl2IHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDMzcHg7CiAgICAgICAgICAgIHdpZHRoOiAxM3B4OwogICAgICAgICAgICBoZWlnaHQ6IDEzcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogI0E3QTdBNzsKICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDEsIDApOwogICAgICAgIH0KCiAgICAgICAgLmxkcy1lbGxpcHNpcyBkaXY6bnRoLWNoaWxkKDEpIHsKICAgICAgICAgICAgbGVmdDogOHB4OwogICAgICAgICAgICBhbmltYXRpb246IGxkcy1lbGxpcHNpczEgMC42cyBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIC5sZHMtZWxsaXBzaXMgZGl2Om50aC1jaGlsZCgyKSB7CiAgICAgICAgICAgIGxlZnQ6IDhweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBsZHMtZWxsaXBzaXMyIDAuNnMgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICAubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoMykgewogICAgICAgICAgICBsZWZ0OiAzMnB4OwogICAgICAgICAgICBhbmltYXRpb246IGxkcy1lbGxpcHNpczIgMC42cyBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIC5sZHMtZWxsaXBzaXMgZGl2Om50aC1jaGlsZCg0KSB7CiAgICAgICAgICAgIGxlZnQ6IDU2cHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogbGRzLWVsbGlwc2lzMyAwLjZzIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBsZHMtZWxsaXBzaXMxIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMTAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGxkcy1lbGxpcHNpczMgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAxMDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMiB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAxMDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI0cHgsIDApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHk+CiAgICA8ZGl2IGlkPSJsb2FkaW5nX3dyYXBwZXIiIHN0eWxlPSJkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2hlaWdodDogMTAwJTsiPgo8ZGl2IGNsYXNzPSJjb250YWluZXIgZmxleC1jb250YWluZXIiIHN0eWxlPSIKICAgIGZsZXg6IDE7CiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmxleC1jb250YWluZXIiIHN0eWxlPSIKICAgIGZsZXg6IDE7CiI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIzNiIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDIzNiA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNy44MDYzIDMwLjI4NTRWMTAuNDI4NUwyMC42MTI5IDAuNVY4LjExNjM2TDI3LjM1MDggMTIuMDA5NUMyNy41OTQ1IDEyLjE0NTUgMjcuNjAwMiAxMi41MjUyIDI3LjM1MDggMTIuNjYxMkwxOS4zNDM1IDE3LjI4NTVDMTkuMDk5OCAxNy40MjcxIDE4LjgxNjQgMTcuNDE1OCAxOC41ODk4IDE3LjI4NTVMMTAuNTc2OCAxMi42NjEyQzEwLjMzMzEgMTIuNTI1MiAxMC4zMjc0IDEyLjE0NTUgMTAuNTc2OCAxMi4wMDk1TDE3LjMxNDcgOC4xMjIwMlYwLjUwNTY2OEwwLjExNTY0NiAxMC40Mjg1VjMwLjI4NTRWMzAuMTk0N1YzMC4yODU0TDYuNzExOTMgMjYuNDc3MlYxOC42OTY1QzYuNzA2MjYgMTguNDE4OCA3LjAzNDk0IDE4LjIyMDUgNy4yNzg2MiAxOC4zNzM1TDE1LjI4NiAyMi45OTc3QzE1LjUyOTYgMjMuMTM5NCAxNS42NjU2IDIzLjM4ODcgMTUuNjY1NiAyMy42NDk0VjMyLjg5NzlDMTUuNjcxMyAzMy4xNzU1IDE1LjM0ODMgMzMuMzczOSAxNS4xMDQ2IDMzLjIyNjVMOC4zNjY2NyAyOS4zMzM0TDEuNzcwMzggMzMuMTQxNUwxOC45Njk1IDQzLjA3TDM2LjE2ODUgMzMuMTQxNUwyOS41NjA5IDI5LjMzMzRMMjIuODIyOSAzMy4yMjY1QzIyLjU4NDkgMzMuMzY4MiAyMi4yNTA2IDMzLjE4NjkgMjIuMjU2MyAzMi44OTc5VjIzLjY0OTRDMjIuMjU2MyAyMy4zNzE3IDIyLjQwOTMgMjMuMTI4MSAyMi42MzU5IDIyLjk5NzdMMzAuNjQzMyAxOC4zNzM1QzMwLjg4MTMgMTguMjI2MiAzMS4yMTU2IDE4LjQxMzIgMzEuMjEgMTguNzAyMlYyNi40ODI5TDM3LjgwNjMgMzAuMjg1NFoiIGZpbGw9IiM0RDRENEQiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNS4wOTkgMzMuMjI2Mkw4LjM2MTA2IDI5LjMzM0wxLjc2NDc4IDMzLjE0MTJMMTguOTYzOCA0My4wNjk2VjIxLjMwODZMMC4xMTU3MDcgMTAuNDI4MVYzMC4yODVWMzAuMTk0NFYzMC4yODVMNi43MTE5OSAyNi40NzY5VjE4LjY5NjJDNi43MDYzMiAxOC40MTg1IDcuMDM1IDE4LjIyMDEgNy4yNzg2OCAxOC4zNzMxTDE1LjI4NiAyMi45OTc0QzE1LjUyOTcgMjMuMTM5IDE1LjY2NTcgMjMuMzg4NCAxNS42NjU3IDIzLjY0OTFWMzIuODk3NUMxNS42NzE0IDMzLjE3NTIgMTUuMzQyNyAzMy4zNzM1IDE1LjA5OSAzMy4yMjYyWiIgZmlsbD0iIzRDNEM0QyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4Ljk2MzcgNDMuMDY5NkwzNi4xNjI4IDMzLjE0MTJMMjkuNTYwOSAyOS4zMzNMMjIuODIyOSAzMy4yMjYyQzIyLjU4NDkgMzMuMzY3OCAyMi4yNTA1IDMzLjE4NjUgMjIuMjU2MiAzMi44OTc1VjIzLjY0OTFDMjIuMjU2MiAyMy4zNzE0IDIyLjQwOTIgMjMuMTI3NyAyMi42MzU5IDIyLjk5NzRMMzAuNjQzMiAxOC4zNzMxQzMwLjg4MTIgMTguMjI1OCAzMS4yMTU2IDE4LjQxMjggMzEuMjA5OSAxOC43MDE4VjI2LjQ4MjVMMzcuODA2MiAzMC4yOTA3VjEwLjQyODFMMTguOTYzNyAyMS4zMDg2VjQzLjA2OTZaIiBmaWxsPSJibGFjayI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIwLjYxMjkgMC41VjguMTE2MzZMMjcuMzUwOCAxMi4wMDk1QzI3LjU5NDUgMTIuMTQ1NSAyNy42MDAyIDEyLjUyNTIgMjcuMzUwOCAxMi42NjEyTDE5LjM0MzUgMTcuMjg1NUMxOS4wOTk4IDE3LjQyNzEgMTguODE2NCAxNy40MTU4IDE4LjU4OTggMTcuMjg1NUwxMC41NzY4IDEyLjY2MTJDMTAuMzMzMSAxMi41MjUyIDEwLjMyNzQgMTIuMTQ1NSAxMC41NzY4IDEyLjAwOTVMMTcuMzE0NyA4LjEyMjAyVjAuNTA1NjY4TDAuMTE1NjQ2IDEwLjQyODVMMTguOTYzOCAyMS4zMDlMMzcuODExOSAxMC40Mjg1TDIwLjYxMjkgMC41WiIgZmlsbD0iIzgwODA4MCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjY3NDYgMjMuODUyN0M1OS42NzQ2IDI1Ljg1MzIgNTguNTU4MiAyNy4yODEyIDU2LjIxNzggMjcuMjgxMkM1My43MyAyNy4yODEyIDUyLjcwNDMgMjUuOTM4MiA1Mi43MDQzIDIzLjkzNzdWMTEuNzA4NUg0Ny42NDk0VjIzLjc2NzdDNDcuNjQ5NCAyOC41MzkzIDUwLjUwNTUgMzEuMzM4NyA1Ni4yMjM0IDMxLjMzODdDNjEuOTA3NCAzMS4zMzg3IDY0Ljc0MDggMjguNDgyNiA2NC43NDA4IDIzLjc2NzdWMTEuNzA4NUg1OS42ODU5VjIzLjg1MjdINTkuNjc0NloiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzYuNDcxOSAxNS45MDc4Qzc0LjQ0MzIgMTUuOTA3OCA3My4wNDM1IDE2Ljc2MzUgNzEuOTU1NCAxOC4zMzlINzEuODcwNFYxNi4zMzg1SDY3LjM4MjJWMzAuOTY0OUg3Mi4wNDA0VjIyLjg3ODJDNzIuMDQwNCAyMS4wNzYxIDczLjA3MTggMTkuNzg5NyA3NC42MTMyIDE5Ljc4OTdDNzYuMTI2MyAxOS43ODk3IDc2Ljg5NyAyMC44NDk0IDc2Ljg5NyAyMi4zOTA4VjMwLjk2NDlIODEuNTU1MlYyMS40NTAxQzgxLjU2MDggMTguMTkxNiA3OS42NzM3IDE1LjkwNzggNzYuNDcxOSAxNS45MDc4WiIgZmlsbD0iYmxhY2siPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04OC42MjE2IDEwLjUzNjlIODMuOTYzNFYxNC4zMTFIODguNjIxNlYxMC41MzY5WiIgZmlsbD0iYmxhY2siPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04OC42MjE1IDE2LjMzOTVIODMuOTYzM1YzMC45NzE1SDg4LjYyMTVWMTYuMzM5NVoiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOTYuODIxNyAxMS43MDg1SDkyLjI3NjhWMTYuMzM4NEg5MC4zMzNWMjAuMTEyNkg5Mi4yNzY4VjI3LjExMTJDOTIuMjc2OCAzMC4yNTY0IDk0LjIyMDYgMzEuMTQwNCA5Ni45MzUgMzEuMTQwNEM5OC4xOTMxIDMxLjE0MDQgOTkuMDc3MSAzMS4wMjcxIDk5LjQ3OTQgMzAuOTEzN1YyNy41MTM2Qzk5LjMwOTQgMjcuNTEzNiA5OC44NTA0IDI3LjU0MTkgOTguNDQ4MSAyNy41NDE5Qzk3LjQ1MDcgMjcuNTQxOSA5Ni44MjE3IDI3LjI1ODYgOTYuODIxNyAyNi4xMTM4VjIwLjExMjZIOTkuNDc5NFYxNi4zMzg0SDk2LjgyMTdWMTEuNzA4NVoiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTA5LjM5MSAyMi41NjY1QzEwOC45MzIgMjMuOTk0NiAxMDguNTM1IDI1LjkzODMgMTA4LjUzNSAyNS45MzgzSDEwOC40NzlDMTA4LjQ3OSAyNS45MzgzIDEwOC4wMTkgMjMuOTk0NiAxMDcuNTY2IDIyLjU2NjVMMTA1LjU5NCAxNi4zMzg2SDEwMC42ODFMMTA0Ljk5MyAyNy41OTg4QzEwNS41OTQgMjkuMTQwMiAxMDUuODc3IDMwLjAwMTUgMTA1Ljg3NyAzMC42MjQ5QzEwNS44NzcgMzEuNjIyMyAxMDUuMzMzIDMyLjE2NjMgMTAzLjk2MiAzMi4xNjYzSDEwMi4zNjRWMzUuNzkzMUgxMDUuMzlDMTA4LjMzMSAzNS43OTMxIDEwOS43MzEgMzQuNTkxNyAxMTAuOTA0IDMxLjE2MzNMMTE1Ljk1OSAxNi4zMzI5SDExMS4zMDFMMTA5LjM5MSAyMi41NjY1WiIgZmlsbD0iYmxhY2siPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjIuNzI1IDMxLjE4MDZWMTIuNjA0MUgxMjUuNTI4VjI4Ljc2NzhIMTMzLjk0NVYzMS4xODA2SDEyMi43MjVaIiBmaWxsPSJibGFjayI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi45MyAzMS40NjE4QzE0MS41NTcgMzEuNDYxOCAxNDAuMzc1IDMxLjE2ODUgMTM5LjM4MyAzMC41ODE5QzEzOC4zOTcgMjkuOTg5MyAxMzcuNjM1IDI5LjE1NzkgMTM3LjA5NyAyOC4wODc1QzEzNi41NjUgMjcuMDExMiAxMzYuMjk5IDI1Ljc1MDQgMTM2LjI5OSAyNC4zMDUxQzEzNi4yOTkgMjIuODc4IDEzNi41NjUgMjEuNjIwMiAxMzcuMDk3IDIwLjUzMThDMTM3LjYzNSAxOS40NDMzIDEzOC4zODUgMTguNTkzNyAxMzkuMzQ3IDE3Ljk4M0MxNDAuMzE0IDE3LjM3MjIgMTQxLjQ0NSAxNy4wNjY4IDE0Mi43MzkgMTcuMDY2OEMxNDMuNTI1IDE3LjA2NjggMTQ0LjI4NyAxNy4xOTY4IDE0NS4wMjUgMTcuNDU2OUMxNDUuNzYzIDE3LjcxNjkgMTQ2LjQyNSAxOC4xMjUxIDE0Ny4wMTEgMTguNjgxNEMxNDcuNTk4IDE5LjIzNzcgMTQ4LjA2MSAxOS45NjAzIDE0OC4zOTkgMjAuODQ5M0MxNDguNzM4IDIxLjczMjEgMTQ4LjkwNyAyMi44MDU1IDE0OC45MDcgMjQuMDY5M1YyNS4wMzA4SDEzNy44MzJWMjIuOTk5SDE0Ni4yNDlDMTQ2LjI0OSAyMi4yODU0IDE0Ni4xMDQgMjEuNjUzNSAxNDUuODE0IDIxLjEwMzJDMTQ1LjUyNCAyMC41NDY5IDE0NS4xMTYgMjAuMTA4NSAxNDQuNTkgMTkuNzg4QzE0NC4wNjkgMTkuNDY3NSAxNDMuNDU5IDE5LjMwNzMgMTQyLjc1NyAxOS4zMDczQzE0MS45OTUgMTkuMzA3MyAxNDEuMzMgMTkuNDk0NyAxNDAuNzYyIDE5Ljg2OTZDMTQwLjE5OSAyMC4yMzg1IDEzOS43NjQgMjAuNzIyMyAxMzkuNDU2IDIxLjMyMDlDMTM5LjE1MyAyMS45MTM1IDEzOS4wMDIgMjIuNTU3NSAxMzkuMDAyIDIzLjI1MjlWMjQuODQwM0MxMzkuMDAyIDI1Ljc3MTUgMTM5LjE2NSAyNi41NjM3IDEzOS40OTIgMjcuMjE2OEMxMzkuODI0IDI3Ljg2OTkgMTQwLjI4NyAyOC4zNjg3IDE0MC44OCAyOC43MTM0QzE0MS40NzIgMjkuMDUyIDE0Mi4xNjUgMjkuMjIxNCAxNDIuOTU3IDI5LjIyMTRDMTQzLjQ3MSAyOS4yMjE0IDE0My45MzkgMjkuMTQ4OCAxNDQuMzYzIDI5LjAwMzdDMTQ0Ljc4NiAyOC44NTI1IDE0NS4xNTIgMjguNjI4OCAxNDUuNDYgMjguMzMyNUMxNDUuNzY5IDI4LjAzNjEgMTQ2LjAwNSAyNy42NzAzIDE0Ni4xNjggMjcuMjM0OUwxNDguNzM1IDI3LjY5NzVDMTQ4LjUyOSAyOC40NTM0IDE0OC4xNiAyOS4xMTU1IDE0Ny42MjggMjkuNjg0QzE0Ny4xMDIgMzAuMjQ2MyAxNDYuNDQgMzAuNjg0NyAxNDUuNjQyIDMwLjk5OTJDMTQ0Ljg1IDMxLjMwNzYgMTQzLjk0NiAzMS40NjE4IDE0Mi45MyAzMS40NjE4WiIgZmlsbD0iYmxhY2siPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuNDM2IDE3LjI0ODJMMTU4LjM4MyAzMS4xODA2SDE1NS40ODFMMTUwLjQyIDE3LjI0ODJIMTUzLjMzMUwxNTYuODYgMjcuOTY5NkgxNTcuMDA1TDE2MC41MjQgMTcuMjQ4MkgxNjMuNDM2WiIgZmlsbD0iYmxhY2siPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNzEuNTE1IDMxLjQ2MThDMTcwLjE0MyAzMS40NjE4IDE2OC45NiAzMS4xNjg1IDE2Ny45NjkgMzAuNTgxOUMxNjYuOTgzIDI5Ljk4OTMgMTY2LjIyMSAyOS4xNTc5IDE2NS42ODMgMjguMDg3NUMxNjUuMTUxIDI3LjAxMTIgMTY0Ljg4NSAyNS43NTA0IDE2NC44ODUgMjQuMzA1MUMxNjQuODg1IDIyLjg3OCAxNjUuMTUxIDIxLjYyMDIgMTY1LjY4MyAyMC41MzE4QzE2Ni4yMjEgMTkuNDQzMyAxNjYuOTcxIDE4LjU5MzcgMTY3LjkzMiAxNy45ODNDMTY4LjkgMTcuMzcyMiAxNzAuMDMxIDE3LjA2NjggMTcxLjMyNSAxNy4wNjY4QzE3Mi4xMTEgMTcuMDY2OCAxNzIuODczIDE3LjE5NjggMTczLjYxMSAxNy40NTY5QzE3NC4zNDggMTcuNzE2OSAxNzUuMDEgMTguMTI1MSAxNzUuNTk3IDE4LjY4MTRDMTc2LjE4NCAxOS4yMzc3IDE3Ni42NDYgMTkuOTYwMyAxNzYuOTg1IDIwLjg0OTNDMTc3LjMyMyAyMS43MzIxIDE3Ny40OTMgMjIuODA1NSAxNzcuNDkzIDI0LjA2OTNWMjUuMDMwOEgxNjYuNDE4VjIyLjk5OUgxNzQuODM1QzE3NC44MzUgMjIuMjg1NCAxNzQuNjkgMjEuNjUzNSAxNzQuNCAyMS4xMDMyQzE3NC4xMDkgMjAuNTQ2OSAxNzMuNzAxIDIwLjEwODUgMTczLjE3NSAxOS43ODhDMTcyLjY1NSAxOS40Njc1IDE3Mi4wNDQgMTkuMzA3MyAxNzEuMzQzIDE5LjMwNzNDMTcwLjU4MSAxOS4zMDczIDE2OS45MTYgMTkuNDk0NyAxNjkuMzQ3IDE5Ljg2OTZDMTY4Ljc4NSAyMC4yMzg1IDE2OC4zNSAyMC43MjIzIDE2OC4wNDEgMjEuMzIwOUMxNjcuNzM5IDIxLjkxMzUgMTY3LjU4OCAyMi41NTc1IDE2Ny41ODggMjMuMjUyOVYyNC44NDAzQzE2Ny41ODggMjUuNzcxNSAxNjcuNzUxIDI2LjU2MzcgMTY4LjA3OCAyNy4yMTY4QzE2OC40MSAyNy44Njk5IDE2OC44NzMgMjguMzY4NyAxNjkuNDY1IDI4LjcxMzRDMTcwLjA1OCAyOS4wNTIgMTcwLjc1IDI5LjIyMTQgMTcxLjU0MyAyOS4yMjE0QzE3Mi4wNTcgMjkuMjIxNCAxNzIuNTI1IDI5LjE0ODggMTcyLjk0OCAyOS4wMDM3QzE3My4zNzIgMjguODUyNSAxNzMuNzM4IDI4LjYyODggMTc0LjA0NiAyOC4zMzI1QzE3NC4zNTQgMjguMDM2MSAxNzQuNTkgMjcuNjcwMyAxNzQuNzUzIDI3LjIzNDlMMTc3LjMyIDI3LjY5NzVDMTc3LjExNSAyOC40NTM0IDE3Ni43NDYgMjkuMTE1NSAxNzYuMjE0IDI5LjY4NEMxNzUuNjg4IDMwLjI0NjMgMTc1LjAyNiAzMC42ODQ3IDE3NC4yMjcgMzAuOTk5MkMxNzMuNDM1IDMxLjMwNzYgMTcyLjUzMSAzMS40NjE4IDE3MS41MTUgMzEuNDYxOFoiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjIxNCAxMi42MDQxVjMxLjE4MDZIMTgwLjUwMlYxMi42MDQxSDE4My4yMTRaIiBmaWxsPSJibGFjayI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4Ny4wOCAzMS4xODA2VjEyLjYwNDFIMTkzLjcwMkMxOTUuMTQ3IDEyLjYwNDEgMTk2LjM0NCAxMi44NjcyIDE5Ny4yOTQgMTMuMzkzM0MxOTguMjQzIDEzLjkxOTQgMTk4Ljk1NCAxNC42MzkgMTk5LjQyNSAxNS41NTIxQzE5OS44OTcgMTYuNDU5MSAyMDAuMTMzIDE3LjQ4MTEgMjAwLjEzMyAxOC42MTc5QzIwMC4xMzMgMTkuNzYwOCAxOTkuODk0IDIwLjc4ODggMTk5LjQxNiAyMS43MDE5QzE5OC45NDUgMjIuNjA4OSAxOTguMjMxIDIzLjMyODUgMTk3LjI3NiAyMy44NjA3QzE5Ni4zMjYgMjQuMzg2OCAxOTUuMTMyIDI0LjY0OTggMTkzLjY5MyAyNC42NDk4SDE4OS4xMzlWMjIuMjczM0gxOTMuNDM5QzE5NC4zNTIgMjIuMjczMyAxOTUuMDkzIDIyLjExNjEgMTk1LjY2MSAyMS44MDE3QzE5Ni4yMjkgMjEuNDgxMiAxOTYuNjQ3IDIxLjA0NTggMTk2LjkxMyAyMC40OTU1QzE5Ny4xNzkgMTkuOTQ1MiAxOTcuMzEyIDE5LjMxOTQgMTk3LjMxMiAxOC42MTc5QzE5Ny4zMTIgMTcuOTE2NCAxOTcuMTc5IDE3LjI5MzYgMTk2LjkxMyAxNi43NDk0QzE5Ni42NDcgMTYuMjA1MSAxOTYuMjI2IDE1Ljc3ODggMTk1LjY1MiAxNS40NzA0QzE5NS4wODQgMTUuMTYyIDE5NC4zMzQgMTUuMDA3OCAxOTMuNDAyIDE1LjAwNzhIMTg5Ljg4M1YzMS4xODA2SDE4Ny4wOFoiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjA1LjkxMyAxMi42MDQxVjMxLjE4MDZIMjAzLjIwMVYxMi42MDQxSDIwNS45MTNaIiBmaWxsPSJibGFjayI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxMy42MTYgMzEuNDg5QzIxMi43MzMgMzEuNDg5IDIxMS45MzUgMzEuMzI1NyAyMTEuMjIxIDMwLjk5OTJDMjEwLjUwOCAzMC42NjY2IDIwOS45NDMgMzAuMTg1OSAyMDkuNTI1IDI5LjU1N0MyMDkuMTE0IDI4LjkyODEgMjA4LjkwOSAyOC4xNTcxIDIwOC45MDkgMjcuMjQ0QzIwOC45MDkgMjYuNDU3OSAyMDkuMDYgMjUuODEwOCAyMDkuMzYyIDI1LjMwMjlDMjA5LjY2NCAyNC43OTQ5IDIxMC4wNzMgMjQuMzkyOCAyMTAuNTg3IDI0LjA5NjVDMjExLjEwMSAyMy44MDAyIDIxMS42NzUgMjMuNTc2NSAyMTIuMzEgMjMuNDI1M0MyMTIuOTQ1IDIzLjI3NDEgMjEzLjU5MiAyMy4xNTkyIDIxNC4yNTEgMjMuMDgwNkMyMTUuMDg2IDIyLjk4MzkgMjE1Ljc2MyAyMi45MDUyIDIxNi4yODMgMjIuODQ0OEMyMTYuODAzIDIyLjc3ODMgMjE3LjE4MSAyMi42NzI0IDIxNy40MTcgMjIuNTI3M0MyMTcuNjUyIDIyLjM4MjIgMjE3Ljc3IDIyLjE0NjMgMjE3Ljc3IDIxLjgxOThWMjEuNzU2M0MyMTcuNzcgMjAuOTY0MSAyMTcuNTQ3IDIwLjM1MDQgMjE3LjA5OSAxOS45MTVDMjE2LjY1OCAxOS40Nzk2IDIxNS45OTkgMTkuMjYxOSAyMTUuMTIyIDE5LjI2MTlDMjE0LjIwOSAxOS4yNjE5IDIxMy40ODkgMTkuNDY0NSAyMTIuOTYzIDE5Ljg2OTZDMjEyLjQ0MyAyMC4yNjg3IDIxMi4wODMgMjAuNzEzMiAyMTEuODg0IDIxLjIwM0wyMDkuMzM1IDIwLjYyMjVDMjA5LjYzNyAxOS43NzU5IDIxMC4wNzkgMTkuMDkyNiAyMTAuNjU5IDE4LjU3MjVDMjExLjI0NiAxOC4wNDY1IDIxMS45MiAxNy42NjU1IDIxMi42ODIgMTcuNDI5N0MyMTMuNDQ0IDE3LjE4NzggMjE0LjI0NSAxNy4wNjY4IDIxNS4wODYgMTcuMDY2OEMyMTUuNjQyIDE3LjA2NjggMjE2LjIzMSAxNy4xMzM0IDIxNi44NTQgMTcuMjY2NEMyMTcuNDgzIDE3LjM5MzQgMjE4LjA3IDE3LjYyOTIgMjE4LjYxNCAxNy45NzM5QzIxOS4xNjQgMTguMzE4NiAyMTkuNjE1IDE4LjgxMTQgMjE5Ljk2NSAxOS40NTI0QzIyMC4zMTYgMjAuMDg3MyAyMjAuNDkyIDIwLjkxMjcgMjIwLjQ5MiAyMS45Mjg2VjMxLjE4MDZIMjE3Ljg0M1YyOS4yNzU4SDIxNy43MzRDMjE3LjU1OSAyOS42MjY1IDIxNy4yOTYgMjkuOTcxMiAyMTYuOTQ1IDMwLjMwOThDMjE2LjU5NCAzMC42NDg1IDIxNi4xNDQgMzAuOTI5NyAyMTUuNTkzIDMxLjE1MzRDMjE1LjA0MyAzMS4zNzcxIDIxNC4zODQgMzEuNDg5IDIxMy42MTYgMzEuNDg5Wk0yMTQuMjA2IDI5LjMxMjFDMjE0Ljk1NiAyOS4zMTIxIDIxNS41OTYgMjkuMTYzOSAyMTYuMTI5IDI4Ljg2NzZDMjE2LjY2NyAyOC41NzEzIDIxNy4wNzUgMjguMTg0MyAyMTcuMzUzIDI3LjcwNjZDMjE3LjYzNyAyNy4yMjI4IDIxNy43NzkgMjYuNzA1OCAyMTcuNzc5IDI2LjE1NTVWMjQuMzU5NkMyMTcuNjgzIDI0LjQ1NjMgMjE3LjQ5NSAyNC41NDcgMjE3LjIxNyAyNC42MzE3QzIxNi45NDUgMjQuNzEwMyAyMTYuNjM0IDI0Ljc3OTggMjE2LjI4MyAyNC44NDAzQzIxNS45MzIgMjQuODk0NyAyMTUuNTkgMjQuOTQ2MSAyMTUuMjU4IDI0Ljk5NDVDMjE0LjkyNSAyNS4wMzY4IDIxNC42NDcgMjUuMDczMSAyMTQuNDIzIDI1LjEwMzNDMjEzLjg5NyAyNS4xNjk5IDIxMy40MTcgMjUuMjgxNyAyMTIuOTgxIDI1LjQzODlDMjEyLjU1MiAyNS41OTYyIDIxMi4yMDcgMjUuODIyOSAyMTEuOTQ3IDI2LjExOTJDMjExLjY5MyAyNi40MDk1IDIxMS41NjYgMjYuNzk2NSAyMTEuNTY2IDI3LjI4MDNDMjExLjU2NiAyNy45NTE1IDIxMS44MTQgMjguNDU5NCAyMTIuMzEgMjguODA0MUMyMTIuODA2IDI5LjE0MjggMjEzLjQzOCAyOS4zMTIxIDIxNC4yMDYgMjkuMzEyMVoiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjI1LjMxOSAzNi40MDUyQzIyNC45MTQgMzYuNDA1MiAyMjQuNTQ1IDM2LjM3MiAyMjQuMjEzIDM2LjMwNTVDMjIzLjg4IDM2LjI0NSAyMjMuNjMyIDM2LjE3ODUgMjIzLjQ2OSAzNi4xMDU5TDIyNC4xMjIgMzMuODgzNkMyMjQuNjE4IDM0LjAxNjcgMjI1LjA1OSAzNC4wNzQxIDIyNS40NDYgMzQuMDU2QzIyNS44MzMgMzQuMDM3OCAyMjYuMTc1IDMzLjg5MjcgMjI2LjQ3MSAzMy42MjA2QzIyNi43NzQgMzMuMzQ4NSAyMjcuMDQgMzIuOTA0IDIyNy4yNjkgMzIuMjg3MkwyMjcuNjA1IDMxLjM2MkwyMjIuNTA3IDE3LjI0ODJIMjI1LjQxTDIyOC45MzggMjguMDYwM0gyMjkuMDg0TDIzMi42MTIgMTcuMjQ4MkgyMzUuNTI0TDIyOS43ODIgMzMuMDQwMUMyMjkuNTE2IDMzLjc2NTcgMjI5LjE3NyAzNC4zNzk1IDIyOC43NjYgMzQuODgxNEMyMjguMzU1IDM1LjM4OTMgMjI3Ljg2NSAzNS43NzAzIDIyNy4yOTcgMzYuMDI0M0MyMjYuNzI4IDM2LjI3ODMgMjI2LjA2OSAzNi40MDUyIDIyNS4zMTkgMzYuNDA1MloiIGZpbGw9ImJsYWNrIj48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZsZXgtY29udGFpbmVyIGxvYWRpbmciIHN0eWxlPSIKICAgIGZsZXg6IDE7CiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxkcy1lbGxpcHNpcyI+CiAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCgo8L2JvZHk+PC9odG1sPg==
3BAF59A2E5331C30675FAB35FF5FFF0D116142D3D4664F1C3CB804068B40614F
DFKwWgtuDkKwLZPwD+z8H+N/xjK+n3eyNVx6ZVPn5jcincKZx5f5ncN=
217e8f437c9fc4244d6e74653ac8a8c7
MoK9ZlDxlnurG7SMGzkbigIIc82DCkBZWWk4Gx00ivrz0IJHF2uziBFJJHWW0i4XEobVkcVQVLNW
df6b721c8b4d3b6eb44c861d4415007e5a35fc95
LdxThdi1WBKUL75ULBPwJ7JgY7K0DkeAWrfXYN==
DFK/HrQgJ+zQW+xUhoPBD+QqJk2MWrfXYN==
3cb0a8f079768d040b8ddb58cdcf4909
Y7c14Z2TDbv/Y+xgHFeXDrcshBPUYFT=
FFE391E0EA186D0734ED601E4E70E3224B7309D48E2075BAC46D8C667EAE7212
LdxThdi1WBKUL75ULBPBD+QqJk2MWrfXYN==
9b8f518b086098de3d77736f9458a3d2f6f95a37
DFeuWkH0W+xUhoPwJ7JgY7K0DkeAWrfXYN==
2438bce1ddb7bd026d5ff89f598b3b5e5bb824b3
Y29tLnVuaXR5M2QuYWRzLmFuZHJvaWQudmlldy5Vbml0eUFkc0Z1bGxzY3JlZW5BY3Rpdml0eXxjb20udW5pdHkzZC5hZHMuYWR1bml0LkFkVW5pdEFjdGl2aXR5fGNvbS51bml0eTNkLmFkcy5hZHVuaXQuQWRVbml0U29mdHdhcmVBY3Rpdml0eXxjb20udW5pdHkzZC5zZXJ2aWNlcy5hZHMuYWR1bml0LkFkVW5pdEFjdGl2aXR5fGNvbS51bml0eTNkLnNlcnZpY2VzLmFkcy5hZHVuaXQuQWRVbml0U29mdHdhcmVBY3Rpdml0eXxjb20udW5pdHkzZC5hZHMuYWRwbGF5ZXIuRnVsbFNjcmVlbldlYlZpZXdEaXNwbGF5fGNvbS5nb29nbGUuYW5kcm9pZC5nbXMuYWRzLkFkQWN0aXZpdHl8Y29tLmdvb2dsZS5hZHMuQWRBY3Rpdml0eXxjb20udnVuZ2xlLnB1Ymxpc2hlci5GdWxsU2NyZWVuQWRBY3Rpdml0eXxjb20udnVuZ2xlLnB1Ymxpc2hlci5NcmFpZEZ1bGxTY3JlZW5BZEFjdGl2aXR5fGNvbS52dW5nbGUucHVibGlzaGVyLlZpZGVvRnVsbFNjcmVlbkFkQWN0aXZpdHl8Y29tLnZ1bmdsZS5wdWJsaXNoZXIuRmxleFZpZXdBZEFjdGl2aXR5fGNvbS52dW5nbGUud2FycmVuLnVpLlZ1bmdsZUFjdGl2aXR5fGNvbS52dW5nbGUud2FycmVuLnVpLlZ1bmdsZUZsZXhWaWV3QWN0aXZpdHl8Y29tLnZ1bmdsZS5hZHMuaW50ZXJuYWwudWkuVnVuZ2xlQWN0aXZpdHl8Y29tLmFwcGxvdmluLmFkdmlldy5BcHBMb3ZpbkludGVyc3RpdGlhbEFjdGl2aXR5fGNvbS5hcHBsb3Zpbi5hZHZpZXcuQXBwTG92aW5GdWxsc2NyZWVuQWN0aXZpdHl8Y29tLmFwcGxvdmluLmFkdmlldy5BcHBMb3ZpbkZ1bGxzY3JlZW5UaGVtZWRBY3Rpdml0eXxjb20uYXBwbG92aW4uaW1wbC5hZHZpZXcuQXBwTG92aW5PcmllbnRhdGlvbkF3YXJlSW50ZXJzdGl0aWFsQWN0aXZpdHl8Y29tLnN1cGVyc29uaWNhZHMuc2RrLmNvbnRyb2xsZXIuQ29udHJvbGxlckFjdGl2aXR5fGNvbS5zdXBlcnNvbmljYWRzLnNkay5jb250cm9sbGVyLkludGVyc3RpdGlhbEFjdGl2aXR5fGNvbS5pcm9uc291cmNlLnNkay5jb250cm9sbGVyLkNvbnRyb2xsZXJBY3Rpdml0eXxjb20uaXJvbnNvdXJjZS5zZGsuY29udHJvbGxlci5JbnRlcnN0aXRpYWxBY3Rpdml0eXxjb20ubWludGVncmFsLm1zZGsuaW50ZXJzdGl0aWFsLnZpZXcuTVRHSW50ZXJzdGl0aWFsQWN0aXZpdHl8Y29tLm1pbnRlZ3JhbC5tc2RrLnJld2FyZC5wbGF5ZXIuTVRHUmV3YXJkVmlkZW9BY3Rpdml0eXxjb20ubWludGVncmFsLm1zZGsubmV3cmV3YXJkLnBsYXllci5NVEdSZXdhcmRWaWRlb0FjdGl2aXR5fGNvbS5taW50ZWdyYWwubXNkay5pbnRlcmFjdGl2ZWFkcy5hY3Rpdml0eS5JbnRlcmFjdGl2ZVNob3dBY3Rpdml0eXxjb20ubWJyaWRnZS5tc2RrLmludGVyc3RpdGlhbC52aWV3Lk1CSW50ZXJzdGl0aWFsQWN0aXZpdHl8Y29tLm1icmlkZ2UubXNkay5yZXdhcmQucGxheWVyLk1CUmV3YXJkVmlkZW9BY3Rpdml0eXxjb20ubWJyaWRnZS5tc2RrLm5ld3Jld2FyZC5wbGF5ZXIuTUJSZXdhcmRWaWRlb0FjdGl2aXR5fGNvbS5tYnJpZGdlLm1zZGsuaW50ZXJhY3RpdmVhZHMuYWN0aXZpdHkuSW50ZXJhY3RpdmVTaG93QWN0aXZpdHl8Y29tLmZ5YmVyLmlubmVyYWN0aXZlLnNkay5hY3Rpdml0aWVzLklubmVyYWN0aXZlRnVsbHNjcmVlbkFkQWN0aXZpdHl8Y29tLmZpdmVfY29ycC5hZC5BZEFjdGl2aXR5fGNvbS5pbm1vYmkuYWRzLnJlbmRlcmluZy5Jbk1vYmlBZEFjdGl2aXR5fGNvbS5hZGNvbG9ueS5zZGsuQWRDb2xvbnlJbnRlcnN0aXRpYWxBY3Rpdml0eXxjb20uYWRjb2xvbnkuc2RrLkFkQ29sb255QWRWaWV3QWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRURnVsbFNjcmVlblZpZGVvQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRURnVsbFNjcmVlbkV4cHJlc3NWaWRlb0FjdGl2aXR5fGNvbS5ieXRlZGFuY2Uuc2RrLm9wZW5hZHNkay5hY3Rpdml0eS5UVFJld2FyZFZpZGVvQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRUUmV3YXJkRXhwcmVzc1ZpZGVvQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRUQXBwT3BlbkFkQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LkFkQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRUQWRBY3Rpdml0eXxjb20uYnl0ZWRhbmNlLnNkay5vcGVuYWRzZGsuYWN0aXZpdHkuVFRJbnRlcnN0aXRpYWxBY3Rpdml0eXxjb20uYnl0ZWRhbmNlLnNkay5vcGVuYWRzZGsuYWN0aXZpdHkuVFRJbnRlcnN0aXRpYWxFeHByZXNzQWN0aXZpdHl8Y29tLnNtYWF0by5zZGsuaW50ZXJzdGl0aWFsLkludGVyc3RpdGlhbEFkQWN0aXZpdHl8Y29tLnNtYWF0by5zZGsuaW50ZXJzdGl0aWFsLnZpZXcuSW50ZXJzdGl0aWFsQWRBY3Rpdml0eXxjb20uc21hYXRvLnNkay5yZXdhcmRlZC53aWRnZXQuUmV3YXJkZWRJbnRlcnN0aXRpYWxBZEFjdGl2aXR5fGNvbS5zbWFhdG8uc2RrLnJld2FyZGVkLnZpZXcuUmV3YXJkZWRJbnRlcnN0aXRpYWxBZEFjdGl2aXR5fGNvbS5tb2xvY28uc2RrLnhlbm9zcy5zZGtkZXZraXQuYW5kcm9pZC5hZHJlbmRlcmVyLmludGVybmFsLm1yYWlkLk1yYWlkQWN0aXZpdHl8Y29tLm1vbG9jby5zZGsueGVub3NzLnNka2RldmtpdC5hbmRyb2lkLmFkcmVuZGVyZXIuaW50ZXJuYWwuc3RhdGljcmVuZGVyZXIuU3RhdGljQWRBY3Rpdml0eXxjb20ubW9sb2NvLnNkay54ZW5vc3Muc2RrZGV2a2l0LmFuZHJvaWQuYWRyZW5kZXJlci5pbnRlcm5hbC52YXN0LlZhc3RBY3Rpdml0eXxjb20uZXhwbG9yZXN0YWNrLmlhYi5tcmFpZC5NcmFpZEFjdGl2aXR5fGNvbS5leHBsb3Jlc3RhY2suaWFiLnZhc3QuYWN0aXZpdHkuVmFzdEFjdGl2aXR5fGlvLmJpZG1hY2hpbmUucmVuZGVyaW5nLmFkLmZ1bGxzY3JlZW4uRnVsbFNjcmVlbkFjdGl2aXR5fG5ldC5wdWJuYXRpdmUubGl0ZS5zZGsuaW50ZXJzdGl0aWFsLmFjdGl2aXR5Lk1yYWlkSW50ZXJzdGl0aWFsQWN0aXZpdHl8bmV0LnB1Ym5hdGl2ZS5saXRlLnNkay5pbnRlcnN0aXRpYWwuYWN0aXZpdHkuVmFzdEludGVyc3RpdGlhbEFjdGl2aXR5fG5ldC5wdWJuYXRpdmUubGl0ZS5zZGsucmV3YXJkZWQuYWN0aXZpdHkuTXJhaWRSZXdhcmRlZEFjdGl2aXR5fG5ldC5wdWJuYXRpdmUubGl0ZS5zZGsucmV3YXJkZWQuYWN0aXZpdHkuVmFzdFJld2FyZGVkQWN0aXZpdHl8Y29tLm1vYmlsZWZ1c2Uuc2RrLk1vYmlsZUZ1c2VGdWxsc2NyZWVuQWN0aXZpdHl8Y29tLmNoYXJ0Ym9vc3Quc2RrLnZpZXcuQ0JJbXByZXNzaW9uQWN0aXZpdHk=
DFKwWgtuDkKwLZPwD+z8H+N/xj26Vjcdx5KanjKnxVN=
h7KsLkfPW+xUhoPBD+QqJk2MWrfXYN==
DkP3hrKuHoPMH+zwL+fALkK/WQc5x5zH+TcincKNNVfWNVJcVM==
b9b88d70c3d018bfbda46cd93ba3ddca
DkPtYdQTLkfAW+xUhoPwJ7JgY7K0DkeAWrfXYN==
Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRUTGFuZGluZ1BhZ2VBY3Rpdml0eXxjb20uYnl0ZWRhbmNlLnNkay5vcGVuYWRzZGsuYWN0aXZpdHkuVFRQbGF5YWJsZUxhbmRpbmdQYWdlQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRUVmlkZW9MYW5kaW5nUGFnZUxpbmsyQWN0aXZpdHl8Y29tLmJ5dGVkYW5jZS5zZGsub3BlbmFkc2RrLmFjdGl2aXR5LlRURGVsZWdhdGVBY3Rpdml0eXxjb20uYnl0ZWRhbmNlLnNkay5vcGVuYWRzZGsuYWN0aXZpdHkuVFRXZWJzaXRlQWN0aXZpdHl8Y29tLmlyb25zb3VyY2Uuc2RrLmNvbnRyb2xsZXIuT3BlblVybEFjdGl2aXR5
DFKwWgtuDkKwLZPwD+z8H+N/xjQZxVfV+T2SZVe6V2xS5c5n
1be9e72506f3307ce6a9e78d26d65bd0
C38FB23A402222A0C17D34A92F971D1F
c56fb7d591ba6704df047fd98f535372fea00211
74616804a7dc29147dfb0afe122a9fd2
DFK/HrQgJ+zQW+xUhoPwJ7JgY7K0DkeAWrfXYN==
h7KsLkfPW+xUhoPwJ7JgY7K0DkeAWrfXYN==
cc2751449a350f668590264ed76692694a80308a
YkRXhr5AWBPfNgzuH7JQ+2Ha
29015bbfcc182d80e7f75bd2c38e4521
0000016742C00BDA259000000168CE0F13200000016588840DCE7118A0002FBF1C31C3275D78
daaea35726ab7cd457ab61d4538fb822
a4b7452e2ed8f5f191058ca7bbfd26b0d3214bfc
8a3c4b262d721acd49a4bf97d5213199c86fa2b9
dd2971b0681141d57b221687791ad1bd
FBA3AF4E7757D9016E953FB3EE4671CA2BD9AF725F9A53D52ED4A38EAAA08901
E3F9E1E0CF99D0E56A055BA65E241B3399F7CEA524326B0CDD6EC1327ED0FDC1

信息 应用程序记录日志信息,不得记录敏感信息

应用程序记录日志信息,不得记录敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs

Files:
com/apm/insight/a.java, line(s) 435,441,447,429,453,459
com/apm/insight/b/i.java, line(s) 51
com/apm/insight/h/a.java, line(s) 104
com/apm/insight/h/b.java, line(s) 47
com/apm/insight/k/a.java, line(s) 76
com/apm/insight/k/j.java, line(s) 137
com/apm/insight/runtime/m.java, line(s) 124
com/applovin/impl/sdk/n.java, line(s) 34,123,24,127,44,70,50,107
com/applovin/impl/z3.java, line(s) 48,54,60
com/appsflyer/internal/AFa1aSDK.java, line(s) 119
com/appsflyer/internal/AFb1vSDK.java, line(s) 2852,2862,326,1042,1948,1954,2005,2475,2599,2762,2817,2854
com/appsflyer/internal/AFc1uSDK.java, line(s) 31
com/appsflyer/internal/AFc1vSDK.java, line(s) 45,53
com/appsflyer/internal/AFf1cSDK.java, line(s) 52,61,97
com/appsflyer/internal/AFf1dSDK.java, line(s) 102
com/appsflyer/internal/AFf1hSDK.java, line(s) 132
com/appsflyer/internal/AFf1tSDK.java, line(s) 69,98,105
com/appsflyer/internal/AFg1hSDK.java, line(s) 73,81,96,85,91,89
com/appsflyer/internal/AFg1jSDK.java, line(s) 150,1444,1496
com/appsflyer/internal/AFg1nSDK.java, line(s) 46
com/appsflyer/share/CrossPromotionHelper.java, line(s) 63
com/appsflyer/share/LinkGenerator.java, line(s) 167,218
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/JXs.java, line(s) 54,61
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/ZU.java, line(s) 73,194,200,55,109,124,171,213,388,415,425,220,240,246,251,319
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/ebl.java, line(s) 47,63,73,101,105,127,132,146,155,160,247,278,312,373,429,57,195,209,320,399,456,144,224,403
com/bykv/vk/openvk/Lxb/Lxb/LD/LD/lc.java, line(s) 90,140,156,257
com/bykv/vk/openvk/Lxb/Lxb/LD/lk/Lxb.java, line(s) 249,255,262,269,275,283,304,311,104,137,207,335,351
com/bykv/vk/openvk/preload/falconx/a/a.java, line(s) 63
com/bykv/vk/openvk/preload/geckox/logger/DefaultLogger.java, line(s) 12,15,33,22,29
com/bytedance/adsdk/LD/lc.java, line(s) 127,130,140,146,298,309,430,440,898,920,922,925,942,945,948,957,970
com/bytedance/adsdk/ugeno/Lxb/Lxb/LD.java, line(s) 44
com/bytedance/adsdk/ugeno/Lxb/Lxb/lk.java, line(s) 139
com/bytedance/adsdk/ugeno/OY/lk.java, line(s) 387
com/bytedance/adsdk/ugeno/QAg/ZU/LD.java, line(s) 128
com/bytedance/adsdk/ugeno/QAg/ZU/Lxb.java, line(s) 170,210
com/bytedance/adsdk/ugeno/ZU/lk/JXs.java, line(s) 45
com/bytedance/adsdk/ugeno/ZU/lk/LD.java, line(s) 32
com/bytedance/adsdk/ugeno/core/Lxb.java, line(s) 257,249
com/bytedance/adsdk/ugeno/core/Lxb/Lxb.java, line(s) 63
com/bytedance/adsdk/ugeno/core/QAg.java, line(s) 86,88,179,136,225
com/bytedance/adsdk/ugeno/core/ebl.java, line(s) 52
com/bytedance/adsdk/ugeno/ebl/JXs.java, line(s) 24,33
com/bytedance/adsdk/ugeno/ebl/Lxb.java, line(s) 140
com/game/billing/PurchaseHelper.java, line(s) 101,121
com/game/helper/AppsFlyerEvents.java, line(s) 27,32,37,42,53,64,75,89,100,113,122,128,141,150,170,178,50,61,72,86,97,110,119,158
com/game/helper/FacebookLuaHelper.java, line(s) 92
com/game/helper/FirebaseEventsHelper.java, line(s) 45,65,73,53
com/game/helper/GPlusHelper.java, line(s) 82,85
com/game/helper/RateHelper.java, line(s) 23,26,31
com/game/helper/obb/ObbManager.java, line(s) 42
com/iab/omid/library/applovin/publisher/b.java, line(s) 59,61
com/iab/omid/library/applovin/utils/d.java, line(s) 18,11,25
com/iab/omid/library/bytedance2/publisher/b.java, line(s) 59,61
com/iab/omid/library/bytedance2/utils/d.java, line(s) 18,11,25
com/iab/omid/library/ironsrc/publisher/b.java, line(s) 60,62
com/iab/omid/library/ironsrc/utils/d.java, line(s) 18,11,25
com/iab/omid/library/mmadbridge/publisher/b.java, line(s) 59,61
com/iab/omid/library/mmadbridge/utils/d.java, line(s) 18,11,25
com/iab/omid/library/unity3d/publisher/b.java, line(s) 58,60
com/iab/omid/library/unity3d/utils/d.java, line(s) 18,11
com/iab/omid/library/vungle/publisher/b.java, line(s) 59,61
com/iab/omid/library/vungle/utils/d.java, line(s) 18,11,25
com/ironsource/a0.java, line(s) 338,173,184,324
com/ironsource/a3.java, line(s) 86,92
com/ironsource/adapters/ironsource/IronSourceAdapter.java, line(s) 168,161,171,301,304,308,312,421
com/ironsource/ah.java, line(s) 95
com/ironsource/al.java, line(s) 39,41,42,44,91,96
com/ironsource/aw.java, line(s) 41,43,75,81,109,113
com/ironsource/c4.java, line(s) 78
com/ironsource/dp.java, line(s) 91
com/ironsource/dq.java, line(s) 42,306
com/ironsource/en.java, line(s) 117,103,107
com/ironsource/f3.java, line(s) 112
com/ironsource/g6.java, line(s) 368,386,203,365,374,382
com/ironsource/i3.java, line(s) 70
com/ironsource/id.java, line(s) 153,145
com/ironsource/jn.java, line(s) 79,100
com/ironsource/js.java, line(s) 53,57,64
com/ironsource/k6.java, line(s) 66,110,59,99,103
com/ironsource/kc.java, line(s) 60
com/ironsource/l9.java, line(s) 125
com/ironsource/lh.java, line(s) 41
com/ironsource/m4.java, line(s) 21,24,32
com/ironsource/m7.java, line(s) 92,172,217,89,160,208
com/ironsource/mediationsdk/AbstractAdapter.java, line(s) 458,464
com/ironsource/mediationsdk/ads/nativead/LevelPlayNativeAd.java, line(s) 78
com/ironsource/mediationsdk/d.java, line(s) 410,415
com/ironsource/mediationsdk/demandOnly/d.java, line(s) 193,291,443,454,134,137,181,209,231,241,248,440,459
com/ironsource/mediationsdk/demandOnly/g.java, line(s) 262,153,156,236
com/ironsource/mediationsdk/demandOnly/l.java, line(s) 261,144,147,235
com/ironsource/mediationsdk/integration/IntegrationHelper.java, line(s) 37,41,55,60,83,93,98,31,34,50,71,80,88,91,96,29,74
com/ironsource/mediationsdk/logger/a.java, line(s) 39,45,31,36
com/ironsource/mediationsdk/p.java, line(s) 693,698,704,713,720,733,2124,2129,2135,2144,2151,2165,2259,2267,2291,685,2116,2223,2232,2248,2408,2411,497,2274,2278,2282,501,506
com/ironsource/mediationsdk/q.java, line(s) 311,317
com/ironsource/mediationsdk/w.java, line(s) 442,581,685,761,839,863,890,101,113,400,406,408,434,579,672,756,791,813,820,828,846,861,917,1020,794,835,854,868,919
com/ironsource/mediationsdk/x.java, line(s) 158,233,156,225,229,236,288,293,314,402,418,456,412,421,461
com/ironsource/mediationsdk/y.java, line(s) 120,125
com/ironsource/n7.java, line(s) 401,507,687,804,963,211,243,251,254,287,391,394,508,684,692,705,707,802,916,922,928,961
com/ironsource/o9.java, line(s) 230,261
com/ironsource/p4.java, line(s) 27
com/ironsource/p5.java, line(s) 136,137
com/ironsource/p9.java, line(s) 43,44,30,46
com/ironsource/pd.java, line(s) 230,236
com/ironsource/q5.java, line(s) 119,121
com/ironsource/q7.java, line(s) 204,245,257,289,317,324,415,427,183,193,232,254,275,298,390
com/ironsource/sdk/controller/v.java, line(s) 393,582,596,616,681,701,717,733,864,938,1114,1121,1567,1826,2109
com/ironsource/sdk/service/Connectivity/BroadcastReceiverStrategy.java, line(s) 45
com/ironsource/sdk/utils/Logger.java, line(s) 12,18,24,30,40,48,53,59,65,71
com/ironsource/vt.java, line(s) 164,168
com/ironsource/wl.java, line(s) 82
com/ironsource/x0.java, line(s) 37,41,45,49,50,51
com/ironsource/x5.java, line(s) 171,154,162
com/ironsource/xm.java, line(s) 61,50,52
com/ironsource/xp.java, line(s) 126
com/ironsource/yg.java, line(s) 42,55,77,93,172,227
com/ironsource/z7.java, line(s) 77
com/json/a.java, line(s) 45,147
com/json/a0.java, line(s) 350,185,196,336
com/json/a3.java, line(s) 87,93
com/json/adapters/ironsource/IronSourceAdapter.java, line(s) 229,222,232,376,379,383,387,510
com/json/ah.java, line(s) 100
com/json/al.java, line(s) 40,42,43,45,92,97,115,127,132
com/json/aw.java, line(s) 42,44,76,82,110,114
com/json/c4.java, line(s) 78
com/json/da.java, line(s) 127,167,198
com/json/dp.java, line(s) 94
com/json/dq.java, line(s) 43,322
com/json/en.java, line(s) 119,105,109
com/json/f3.java, line(s) 117
com/json/g0.java, line(s) 233
com/json/g6.java, line(s) 379,397,206,376,385,393
com/json/hw.java, line(s) 180
com/json/i3.java, line(s) 72
com/json/id.java, line(s) 154,146
com/json/jn.java, line(s) 81,103
com/json/js.java, line(s) 56,60,67
com/json/k6.java, line(s) 69,113,62,102,106
com/json/kc.java, line(s) 62
com/json/l9.java, line(s) 128
com/json/lh.java, line(s) 42
com/json/m4.java, line(s) 22,25,33
com/json/m7.java, line(s) 93,173,219,90,161,210
com/json/mediationsdk/AbstractAdapter.java, line(s) 484,490
com/json/mediationsdk/ads/nativead/LevelPlayNativeAd.java, line(s) 80
com/json/mediationsdk/d.java, line(s) 414,419
com/json/mediationsdk/demandOnly/d.java, line(s) 198,296,458,469,137,140,186,214,236,246,253,455,474
com/json/mediationsdk/demandOnly/g.java, line(s) 266,155,158,240
com/json/mediationsdk/demandOnly/l.java, line(s) 264,145,148,238
com/json/mediationsdk/integration/IntegrationHelper.java, line(s) 41,45,59,64,87,97,102,186,190,277,35,38,54,75,84,92,95,100,118,127,144,159,169,178,196,281,33,78
com/json/mediationsdk/logger/a.java, line(s) 40,46,32,37
com/json/mediationsdk/p.java, line(s) 734,739,745,754,761,774,2341,2346,2352,2361,2368,2382,2478,2486,2510,726,2333,2442,2451,2467,2632,2635,501,2493,2497,2501,505,510
com/json/mediationsdk/q.java, line(s) 312,318
com/json/mediationsdk/w.java, line(s) 448,587,691,767,847,874,901,100,112,406,412,414,440,585,678,762,798,820,827,836,855,872,929,1036,801,843,863,879,931
com/json/mediationsdk/x.java, line(s) 157,232,155,224,228,235,287,292,313,408,425,464,418,428,469
com/json/mediationsdk/y.java, line(s) 122,127
com/json/n7.java, line(s) 406,512,694,809,854,1015,216,248,256,259,292,396,399,513,691,699,712,714,780,852,966,972,978,1013
com/json/o9.java, line(s) 237,268
com/json/p4.java, line(s) 27
com/json/p5.java, line(s) 158,159
com/json/p9.java, line(s) 41,42,28,44
com/json/pd.java, line(s) 244,250
com/json/q5.java, line(s) 125,127
com/json/q7.java, line(s) 213,254,266,298,326,333,424,436,192,202,241,263,284,307,399
com/json/sdk/controller/v.java, line(s) 407,603,618,639,708,729,746,763,898,976,1155,1162,1638,1897,2987,2992,3002,3013,3019,3028,3030,2187
com/json/sdk/service/Connectivity/BroadcastReceiverStrategy.java, line(s) 48
com/json/sdk/utils/Logger.java, line(s) 13,19,25,31,41,49,54,60,66,72
com/json/vt.java, line(s) 168,172
com/json/wl.java, line(s) 86
com/json/x0.java, line(s) 38,42,46,50,51,52
com/json/x5.java, line(s) 174,157,165
com/json/xm.java, line(s) 65,54,56
com/json/xp.java, line(s) 129
com/json/yg.java, line(s) 41,54,76,92,171,226
com/json/z7.java, line(s) 78
com/mbridge/msdk/dycreator/baseview/MBScrollView.java, line(s) 171
com/mbridge/msdk/dycreator/baseview/extview/MBExtAcquireRewardPopView.java, line(s) 209
com/mbridge/msdk/dycreator/baseview/extview/MBExtFeedBackView.java, line(s) 250
com/mbridge/msdk/dycreator/baseview/extview/MBExtMBridgeBaitClickView.java, line(s) 216
com/mbridge/msdk/dycreator/baseview/extview/MBExtMBridgeTextView.java, line(s) 258
com/mbridge/msdk/dycreator/bus/BackgroundPoster.java, line(s) 40
com/mbridge/msdk/dycreator/bus/EventBus.java, line(s) 384,466,468,472,210,288,339
com/mbridge/msdk/dycreator/engine/a.java, line(s) 44,114,115,116,120,128,130,198,205
com/mbridge/msdk/dycreator/utils/g.java, line(s) 11
com/mbridge/msdk/foundation/controller/b.java, line(s) 48
com/mbridge/msdk/foundation/same/report/crashreport/c.java, line(s) 73
com/mbridge/msdk/foundation/same/report/d.java, line(s) 128
com/mbridge/msdk/foundation/tools/l0.java, line(s) 19
com/mbridge/msdk/foundation/tools/o0.java, line(s) 35,84,42,63,49,56,77,91
com/mbridge/msdk/mbnative/controller/NativeController.java, line(s) 1973
com/mbridge/msdk/mbnative/controller/d.java, line(s) 536
com/mbridge/msdk/mbnative/report/b.java, line(s) 82
com/mbridge/msdk/playercommon/exoplayer2/DefaultRenderersFactory.java, line(s) 72
com/mbridge/msdk/playercommon/exoplayer2/ExoPlayerImpl.java, line(s) 138,478,568
com/mbridge/msdk/playercommon/exoplayer2/ExoPlayerImplInternal.java, line(s) 625,800,1141,1146,1151,1210
com/mbridge/msdk/playercommon/exoplayer2/MediaPeriodHolder.java, line(s) 169
com/mbridge/msdk/playercommon/exoplayer2/SimpleExoPlayer.java, line(s) 271,772
com/mbridge/msdk/playercommon/exoplayer2/audio/DefaultAudioSink.java, line(s) 589,163,171,179,620
com/mbridge/msdk/playercommon/exoplayer2/drm/ClearKeyUtil.java, line(s) 44
com/mbridge/msdk/playercommon/exoplayer2/drm/DefaultDrmSession.java, line(s) 179,327
com/mbridge/msdk/playercommon/exoplayer2/drm/DefaultDrmSessionManager.java, line(s) 213
com/mbridge/msdk/playercommon/exoplayer2/extractor/mkv/MatroskaExtractor.java, line(s) 474
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/VbriSeeker.java, line(s) 65
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp3/XingSeeker.java, line(s) 43
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java, line(s) 251,997
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/MetadataUtil.java, line(s) 169,57,64,70,191,235,247,257
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/PsshAtomUtil.java, line(s) 41,65
com/mbridge/msdk/playercommon/exoplayer2/extractor/mp4/TrackEncryptionBox.java, line(s) 62
com/mbridge/msdk/playercommon/exoplayer2/extractor/ogg/VorbisUtil.java, line(s) 212
com/mbridge/msdk/playercommon/exoplayer2/extractor/ts/AdtsReader.java, line(s) 106
com/mbridge/msdk/playercommon/exoplayer2/extractor/ts/H265Reader.java, line(s) 253
com/mbridge/msdk/playercommon/exoplayer2/extractor/ts/Id3Reader.java, line(s) 31
com/mbridge/msdk/playercommon/exoplayer2/extractor/ts/PesReader.java, line(s) 56,108,111
com/mbridge/msdk/playercommon/exoplayer2/extractor/wav/WavHeaderReader.java, line(s) 48
com/mbridge/msdk/playercommon/exoplayer2/mediacodec/MediaCodecInfo.java, line(s) 79,83,42
com/mbridge/msdk/playercommon/exoplayer2/mediacodec/MediaCodecRenderer.java, line(s) 585
com/mbridge/msdk/playercommon/exoplayer2/mediacodec/MediaCodecUtil.java, line(s) 441,261,270,279,286,289,321,341,346,354,363
com/mbridge/msdk/playercommon/exoplayer2/metadata/id3/Id3Decoder.java, line(s) 194,199,208,219,375
com/mbridge/msdk/playercommon/exoplayer2/offline/DownloadManager.java, line(s) 304,444
com/mbridge/msdk/playercommon/exoplayer2/offline/DownloadService.java, line(s) 141
com/mbridge/msdk/playercommon/exoplayer2/source/chunk/BaseMediaChunkOutput.java, line(s) 48
com/mbridge/msdk/playercommon/exoplayer2/source/chunk/ChunkedTrackBlacklistUtil.java, line(s) 33,35
com/mbridge/msdk/playercommon/exoplayer2/text/cea/Cea708Decoder.java, line(s) 893,457,461,465,566,743,754,795,807,830,844
com/mbridge/msdk/playercommon/exoplayer2/text/cea/CeaUtil.java, line(s) 27
com/mbridge/msdk/playercommon/exoplayer2/text/dvb/DvbParser.java, line(s) 568
com/mbridge/msdk/playercommon/exoplayer2/text/ssa/SsaDecoder.java, line(s) 38,43,48,57
com/mbridge/msdk/playercommon/exoplayer2/text/subrip/SubripDecoder.java, line(s) 43,71,74
com/mbridge/msdk/playercommon/exoplayer2/text/ttml/TtmlDecoder.java, line(s) 280,86,97,113,194,200,209,214,236,240,291
com/mbridge/msdk/playercommon/exoplayer2/text/webvtt/WebvttCue.java, line(s) 61
com/mbridge/msdk/playercommon/exoplayer2/text/webvtt/WebvttCueParser.java, line(s) 122,255,258,359,389,433
com/mbridge/msdk/playercommon/exoplayer2/upstream/DefaultDataSource.java, line(s) 72
com/mbridge/msdk/playercommon/exoplayer2/upstream/DefaultHttpDataSource.java, line(s) 62
com/mbridge/msdk/playercommon/exoplayer2/upstream/Loader.java, line(s) 125,175,187,193
com/mbridge/msdk/playercommon/exoplayer2/upstream/cache/CachedRegionTracker.java, line(s) 130
com/mbridge/msdk/playercommon/exoplayer2/upstream/cache/SimpleCache.java, line(s) 86
com/mbridge/msdk/playercommon/exoplayer2/util/AtomicFile.java, line(s) 36,94
com/mbridge/msdk/playercommon/exoplayer2/util/EventLogger.java, line(s) 130,134
com/mbridge/msdk/playercommon/exoplayer2/video/DummySurface.java, line(s) 73,79
com/mbridge/msdk/playercommon/exoplayer2/video/MediaCodecVideoRenderer.java, line(s) 747,360,366,573
com/mbridge/msdk/tracker/b.java, line(s) 25,40,55
com/mbridge/msdk/tracker/c.java, line(s) 35,51,58,98,117,138,157,176,195,220,248,275,293,312,336,353,369,384,402
com/mbridge/msdk/tracker/j.java, line(s) 38
com/mbridge/msdk/tracker/k.java, line(s) 199,225,238,248
com/mbridge/msdk/tracker/m.java, line(s) 56,137,26,80,111,148,155,166
com/mbridge/msdk/tracker/network/c0.java, line(s) 15,11,19
com/mbridge/msdk/tracker/o.java, line(s) 54,84,112,125
com/mbridge/msdk/tracker/q.java, line(s) 33
com/mbridge/msdk/tracker/s.java, line(s) 37,162,172,274,289,304,48,58,119,178,183,195
com/mbridge/msdk/tracker/x.java, line(s) 97,100,103
com/mbridge/msdk/video/module/MBridgeBaseView.java, line(s) 166,187
com/mbridge/msdk/widget/FeedbackRadioGroup.java, line(s) 55
com/safedk/android/analytics/StatsCollector.java, line(s) 140
com/safedk/android/analytics/brandsafety/BannerFinder.java, line(s) 206,224,170,215,791,810,805,826
com/safedk/android/analytics/brandsafety/BrandSafetyUtils.java, line(s) 1729,1420
com/safedk/android/analytics/brandsafety/InterstitialFinder.java, line(s) 374,398,336,387
com/safedk/android/analytics/brandsafety/NativeFinder.java, line(s) 124,142,92,133
com/safedk/android/utils/Logger.java, line(s) 36,43,54,57,100,106,84,92,63,67,22,29,71,75,79
com/safedk/android/utils/b.java, line(s) 40,95,26
com/unity3d/ads/UnityAdsBaseOptions.java, line(s) 18
com/unity3d/ads/adplayer/CommonGetWebViewCacheAssetLoader$invoke$1.java, line(s) 94
com/unity3d/ads/adplayer/CommonWebViewBridge.java, line(s) 160
com/unity3d/ads/core/data/datasource/AndroidDynamicDeviceInfoDataSource.java, line(s) 151,363,515,532,197
com/unity3d/ads/core/data/datasource/AndroidStaticDeviceInfoDataSource.java, line(s) 294,350,430,476,535,541,599,622
com/unity3d/ads/core/data/repository/AndroidDiagnosticEventRepository.java, line(s) 150
com/unity3d/ads/core/domain/AndroidInitializeBoldSDK.java, line(s) 133,147
com/unity3d/ads/core/domain/CommonShouldAllowInitialization.java, line(s) 112,117
com/unity3d/ads/core/domain/LegacyLoadUseCase.java, line(s) 129,138
com/unity3d/ads/core/domain/LegacyShowUseCase$showError$1.java, line(s) 74
com/unity3d/ads/core/domain/LegacyShowUseCase.java, line(s) 90,101,109,130
com/unity3d/ads/gatewayclient/CommonGatewayClient.java, line(s) 128
com/unity3d/ads/metadata/MetaData.java, line(s) 72,81
com/unity3d/services/SDKErrorHandler.java, line(s) 89
com/unity3d/services/UnityServices.java, line(s) 48,52
com/unity3d/services/ads/UnityAdsImplementation.java, line(s) 49,51,168,193,214,226
com/unity3d/services/ads/adunit/AdUnitActivityController.java, line(s) 391,393,48,110,130,150,171,205,314,358,176
com/unity3d/services/ads/adunit/AdUnitViewHandlerFactory.java, line(s) 21
com/unity3d/services/ads/adunit/VideoPlayerHandler.java, line(s) 29,46
com/unity3d/services/ads/api/AdUnit.java, line(s) 92,95,98,101,124,436,442,494,498,503,507,115,128,133,140,165,257,349,365,394,402
com/unity3d/services/ads/api/VideoPlayer.java, line(s) 56,74,92,110,128,164
com/unity3d/services/ads/api/WebPlayer.java, line(s) 133
com/unity3d/services/ads/gmascar/adapters/ScarAdapterFactory.java, line(s) 50
com/unity3d/services/ads/gmascar/bridges/AdapterStatusBridge.java, line(s) 21,34
com/unity3d/services/ads/gmascar/bridges/InitializeListenerBridge.java, line(s) 21,48
com/unity3d/services/ads/gmascar/bridges/mobileads/MobileAdsBridge.java, line(s) 30
com/unity3d/services/ads/gmascar/finder/GMAInitializer.java, line(s) 49
com/unity3d/services/ads/gmascar/finder/ScarVersionFinder.java, line(s) 33,49
com/unity3d/services/ads/token/InMemoryAsyncTokenStorage.java, line(s) 162,192
com/unity3d/services/ads/token/NativeTokenGenerator.java, line(s) 41
com/unity3d/services/ads/topics/TopicsReceiver.java, line(s) 54
com/unity3d/services/ads/topics/TopicsService.java, line(s) 67
com/unity3d/services/ads/video/VideoPlayerView.java, line(s) 75,111,114,135,178,184,242,253,280
com/unity3d/services/ads/webplayer/WebPlayerView.java, line(s) 84,181,212,216,310,323,335,348,417,482,484
com/unity3d/services/banners/BannerView.java, line(s) 147
com/unity3d/services/banners/UnityBanners.java, line(s) 156
com/unity3d/services/core/api/Cache.java, line(s) 169,183,48,123,131,153,188,198
com/unity3d/services/core/api/DeviceInfo.java, line(s) 204,227,245,271,279,309,481
com/unity3d/services/core/api/Intent.java, line(s) 102,120,144,180,194
com/unity3d/services/core/api/Request.java, line(s) 32,43,60,71,87,98
com/unity3d/services/core/api/Sdk.java, line(s) 17,24,79,91,61,73,67
com/unity3d/services/core/broadcast/BroadcastEventReceiver.java, line(s) 41
com/unity3d/services/core/cache/CacheDirectory.java, line(s) 52,60,67,107,111,117,124,133,135,56,70,138
com/unity3d/services/core/cache/CacheThread.java, line(s) 33
com/unity3d/services/core/cache/CacheThreadHandler.java, line(s) 44,86,89,93
com/unity3d/services/core/configuration/ConfigurationReader.java, line(s) 40
com/unity3d/services/core/configuration/ConfigurationRequestFactory.java, line(s) 39
com/unity3d/services/core/configuration/EnvironmentCheck.java, line(s) 21,42,24,27,30,33,45
com/unity3d/services/core/configuration/ExperimentsReader.java, line(s) 33
com/unity3d/services/core/configuration/InitializationNotificationCenter.java, line(s) 62
com/unity3d/services/core/configuration/InitializeEventsMetricSender.java, line(s) 63,73,90,105,113,128
com/unity3d/services/core/configuration/InitializeThread.java, line(s) 191,199,222,410,425,505,542,643,654,674,63,72,478,518,521,553,556,596,630,678,742,837,333,417,455,818
com/unity3d/services/core/configuration/PrivacyConfigurationLoader.java, line(s) 35
com/unity3d/services/core/connectivity/ConnectivityMonitor.java, line(s) 104,121,149,93,140
com/unity3d/services/core/device/AdvertisingId.java, line(s) 177,49,59
com/unity3d/services/core/device/Device.java, line(s) 351,367,376,461,149
com/unity3d/services/core/device/OpenAdvertisingId.java, line(s) 168,57,64
com/unity3d/services/core/device/Storage.java, line(s) 51,56,102
com/unity3d/services/core/device/reader/DeviceInfoReaderCompressor.java, line(s) 37,41
com/unity3d/services/core/device/reader/DeviceInfoReaderExtended.java, line(s) 44,50
com/unity3d/services/core/domain/task/InitializeStateConfig$doWork$2.java, line(s) 59
com/unity3d/services/core/domain/task/InitializeStateCreate$doWork$2.java, line(s) 52,58,72
com/unity3d/services/core/domain/task/InitializeStateError$doWork$2.java, line(s) 49
com/unity3d/services/core/domain/task/InitializeStateLoadCache.java, line(s) 157
com/unity3d/services/core/domain/task/InitializeStateNetworkError$doWork$2.java, line(s) 53
com/unity3d/services/core/domain/task/InitializeStateNetworkError.java, line(s) 53,69
com/unity3d/services/core/log/DeviceLog.java, line(s) 187,227,234
com/unity3d/services/core/misc/JsonFlattener.java, line(s) 39
com/unity3d/services/core/misc/JsonStorage.java, line(s) 61,55,64,72,84,120,140,158,164
com/unity3d/services/core/misc/JsonStorageAggregator.java, line(s) 23
com/unity3d/services/core/misc/Utilities.java, line(s) 50,71,182
com/unity3d/services/core/misc/ViewUtilities.java, line(s) 17,25
com/unity3d/services/core/network/core/OkHttp3Client$makeRequest$2$1$onResponse$downloadProgressLoggingJob$3.java, line(s) 49
com/unity3d/services/core/network/core/OkHttp3Client.java, line(s) 91
com/unity3d/services/core/network/core/UnityAdsUrlRequestCallback.java, line(s) 79
com/unity3d/services/core/preferences/AndroidPreferences.java, line(s) 19,31,43,55,67
com/unity3d/services/core/properties/ClientProperties.java, line(s) 76,95,107,109
com/unity3d/services/core/properties/SdkProperties.java, line(s) 267,269,167
com/unity3d/services/core/reflection/GenericBridge.java, line(s) 32,39,58,73,82,88,95,101
com/unity3d/services/core/request/WebRequest.java, line(s) 254,154,158
com/unity3d/services/core/request/WebRequestRunnable.java, line(s) 38,42,52,98
com/unity3d/services/core/request/WebRequestThread.java, line(s) 46,159,173
com/unity3d/services/core/request/metrics/MetricCommonTags.java, line(s) 126
com/unity3d/services/core/request/metrics/MetricSender$sendMetrics$$inlined$CoroutineExceptionHandler$1.java, line(s) 21
com/unity3d/services/core/request/metrics/MetricSender$sendMetrics$1.java, line(s) 84,86
com/unity3d/services/core/request/metrics/MetricSender.java, line(s) 65,79,84
com/unity3d/services/core/request/metrics/MetricSenderWithBatch.java, line(s) 37
com/unity3d/services/core/request/metrics/SDKMetrics.java, line(s) 19,30,69,81,85
com/unity3d/services/core/sensorinfo/SensorInfoListener.java, line(s) 53
com/unity3d/services/core/timer/BaseTimer.java, line(s) 142
com/unity3d/services/core/webview/WebView.java, line(s) 208
com/unity3d/services/core/webview/WebViewApp.java, line(s) 147,166,201,245,494,498,179,194,223,238,281,293,331,347,382,468,505,509,512
com/unity3d/services/core/webview/WebViewUrlBuilder.java, line(s) 30
com/unity3d/services/core/webview/bridge/Invocation.java, line(s) 61
com/unity3d/services/core/webview/bridge/NativeCallback.java, line(s) 45
com/unity3d/services/core/webview/bridge/WebViewBridge.java, line(s) 116
com/unity3d/services/core/webview/bridge/WebViewBridgeInterface.java, line(s) 51,78
com/unity3d/services/core/webview/bridge/WebViewCallback.java, line(s) 56
com/unity3d/services/store/core/StoreLifecycleListener.java, line(s) 69
com/unity3d/services/store/gpbl/bridges/CommonJsonResponseBridge.java, line(s) 38
com/unity3d/services/store/gpbl/bridges/PurchaseBridge.java, line(s) 36
com/vungle/ads/internal/util/Logger.java, line(s) 73,83,96,125,138,104,117
org/cocos2dx/lib/Cocos2dxActivity.java, line(s) 219,227,243,314,316,321,168,165
org/cocos2dx/lib/Cocos2dxBitmap.java, line(s) 180
org/cocos2dx/lib/Cocos2dxEditBoxHelper.java, line(s) 127,140,182,201,350,364
org/cocos2dx/lib/Cocos2dxGLSurfaceView.java, line(s) 78,93,348
org/cocos2dx/lib/Cocos2dxHelper.java, line(s) 107,113,254,256,258
org/cocos2dx/lib/Cocos2dxHttpURLConnection.java, line(s) 42,59,85,99,100,118,193,210,219,229,306,74
org/cocos2dx/lib/Cocos2dxLocalStorage.java, line(s) 54,94
org/cocos2dx/lib/Cocos2dxMusic.java, line(s) 53,69,92,106,128,172,185,215
org/cocos2dx/lib/Cocos2dxReflectionHelper.java, line(s) 11,14,17,20,30,33,36,39
org/cocos2dx/lib/Cocos2dxSound.java, line(s) 204
org/cocos2dx/lib/Cocos2dxVideoView.java, line(s) 172,236,240,386,391
org/cocos2dx/lib/Cocos2dxWebView.java, line(s) 56,116,124
org/cocos2dx/lib/DataTaskHandler.java, line(s) 13
org/cocos2dx/lib/FileTaskHandler.java, line(s) 16
org/cocos2dx/lua/AppActivity.java, line(s) 96
org/cocos2dx/lua/AppUtil.java, line(s) 142,145,151,114,141,150,165,168
org/cocos2dx/lua/LuaEventDispatcher.java, line(s) 60
org/cocos2dx/lua/MyFirebaseMessagingService.java, line(s) 23,25,29,35,40

信息 应用程序可以写入应用程序目录。敏感信息应加密

应用程序可以写入应用程序目录。敏感信息应加密


Files:
com/ironsource/au.java, line(s) 26,26
com/json/au.java, line(s) 27,27

信息 应用与Firebase数据库通信

该应用与位于 https://trial-of-heroes.firebaseio.com 的 Firebase 数据库进行通信

安全 此应用程序可能具有Root检测功能

此应用程序可能具有Root检测功能
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md#testing-root-detection-mstg-resilience-1

Files:
com/apm/insight/nativecrash/a.java, line(s) 495,495,495,495,495

安全 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击

此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#testing-custom-certificate-stores-and-certificate-pinning-mstg-network-4

Files:
com/mbridge/msdk/thrid/okhttp/internal/c.java, line(s) 507,506,505,505
com/mbridge/msdk/tracker/network/toolbox/h.java, line(s) 137,150
org/cocos2dx/lib/Cocos2dxHttpURLConnection.java, line(s) 82,80,82,78,79,79

安全 Firebase远程配置已禁用

Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/1064951258772/namespaces/firebase:fetch?key=AIzaSyBpxno5OdmNrIeu39MM4ibJx4_wMqm6PQI ) 已禁用。响应内容如下所示:

{
    "state": "NO_TEMPLATE"
}

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (www.googletagmanager.com) 通信。

{'ip': '180.163.150.41', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}

安全评分: ( Trials of Heroes 2.7.3)