From 18eb3cf8e649c4c8021f9f2bd20117d859160c50 Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Thu, 16 Jul 2026 13:31:28 +0200 Subject: [PATCH 01/12] chore: upgrade to Unity 6000.5.2f1 Bump the editor and migrate the DCL code that hit APIs removed in 6000.5: - EntityId replaces the obsolete int instance-id APIs. Physics.BakeMesh now takes an EntityId (Utils, BakeColliderMeshes, CollideTerrainSystem), and the collider-bake job array is typed NativeArray. - MetricsRegistry guards its type scan: IsAssignableFrom can force-load a precompiled dependency type that 6000.5's Mono fails to resolve, which would otherwise throw from the static ctor and take request metrics down. Verified compiling and running on 6000.5.2f1 (editor boots, enters play mode, reaches interactive). Vendored/third-party packages (SoftMask, GPUI Pro, AVPro, UniTask, com.unity.localization, FileBrowserPro, renderfeatures) also need 6000.5 API fixes; those live outside this repo and are tracked separately. --- .../Infrastructure/ECS/Unity/GLTFContainer/Utils.cs | 2 +- .../Assets/DCL/Landscape/Jobs/BakeColliderMeshes.cs | 2 +- .../DCL/Landscape/Systems/CollideTerrainSystem.cs | 4 ++-- .../Analytics/Metrics/MetricsRegistry.cs | 13 ++++++++++++- Explorer/ProjectSettings/ProjectVersion.txt | 4 ++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Utils.cs b/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Utils.cs index c89572b4ec6..cab64ce7ec1 100644 --- a/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Utils.cs +++ b/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Utils.cs @@ -41,7 +41,7 @@ private static void CreateAndAddMeshCollider(List result, GameObjec private static MeshCollider AddMeshCollider(MeshFilter meshFilter, GameObject go) { - Physics.BakeMesh(meshFilter.sharedMesh.GetInstanceID(), false); + Physics.BakeMesh(meshFilter.sharedMesh.GetEntityId(), false); MeshCollider newCollider = go.AddComponent(); var renderer = go.GetComponent(); diff --git a/Explorer/Assets/DCL/Landscape/Jobs/BakeColliderMeshes.cs b/Explorer/Assets/DCL/Landscape/Jobs/BakeColliderMeshes.cs index 54c13987063..d0228e3fe4e 100644 --- a/Explorer/Assets/DCL/Landscape/Jobs/BakeColliderMeshes.cs +++ b/Explorer/Assets/DCL/Landscape/Jobs/BakeColliderMeshes.cs @@ -8,7 +8,7 @@ namespace DCL.Landscape.Jobs [BurstCompile] public struct BakeColliderMeshes : IJobParallelFor { - [ReadOnly, DeallocateOnJobCompletion] public NativeArray Meshes; + [ReadOnly, DeallocateOnJobCompletion] public NativeArray Meshes; public void Execute(int index) => Physics.BakeMesh(Meshes[index], false, MeshColliderCookingOptions.UseFastMidphase); diff --git a/Explorer/Assets/DCL/Landscape/Systems/CollideTerrainSystem.cs b/Explorer/Assets/DCL/Landscape/Systems/CollideTerrainSystem.cs index 0071fe28204..be8647ad748 100644 --- a/Explorer/Assets/DCL/Landscape/Systems/CollideTerrainSystem.cs +++ b/Explorer/Assets/DCL/Landscape/Systems/CollideTerrainSystem.cs @@ -137,11 +137,11 @@ protected override void Update(float t) vertices.Dispose(); - var meshes = new NativeArray(dirtyParcels.Count, Allocator.TempJob, + var meshes = new NativeArray(dirtyParcels.Count, Allocator.TempJob, NativeArrayOptions.UninitializedMemory); for (int i = 0; i < dirtyParcels.Count; i++) - meshes[i] = dirtyParcels[i].Mesh.GetInstanceID(); + meshes[i] = dirtyParcels[i].Mesh.GetEntityId(); var bakeColliderMeshesJob = new BakeColliderMeshes() { Meshes = meshes }; bakeColliderMeshesJob.Schedule(meshes.Length, 1).Complete(); diff --git a/Explorer/Assets/DCL/WebRequests/Analytics/Metrics/MetricsRegistry.cs b/Explorer/Assets/DCL/WebRequests/Analytics/Metrics/MetricsRegistry.cs index 6238d2c22d5..3fdc3f34e4d 100644 --- a/Explorer/Assets/DCL/WebRequests/Analytics/Metrics/MetricsRegistry.cs +++ b/Explorer/Assets/DCL/WebRequests/Analytics/Metrics/MetricsRegistry.cs @@ -10,12 +10,23 @@ public static class MetricsRegistry { public static readonly Type[] TYPES = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(GetTypesSafely) - .Where(type => typeof(RequestMetricBase).IsAssignableFrom(type) && !type.IsAbstract && !type.IsGenericType + .Where(type => IsAssignableSafe(type) && !type.IsAbstract && !type.IsGenericType && type != typeof(RequestMetricRecorder)) .ToArray(); public static readonly Dictionary INDICES = TYPES.Select((i, r) => (i, r)).ToDictionary(s => s.i, s => s.r); + /// + /// IsAssignableFrom can force-load a type's full definition; under Unity 6000.5's Mono some + /// precompiled dependency types fail to resolve (TypeLoadException). Skip those instead of + /// letting the static ctor throw and take the whole request-metrics subsystem down. + /// + private static bool IsAssignableSafe(Type type) + { + try { return typeof(RequestMetricBase).IsAssignableFrom(type); } + catch { return false; } + } + /// /// Safely gets types from an assembly, handling ReflectionTypeLoadException /// which can occur when some types have unresolvable dependencies. diff --git a/Explorer/ProjectSettings/ProjectVersion.txt b/Explorer/ProjectSettings/ProjectVersion.txt index 8a87982496e..c1608124f6c 100644 --- a/Explorer/ProjectSettings/ProjectVersion.txt +++ b/Explorer/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.4.0f1 -m_EditorVersionWithRevision: 6000.4.0f1 (8cf496087c8f) +m_EditorVersion: 6000.5.2f1 +m_EditorVersionWithRevision: 6000.5.2f1 (eb73d3b415a1) From 4283e16752d7b1c74e2323ed47c76f655c331672 Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 12:25:30 +0200 Subject: [PATCH 02/12] chore: bump upgrade to Unity 6000.5.4f1 6000.5.3 escalated the InstanceID deprecations to hard errors and moved UnityEngine.XR types behind the XR module, which broke every third-party package. Changes on top of the 6000.5.2f1 migration: - ProjectVersion 6000.5.4f1; add com.unity.modules.xr (XR types are no longer reachable without it). - Point vendored packages (AVPro, GPUI Pro, RenderFeatures, FileBrowserPro) at unity-explorer-packages#fix/unity-6000.5.4-api-compat, which migrates them to the EntityId APIs. - Vendor AltTester 2.3.2, SerializeReferenceExtensions and AnimationSequencer on the same branch: no upstream Unity 6000.5 support exists yet. AltTester is now referenced by assembly name instead of the version-specific asmdef GUIDs. - SoftMask 3.5.0 -> 3.6.2 and UniTask lock bump; both fixed 6000.5 compatibility upstream. - Migrate remaining DCL GetInstanceID call sites: Physics.BakeMesh takes EntityId; object identity checks use reference equality. - Editor-migrated settings (PackageManager registry format, SoftMask shader registry, URP global settings, mppm version stamp). --- ...alization-String-Tables-English (en).asset | 6 + .../AuthenticationScreenAudio.cs | 2 +- .../ConfigureGltfContainerColliders.cs | 2 +- .../HomeMarker/HomeMarkerController.cs | 6 +- .../DCL/PluginSystem/DCL.Plugins.asmdef | 4 +- .../Roads/Data/Editor/RoadAssetGenerator.cs | 2 +- .../UISoftMaskProjectSettings.asset | 8 + ...niversalRenderPipelineGlobalSettings.asset | 23 +-- Explorer/Packages/manifest.json | 52 +++--- Explorer/Packages/packages-lock.json | 154 +++++++++--------- .../PackageManagerSettings.asset | 13 +- Explorer/ProjectSettings/ProjectVersion.txt | 4 +- .../VirtualProjectsConfig.json | 2 +- 13 files changed, 144 insertions(+), 134 deletions(-) diff --git a/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset b/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset index e6fbda305a5..a883d9dd785 100644 --- a/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset +++ b/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset @@ -27,6 +27,12 @@ MonoBehaviour: m_SerializedLabels: - Locale-en FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: b6e9645ea90c9494a9ae8aba0ba9f004 + m_Address: Tests Localization Table_en + m_ReadOnly: 1 + m_SerializedLabels: + - Locale-en + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: b983fc3744bd749df80bbb972f615bc9 m_Address: UI Text Localization Table_en m_ReadOnly: 1 diff --git a/Explorer/Assets/DCL/AuthenticationScreenFlow/AuthenticationScreenAudio.cs b/Explorer/Assets/DCL/AuthenticationScreenFlow/AuthenticationScreenAudio.cs index 08954e79ead..f3ef9e6bf87 100644 --- a/Explorer/Assets/DCL/AuthenticationScreenFlow/AuthenticationScreenAudio.cs +++ b/Explorer/Assets/DCL/AuthenticationScreenFlow/AuthenticationScreenAudio.cs @@ -62,7 +62,7 @@ private void OnMuteButtonClicked() private void OnContinuousAudioStarted(AudioClipConfig audioClipConfig) { - if (audioClipConfig.GetInstanceID() != backgroundMusic.GetInstanceID()) + if (audioClipConfig != backgroundMusic) return; UIAudioEventsBus.Instance.PlayContinuousUIAudioEvent -= OnContinuousAudioStarted; diff --git a/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Systems/ConfigureGltfContainerColliders.cs b/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Systems/ConfigureGltfContainerColliders.cs index b61744b6ea2..3a1570a5e60 100644 --- a/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Systems/ConfigureGltfContainerColliders.cs +++ b/Explorer/Assets/DCL/Infrastructure/ECS/Unity/GLTFContainer/Systems/ConfigureGltfContainerColliders.cs @@ -93,7 +93,7 @@ private static void TryInstantiateVisibleMeshesColliders(GltfContainerAsset asse MeshCollider newCollider = go.AddComponent(); // TODO Jobify: can be invoked from a worker thread - Physics.BakeMesh(mesh.GetInstanceID(), false); + Physics.BakeMesh(mesh.GetEntityId(), false); newCollider.sharedMesh = mesh; diff --git a/Explorer/Assets/DCL/MapRenderer/MapLayers/HomeMarker/HomeMarkerController.cs b/Explorer/Assets/DCL/MapRenderer/MapLayers/HomeMarker/HomeMarkerController.cs index 4c571085eb4..0e3fd64c5c5 100644 --- a/Explorer/Assets/DCL/MapRenderer/MapLayers/HomeMarker/HomeMarkerController.cs +++ b/Explorer/Assets/DCL/MapRenderer/MapLayers/HomeMarker/HomeMarkerController.cs @@ -183,7 +183,7 @@ public bool TryHighlightObject(GameObject gameObject, out IMapRendererMarker? ma { mapMarker = null; - if (gameObject.GetInstanceID() != homeMarker.MarkerObject.gameObject.GetInstanceID()) + if (gameObject != homeMarker.MarkerObject.gameObject) return false; mapMarker = homeMarker; @@ -194,7 +194,7 @@ public bool TryHighlightObject(GameObject gameObject, out IMapRendererMarker? ma public bool TryDeHighlightObject(GameObject gameObject) { - if (gameObject.GetInstanceID() != homeMarker.MarkerObject.gameObject.GetInstanceID()) + if (gameObject != homeMarker.MarkerObject.gameObject) return false; deHighlightCt = deHighlightCt.SafeRestart(); @@ -206,7 +206,7 @@ public bool TryClickObject(GameObject gameObject, CancellationTokenSource cts, o { mapRenderMarker = null; - if (gameObject.GetInstanceID() != homeMarker.MarkerObject.gameObject.GetInstanceID()) + if (gameObject != homeMarker.MarkerObject.gameObject) return false; DisplayPlacesInfoPanelAsync(CurrentCoordinates).Forget(); diff --git a/Explorer/Assets/DCL/PluginSystem/DCL.Plugins.asmdef b/Explorer/Assets/DCL/PluginSystem/DCL.Plugins.asmdef index 2032d9a6b31..997d1149963 100644 --- a/Explorer/Assets/DCL/PluginSystem/DCL.Plugins.asmdef +++ b/Explorer/Assets/DCL/PluginSystem/DCL.Plugins.asmdef @@ -66,8 +66,8 @@ "GUID:29f99fa49221a4df7aecb5cd50457e5f", "GUID:4fd6538c1c56b409fb53fdf0183170ec", "GUID:03a95e8e68fa74ca9a0d562b5f4e25a6", - "GUID:478b585cfbb242f4c977b9aec772e042", - "GUID:451516970bc990e418454aa78b72586e", + "AltTester.AltTesterUnitySDK.Driver", + "AltTester.AltTesterUnitySDK", "GUID:13c468c9ecfc44f249fb8fb69d3365ef", "GUID:a42927d1d4a3b4cda9b076a7adecb9cc", "GUID:63cde67b4a5d47449392dfc49fc0c3ed", diff --git a/Explorer/Assets/DCL/Roads/Data/Editor/RoadAssetGenerator.cs b/Explorer/Assets/DCL/Roads/Data/Editor/RoadAssetGenerator.cs index 6cd686dd136..a0ca8ba09d2 100644 --- a/Explorer/Assets/DCL/Roads/Data/Editor/RoadAssetGenerator.cs +++ b/Explorer/Assets/DCL/Roads/Data/Editor/RoadAssetGenerator.cs @@ -56,7 +56,7 @@ private static void BuildRoads() if (child.name.Contains("_collider")) { MeshFilter meshFilter = child.GetComponent(); - Physics.BakeMesh(meshFilter.sharedMesh.GetInstanceID(), false); + Physics.BakeMesh(meshFilter.sharedMesh.GetEntityId(), false); meshFilter.gameObject.AddComponent(); if (meshFilter != null) diff --git a/Explorer/Assets/ProjectSettings/UISoftMaskProjectSettings.asset b/Explorer/Assets/ProjectSettings/UISoftMaskProjectSettings.asset index df09aa542c8..a00b9b21b5d 100644 --- a/Explorer/Assets/ProjectSettings/UISoftMaskProjectSettings.asset +++ b/Explorer/Assets/ProjectSettings/UISoftMaskProjectSettings.asset @@ -58,6 +58,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: eb5b5e33068c14a2bacdd6575e94f505, type: 3} m_Name: UISoftMaskProjectSettings m_EditorClassIdentifier: Coffee.SoftMaskForUGUI::Coffee.UISoftMask.UISoftMaskProjectSettings + m_PreLoadSettingsInBuild: 1 m_SoftMaskEnabled: 1 m_StereoEnabled: 1 m_TransformSensitivity: 1 @@ -66,5 +67,12 @@ MonoBehaviour: m_ShaderVariantRegistry: m_OptionalShaders: [] m_Asset: {fileID: -3594433201247543868} + m_RegisteredShaders: + - {fileID: 4800000, guid: 55469a28bf0d2b14db8e6452e462bd4c, type: 3} + - {fileID: 4800000, guid: 537b3c029e4916749868ad462dca58c5, type: 3} + - {fileID: 4800000, guid: 2933b413a51fc4ff3a83c7ef4177ae84, type: 3} + - {fileID: 4800000, guid: 9839189d918374a318d397a86e90aa73, type: 3} + - {fileID: 4800000, guid: 63261060f5b084969aca3decbe52d1d0, type: 3} + - {fileID: 4800000, guid: 73f09e0b51f9545d686192848731ea76, type: 3} m_ErrorOnUnregisteredVariant: 0 m_UnregisteredVariants: [] diff --git a/Explorer/Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset b/Explorer/Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset index c5ab7d3c119..255c4ecc775 100644 --- a/Explorer/Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset +++ b/Explorer/Assets/Rendering/UniversalRenderPipelineGlobalSettings.asset @@ -68,20 +68,7 @@ MonoBehaviour: - rid: 7615374225099980801 - rid: 1968253956958978048 m_RuntimeSettings: - m_List: - - rid: 5720272519283605504 - - rid: 5720272519283605506 - - rid: 5720272519283605507 - - rid: 5720272519283605509 - - rid: 5720272519283605511 - - rid: 5720272519283605512 - - rid: 5720272519283605515 - - rid: 5720272519283605517 - - rid: 5720272519283605521 - - rid: 5720272519283605524 - - rid: 5456857044409122817 - - rid: 5456857044409122818 - - rid: 7615374225099980801 + m_List: [] m_AssetVersion: 10 m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: @@ -105,8 +92,6 @@ MonoBehaviour: references: version: 2 RefIds: - - rid: -2 - type: {class: , ns: , asm: } - rid: 840894933743435776 type: {class: RayTracingRenderPipelineResources, ns: UnityEngine.Rendering.UnifiedRayTracing, asm: Unity.UnifiedRayTracing.Runtime} data: @@ -232,6 +217,11 @@ MonoBehaviour: type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} data: m_version: 0 + m_PanelSettings: {fileID: 11400000, guid: fa69697be3070b04a893666f5947f18c, type: 2} + m_StyleSheets: + - {fileID: 7433441132597879392, guid: 0ff99fd36f66f1a41bcc1d3c90e0922a, type: 3} + - {fileID: 7433441132597879392, guid: 3a8aa4d508da46d4dace18b280f064aa, type: 3} + m_VisualTreeAsset: {fileID: 9197481963319205126, guid: b647ceb1e15264943b9b439971e71110, type: 3} - rid: 5456857044409122817 type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} data: @@ -333,6 +323,7 @@ MonoBehaviour: type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_SimpleLitMaterial: {fileID: 2100000, guid: 6a1143ee683302f4aa628c052723efc1, type: 2} m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} diff --git a/Explorer/Packages/manifest.json b/Explorer/Packages/manifest.json index 02e7dab7919..3bbb6041fbb 100644 --- a/Explorer/Packages/manifest.json +++ b/Explorer/Packages/manifest.json @@ -1,15 +1,15 @@ { "dependencies": { "arch.systemgroups.visualiser": "https://github.com/m3taphysics/Arch.SystemGroups.Visualiser.git?path=/Packages/arch.systemgroups.visualiser", - "com.alttester.sdk": "2.3.0", + "com.alttester.sdk": "git@github.com:decentraland/unity-explorer-packages.git?path=/AltTester#fix/unity-6000.5.4-api-compat", "com.arch.systemgroups": "https://github.com/mikhail-dcl/Arch.SystemGroups.git?path=/Arch.SystemGroups", "com.atteneder.draco": "4.0.2", "com.atteneder.gltfast": "https://github.com/decentraland/unity-gltf.git", - "com.brunomikoski.animationsequencer": "0.5.4", - "com.coffee.softmask-for-ugui": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.5.0", + "com.brunomikoski.animationsequencer": "git@github.com:decentraland/unity-explorer-packages.git?path=/AnimationSequencer#fix/unity-6000.5.4-api-compat", + "com.coffee.softmask-for-ugui": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.6.2", "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", - "com.dcl.gpui-assets": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.dcl.gpui-assets", - "com.decentraland.filebrowserpro": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro", + "com.dcl.gpui-assets": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.dcl.gpui-assets#fix/unity-6000.5.4-api-compat", + "com.decentraland.filebrowserpro": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro#fix/unity-6000.5.4-api-compat", "com.decentraland.livekit-sdk": "https://github.com/decentraland/client-sdk-unity.git#222d67ccc289337dadb5e8d96ee5b633dfb905b6", "com.decentraland.pulse.transport": "https://github.com/decentraland/Pulse.git?path=src/DCLPulse.Transport.Shared#536d308a96cd5dce1011b012e7d0b39c27b01993", "com.decentraland.renum": "https://github.com/NickKhalow/REnum.git?path=REnum", @@ -17,36 +17,36 @@ "com.decentraland.rpc-csharp": "https://github.com/decentraland/rpc-csharp.git?path=rpc-csharp/src#f3dd251c7837cc2d844e1c07e741177a53676064", "com.decentraland.rust-ethereum": "https://github.com/decentraland/rust-ethereum.git?path=unity#v0.2.3", "com.decentraland.unity-shared-dependencies": "git@github.com:decentraland/unity-shared-dependencies.git", - "com.gurbu.gpui-pro": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro", - "com.gurbu.gpui-pro.terrain": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain", - "com.mackysoft.serializereference-extensions": "1.3.1", + "com.gurbu.gpui-pro": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", + "com.gurbu.gpui-pro.terrain": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", + "com.mackysoft.serializereference-extensions": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", "com.nickkhalow.chrome-devtool-protocol-unity": "https://github.com/decentraland/chrome-devtool-protocol-unity.git?path=/Packages", "com.nickkhalow.richtypes": "https://github.com/NickKhalow/RichTypesUnity.git?path=/Packages/RichTypes", - "com.renderheads.avpro.video-ultra": "git@github.com:decentraland/unity-explorer-packages.git?path=/AVProVideo", + "com.renderheads.avpro.video-ultra": "git@github.com:decentraland/unity-explorer-packages.git?path=/AVProVideo#fix/unity-6000.5.4-api-compat", "com.unity.2d.sprite": "1.0.0", "com.unity.addressables": "2.9.1", "com.unity.animation.rigging": "1.4.1", - "com.unity.cinemachine": "2.10.6", + "com.unity.cinemachine": "2.10.7", "com.unity.cloud.ktx": "3.6.3", "com.unity.code-analysis": "0.1.2-preview", - "com.unity.collections": "6.4.0", + "com.unity.collections": "6.5.0", "com.unity.ide.rider": "3.0.39", "com.unity.ide.visualstudio": "2.0.27", "com.unity.inputsystem": "1.19.0", - "com.unity.localization": "1.5.8", - "com.unity.mathematics": "1.3.3", - "com.unity.memoryprofiler": "1.1.11", - "com.unity.multiplayer.playmode": "2.0.1", - "com.unity.performance.profile-analyzer": "1.3.2", - "com.unity.render-pipelines.universal": "17.4.0", + "com.unity.localization": "1.5.12", + "com.unity.mathematics": "1.4.0", + "com.unity.memoryprofiler": "1.1.12", + "com.unity.multiplayer.playmode": "2.0.2", + "com.unity.performance.profile-analyzer": "1.4.0", + "com.unity.render-pipelines.universal": "17.5.0", "com.unity.services.cloud-diagnostics": "1.0.12", - "com.unity.test-framework": "1.6.0", - "com.unity.test-framework.performance": "3.2.0", - "com.unity.timeline": "1.8.11", - "com.unity.ugui": "2.0.0", - "com.unity.visualeffectgraph": "17.4.0", + "com.unity.test-framework": "1.7.0", + "com.unity.test-framework.performance": "3.5.0", + "com.unity.timeline": "1.8.12", + "com.unity.ugui": "2.5.0", + "com.unity.visualeffectgraph": "17.5.0", "decentraland.grassshader": "git@github.com:decentraland/unity-explorer-packages.git?path=/StylizedGrassShader", - "decentraland.renderfeatures": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures", + "decentraland.renderfeatures": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures#fix/unity-6000.5.4-api-compat", "io.livekit.unity": "https://github.com/livekit/client-sdk-unity-web.git", "io.sentry.unity": "https://github.com/getsentry/unity.git#4.0.0", "net.tnrd.nsubstitute": "https://github.com/decentraland/Unity3D-NSubstitute.git", @@ -74,8 +74,8 @@ "com.unity.modules.unitywebrequesttexture": "1.0.0", "com.unity.modules.vectorgraphics": "1.0.0", "com.unity.modules.video": "1.0.0", - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.wind": "1.0.0" + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" }, "scopedRegistries": [ { @@ -95,4 +95,4 @@ "testables": [ "org.decentraland.clearscript" ] -} +} \ No newline at end of file diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index e0522e707d5..86d258cc7d7 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -8,9 +8,9 @@ "hash": "e368e96fa8145bfca6ad2947ca60c427d4a81d74" }, "com.alttester.sdk": { - "version": "2.3.0", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/AltTester#fix/unity-6000.5.4-api-compat", "depth": 0, - "source": "registry", + "source": "git", "dependencies": { "com.unity.editorcoroutines": "1.0.0", "com.unity.modules.physics": "1.0.0", @@ -20,9 +20,9 @@ "com.unity.modules.unitywebrequest": "1.0.0", "com.unity.nuget.newtonsoft-json": "3.1.0", "com.unity.test-framework": "1.1.33", - "com.unity.ugui": "2.0.0" + "com.unity.ugui": "1.0.0" }, - "url": "https://package.openupm.com" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.arch.systemgroups": { "version": "https://github.com/mikhail-dcl/Arch.SystemGroups.git?path=/Arch.SystemGroups", @@ -53,41 +53,41 @@ "hash": "b9f9f75c3a0093c95a5b49420e7781c4f5d968b9" }, "com.brunomikoski.animationsequencer": { - "version": "0.5.4", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/AnimationSequencer#fix/unity-6000.5.4-api-compat", "depth": 0, - "source": "registry", + "source": "git", "dependencies": {}, - "url": "https://package.openupm.com" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.coffee.softmask-for-ugui": { - "version": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.5.0", + "version": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.6.2", "depth": 0, "source": "git", "dependencies": { "com.unity.ugui": "1.0.0" }, - "hash": "9a7535a3fad66ebec5458a8b22f6ad023c960fd3" + "hash": "5a568c41998fd7ec09ecfc0fcd6405b330362720" }, "com.cysharp.unitask": { "version": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", "depth": 0, "source": "git", "dependencies": {}, - "hash": "73d86259ce31ce7f4dfe1d028ea1c3edf96c23e4" + "hash": "ceac8d6946b1125fe782cd171fbcb245b567dbf9" }, "com.dcl.gpui-assets": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.dcl.gpui-assets", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.dcl.gpui-assets#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "53f8551acaf204b3319d3f9999c12e688a19ff13" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.decentraland.filebrowserpro": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "f57b137a6bd76527ea144b7e03cd7743f1b39599" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.decentraland.livekit-sdk": { "version": "https://github.com/decentraland/client-sdk-unity.git#222d67ccc289337dadb5e8d96ee5b633dfb905b6", @@ -143,7 +143,7 @@ "hash": "f040030e82c51bdddce67ae18149e22b5b4c4c0d" }, "com.gurbu.gpui-pro": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": { @@ -151,23 +151,23 @@ "com.unity.collections": "1.2.0", "com.unity.mathematics": "1.2.0" }, - "hash": "53f8551acaf204b3319d3f9999c12e688a19ff13" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.gurbu.gpui-pro.terrain": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": { "com.gurbu.gpui-pro": "0.9.19" }, - "hash": "53f8551acaf204b3319d3f9999c12e688a19ff13" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.mackysoft.serializereference-extensions": { - "version": "1.3.1", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", "depth": 0, - "source": "registry", + "source": "git", "dependencies": {}, - "url": "https://package.openupm.com" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.nickkhalow.chrome-devtool-protocol-unity": { "version": "https://github.com/decentraland/chrome-devtool-protocol-unity.git?path=/Packages", @@ -187,11 +187,11 @@ "hash": "00cbf100acd16a024c6fb1acd2ba9a439dfa358b" }, "com.renderheads.avpro.video-ultra": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/AVProVideo", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/AVProVideo#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "f79125eff7607f6d0e2665cb31eb313779908d55" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "com.unity.2d.sprite": { "version": "1.0.0", @@ -227,7 +227,7 @@ "url": "https://packages.unity.com" }, "com.unity.burst": { - "version": "1.8.28", + "version": "1.8.29", "depth": 1, "source": "registry", "dependencies": { @@ -237,7 +237,7 @@ "url": "https://packages.unity.com" }, "com.unity.cinemachine": { - "version": "2.10.6", + "version": "2.10.7", "depth": 0, "source": "registry", "dependencies": { @@ -262,26 +262,25 @@ "url": "https://packages.unity.com" }, "com.unity.collections": { - "version": "6.4.0", + "version": "6.5.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.burst": "1.8.23", - "com.unity.mathematics": "1.3.2", - "com.unity.nuget.mono-cecil": "1.11.5", + "com.unity.burst": "1.8.25", + "com.unity.nuget.mono-cecil": "1.11.6", "com.unity.test-framework": "1.4.6", - "com.unity.test-framework.performance": "3.0.3" + "com.unity.test-framework.performance": "3.2.0" } }, "com.unity.editorcoroutines": { - "version": "1.0.1", + "version": "1.1.0", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.ext.nunit": { - "version": "2.0.5", + "version": "2.1.0", "depth": 1, "source": "builtin", "dependencies": {} @@ -314,7 +313,7 @@ "url": "https://packages.unity.com" }, "com.unity.localization": { - "version": "1.5.8", + "version": "1.5.12", "depth": 0, "source": "registry", "dependencies": { @@ -324,14 +323,13 @@ "url": "https://packages.unity.com" }, "com.unity.mathematics": { - "version": "1.3.3", + "version": "1.4.0", "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" + "source": "builtin", + "dependencies": {} }, "com.unity.memoryprofiler": { - "version": "1.1.11", + "version": "1.1.12", "depth": 0, "source": "registry", "dependencies": { @@ -344,7 +342,7 @@ "url": "https://packages.unity.com" }, "com.unity.multiplayer.playmode": { - "version": "2.0.1", + "version": "2.0.2", "depth": 0, "source": "registry", "dependencies": { @@ -367,7 +365,7 @@ "url": "https://packages.unity.com" }, "com.unity.performance.profile-analyzer": { - "version": "1.3.2", + "version": "1.4.0", "depth": 0, "source": "registry", "dependencies": {}, @@ -381,34 +379,32 @@ "url": "https://packages.unity.com" }, "com.unity.render-pipelines.core": { - "version": "17.4.0", + "version": "17.5.0", "depth": 1, "source": "builtin", "dependencies": { "com.unity.burst": "1.8.14", - "com.unity.mathematics": "1.3.2", - "com.unity.ugui": "2.0.0", "com.unity.collections": "2.4.3", "com.unity.modules.terrain": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" } }, "com.unity.render-pipelines.universal": { - "version": "17.4.0", + "version": "17.5.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.4.0", - "com.unity.shadergraph": "17.4.0", - "com.unity.render-pipelines.universal-config": "17.4.0" + "com.unity.render-pipelines.core": "17.5.0", + "com.unity.shadergraph": "17.5.0", + "com.unity.render-pipelines.universal-config": "17.5.0" } }, "com.unity.render-pipelines.universal-config": { - "version": "17.4.0", + "version": "17.5.0", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.4.0" + "com.unity.render-pipelines.core": "17.5.0" } }, "com.unity.scriptablebuildpipeline": { @@ -439,37 +435,37 @@ "url": "https://packages.unity.com" }, "com.unity.services.core": { - "version": "1.16.0", + "version": "1.18.0", "depth": 1, "source": "registry", "dependencies": { "com.unity.modules.androidjni": "1.0.0", - "com.unity.nuget.newtonsoft-json": "3.2.1", + "com.unity.nuget.newtonsoft-json": "3.2.2", "com.unity.modules.unitywebrequest": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.shadergraph": { - "version": "17.4.0", + "version": "17.5.0", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.4.0", + "com.unity.render-pipelines.core": "17.5.0", "com.unity.searcher": "4.9.3" } }, "com.unity.test-framework": { - "version": "1.6.0", + "version": "1.7.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.ext.nunit": "2.0.3", + "com.unity.ext.nunit": "2.1.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" } }, "com.unity.test-framework.performance": { - "version": "3.2.0", + "version": "3.5.0", "depth": 0, "source": "registry", "dependencies": { @@ -479,7 +475,7 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.8.11", + "version": "1.8.12", "depth": 0, "source": "registry", "dependencies": { @@ -491,21 +487,24 @@ "url": "https://packages.unity.com" }, "com.unity.ugui": { - "version": "2.0.0", + "version": "2.5.0", "depth": 0, "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0" + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.physics": "1.0.0" } }, "com.unity.visualeffectgraph": { - "version": "17.4.0", + "version": "17.5.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.shadergraph": "17.4.0", - "com.unity.render-pipelines.core": "17.4.0" + "com.unity.shadergraph": "17.5.0", + "com.unity.render-pipelines.core": "17.5.0" } }, "decentraland.grassshader": { @@ -520,11 +519,11 @@ "hash": "c35c10aabe0f919b1a455d28d2a1d18b6bcbe574" }, "decentraland.renderfeatures": { - "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures", + "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "d5e6427e41422d069e8c0b9b4a8d9ab606877b70" + "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" }, "io.livekit.unity": { "version": "https://github.com/livekit/client-sdk-unity-web.git", @@ -583,7 +582,9 @@ "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": {} + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } }, "com.unity.modules.animation": { "version": "1.0.0", @@ -652,6 +653,14 @@ "version": "1.0.0", "depth": 0, "source": "builtin", + "dependencies": { + "com.unity.modules.physicscore2d": "1.0.0" + } + }, + "com.unity.modules.physicscore2d": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", "dependencies": {} }, "com.unity.modules.screencapture": { @@ -700,7 +709,8 @@ "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.hierarchycore": "1.0.0", - "com.unity.modules.physics": "1.0.0" + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.animation": "1.0.0" } }, "com.unity.modules.unityanalytics": { @@ -765,16 +775,6 @@ "com.unity.modules.unitywebrequest": "1.0.0" } }, - "com.unity.modules.vr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } - }, "com.unity.modules.wind": { "version": "1.0.0", "depth": 0, @@ -783,7 +783,7 @@ }, "com.unity.modules.xr": { "version": "1.0.0", - "depth": 1, + "depth": 0, "source": "builtin", "dependencies": { "com.unity.modules.physics": "1.0.0", diff --git a/Explorer/ProjectSettings/PackageManagerSettings.asset b/Explorer/ProjectSettings/PackageManagerSettings.asset index 3ac81b1b48b..7c7eecc4220 100644 --- a/Explorer/ProjectSettings/PackageManagerSettings.asset +++ b/Explorer/ProjectSettings/PackageManagerSettings.asset @@ -19,17 +19,19 @@ MonoBehaviour: m_DismissPreviewPackagesInUse: 1 oneTimeWarningShown: 0 oneTimePackageErrorsPopUpShown: 0 - m_Registries: - - m_Id: main + m_MainRegistry: + m_Id: main m_Name: m_Url: https://packages.unity.com m_Scopes: [] m_IsDefault: 1 + m_IsUnityRegistry: 1 m_Capabilities: 7 m_ConfigSource: 0 m_Compliance: m_Status: 0 m_Violations: [] + m_ScopedRegistries: - m_Id: scoped:project:OpenUPM m_Name: OpenUPM m_Url: https://package.openupm.com @@ -42,6 +44,7 @@ MonoBehaviour: - com.mackysoft - com.alttester.sdk m_IsDefault: 0 + m_IsUnityRegistry: 0 m_Capabilities: 0 m_ConfigSource: 4 m_Compliance: @@ -52,6 +55,8 @@ MonoBehaviour: m_RegistryInfoDraft: m_Modified: 0 m_ErrorMessage: - m_UserModificationsInstanceId: -896 - m_OriginalInstanceId: -900 + m_UserModificationsEntityId: + m_rawData: 568105589213756512 + m_OriginalEntityId: + m_rawData: 568105589213756510 m_LoadAssets: 0 diff --git a/Explorer/ProjectSettings/ProjectVersion.txt b/Explorer/ProjectSettings/ProjectVersion.txt index c1608124f6c..2bef8d44c36 100644 --- a/Explorer/ProjectSettings/ProjectVersion.txt +++ b/Explorer/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.5.2f1 -m_EditorVersionWithRevision: 6000.5.2f1 (eb73d3b415a1) +m_EditorVersion: 6000.5.4f1 +m_EditorVersionWithRevision: 6000.5.4f1 (d550df8bd089) diff --git a/Explorer/ProjectSettings/VirtualProjectsConfig.json b/Explorer/ProjectSettings/VirtualProjectsConfig.json index e5172788070..af2b89c38b3 100644 --- a/Explorer/ProjectSettings/VirtualProjectsConfig.json +++ b/Explorer/ProjectSettings/VirtualProjectsConfig.json @@ -2,5 +2,5 @@ "PlayerTags": [ "PrefsInMemory" ], - "version": "6000.4.0f1" + "version": "6000.5.4f1" } \ No newline at end of file From 8baee6bd28f8fecf6f107cdb1b8d04357cc1e425 Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 13:54:46 +0200 Subject: [PATCH 03/12] chore: 6000.5.4f1 runtime fixes and upgrade-audit cleanup Runtime fixes found by in-editor verification: - unity-shared-dependencies pinned to fix/unity-6000.5-shader-compat: URP 17.5's LitForwardPass.hlsl now self-includes LitInput.hlsl, which collided with DCL_Toon's own input file and broke the avatar toon shader (magenta avatars). Fixed upstream with guard-reuse. - Migrate the two UI Toolkit Inter font assets from static to dynamic atlas population (source .ttf restored): 6000.5's Advanced Text Generator cannot use static font assets, which blanked all UI Toolkit text. Baked atlases retained as the pre-populated starting set. - Point DebugUtilitiesStyle.uss at the real Inter Regular font asset; its previous reference targeted a theme asset that no longer exists. Audit cleanup (multi-agent review of the upgrade diff): - unity-explorer-packages branch rebuilt to vendor the previously pinned AltTester 2.3.0 / SerializeReferenceExtensions 1.3.1 / AnimationSequencer 0.5.4 (no silent version bumps) and to keep AltTester's int-based wire protocol on legacy instance-id values. - Revert the test-only localization table that the Localization 1.5.12 sync auto-added to the shipped addressables group. - Commit the deterministic 6000.5 migration artifacts (VFXManager version stamp, PhysicsCoreProjectSettings2D, ForwardRenderer hide flags, stopwatch meta normalization) so checkouts stay clean. --- ...alization-String-Tables-English (en).asset | 6 ---- .../Views/Assets/DebugUtilitiesStyle.uss | 2 +- .../Fonts/Inter_18pt-Regular SDF.asset | 7 +++-- .../Fonts/Inter_18pt-SemiBold SDF.asset | 7 +++-- .../Rendering/ForwardRenderer - High.asset | 16 +++++------ .../dcl_exit_stopwatch.exe.meta | 7 ++++- Explorer/Packages/manifest.json | 4 +-- Explorer/Packages/packages-lock.json | 28 +++++++++---------- .../PhysicsCoreProjectSettings2D.asset | 6 ++++ Explorer/ProjectSettings/VFXManager.asset | 2 +- 10 files changed, 46 insertions(+), 39 deletions(-) create mode 100644 Explorer/ProjectSettings/PhysicsCoreProjectSettings2D.asset diff --git a/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset b/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset index a883d9dd785..e6fbda305a5 100644 --- a/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset +++ b/Explorer/Assets/AddressableAssetsData/AssetGroups/Localization-String-Tables-English (en).asset @@ -27,12 +27,6 @@ MonoBehaviour: m_SerializedLabels: - Locale-en FlaggedDuringContentUpdateRestriction: 0 - - m_GUID: b6e9645ea90c9494a9ae8aba0ba9f004 - m_Address: Tests Localization Table_en - m_ReadOnly: 1 - m_SerializedLabels: - - Locale-en - FlaggedDuringContentUpdateRestriction: 0 - m_GUID: b983fc3744bd749df80bbb972f615bc9 m_Address: UI Text Localization Table_en m_ReadOnly: 1 diff --git a/Explorer/Assets/DCL/PerformanceAndDiagnostics/DebugUtilities/Views/Assets/DebugUtilitiesStyle.uss b/Explorer/Assets/DCL/PerformanceAndDiagnostics/DebugUtilities/Views/Assets/DebugUtilitiesStyle.uss index 8cf61c307bc..2ac0fd3f0ec 100644 --- a/Explorer/Assets/DCL/PerformanceAndDiagnostics/DebugUtilities/Views/Assets/DebugUtilitiesStyle.uss +++ b/Explorer/Assets/DCL/PerformanceAndDiagnostics/DebugUtilities/Views/Assets/DebugUtilitiesStyle.uss @@ -158,7 +158,7 @@ DebugHintElement > #Sign { #DebugInnerFoldout.unity-foldout .unity-foldout__text { -unity-font-style: bold; font-size: 94%; - -unity-font-definition: url("project://database/Assets/DCL/UIToolkit/UnityDefaultRuntimeTheme.tss?fileID=2230732570650464555&guid=b7c607f38bada4c96aa322fe8add23f9&type=3#NotInter-Regular"); + -unity-font-definition: url('/Assets/DCL/UIToolkit/Fonts/Inter_18pt-Regular SDF.asset'); -unity-text-outline-width: 0; color: rgb(207, 207, 207); } diff --git a/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-Regular SDF.asset b/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-Regular SDF.asset index 00fd866a1aa..6e6e7c81020 100644 --- a/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-Regular SDF.asset +++ b/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-Regular SDF.asset @@ -15,6 +15,7 @@ MonoBehaviour: m_Version: 1.1.0 m_Material: {fileID: 4094691292286648854} m_SourceFontFileGUID: 6662efddf575d46528acad7d7309708b + m_ShowObsoleteProperties: 0 m_fontAssetCreationEditorSettings: sourceFontFileGUID: 6662efddf575d46528acad7d7309708b faceIndex: 0 @@ -33,9 +34,9 @@ MonoBehaviour: fontStyleModifier: 0 renderMode: 4165 includeFontFeatures: 0 - m_SourceFontFile: {fileID: 0} + m_SourceFontFile: {fileID: 12800000, guid: 6662efddf575d46528acad7d7309708b, type: 3} m_SourceFontFilePath: - m_AtlasPopulationMode: 0 + m_AtlasPopulationMode: 1 InternalDynamicOS: 0 IsEditorFont: 0 m_FaceInfo: @@ -2754,7 +2755,7 @@ Texture2D: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 - serializedVersion: 3 + serializedVersion: 4 m_Width: 1024 m_Height: 1024 m_CompleteImageSize: 1048576 diff --git a/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-SemiBold SDF.asset b/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-SemiBold SDF.asset index c1c6b8d900f..5f2cd457402 100644 --- a/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-SemiBold SDF.asset +++ b/Explorer/Assets/DCL/UIToolkit/Fonts/Inter_18pt-SemiBold SDF.asset @@ -72,6 +72,7 @@ MonoBehaviour: m_Version: 1.1.0 m_Material: {fileID: -8717234628611962219} m_SourceFontFileGUID: 3d5604d303a734a85bf5000c0e2e5d92 + m_ShowObsoleteProperties: 0 m_fontAssetCreationEditorSettings: sourceFontFileGUID: 3d5604d303a734a85bf5000c0e2e5d92 faceIndex: 0 @@ -90,9 +91,9 @@ MonoBehaviour: fontStyleModifier: 0 renderMode: 4165 includeFontFeatures: 0 - m_SourceFontFile: {fileID: 0} + m_SourceFontFile: {fileID: 12800000, guid: 3d5604d303a734a85bf5000c0e2e5d92, type: 3} m_SourceFontFilePath: - m_AtlasPopulationMode: 0 + m_AtlasPopulationMode: 1 InternalDynamicOS: 0 IsEditorFont: 0 m_FaceInfo: @@ -2758,7 +2759,7 @@ Texture2D: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 - serializedVersion: 3 + serializedVersion: 4 m_Width: 1024 m_Height: 1024 m_CompleteImageSize: 1048576 diff --git a/Explorer/Assets/Rendering/ForwardRenderer - High.asset b/Explorer/Assets/Rendering/ForwardRenderer - High.asset index 8470bbf4d53..dc60a603ba7 100644 --- a/Explorer/Assets/Rendering/ForwardRenderer - High.asset +++ b/Explorer/Assets/Rendering/ForwardRenderer - High.asset @@ -35,7 +35,7 @@ MonoBehaviour: cellSize: 0.25 --- !u!114 &-7900794056938074830 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -75,7 +75,7 @@ MonoBehaviour: assignAsReflectionProbe: 1 --- !u!114 &-4991993260910906933 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -95,7 +95,7 @@ MonoBehaviour: cellSize: 0.25 --- !u!114 &-4982935907446270823 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -208,7 +208,6 @@ MonoBehaviour: - {fileID: 8054367766033506950} - {fileID: -7900794056938074830} m_RendererFeatureMap: 41ef42dbdb93651851016c145f871f4499542062310ed9ba4b6fec4d7d18d447cbf142f293e0b8ba86a2c830cfdcc66f324db058aabd5a92 - m_UseNativeRenderPass: 0 xrSystemData: {fileID: 0} postProcessData: {fileID: 11400000, guid: 3235692a041298c4f94f71909ca0b8a2, type: 2} m_AssetVersion: 3 @@ -236,9 +235,10 @@ MonoBehaviour: m_DepthTextureFormat: 0 m_AccurateGbufferNormals: 0 m_IntermediateTextureMode: 1 + m_TileOnlyMode: 0 --- !u!114 &1757973802043764545 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -315,7 +315,7 @@ MonoBehaviour: highlightOutputMaterial: {fileID: 2100000, guid: 1015f0654e3a1524aa9c0f38ed24692b, type: 2} --- !u!114 &4908790961291395409 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -330,7 +330,7 @@ MonoBehaviour: settings: {fileID: 11400000, guid: fb981fee23899ef4eacd98e0c788b4e0, type: 2} --- !u!114 &5175788798212861771 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -397,7 +397,7 @@ MonoBehaviour: assignAsReflectionProbe: 0 --- !u!114 &8054367766033506950 MonoBehaviour: - m_ObjectHideFlags: 0 + m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} diff --git a/Explorer/Assets/StreamingAssets/dcl_exit_stopwatch.exe.meta b/Explorer/Assets/StreamingAssets/dcl_exit_stopwatch.exe.meta index 79163a2293d..506a0f8fe7f 100644 --- a/Explorer/Assets/StreamingAssets/dcl_exit_stopwatch.exe.meta +++ b/Explorer/Assets/StreamingAssets/dcl_exit_stopwatch.exe.meta @@ -1,2 +1,7 @@ fileFormatVersion: 2 -guid: ae26105a1ca222947964a671ea4ad787 \ No newline at end of file +guid: ae26105a1ca222947964a671ea4ad787 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Explorer/Packages/manifest.json b/Explorer/Packages/manifest.json index 3bbb6041fbb..864a233c403 100644 --- a/Explorer/Packages/manifest.json +++ b/Explorer/Packages/manifest.json @@ -16,7 +16,7 @@ "com.decentraland.renum.sourcegen": "https://github.com/NickKhalow/REnum.git#sourcegen/1.1.4", "com.decentraland.rpc-csharp": "https://github.com/decentraland/rpc-csharp.git?path=rpc-csharp/src#f3dd251c7837cc2d844e1c07e741177a53676064", "com.decentraland.rust-ethereum": "https://github.com/decentraland/rust-ethereum.git?path=unity#v0.2.3", - "com.decentraland.unity-shared-dependencies": "git@github.com:decentraland/unity-shared-dependencies.git", + "com.decentraland.unity-shared-dependencies": "git@github.com:decentraland/unity-shared-dependencies.git#fix/unity-6000.5-shader-compat", "com.gurbu.gpui-pro": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", "com.gurbu.gpui-pro.terrain": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", "com.mackysoft.serializereference-extensions": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", @@ -95,4 +95,4 @@ "testables": [ "org.decentraland.clearscript" ] -} \ No newline at end of file +} diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index 86d258cc7d7..1b55dee80a1 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -20,9 +20,9 @@ "com.unity.modules.unitywebrequest": "1.0.0", "com.unity.nuget.newtonsoft-json": "3.1.0", "com.unity.test-framework": "1.1.33", - "com.unity.ugui": "1.0.0" + "com.unity.ugui": "2.0.0" }, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.arch.systemgroups": { "version": "https://github.com/mikhail-dcl/Arch.SystemGroups.git?path=/Arch.SystemGroups", @@ -57,7 +57,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.coffee.softmask-for-ugui": { "version": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.6.2", @@ -80,14 +80,14 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.decentraland.filebrowserpro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.decentraland.livekit-sdk": { "version": "https://github.com/decentraland/client-sdk-unity.git#222d67ccc289337dadb5e8d96ee5b633dfb905b6", @@ -136,11 +136,11 @@ "hash": "dc9994994637d30b0a61e2354eb2bbb8e963fa33" }, "com.decentraland.unity-shared-dependencies": { - "version": "git@github.com:decentraland/unity-shared-dependencies.git", + "version": "git@github.com:decentraland/unity-shared-dependencies.git#fix/unity-6000.5-shader-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "f040030e82c51bdddce67ae18149e22b5b4c4c0d" + "hash": "c4241756b8c12179dd849a57be5116616418c17f" }, "com.gurbu.gpui-pro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", @@ -151,7 +151,7 @@ "com.unity.collections": "1.2.0", "com.unity.mathematics": "1.2.0" }, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.gurbu.gpui-pro.terrain": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", @@ -160,14 +160,14 @@ "dependencies": { "com.gurbu.gpui-pro": "0.9.19" }, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.mackysoft.serializereference-extensions": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.nickkhalow.chrome-devtool-protocol-unity": { "version": "https://github.com/decentraland/chrome-devtool-protocol-unity.git?path=/Packages", @@ -191,7 +191,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "com.unity.2d.sprite": { "version": "1.0.0", @@ -516,14 +516,14 @@ "com.unity.modules.particlesystem": "1.0.0", "com.unity.modules.wind": "1.0.0" }, - "hash": "c35c10aabe0f919b1a455d28d2a1d18b6bcbe574" + "hash": "53f8551acaf204b3319d3f9999c12e688a19ff13" }, "decentraland.renderfeatures": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "52706a3059b4e963c96e99f58f4f2e76416142e6" + "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" }, "io.livekit.unity": { "version": "https://github.com/livekit/client-sdk-unity-web.git", @@ -562,7 +562,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "8e1478ec9f8fe2f5fbe1249ceeb31cdc764d1465" + "hash": "53f8551acaf204b3319d3f9999c12e688a19ff13" }, "com.unity.modules.accessibility": { "version": "1.0.0", diff --git a/Explorer/ProjectSettings/PhysicsCoreProjectSettings2D.asset b/Explorer/ProjectSettings/PhysicsCoreProjectSettings2D.asset new file mode 100644 index 00000000000..049c7454b5c --- /dev/null +++ b/Explorer/ProjectSettings/PhysicsCoreProjectSettings2D.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!176606843 &1 +PhysicsCoreProjectSettings2D: + m_ObjectHideFlags: 0 + m_PhysicsCoreSettings: {fileID: 0} diff --git a/Explorer/ProjectSettings/VFXManager.asset b/Explorer/ProjectSettings/VFXManager.asset index 0462703c6eb..9ab635ee8a7 100644 --- a/Explorer/ProjectSettings/VFXManager.asset +++ b/Explorer/ProjectSettings/VFXManager.asset @@ -15,6 +15,6 @@ VFXManager: m_MaxScrubTime: 30 m_MaxCapacity: 100000000 m_CompiledVersion: 7 - m_RuntimeVersion: 39 + m_RuntimeVersion: 40 m_RuntimeResources: {fileID: 11400000, guid: bc10b42afe3813544bffd38ae2cd893d, type: 2} m_BatchEmptyLifetime: 300 From 38d5bcf77f9b23c8a470341098ebbc3625aeba7d Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 14:09:53 +0200 Subject: [PATCH 04/12] fix: refresh live TMP texts once fallback fonts finish loading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Asian fallback fonts (NotoSans SC/JP/KR) load asynchronously via addressables in ChatPlugin. Any text generated before that load lands — e.g. chat channel names with CJK characters during boot — resolved the missing glyphs to spaces ('character \u6587 was not found in the Inter-Regular SDF font asset or any potential fallbacks') and never regenerated. Force active TMP texts to rebuild their meshes against the completed fallback chain, so text created during the loading window self-heals instead of staying blank. --- .../ChatServices/FallbackFontsProvider.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs b/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs index 208e25b0ee1..8961eff78ad 100644 --- a/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs +++ b/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs @@ -5,6 +5,7 @@ using DCL.AssetsProvision; using DCL.Diagnostics; using TMPro; +using UnityEngine; using UnityEngine.AddressableAssets; namespace DCL.Chat.ChatServices @@ -28,12 +29,19 @@ private async UniTask LoadAndApplyFallbacksAsync(IAssetsProvisioner assetsProvis if (ct.IsCancellationRequested) return; List fallbackList = TMP_Settings.fallbackFontAssets ?? new List(); + bool addedAny = false; foreach (ProvidedAsset font in providedAssets) if (font.Value != null && !fallbackList.Contains(font.Value)) + { fallbackList.Add(font.Value); + addedAny = true; + } TMP_Settings.fallbackFontAssets = fallbackList; + + if (addedAny) + RefreshLiveTexts(); } catch (Exception ex) { @@ -43,6 +51,18 @@ private async UniTask LoadAndApplyFallbacksAsync(IAssetsProvisioner assetsProvis } } + /// + /// Text generated before the fallbacks finished loading resolved missing glyphs to spaces + /// and never regenerates on its own; force those meshes to rebuild against the new chain. + /// + private static void RefreshLiveTexts() + { + TMP_Text[] liveTexts = UnityEngine.Object.FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None); + + foreach (TMP_Text text in liveTexts) + text.ForceMeshUpdate(false, true); + } + public void Dispose() { foreach (ProvidedAsset asset in providedAssets) From ed4bb37bb06808ae3ff681e7c667d7edfc7152e4 Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 14:21:35 +0200 Subject: [PATCH 05/12] fix: await fallback-font loading during chat plugin initialization The CJK fallback fonts were loaded fire-and-forget while the rest of chat setup raced ahead, so channel names and history rendered before the load landed resolved missing glyphs to spaces and logged 'character \u6587 was not found in the Inter-Regular SDF font asset or any potential fallbacks'. Await the load inside ChatPlugin.InitializeAsync so the fallback chain is complete before any chat text generates its mesh; the failure path is unchanged (fonts stay optional, chat init cannot be blocked by a load error). The live-text refresh remains as a safety net for non-chat text rendered during boot. --- .../Chat/_Refactor/ChatServices/FallbackFontsProvider.cs | 7 +------ Explorer/Assets/DCL/PluginSystem/Global/ChatPlugin.cs | 7 ++++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs b/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs index 8961eff78ad..44228656c70 100644 --- a/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs +++ b/Explorer/Assets/DCL/Chat/_Refactor/ChatServices/FallbackFontsProvider.cs @@ -14,12 +14,7 @@ public class FallbackFontsProvider : IDisposable { private readonly List> providedAssets = new(); - public FallbackFontsProvider(IAssetsProvisioner assetsProvisioner, List> fallbackFonts, CancellationToken ct) - { - LoadAndApplyFallbacksAsync(assetsProvisioner, fallbackFonts, ct).Forget(); - } - - private async UniTask LoadAndApplyFallbacksAsync(IAssetsProvisioner assetsProvisioner, List> fallbackFonts, CancellationToken ct) + public async UniTask LoadAndApplyFallbacksAsync(IAssetsProvisioner assetsProvisioner, List> fallbackFonts, CancellationToken ct) { try { diff --git a/Explorer/Assets/DCL/PluginSystem/Global/ChatPlugin.cs b/Explorer/Assets/DCL/PluginSystem/Global/ChatPlugin.cs index dfba2e786b7..c863e9cd6b6 100644 --- a/Explorer/Assets/DCL/PluginSystem/Global/ChatPlugin.cs +++ b/Explorer/Assets/DCL/PluginSystem/Global/ChatPlugin.cs @@ -208,7 +208,12 @@ public void InjectToWorld(ref ArchSystemsWorldBuilder builder, public async UniTask InitializeAsync(ChatPluginSettings settings, CancellationToken ct) { var linkedCts = CancellationTokenSource.CreateLinkedTokenSource(ct, pluginCts.Token); - fallbackFontsProvider = new FallbackFontsProvider(assetsProvisioner, settings.FallbackFonts, linkedCts.Token); + fallbackFontsProvider = new FallbackFontsProvider(); + + // Awaited so the fallback chain is complete before any chat text (channel names, + // history) generates its mesh — text rendered without the CJK fallbacks resolves + // missing glyphs to spaces and logs a warning per character. + await fallbackFontsProvider.LoadAndApplyFallbacksAsync(assetsProvisioner, settings.FallbackFonts, linkedCts.Token); var privacySettings = new RPCChatPrivacyService(socialServiceProxy, settings.ChatSettingsAsset); var chatConfigAsset = await assetsProvisioner.ProvideMainAssetAsync(settings.ChatConfig, linkedCts.Token); From 055788dba3272d962e4734a45889cf700991c75c Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 15:23:30 +0200 Subject: [PATCH 06/12] fix: unlink hard-referenced sprite from ControlsPanel contextual image ContextualImage on the Controls GameObject loads the same sprite (guid 4974685691c1) through its AssetReference on enable; the Image component also serialized it directly, hard-linking it into memory and tripping the '[UI] Image must not have a sprite' error on every ControlsPanelView preallocation. Clear the serialized sprite so only the contextual load provides it. --- Explorer/Assets/DCL/UI/Controls/ControlsPanel.prefab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Explorer/Assets/DCL/UI/Controls/ControlsPanel.prefab b/Explorer/Assets/DCL/UI/Controls/ControlsPanel.prefab index b778a333bcd..2467fae66ee 100644 --- a/Explorer/Assets/DCL/UI/Controls/ControlsPanel.prefab +++ b/Explorer/Assets/DCL/UI/Controls/ControlsPanel.prefab @@ -671,7 +671,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 4974685691c134a35bcea75af1936381, type: 3} + m_Sprite: {fileID: 0} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 From c5c9b031fa67edbcb2ce18b23a243bfac31f714d Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 15:42:57 +0200 Subject: [PATCH 07/12] fix: bake the UI design glyphs into a static TMP fallback font MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The auto-translate indicator (文A / あA) and the language dropdown's 中文 are CJK glyphs serialized directly in UI prefabs and settings, so they render at boot — before the addressable CJK fallback fonts can load — and TMP replaced them with spaces while logging 'character 文 was not found' warnings. Add UIDesignGlyphs SDF: a 256x256 static font asset holding exactly those three glyphs (baked from NotoSansSC-SemiBold, source-font reference stripped so the 8.5MB OTF is not a build dependency), wired into Inter-Regular SDF's fallback table. Boot-time text now resolves the glyphs immediately; the runtime-loaded NotoSans fallbacks continue to cover arbitrary user content. Also re-pins unity-explorer-packages to 1293099, which drops seven Ocean material resaves (editor serialization churn) from the branch. Verified: full boot to the authentication screen logs zero missing-glyph warnings (previously eight). --- .../Asian fallbacks/UIDesignGlyphs SDF.asset | 337 ++++++++++++++++++ .../UIDesignGlyphs SDF.asset.meta | 8 + .../Fonts & Materials/Inter-Regular SDF.asset | 3 +- Explorer/Packages/packages-lock.json | 18 +- 4 files changed, 356 insertions(+), 10 deletions(-) create mode 100644 Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset create mode 100644 Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset.meta diff --git a/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset new file mode 100644 index 00000000000..0bf265a1cb8 --- /dev/null +++ b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset @@ -0,0 +1,337 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-7469264143639845828 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UIDesignGlyphs SDF Material + m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2227775252443992104} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _FaceDilate: 0 + - _GradientScale: 10 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _ScaleRatioA: 1 + - _ScaleRatioB: 1 + - _ScaleRatioC: 1 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 256 + - _TextureWidth: 256 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} + m_Name: UIDesignGlyphs SDF + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_FontAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: Noto Sans SC + m_StyleName: Medium + m_PointSize: 90 + m_Scale: 1 + m_UnitsPerEM: 1000 + m_LineHeight: 130.32 + m_AscentLine: 104.4 + m_CapLine: 66 + m_MeanLine: 49 + m_Baseline: 0 + m_DescentLine: -25.92 + m_SuperscriptOffset: 104.4 + m_SuperscriptSize: 0.5 + m_SubscriptOffset: -25.92 + m_SubscriptSize: 0.5 + m_UnderlineOffset: -13.500001 + m_UnderlineThickness: 4.5 + m_StrikethroughOffset: 19.6 + m_StrikethroughThickness: 4.5 + m_TabWidth: 20 + m_Material: {fileID: -7469264143639845828} + m_SourceFontFileGUID: e942926d8b6dad246920ce7dd79a67d2 + m_CreationSettings: + sourceFontFileName: + sourceFontFileGUID: + faceIndex: 0 + pointSizeSamplingMode: 0 + pointSize: 0 + padding: 0 + paddingMode: 0 + packingMode: 0 + atlasWidth: 0 + atlasHeight: 0 + characterSetSelectionMode: 0 + characterSequence: + referencedFontAssetGUID: + referencedTextAssetGUID: + fontStyle: 0 + fontStyleModifier: 0 + renderMode: 0 + includeFontFeatures: 0 + m_SourceFontFile: {fileID: 0} + m_SourceFontFilePath: + m_AtlasPopulationMode: 0 + InternalDynamicOS: 0 + m_GlyphTable: + - m_Index: 14689 + m_Metrics: + m_Width: 83.703125 + m_Height: 83.25 + m_HorizontalBearingX: 3.234375 + m_HorizontalBearingY: 76.234375 + m_HorizontalAdvance: 90 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 84 + m_Height: 85 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1194 + m_Metrics: + m_Width: 73.078125 + m_Height: 77.046875 + m_HorizontalBearingX: 9.09375 + m_HorizontalBearingY: 72 + m_HorizontalAdvance: 90 + m_GlyphRect: + m_X: 10 + m_Y: 114 + m_Width: 74 + m_Height: 78 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 8744 + m_Metrics: + m_Width: 72.53125 + m_Height: 82.4375 + m_HorizontalBearingX: 8.734375 + m_HorizontalBearingY: 75.421875 + m_HorizontalAdvance: 90 + m_GlyphRect: + m_X: 103 + m_Y: 114 + m_Width: 74 + m_Height: 84 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 25991 + m_GlyphIndex: 14689 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 12354 + m_GlyphIndex: 1194 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 20013 + m_GlyphIndex: 8744 + m_Scale: 1 + m_AtlasTextures: + - {fileID: 2227775252443992104} + m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 1 + m_GetFontFeatures: 1 + m_ClearDynamicDataOnBuild: 1 + m_AtlasWidth: 256 + m_AtlasHeight: 256 + m_AtlasPadding: 9 + m_AtlasRenderMode: 4165 + m_UsedGlyphRects: + - m_X: 0 + m_Y: 0 + m_Width: 103 + m_Height: 104 + - m_X: 0 + m_Y: 104 + m_Width: 93 + m_Height: 97 + - m_X: 93 + m_Y: 104 + m_Width: 93 + m_Height: 103 + m_FreeGlyphRects: + - m_X: 103 + m_Y: 0 + m_Width: 152 + m_Height: 104 + - m_X: 186 + m_Y: 0 + m_Width: 69 + m_Height: 255 + - m_X: 0 + m_Y: 207 + m_Width: 255 + m_Height: 48 + - m_X: 0 + m_Y: 201 + m_Width: 93 + m_Height: 54 + m_FontFeatureTable: + m_MultipleSubstitutionRecords: [] + m_LigatureSubstitutionRecords: [] + m_GlyphPairAdjustmentRecords: [] + m_MarkToBaseAdjustmentRecords: [] + m_MarkToMarkAdjustmentRecords: [] + m_ShouldReimportFontFeatures: 0 + m_FallbackFontAssetTable: [] + m_FontWeightTable: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + fontWeights: [] + normalStyle: 0 + normalSpacingOffset: 0 + boldStyle: 0.75 + boldSpacing: 7 + italicStyle: 35 + tabSize: 10 + m_fontInfo: + Name: + PointSize: 0 + Scale: 0 + CharacterCount: 0 + LineHeight: 0 + Baseline: 0 + Ascender: 0 + CapHeight: 0 + Descender: 0 + CenterLine: 0 + SuperscriptOffset: 0 + SubscriptOffset: 0 + SubSize: 0 + Underline: 0 + UnderlineThickness: 0 + strikethrough: 0 + strikethroughThickness: 0 + TabWidth: 0 + Padding: 0 + AtlasWidth: 0 + AtlasHeight: 0 + m_glyphInfoList: [] + m_KerningTable: + kerningPairs: [] + fallbackFontAssets: [] + atlas: {fileID: 0} +--- !u!28 &2227775252443992104 +Texture2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UIDesignGlyphs SDF Atlas + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_IsAlphaChannelOptional: 0 + serializedVersion: 4 + m_Width: 256 + m_Height: 256 + m_CompleteImageSize: 65536 + m_MipsStripped: 0 + m_TextureFormat: 1 + m_MipCount: 1 + m_IsReadable: 1 + m_IsPreProcessed: 0 + m_IgnoreMipmapLimit: 1 + m_MipmapLimitGroupName: + m_StreamingMipmaps: 0 + m_StreamingMipmapsPriority: 0 + m_VTOnly: 0 + m_AlphaIsTransparency: 0 + m_ImageCount: 1 + m_TextureDimension: 2 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_LightmapFormat: 0 + m_ColorSpace: 1 + m_PlatformBlob: + image data: 65536 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506100f0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060909080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d1b171312100c060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f1213161515120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2824201f1c17120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b1012171c1f202322211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d3635302d2c28231f1b17110f0a050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060c1012171c1f22282b2d302f2e2b262018100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373943423d3a38342e2b27221b1a15110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012171c1f23282b2d3338393c3c3b37322a22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4446504e4a46443f3937332d2b26201d19130e090300000000000000000000000000000000000000000000000000000000000000000000000001080d11171c1f23282c2e34383a3f4446494847433c342a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414950535d5b5753504a46443f3837312d2a251e1a140f0a03000000000000000000000000000000000000000000000000000000000000000002090e13191c23282c2e34383a3f44464a50535655534e463c30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b60696863605c5453504947433c3936302b261f1b150f0b0600000000000000000000000000000000000000000000000000000000040a0f141a1e24292e34383a3f44464a5053545b6063625f584e42392e23180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19222b3744505b656c7675706d6663605b53534e4746413a37312b271f1b17110c07000000000000000000000000000000000000000000000000050b10151b1f252a2f35383f44464a5053545c6063666c6f6f6a5f544a4034281e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935404b55606c7783817d79746f6c65625f5854524c46423c37322b27221b18120b030000000000000000000000000000000000000000040a0f161c20262b30363a41454a5053545c6063666d7074797c7c6f665c51443c30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313945515d67717e8a8e8a85817c78736f6a66615e56534d47433d37332d28231c150c0a030000000000000000000000000000000002080d161b21272c32373b42464c51545c6063666d7074797c80848983786d60584e42392e2318110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434e58606d7984919b97928d8984807b77726d68615f57544e46443f38342e271e1b150d080100000000000000000000000000060b131921272c33383c43474d52555d60666d7074797d8185898d91958c7f726a5f544a40342823190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55606a73808d96a1a19e9a96918d88837f7a746e69626058535049444039302b262019130b0600000000000000000000020a11171e252a32383d44484e53575e61676d72797d8185898e92979a9e9f92867c6e665c51443e352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d676f7c87929fa8adaba8a19e9995908c86817b756f6a63605b53514a423e373129241e17110a0200000000000002080c141c232830363d43484f55585f62696e737a7f848a8e92979a9ea1a9aba3989083786d605a50473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d3945505a606d79849199a3afb8b8b2acaba7a09d98928d87827c76706c65605c545047433c352f27221b140b0701000000050d14191e262e343a41464e545960636a6f757b80858c91969b9ea2a9abadb3b4aa9f958d80746c61594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303d4956626c74818e96a0a9aaacb1b7b8b7b1acaaa39f99938e89837d78716d66615a534e45413a332d261d18120b0300070e171e252a30383f444c525860626b70767c81868d92989ea1a8abadb3b8b8b6b2ada79d928a7e716b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8a8e9297999da0a7aaacb1b8b8b4aeaba49f9b948f8a837e79716c625f58524c443f382f29231d150d0b1218202930363d424a50565e616a6f777d82888e92999fa2aaadb2b8b9b7b1acaaa9a19e9a9892867d706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e8185898c9195999da0a8acaeb4b8b5afaca69f9c95908b847e766f6a605d565049413d342f271f18151d2328323b41464f545c60686d747c83898f949b9fa3abaeb3b9b7b2acaba7a09d9996918e8a86827e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d686d7174797c8084888c91959a9fa2aaacb1b9b9b0aba7a09d96918a827c746d68605b534e454039312a211e272e343e444c525960666d727a818790959c9fa6acaeb5bab8b0aba8a19e9995908c8884817d7975716c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565d6164666c6f73777b8084888d92989da0a7acafb5b7b1aca8a19e948f87807a716c656058514b433c3329293039404550565e616b6f787f858e939a9fa7abb0b9b8b4aeaba69f9c96918c8783807c7874706d6764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c5254545b6062666a6f73777c81858b91959b9fa3abadb3b8b2aca69f99928d857e786f6a605c554d453e34333b424b515a61686e747c838b92979fa4acb1b7b8b1acaaa29f9a948f8a847f7b77736f6c6563605d555550483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474a505356585f62666a6f747a7f84898e92999ea1a9adb3b9b0aba39f97928b837c746d675f575045403d454d545c606c717a818790959fa2a9afb6b9b2aca8a09d98928d88827d78726e696662605b5353514b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3f4446494e5355585f62676d72777d82868c91979ea1a9aeb4b5afa9a19e95908780796e69615a514b444f575e666d747e858e939aa0a7adb3bab3ada8a09d95918b85807b76706c66615e57555350494745403939342c241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292d2d3338393c4347484e53555d60656b70757b80858b92979fa2aaafb5b3ada79f9a938d837b716c605c55505960696e78808a92979fa4acb1bab4aea9a19e96918a847f7a746e6a64605b54524d4946443f3a38352f2d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2022282b2d31373a3c43474c5154596063696e73797e858c92989fa4abb0b8b1aca49f9590867e746d675f5b606b707b838d929fa2a9afb6b8afaaa39f97928b847d77726d67625f5753504a46423c3937332d2c29241d1d171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113171c1f20262b2e32373a4145474f54575e61666d727a80868e93999ea6acb1b6afa7a098928a80796e69656c737d8590959da4adb3bbb1aba59e98928d857f78706c65605d55534e46443f3836302d2b27221f1d1812110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f12131a1f21262b2f35393d44484d52545c60676d737b81878f949da0a7afb6b1aaa29f928d837b716d777f8792979fa7aebab5afa79f9d938e86807a726d66615954514b47423c38332d2a25201f1b1713100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f12151b1e24292c32383b42464a51555d60696e747c828990959fa4acb2b4aea49d9590867e7a828c9399a1a9b1b9b2aba39f959089817b736d68605c544f4745413a37312b28221c1a13120f0b0604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f13191d20272c30363940444b51575e616a6f767d838d939aa1a9b0baaea7a098928a858f949fa4abb3baafa8a099928c837c756e69605d56504a423e39352f2b261f1c17110e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11161c1f252a2e343a41454d52585f626b7079808891979ea6aeb4b1aaa29f9792979ea6afb5b4aea59e9691877f786f6b615f57524c443f38302c29241d1a150f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040b10141a1c23282f353b42464e535960666d737d858f949fa3aab1b4aea9a29ea2a9b0bbb1aaa29f938e847c736c666059534d45413a342e26201d18130e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181d242930363c43474f545c606b707a828b9298a0a7b1bab3adabadb3bbb1a79f98928b817a6f6a605b544f46423b352f28231c15110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13181f252a31373d424b515960686d757f869095a0acb8beb9b8b9beb3a99f9590867e756d676058504a423d363129241e17110a040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b303940454f565e616d727c83909daab7c3c6c5c6baada29790837b716c605d554e443f382f2a261f19130c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e272e343d444c525b626a6f7c8995a2afbcc8cbc5b8ab9f92857a6e69625a514c433d332d261d1a140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d2328333f49535c676e7a84919eabb7c4c4bec6baada2978f82786c605a50473d3328221c140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b343d44505b656d79839096a1adb9b9b8b2b9bbb3a99e948d80736c62594f453c32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333d46505a606c77818e959fa8b2b3adaba5acafb6b0a69d928b7e716b60574d443a2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1a25303b454e58616c73808c939ea7b1b3a9a19e989fa4acb6aea49f92877d70695f564c41382d22170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212a36424d57606a717e8a929ca5afb4aaa197918b939aa4afbbaea39992857b6e685d53493f33271d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333b46525e696f7c86929fa4aeb5aba29891857f88939fa4aeb5aba29791847a6d655b50443c2f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616e7b859198a3aebbafa39992867c727f8c929da6b0b3a9a0968f82776c60574d42382d22170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17222d38414d57626c76828f97a1aab4aea49f92877d706d74808d949ea7b1b2a89f948b7f72695f544a3f33281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d27333f49535e69717e8b949fa9b3afa59c928b7e716b606d78828f95a0a9b2b0a69f92867b6e665b50443c2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3844505b656e7b86929fa6b0b1a79e938c80736c625c666d79839096a1abb5aea2989082786c60574d42382d22170b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414d57606c77828f98a2aeb3aa9f958e81746e635a545d676e7b849199a3afb4aa9f948c7f72695f544a3f33281f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535f69727f8b949faab4aea2989083786d605c524b555e696f7c87929fa7b1b0a69f92867b6e665b50443b31261a0e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212b3744505b656e7b86929fa6b0afa59f92857b6e665c514a434d57606b73808d95a0abb4aea2989083786c60574d42362a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c56606c77829098a2aeb2a89e938a7e71695e544a403b454f59606d79839099a3aeb4aa9f958c7f72695f53463c31261b0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303945525d68727f8b949faab4aba0968e81746c61574d4239333d45515c666f7c86929fa7b1b1a79f92867b6e61584e43372b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a85929fa6b0afa3999184796d605a50453b302834404b545f6a727f8c959faab4aea3988e81756a5f53473d32271b0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f19232d3a46525e6973808d97a2adb1a79f92877c6f675d51483e3329232e39424e58606d78839098a3aeb4aa9f93877c6f62584e43382c1d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b37434e58616e7b86929fa9b3aca0958c7f726a60554b41362c211d27303c44505c666e7b86929fa9b3afa4998f82756a6054483d2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323a47535f6a74818e98a3aeafa59d9083786d60584e433a2f241a151e28343f4a545f6973808d97a2adb5ab9e94897c6f62594f41382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59626f7c87929faab4aa9e93897d70665c50463d31281d120c17232e38424d57606d7a85929fa8b2b0a69c8f82766b6053493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b75828f99a3afaea2988e81756b60544a3f342b1f160c06111c26303c45525d68727f8c96a1adb7ab9f94897d70655b5044372b1f160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59636f7c89949eabb2a89f92867b6e61594f42382e22190d04000a141e2935414c56606d7984919ea7b1b0a69d9083786c6053463d32271b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16232f3c4855616b7683909da6b0aca1968c7f73695e53473d30261c10070000020c19242f3a45515c67717e8b95a0acb8ab9f958a7d7164584e43382c1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070707070707070708131e2b37434e5863707d8a959fabb1a79e9184796d60574d42352b1e140a0707070708131e2934404b55606d7883919da7b1b1a79d9083776a6054483a3024190d07070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10121314141414141414141924303a47535f6a76828f9ca7b1ab9f958a7e71675d51453b312319141414141414141418232f3944505c66707d8a95a0acb8aca095897c6f62564c4135291d14141414141414141413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f202121212121212121212935414c56626f7c88949fabb2a89d9083766c61554b40332921212121212121212121212128343f4a54616c7783909daab3b1a79b8e8174685d5246392d212121212121212121201f1d18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b2d2d2d2d2d2d2d2d2d2d2d3946525d6874818e9aa6b0aca0968a7d71645a5043392f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2e38424f5965727e8b98a2aeb8ac9f92867a6d6154473d322d2d2d2d2d2d2d2d2d2d2c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e34383a3a3a3a3a3a3a3a3a3a3a3f4a54616d7a86929facb3a99e9184786c6053463e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3e4753606d7a85929fabb8aea3988b7f7265594f443a3a3a3a3a3a3a3a3a3a3a38352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f44464747474747474747474747505c66727f8c98a2aeada1978b7e72665b5047474747474747474747474747474747474747474747515d6774808d9aa6b0b4aa9d9184776b605447474747474747474747474745403931271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a5053545454545454545454545454606d7884919eaab4aa9e9285796d605454545454545454545454545454545454545454545454545455626e7b88949fabb7aca095897c706356545454545454545454545453514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6060606060606060606060606064717d8a96a1acaea2988c7f7267606060606060606060606060606060606060606060606060606060606a76828f9ca9b3b1a89b8e817568606060606060606060606060605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d6d6d6d6d6d6d6d6d6d6d6d6d6d7683909ca8b2ac9f92857a6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d707d8a97a1adb9ac9f92867a6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7c89949fabb4a79a8e817a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a85919eabb8aea3998c7f7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c87878787878787878787878787898f99a6b0b5a99d928e878787878787878787878787878787878787878787878787878787878787878787879197a1adb9b4ab9c918c878787878787878787878787878074675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c899393939393939393939393939599a1aab8baafa59d9a939393939393939393939393939393939393939393939393939393939393939393949ea1a9b3bebdada39c999393939393939393939393938d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a0a0a0a0a0a0a0a0a0a0a0a2a4aab3bcc0b7afa9a7a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0abadb3bbc4bfb5ada8a6a0a0a0a0a0a0a0a0a0a0a09a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2adadadadadadadadadadafb1b5b9b9b9b9bab5b4adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadb8b9beb9b9b9b9b8b4b2adadadadadadadadadada79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb2b3b8b4b0adacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a5a7aba7a3a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8993939393939393939393939393939393939393939393939393939393939393939393939393989b9e9a969393939393939393939393939393939393939393939393939393939393939393939393938d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c86868686868686868686868686868686868686868686868686868686868686868686868686868c91918d89868686868686868686868686868686868686868686868686868686868686868686868686868074675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7779797979797979797979797979797979797979797979797979797979797979797979797979797f8c85817d79797979797979797979797979797979797979797979797979797979797979797979797979786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656c6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d768390918d8985817d79756d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b606060606060606060606060606060606060606060606060606060606060606060606060616e7b87939e9a97928e8a85817a6d606060606060606060606060606060606060606060606060606060606060605c544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3841495053535353535353535353535353535353535353535353535353535353535353535353535c66737f8c9aa4a9a19e9a98908477675d535353535353535353535353535353535353535353535353535353535353504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f444646464646464646464646464646464646464646464646464646464646464646464653606d7884919eacb3adaba3998c7f7265554b4646464646464646464646464646464646464646464646464646464646443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d3337393a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a434e5864707d8a96a1adbeb6ac9f92867a6e6154473b3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e261e150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3b47535f6a76828f9ca8b2bbafa49a8e8174685e5246392d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231c150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f20202020202020202020202020202020202020202020202020202020202b37424d57626f7c88949fabbab9ac9f93877c6f62564c41362a2020202020202020202020202020202020202020202020202020201f1c17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213131313131313131313131313131313131313131313131313131313212d3a47535f6975818e9ba6b0beb0a69c8f82756a5f53443b302519131313131313131313131313131313131313131313131313131312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050607070707070707070707070707070707070707070707070707121f2b37434e58616e7b87939facb9b6ac9e94897c6f63584e4332291e140807070707070707070707070707070707070707070707070707060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a74818e99a4afbbafa49a8f82756b6054463c3120170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626f7c87939fabafb4aa9f93877c6f62594f43342a200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6875828f999c9fa3aba3988e81756a5f54473d3222180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a84888c8f92999b9e92867b6e61584e43342b2110060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e777b7f83868a8e928d8073695f53463c3222190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61696e72767a7d818585796d60574d42342a20100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b444c52575f6265686d7174797a6e675d51453b3122190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b41464d5355565d6064666c6e685e554b41332a1f1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363c4247484c5254545b60615e564c433a2f21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a31373a3b4145474a505354524c443b31281d0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141920262b2e2f35393a3f44464746413b32291f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e151a1e2124292c2d3338393b3936302920170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191d2022282b2d2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d1113171c1f2021201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b0f12131414110e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305060503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060607070707070707070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213120f0b0608070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213131313131313131312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f201f1b17171414110e08060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2020202020202020201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2b27222421201e191313100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d2d2d2d2d2d2d2d2d2b28231c140c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373937332d312e2d2a25201f1c18120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d3338393a3a3a3a3a3a3a3a38342e261e180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0b0a0908070603000000000000030709090807050200000006111b262f383f4446443f403e3b3936302d2c28231f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464646464646464646443f38302a21180e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c1013141617171716141312100b060604040a0f1315161514120e0906040d17222d384149505350494d4a4746413d3a38342e2b28221c19130d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535353535353535353504a423b332a1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013181d1f20232424232221201f1c171312100c161b1f222322211e1a131210161f27333f49535b605b535a5754524d4a4645403938332d29241e19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b6060606060606060605c544d453b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f24292c2d2f3031302f2e2d2b2823201f1c1821272c2f302e2d2b26201f1c1d28313944505b656c65696664615e565753514b46443f38353029241e17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6d6d6d6d6d6d6d6d665f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080c151d23282c2f35393a3c3d3e3d3c3b3a38342e2d2c28232b32383b3c3b3a37312d2c28242f39434f59606c78787673716e686763605c5553504a45413a352f27221b140b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78797979797979797876695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911191e272e34383a404547494a4a4a494746443f3d3a38342e353d4348494846423d3a38342e35404b55606b74818582807e7a7774706d6763605b54524c45413a332d261d180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a67748086868686868686867b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b232b30394045464b515356575756555453504a49464440393d474f545655534d4946443f3a3945515d67707d89918f8d8a8784817d7975706c66605d56514c443f382f2a2117110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d939393939393887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d353d424b5153555d60626364636261605c545653514a47434f596063615f575653504a47464f59606d7984919e9c999795918d8a85817d78726d68605d555049413c3327221b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa0a0a0a094887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1a242d373f474f545c6065676d6f7071706f6e6d666663605c54544e54606b6f6e696763605c54545255606b74808d96a1a9a6a8a09d9a98928e8a847f7a736d67605b534d453e332d261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7acaca194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212c363f49515960666d71767a7c7d7d7d7c7a797673706d6662605857636f7d7b7773706d6664615d5c676f7c87939fa8b2b3b1acaaaaa29f9b96918c85807a726c655f5750443f382f261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e48515b626b70797e8386898a8a89888785827f7d79746f6a64606977838884807c7975716d68606d79839199a4a4a8abaeb3b7b3aeaba8a09e98928c857e776e69615a504941382f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b45505a626d727d848b9092999697969598928f8c8985807c77716c6e7b8895918d8985817e7a6d6673808c919695989b9fa2aaabadb2b8b2acaaa29f97928b827b716c605b534a42382d22171006000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616c727f8791969c9fa3aba4a3aaa29f9c9997928d88837e78727f8c989d9a97928e8a7f736d7880828487898b8e92989a9ea1a8abb0b7b4aea9a19e9490867e736c655b544a3f332822180d040000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e69717e8a9399a1a8acaeb4b0b0b4aeaca9a9a19e9a95908a837d82909ca9a9a29f96887b6f666d7375787a7c7e8185898d91969c9fa6aab0b9b3ada69f98928a80776c665b50443f342a1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616e7b86929fa4abb2b9bab8b3b1b0b1b3b5b3adaba7a09d95908a90949fabb3ab9e9184786a5f606669676d6f7175797d80848a90949c9ea6acb2b9b0aaa29f928d80786c605a50463c31281e130800000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6874818d98a2aeb5bcb3adaba7a4a3a4a6a9acaeb4b1aca7a09d979c9fa6b0b3aa9a8d80746758535a555d606265666d7074787d83898f949ea1a8afbab4aea49c938d80746c62584e433a2f24190d03000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929faab4b9b1a9a29f9a989798999c9fa3ababb0b1acaaa4a9abb0baaea298897d7063564a4d4c515456545c6063676b70767c828991969ea5aeb4baaea59d928b7e716a5f564c4135291f1409000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a99a3aebcb1a79f97928d8b8a8b8c8f92999c9fa6aaafb7b0b6b7bcb8ab9f9285796d60534640414547494a5153565961636b6f757d848e939fa2aab4b7aea49f92867c6f685d52453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aabb5b5ab9f959085807e7d7e8082868a8f949b9ea5acb1b9c3c1b5a89b8e8275695f584e463d393a3c4044464a4f555960636b6f7a818a9298a2aab4baaea29891847a6d60574d42362a1f14090000000000000000000000000000030303030303030300000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5afa49990837b7471707173767a7d82888e939da0a7b1bac4b7aa9d91837b6f6a60584e463d342e34383a3e44484f545960676d757e869298a3abb5b4aaa0968e8174695e53463b30251a0e02000000000000000000030608090f0f0f0f0f0f0f0f07070401000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000000000020507080a0a0a0a0a0a0a0a070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6ac9f93877c6f6965646566676d70767c81899095a0a8b2bdb8aca09591847c6f6a60584e463c33282c2d33383d43484f555d606c717d869299a3aebbb2a89f92877b6e61574d42362a1e110500000000000000040a0f1215151c1c1c1c1c1c1c1c1413110d080100000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000000003090e12141516161616161616161413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb6a99d9083766a5f565758555d60646a6f757d839096a1acb9bcb1a7a09691857d6f6a60584e453c322820282c32383d434c515a616b707d87929fa5afbbafa3998d8174695e52463a2d201408000000000000060e151b1f2122292929292929292921201d19130c04000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000050d141a1e2121232323232323232321201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daab4a89b8e817568584e4a4b4b5153585f626b6f7884919eabb7c3b9b1a8a19792867c6f6a5f574d443a30271d21272c313a41455059616b717e8a939eaab4b5ab9f92867b6e6154473b3025190e020000000006101820262b2e2f36363636363636362d2c29241e160d040000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000000050f171f252a2d2e30303030303030302e2d29241e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b3a79a8d8074675a4d413e4045474e5359606c7985929facb8c5c3bab2a9a29892857c6f695f564c42392e23181b1f282f353e474f59616c75818e98a2aebaaea3988d807367564d41362a1e1105000000040e18222a32373b3c42424242424242423a39352f2820160c0100000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e2215080000000000030d17212931363a3b3d3d3d3d3d3d3d3d3a3935302820160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4a89b8e827568554b403535393c434854616e7b8798a3aebabbb6b5b8b3aaa29792857b6e685d544b4034282118161e2429353e47505a616e7b86929faab4b4aa9d918477685e5246392d2014070000000a15202a343c4347484f4f4f4f4f4f4f4f4745413a32281e13080c0c0c0c0c0e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150c0c0c0c0c0c09141f29333b42464849494949494949494746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99abb4a99d908376675d5145392c2c323d495663707c8996aab4b7afaaa8acaeb3a9a19791847a6d665c51453e332a1f151319232c353e46525e69727f8b98a2aeb8aca095877a6e6154473b2e2114080000030f1b26323c464e53555c5c5c5c5c5c5c5c54524c443a2f2419181818181818181b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e2218181818181818181a25313b454d5354565656565656565654524c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a99a3aeac9f92867a6d6053473b3025323e4b5865717e8b98a4b1afa59e9b9fa2aab3a9a0968f82786d605a50463c31271d12111a232a36424d57606d7985929facb8b1a7978a7e7164574b3e3124180b000006121f2b37434e585f626969696969696969605d564c4135292525252525252525252734414e5a6774818d9aa7b4aea194887b6e6155483b2e252525252525252525252a36424d575e616363636363636363615d564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facaea3988a7d7063564d42362a33404d5a6673808d99a6b3aa9e938f9298a2abb2a89f948e81746c61584e43392f24180d111a25303b45515d6775818e9baab4b4a79b8e8174685b4e4135281b0800000815212e3b47535f6a6f75757575757575756d685d524539323232323232323232323234414e5a6774818d9aa7b4aea194887b6e6155483b3232323232323232323232323a46535e696e70707070707070706d685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cabb4aa9b8e8174695e52463b3135424f5c6875828f9ba8b5a89b8f82869299a3acb0a69d938b7e716a5f554b4035291f150b141f2935404b5563707d8a98a3aeb6aa9d9083776a5d50442f24190d01000915222f3c4855626f7c82828282828282827a6d6054473f3f3f3f3f3f3f3f3f3f3f3f3f414e5a6774818d9aa7b4aea194887b6e6155483f3f3f3f3f3f3f3f3f3f3f3f3f3f4854616e7b7d7c7c7c7c7c7c7d7a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5565727f8b99a3afac9f92867b6e61574d423636424d566a7784909daab0a4978a7e7d87929aa4afafa59f92867c6e675d51453d31271d120c18242f3a4653606d7986929facb8ab9e9185786b554c4135291d1104000a1623303d495663707d898f8f8f8f8f8f877a6e61544b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4e5a6774818d9aa7b4aea194887b6e61554b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4c5965727f89898989898989897d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fabaea3998d8073695f53463e3a46525e697985929facb3aa95887c717e88939fa4aeaea2989083796d60584e43392f23180c121f2c3844515c667784919eaab7ac9f928679675d5145392c201306000a1623303d495663707c89969c9c9c9c94877a6e6158585858585858585858585858585858585a6774818d9aa7b4aea194887b6e6158585858585858585858585858585858585965727f8c969696969696897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6974818e99a3afab9f92867b6e615a50463c4754616e7a8798a2aeaea298877a6d727f8b929ca6b0aaa0958d80736a60554b4034291f14101c2834404a546976838f9ca9b6aea399877a6d6054473a2d211407000a1623303d495663707c8996a3a8a8a194877a6e656565656565656565656565656565656565656774818d9aa7b4aea194887b6e6565656565656565656565656565656565656565727f8c98a3a3a3a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b87929fabaea2988f82766c61584e444956636f7c8996aab4ab9f928578686d73808d949fa9b1a79f93877c6f675c51453c31261a0b18232e424e5b6875818e9ba8b4b4ab94887b6e6155483b2e221508000a1623303d495663707c8996a3afada194877a72727272727272727272727272727272727272727274818d9aa7b4aea194887b727272727272727272727272727272727272727272727f8c98a5afafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b47535f6975818e99a3aeaa9e948b7e716a5f564c4a5764707d8a97a3b0aa9d9084776a606d78829097a1abafa4999184796d60574d42372b1d141b2734414e5a6774818d9aa7b4b3aa94877b6e6154483b2e211508000a1623303d495663707c8996a3afb2a5998c7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e82909ca9b6b2a6998c7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e818e9ba8b5afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b37424d57626e7b87929fa7b0a69f92867c6f685d554b5865717e8b98a4b1a89b8f8275685c666e7a859199a4afaba0958d8073695f53463d2f261c1c2834404b546875828e9ba8b5aea298867a6d6053473a2d201407000a1623303d495663707c8996a3afb4a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b90949fabb7b4a89c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8e939eaab6afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c47535f6a737f8c959faaaea29891847a6d675d555966727f8c99a5b2a79a8d807467545e68707d87939fa7b1a89f92867b6e61594f42382d221f2c3845515c667683909ca9b6ab9f928578675c5145382c1f1306000a1623303d495663707c8996a3afb8ada39c99989898989898989898989898989898989898989898989c9fa6b0bbb8ada39c99989898989898989898989898989898989898989898989b9ea5afbbafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78839098a3aeaaa0969082796d675d566773808d9aa6b2a6998c7f73665956606b737f8c959fabaea3998f82756b60544a3f3328202d3a4653606d7985929facb7aa9d9184776a554b4034291c1004000a1623303d495663707c8996a3afbcb5ada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a9abb0b8c2bfb6ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a8aaafb7bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7c86929fa4aea89f949082796d685f6774818e9aa7b2a5988c7f7265594f59606c78839099a4afab9e93897d70665b5044382d2a36414c56636f7c8998a2aeb6ac9a8e8174675b4e412f23180c00000a1623303d495663707c8996a3afbcbfb8b4b2b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b6b7bbc2cac8bfb8b4b2b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b5b6bbc1bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545f6a727f8b929da5afa69f948f827a6e696875818e9ba8b1a4988b7e7165584b505b666f7c87939fa9afa59d9083786c60544a3f33343c46525e6874818e9baab4afa49a8a7e7164574a3e3124170700000a1623303d495663707c8996a3afbcb9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5c3b9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb2babcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424e58626d74808d939ea6b0a69f948f847b706b75828f9ba8b1a4978a7e7164574b4a54606a74818d97a1adaca0958a7e71665b5044383c464f59616d7a86929facb9ac9f93877a6d6154473a2e21140700000a1623303d495663707c8996a3afbcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3bebcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a8b2bdafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c46515b606c78818f949fa7b0a69f9691857d7475828f9ca8b0a3978a7d7064574a424e58606d7a85929ea7b1a79d9184786c60544a3f464e58606b74818e98a3aeb1a79c8f8276685e5246392d20130700000a1623303d495663707c8996a3afb8aca09590909090909090909090909090909090909090909090909297a1adb9b8aca09590909090909090909090909090909090909090909090909196a1adb9afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2a333f44505b666d798290959ea6afa8a097928a817a828f9ca9afa396897c706356493d45525d68717e8b959fabaca0968a7e71665c504650585f6a707d89939daab4ab9f95897d7063564c41362a1d110500000a1623303d495663707c8996a3afb7aa9d90838383838383838383838383838383838383838383838385929eabb8b7aa9d90838383838383838383838383838383838383838383838384919eabb7afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c182128333f4a545c676d7a838f949da5afa9a29f928d8484919eabafa295897c6f6256493d414c56606c7883909da8b2a89d9184786d6053525a616a6f7c85929fa5afafa59d9083776b6054443a3025190d0100000a1623303d495663707c8996a3afada194877a77777777777777777777777777777777777777777777818d9aa7b4aea194887b777777777777777777777777777777777777777777777f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f17222d38424b555d686d79828e939fa4abada49d96919196a1acaea295887b6f62554c4a4746505b65707d8a96a0acaca0968a7d7064585e616c717c859197a2adb2a89d92897d7063594f4432291e13080000000a1623303d495663707c8996a3afada194877a6e6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a74818d9aa7b4aea194887b6e6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f39434c565d676d78818c9399a1a8aea8a09e9ea1a8b2aea195887b6e625e565754524c53606c7884919da9b2a89c8f82766a61696e757e869197a1a9b3a9a0968e81746b6155473d3320170c020000000a1623303d495663707c8996a3afada194877a6e615d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d6774818d9aa7b4aea194887b6e615d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d65727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d27313a444c555d666d747f8791969ea5adacaaabacb2baaea195887b716d686663615e565b5b65717e8b97a1adab9f94887c6f6e737b818a9298a1a9b2aaa2979184796d60594f44352b210e05000000000a1623303d495663707c8996a3afada194877a6e6154505050505050505050505050505050505a6774818d9aa7b4aea194887b6e6155505050505050505050505050505050505965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151f28323a434b545c606d737d848e939ea1a9aeb4b9bdc2b5a99c8f827e7a7673706d68696866656d7984919eabb0a69a8e81767b80868e939fa2aab1aaa29892857c6f675d51473d3323190f00000000000a1623303d495663707c8996a3afada194877a6e61544744444444444444444444444444444e5a6774818d9aa7b4aea194887b6e61554844444444444444444444444444444c5965727f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1620283139424a505b636b707a818a92979fa2aaaeb5bdb7ab9f948f8b8683807d7a787674737271727f8c99a4afac9f928683888d92989ea5aeafa7a09892867d6f6a5f554b40352c21110700000000000a1623303d495663707c8996a3afada194877a6e6154473b373737373737373737373737414e5a6774818d9aa7b4aea194887b6e6155483b3737373737373737373737373f4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f2730383f44515960686d757e858c92989fa3abb5bbb0a69f9c9992908d8a878583817f7f7e7d7e87939facaea398928f949a9fa2aaafaca59d9591867d6f6a60584e43392f231a100000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e2a2a2a2a2a2a2a2a2a2a34414e5a6774818d9aa7b4aea194887b6e6155483b2e2a2a2a2a2a2a2a2a2a2a323f4c5965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151e262e3440474f565d606c71797f868d9299a3aebbb8b0ababa39f9c99969791908e8c8b8b8a8a9399a4afb4aaa39f9c9fa6acaeada7a09d938e837c6f6b60584e463c31281d11080000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e211d1d1d1d1d1d1d1d2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221d1d1d1d1d1d1d1d26323f4c5965727f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141c2328353d434c525a61676d737a8087929facb9bdb5afacafaca9a6a9a19e9c9b99989897979fa4abb5bcb4aeaca9abaeaca8a19e95908a81796e6a60594f463d342a1f160c000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e21141111111111111b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22151111111111111926323f4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117232b313a414550555d60686e747f8c99a6b2b5aba39fa3aba6a9abadaba9a7a6a5a4a4a4acafb5b9bebfbab8afaba39f9b96918b837d746d675f584f473d342b22190d04000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e211408040404040e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508040404040c1926323f4c5965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000611191f282f353e434b51565e65727e8b98a5b1afa399929997999c9fa2a9a5a7a8a9aaaaababaaabadb3bbbbafa59e99928f8a847e78706b605d554e463d352b2219100700000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e211408000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000c1926323f4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161e2429313a40454c5764717e8a97a4b1ac9f9287888a8d8f929797999a9b9d9d9e9e9e9d9ea1a9b3b6aa9e938f86827d79716c666159514b433c342b231910070000000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e211408000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221508000000000c1926323f4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070809090a0c13191f282f353d4a5763707d8a96a3b0a5998c7f7b7d808285888a8c8d8f9090919191919297a1adb5a89b8f827a75706d66605b544f454039312a22191107000000000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e21140c0c0c0c0c0e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150c0c0c0c0c0c1926323f4c5965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141415161617181819161d24303c4956636f7c8996a2afa69a8d8073717376797b7d7f808283848485848485929eabb7aa9d9084776a64605c54504a423e352f271f180f0700000000000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e21191919191919191b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22191919191919191926323f4c5965727f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2021222223242425252626272f3b4855626e7b8895acb6a79b8e81746866656c6e717274757677777878777e8b98aab4aca095887c6f6254514a443f382f29241d150d060000000000000000000000000a1623303d495663707c8996a3afada194877a6e6154473b2e2525252525252525252734414e5a6774818d9aa7b4aea194887b6e6155483b2e25252525252525252526323f4c5965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d23292c2d2e2e2f3030313232333334343b4754616e7a879aa4afa89c8f827569535b6061646667686a6a6b6b6b6f7b8898a3aba8a79a8d8073665c504439332d261d18120b03000000000000000000000000000a1623303d495663707c8996a3afada194877a6e6154473b323232323232323232323234414e5a6774818d9aa7b4aea194887b6e6155483b3232323232323232323232323f4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f272f34383a3a3b3c3c3d3e3e3f3f404041414653606d7986939faca99d9083766a5d50535557595a5c5d5d5e5e606d7986929f9e9b98979185796d6053463a2d221c140b070100000000000000000000000000000a1623303d495663707c8996a3afada194877a6e6154473f3f3f3f3f3f3f3f3f3f3f3f3f414e5a6774818d9aa7b4aea194887b6e6155483f3f3f3f3f3f3f3f3f3f3f3f3f3f4c5965727f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a3139404547474849494a4b4b4c4c4d4d4e4e4e505c667885929eabaa9e9184776b554b47484a4c4d4f505151505c6677839097928f8b8885827b6e6154483b2e211c18120b0300000000000000000000000000000a1623303d495663707c8996a3afada194877a6e61544c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4e5a6774818d9aa7b4aea194887b6e61554c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5965727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333c434b5153545555565757585859595a5a5b5b5b546a7784919daaac9f928579675d5453514b51504f4e4d4c4a546875818b8885827f7c79756e695e53463a2d2c28231d150c03000000000000000000000000000a1623303d495663707c8996a3afada194877a6e6158585858585858585858585858585858585a6774818d9aa7b4aea194887b6e6158585858585858585858585858585858585965727f8c98a5b2afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c454d555c6061616263636465656666676767686868697683909ca9aea298867a6d6261605d555d5c5b5a5a59585764707e7e7b7975726f6c66615e574d423c3a38342e271e150b000000000000000000000000000a1623303d495663707c8996a3afada194877a6e656565656565656565656565656565656565656774818d9aa7b4aea194887b6e6565656565656565656565656565656565656565727f8c98a5b2afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d575f676d6d6e6f6f7071717272737374747474747475828e9ba8b4aa94887b706f6e6d676b6a69686766656463626c70726f6c656562605b54534d4c4a484645403930271d12070000000000000000000000000a1623303d495663707c8996a3afada194877a72727272727272727272727272727272727272727274818d9aa7b4aea194887b727272727272727272727272727272727272727272727f8c98a5b2afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976797a7b7c7c7d7e7e7f7f80808181818181818184919eaab2a5998c7f7d7c7b7a797877767574737271706f6e6d676a6967666463615e565b59575553514b43392e23180c0000000000000000000000000a1623303d495663707c8996a3afb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f82909ca9b6b3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f818f9ba8b5afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b86878888898a8a8b8b8c8c8d8d8e8e8e8e8e8e9196a0acb4a79c918c89888786858584838281807f7e7d7c7b7a7877757472716f6e696a68666462605c554b4034281c100400000000000000000000000a1623303d495663707c8996a3afb4a89c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b90949fabb7b4a89c928c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8f939eaab6afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88949495969697989899999a9a9a9b9b9b9b9b9ea0a8b2b8ada39c99969594989291908f8e8d8d8c8b8a898887858482817f7e7c7a78777573716f6d675c5145382c1f130600000000000000000000000a1623303d495663707c8996a3afb8ada39c99989898989898989898989898989898989898989898989c9fa6b0bcb9aea49c99989898989898989898989898989898989898989898989b9ea6b0bbafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a1a2a2a3a4a4a5a5a6a6a7a7a7a7a7a7a7aaacb2babfb5ada7a5a3a2aaa39f9e9d9c9b9a9998979695949792908f8d8c8a89878583817f7d7c796d6053463a2d20130700000000000000000000000a1623303d495663707c8996a3afbcb6ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a9abb0b9c2bfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a8aab0b8bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afafb0b1b1b2b1b1b0b0afafafafafafafb6b8bcc3bfb8b4b2b0afb4aeacabaaa9a8a7a6a5a4a3a2a9a29f9d9c9a9997969892908e8c8a887f7265594c3f3226190c00000000000000000000000a1623303d495663707c8996a3afb6b6b6b6b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b6b7bcc2cbc8bfb9b4b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b5b6b6b6b6afa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3abaaa8a7a6a5a5a4a3a3a3a2a2a2a2a2a2aaacb1b9c1b7afa9a7a6a7a8a8a9aaabacaeb4afb0b0afb3adabaaa8a7a5a4aaa29f9d9b99978b7f7265584c3f3225190c00000000000000000000000a1623303d495663707c8996a3a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9abadb3bbc4c3b9b1abaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9e9d9c9a9a9998979796969595959595959da0a7b1baafa59d9b9a9a9b9c9c9d9e9fa2aaa2a4a5a6a7a9abacafb6b2b1b4aeabaaa8a5988b7f7265584c3f3225190c00000000000000000000000a1623303d495663707c89969c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9ea1a9b3bebcb1a79f9d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c96897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a999291908f8e8d8c8b8a8a89898988888888889095a0acb6a99d938e8d8e8e8f909091929894969798999b9c9e9fa4aca5a7a9abadb3b1a5988b7e7265584b3f3225180c00000000000000000000000a1623303d495663707d899090909090909090909090909090909090909090909090909090909090909197a1adb9b8ab9f9590909090909090909090909090909090909090909090909090909090909090897d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e89878684838281807f7e7e7d7d7c7c7c7c7c7c7c83909daab4a79b8e8180818182838484858688898a8b8d8e8f91939a97999b9c9fa2a9a6a4988b7e7165584b3e3225180b00000000000000000000000916222f3c4955626f7c8283838383838383838383838383838383838383838383838383838383838385919eabb8b6aa9d9083838383838383838383838383838383838383838383838383838383838383827c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7a7978777574737272717070706f6f6f6f6f75828e9ba8b1a4988b7e73747575767778797a7b7c7d7f8081838486888a8c8e909297979a9c988b7e7165584b3e3225180b00000000000000000000000815222e3b4754606a6f76767676767676767676767676767676767676767676767676767676767676818d9aa7b4aea194887b767676767676767676767676767676767676767676767676767676767676766f6a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e6f6e6c666a696767666564646363626262626774808d9aa7b3a79a8d8074676869696a6b676d6e6f7172737476787a7b7d7f818385888a8d90928b7e7164584b3e3125180b000000000000000000000006131f2b37434e58606269696969696969696969696969696969696969696969696969696969696974818d9aa7b4aea194887b6e6969696969696969696969696969696969696969696969696969696969696260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616361605b545c5b5a5958575756565655555966727f8c99a5b2a99c8f837669575c5d5d555d6061636465666869676d6f71727476797b7e808385887e7164584b3e3125180b0000000000000000000000030f1b27323c464e54555d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d6774818d9aa7b4aea194887b6e615d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55544e463c32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355565453504a4f4e4d4c4b4b4a4a4949494b5764717e8a97a4b1ab9e928578695e5350514b5153555657585a5b555d6062646668656c6e717376797b7b6e6154483b2e2115080000000000000000000000000a15202b343c434749505050505050505050505050505050505050505050505050505050505a6774818d9aa7b4aea194887b6e6155505050505050505050505050505050505050505050505050505050504947433c342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333b424648494746443f4241403f3f3e3d3d3d3c3c4956636f7c8996a2afada297877b6e6154484440454748494a4c4d4e4b5153555759535b60616467666c6e6e695e52463a2d201407000000000000000000000000040f19222b32373b3c4343434343434343434343434343434343434343434343434343434e5a6774818d9aa7b4aea194887b6e6155484343434343434343434343434343434343434343434343434343433c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31363a3b3c3b3938332d34343332313130302f3b4855616e7b8894abb5b3a9978a7d7064574a3d35393a3b3c3e3f4041404547484a4c4950535557545b6062615e574d42362a1e12050000000000000000000000000007101920272b2e2f3636363636363636363636363636363636363636363636363636414e5a6774818d9aa7b4aea194887b6e6155483b36363636363636363636363636363636363636363636363636362f2e2b2720191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e302e2d2b282228272625242423232d3a4754606d7a8799a3ababa79a8d807467564c41352c2d2e303132332f35393a3c3e3f3f4446484b4a50535554524d453b30251a0e020000000000000000000000000000070f151b1f22222a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a34414e5a6774818d9aa7b4aea194887b6e6155483b2e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a22221f1b150f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222321201f1c171b1a1918181717202c3945515d677986929e9e9e9d9d908377685d5246392d20222324252724292c2d2f312d3337393b3e3f4446484846423b33291f140900000000000000000000000000000000040a0f1315161d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2734414e5a6774818d9aa7b4aea194887b6e6155483b2e221d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415161413120f0b060d0c0c0b0a111d2935414c556c788592929191919090867a6d6154473a2e21151617191a181d1f20222422272b2d2e2d3338393b3b3a36302921170d020000000000000000000000000000000000000306080910101010101010101010101010101010101010101010101b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22151010101010101010101010101010101010101010101010090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080908060603000001000000010d19242f45525e6b788485858584848483827c6f6256493c2f2316090b0c070c1013141517171b1f202222282b2d2f2e2d2a251f170f050000000000000000000000000000000000000000000000030303030303030303030303030303030303030303030e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e2215080303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081e2a3743505c68727879787878777776766f6a6054473b2e2215080000000004060709060b0f121315171c1f202221201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2834404b5660686b6c6b6b6b6a6a6a696260584e43372b1f130600000000000000000000030506060b0f1213151514120e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b1aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3a454e565c5e5f5f5e5e5e5d5d5d56544e463d32271b0f030000000000000000000000000000000306060808070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa5a5a5a194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121e28333c454b505252525251515150504947433d342b20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d989898989894887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a40434546454545444443433c3b37322b22190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818b8b8b8b8b8b8b887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821282f34373839383838373737362f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d7e7e7e7e7e7e7e7f7a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2c2c2b2b2b2a2a2a23221f1b150f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3b4854606b7072727272727272726d685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c12171b1e1f1f1f1f1e1e1e1d1d1615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636565656565656565605d564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070b0f111213121212111110100908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b27323d474f5456585858585858585854524c433a2f24190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494b4b4b4b4b4b4b4b4745413a31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3d3f3f3f3f3f3f3f3f3a39352f281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f3032323232323232322d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b202223252525252525252521201d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b1013161618181818181818181413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0c0c0c0c0c0c0c0c0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset.meta b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset.meta new file mode 100644 index 00000000000..37e6ef52f43 --- /dev/null +++ b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Asian fallbacks/UIDesignGlyphs SDF.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b420fd73e2c8d4231950213789907419 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Explorer/Assets/TextMesh Pro/Fonts & Materials/Inter-Regular SDF.asset b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Inter-Regular SDF.asset index 36105e838b0..c948ad53836 100644 --- a/Explorer/Assets/TextMesh Pro/Fonts & Materials/Inter-Regular SDF.asset +++ b/Explorer/Assets/TextMesh Pro/Fonts & Materials/Inter-Regular SDF.asset @@ -388540,7 +388540,8 @@ MonoBehaviour: m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 - m_FallbackFontAssetTable: [] + m_FallbackFontAssetTable: + - {fileID: 11400000, guid: b420fd73e2c8d4231950213789907419, type: 2} m_FontWeightTable: - regularTypeface: {fileID: 0} italicTypeface: {fileID: 0} diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index 1b55dee80a1..a0fcc5cc5eb 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -22,7 +22,7 @@ "com.unity.test-framework": "1.1.33", "com.unity.ugui": "2.0.0" }, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.arch.systemgroups": { "version": "https://github.com/mikhail-dcl/Arch.SystemGroups.git?path=/Arch.SystemGroups", @@ -57,7 +57,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.coffee.softmask-for-ugui": { "version": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.6.2", @@ -80,14 +80,14 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.decentraland.filebrowserpro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.decentraland.livekit-sdk": { "version": "https://github.com/decentraland/client-sdk-unity.git#222d67ccc289337dadb5e8d96ee5b633dfb905b6", @@ -151,7 +151,7 @@ "com.unity.collections": "1.2.0", "com.unity.mathematics": "1.2.0" }, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.gurbu.gpui-pro.terrain": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", @@ -160,14 +160,14 @@ "dependencies": { "com.gurbu.gpui-pro": "0.9.19" }, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.mackysoft.serializereference-extensions": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.nickkhalow.chrome-devtool-protocol-unity": { "version": "https://github.com/decentraland/chrome-devtool-protocol-unity.git?path=/Packages", @@ -191,7 +191,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "com.unity.2d.sprite": { "version": "1.0.0", @@ -523,7 +523,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "90a8a92a9dbea1ce1db765dfe383ff61741ba9f5" + "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" }, "io.livekit.unity": { "version": "https://github.com/livekit/client-sdk-unity-web.git", From 20a2114d029d3e63c82a182df139c349291b316e Mon Sep 17 00:00:00 2001 From: Esteban Ordano Date: Mon, 20 Jul 2026 16:18:42 +0200 Subject: [PATCH 08/12] fix: strip dead MonoBehaviours left by deleted scripts from five prefabs Removes the 'The referenced script (Unknown) on this Behaviour is missing!' warning logged on every boot. The six dead components were corpses of deleted scripts, confirmed via git history: - DestinationMarker.prefab: pre-repo script, no surviving reference - FavoriteMarkerObject.prefab: navmap-era script dropped in the map discoverability refactor (#2734) - VoiceChatMicrophoneAudioSource.prefab: leftover from a local getFps prototype (hand-crafted guid a1b2c3d4...) - VoiceChatPlaybackAudioSource.prefab (x2): scripts removed in the communities voice chat audio-quality fix (#5402) - RoomIndicator.prefab: reference from the reverted UI Toolkit nametag refactor (#5657) Stripped with GameObjectUtility.RemoveMonoBehavioursWithMissingScript; a project-wide scan of every m_Script guid in Main.unity and all prefabs now resolves cleanly. --- .../DestinationMarker.prefab | 23 +------- .../Addressables/FavoriteMarkerObject.prefab | 56 ++++++++++++------- .../Connections/Systems/RoomIndicator.prefab | 47 ++++++---------- .../VoiceChatMicrophoneAudioSource.prefab | 14 ----- .../VoiceChatPlaybackAudioSource.prefab | 28 ---------- 5 files changed, 53 insertions(+), 115 deletions(-) diff --git a/Explorer/Assets/DCL/AvatarRendering/AvatarShape/Assets/DestinationMarker/DestinationMarker.prefab b/Explorer/Assets/DCL/AvatarRendering/AvatarShape/Assets/DestinationMarker/DestinationMarker.prefab index c49d7392ec1..bda947e501d 100644 --- a/Explorer/Assets/DCL/AvatarRendering/AvatarShape/Assets/DestinationMarker/DestinationMarker.prefab +++ b/Explorer/Assets/DCL/AvatarRendering/AvatarShape/Assets/DestinationMarker/DestinationMarker.prefab @@ -79,26 +79,5 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 312425904299399983, guid: 762878a7bf3715b44ac918395f691db6, type: 3} - insertIndex: -1 - addedObject: {fileID: 4300024751230198601} + m_AddedComponents: [] m_SourcePrefab: {fileID: -4161369568681901532, guid: 762878a7bf3715b44ac918395f691db6, type: 3} ---- !u!1 &5359736345899209765 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 312425904299399983, guid: 762878a7bf3715b44ac918395f691db6, type: 3} - m_PrefabInstance: {fileID: 5635250509909053194} - m_PrefabAsset: {fileID: 0} ---- !u!114 &4300024751230198601 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5359736345899209765} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 81dc589d86f21784c8568883bd01920c, type: 3} - m_Name: - m_EditorClassIdentifier: AvatarShape::DCL.AvatarRendering.AvatarShape.DestinationMarkerView - rainbowSpeed: 2 diff --git a/Explorer/Assets/DCL/MapRenderer/Addressables/FavoriteMarkerObject.prefab b/Explorer/Assets/DCL/MapRenderer/Addressables/FavoriteMarkerObject.prefab index a0df8cd02eb..96841dd0a2a 100644 --- a/Explorer/Assets/DCL/MapRenderer/Addressables/FavoriteMarkerObject.prefab +++ b/Explorer/Assets/DCL/MapRenderer/Addressables/FavoriteMarkerObject.prefab @@ -36,6 +36,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &3130431528363719345 SpriteRenderer: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -51,6 +52,11 @@ SpriteRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 0 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -72,9 +78,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -84,8 +92,8 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 0 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] --- !u!1 &280034560474106658 GameObject: m_ObjectHideFlags: 0 @@ -140,6 +148,11 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -161,9 +174,11 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &4613185049253147113 MonoBehaviour: @@ -223,6 +238,7 @@ MonoBehaviour: m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -268,7 +284,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 401758791842004506} - - component: {fileID: 1894883864601518316} m_Layer: 27 m_Name: FavoriteMarkerObject m_TagString: Untagged @@ -293,23 +308,6 @@ Transform: - {fileID: 8034716064584399077} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1894883864601518316 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5678877870475829863} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 15bb272396a884ff0a10daf59b896ce1, type: 3} - m_Name: - m_EditorClassIdentifier: - k__BackingField: {x: 0.5, y: 0.5} - k__BackingField: {fileID: 4613185049253147113} - <renderers>k__BackingField: - - {fileID: 6567910634216501126} - - {fileID: 7726644933239631887} --- !u!1 &6487472922783259709 GameObject: m_ObjectHideFlags: 0 @@ -344,6 +342,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &7726644933239631887 SpriteRenderer: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -359,6 +358,11 @@ SpriteRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 0 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -380,9 +384,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 21300000, guid: 832e2146c0b634ff78a73d0557cbd54a, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -392,8 +398,8 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] --- !u!1 &7304045418454136099 GameObject: m_ObjectHideFlags: 0 @@ -428,6 +434,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &6567910634216501126 SpriteRenderer: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -443,6 +450,11 @@ SpriteRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 0 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -464,9 +476,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -476,5 +490,5 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 0 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] diff --git a/Explorer/Assets/DCL/Multiplayer/Connections/Systems/RoomIndicator.prefab b/Explorer/Assets/DCL/Multiplayer/Connections/Systems/RoomIndicator.prefab index b3cc380b3f9..ba9b4d4890d 100644 --- a/Explorer/Assets/DCL/Multiplayer/Connections/Systems/RoomIndicator.prefab +++ b/Explorer/Assets/DCL/Multiplayer/Connections/Systems/RoomIndicator.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6615945845340605545} - - component: {fileID: 6145739770501069584} m_Layer: 5 m_Name: RoomIndicator m_TagString: Untagged @@ -39,33 +38,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0.45, y: 0.3} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6145739770501069584 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2074114889938352466} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d7d34f10598c4f638b94710f3b0ff918, type: 3} - m_Name: - m_EditorClassIdentifier: - colors: - - source: 0 - indicator: N/A - color: {r: 0.41509432, g: 0.41509432, b: 0.41509432, a: 1} - - source: 1 - indicator: G - color: {r: 0.07143695, g: 0.26501098, b: 0.5283019, a: 1} - - source: 2 - indicator: I - color: {r: 0.07058824, g: 0.5294118, b: 0.22292237, a: 1} - - source: 3 - indicator: I+G - color: {r: 0.55345905, g: 0.06787699, b: 0.48883247, a: 1} - background: {fileID: 2968721729092005038} - text: {fileID: 1326886004246566054} --- !u!1 &2433736487283086053 GameObject: m_ObjectHideFlags: 0 @@ -123,6 +95,8 @@ MeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -144,9 +118,11 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 10 + m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &1326886004246566054 MonoBehaviour: @@ -206,6 +182,7 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -280,6 +257,7 @@ RectTransform: m_Pivot: {x: 0.5, y: 0.5} --- !u!212 &544308281080233652 SpriteRenderer: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -298,6 +276,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -319,9 +299,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 1 + m_MaskInteraction: 0 m_Sprite: {fileID: 21300000, guid: 37894a231569347e8b89612f29611b85, type: 3} m_Color: {r: 0.13836467, g: 0.13836467, b: 0.13836467, a: 1} m_FlipX: 0 @@ -331,8 +313,8 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] --- !u!1 &3907013848479446928 GameObject: m_ObjectHideFlags: 0 @@ -371,6 +353,7 @@ RectTransform: m_Pivot: {x: 0.5, y: 0.5} --- !u!212 &2968721729092005038 SpriteRenderer: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -389,6 +372,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -410,9 +395,11 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_MaskInteraction: 0 m_Sprite: {fileID: 21300000, guid: 12dd1efc4e826764f9b02be515a9a033, type: 3} m_Color: {r: 0.5529412, g: 0.06666667, b: 0.49019608, a: 1} m_FlipX: 0 @@ -422,5 +409,5 @@ SpriteRenderer: m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 m_SpriteSortPoint: 0 + m_BlendShapeWeights: [] diff --git a/Explorer/Assets/DCL/VoiceChat/VoiceChatMicrophoneAudioSource.prefab b/Explorer/Assets/DCL/VoiceChat/VoiceChatMicrophoneAudioSource.prefab index 5b127bac8d6..df60371f179 100644 --- a/Explorer/Assets/DCL/VoiceChat/VoiceChatMicrophoneAudioSource.prefab +++ b/Explorer/Assets/DCL/VoiceChat/VoiceChatMicrophoneAudioSource.prefab @@ -10,7 +10,6 @@ GameObject: m_Component: - component: {fileID: 4683497177655294136} - component: {fileID: 8080063494220103541} - - component: {fileID: 3456789012345678901} m_Layer: 0 m_Name: VoiceChatMicrophoneAudioSource m_TagString: Untagged @@ -130,16 +129,3 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 ---- !u!114 &3456789012345678901 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4081533689051262284} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a1b2c3d4e5f6789012345678901234ab, type: 3} - m_Name: - m_EditorClassIdentifier: - voiceChatSettings: {fileID: 11400000, guid: 88538076b054b4504b11b87773e7393f, type: 2} diff --git a/Explorer/Assets/DCL/VoiceChat/VoiceChatPlaybackAudioSource.prefab b/Explorer/Assets/DCL/VoiceChat/VoiceChatPlaybackAudioSource.prefab index acdeed2522b..35f2de0020b 100644 --- a/Explorer/Assets/DCL/VoiceChat/VoiceChatPlaybackAudioSource.prefab +++ b/Explorer/Assets/DCL/VoiceChat/VoiceChatPlaybackAudioSource.prefab @@ -9,9 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6657103087111827888} - - component: {fileID: 1730163203662145162} - component: {fileID: 2282365026232049106} - - component: {fileID: 2623400995154648125} m_Layer: 0 m_Name: VoiceChatPlaybackAudioSource m_TagString: Untagged @@ -34,20 +32,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1730163203662145162 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3153347755385556873} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6d726263bcf4b89419112165ca12b33c, type: 3} - m_Name: - m_EditorClassIdentifier: - audioSource: {fileID: 2282365026232049106} - audioFilter: {fileID: 2623400995154648125} --- !u!82 &2282365026232049106 AudioSource: m_ObjectHideFlags: 0 @@ -145,15 +129,3 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 ---- !u!114 &2623400995154648125 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3153347755385556873} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7ae0de3e582a2af46803b812eb7d40d4, type: 3} - m_Name: - m_EditorClassIdentifier: From 70b37d380c299f81503be56218433b468bf0a41c Mon Sep 17 00:00:00 2001 From: Esteban Ordano <esteban@decentraland.org> Date: Mon, 20 Jul 2026 19:09:57 +0200 Subject: [PATCH 09/12] chore: re-pin dependency branches after cross-version compatibility fixes unity-explorer-packages 6bc4241: version-guard the AdvancedDropdownItem childList accessor (6000.5-only API) so the vendored packages compile on the 6000.4 line. unity-shared-dependencies a1a8ecc: inline the parameterless IsSurfaceTypeTransparent() under URP's own include guard instead of including Shaders/Utils/SurfaceType.hlsl, which 6000.4's URP does not ship. Verified: current dev (6000.4.0f1) with both fix branches compiles with zero errors, so the dependency branches can merge ahead of this PR. --- Explorer/Packages/packages-lock.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index a0fcc5cc5eb..45caa547a18 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -22,7 +22,7 @@ "com.unity.test-framework": "1.1.33", "com.unity.ugui": "2.0.0" }, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.arch.systemgroups": { "version": "https://github.com/mikhail-dcl/Arch.SystemGroups.git?path=/Arch.SystemGroups", @@ -57,7 +57,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.coffee.softmask-for-ugui": { "version": "https://github.com/mob-sakai/SoftMaskForUGUI.git?path=Packages/src#3.6.2", @@ -80,14 +80,14 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.decentraland.filebrowserpro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/FileBrowserPro#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.decentraland.livekit-sdk": { "version": "https://github.com/decentraland/client-sdk-unity.git#222d67ccc289337dadb5e8d96ee5b633dfb905b6", @@ -140,7 +140,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "c4241756b8c12179dd849a57be5116616418c17f" + "hash": "a1a8ecc571c94de45b23bea1569854326a0ba7c9" }, "com.gurbu.gpui-pro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", @@ -151,7 +151,7 @@ "com.unity.collections": "1.2.0", "com.unity.mathematics": "1.2.0" }, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.gurbu.gpui-pro.terrain": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro.terrain#fix/unity-6000.5.4-api-compat", @@ -160,14 +160,14 @@ "dependencies": { "com.gurbu.gpui-pro": "0.9.19" }, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.mackysoft.serializereference-extensions": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/SerializeReferenceExtensions#fix/unity-6000.5.4-api-compat", "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.nickkhalow.chrome-devtool-protocol-unity": { "version": "https://github.com/decentraland/chrome-devtool-protocol-unity.git?path=/Packages", @@ -191,7 +191,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "com.unity.2d.sprite": { "version": "1.0.0", @@ -523,7 +523,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "1293099978bcca5ef57a20ea22aeb99c44fbe94a" + "hash": "6bc4241ce1314527226b60000734e7398fcf565c" }, "io.livekit.unity": { "version": "https://github.com/livekit/client-sdk-unity-web.git", From ef50b5f16df16c21e39cfa21d07845823f271470 Mon Sep 17 00:00:00 2001 From: Esteban Ordano <esteban@decentraland.org> Date: Mon, 20 Jul 2026 20:02:44 +0200 Subject: [PATCH 10/12] fix: declare _TerrainBounds as float4 in MountainLit DOTS instancing block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The property is float4 everywhere (cbuffer, sampled cache, access macro) but the UNITY_DOTS_INSTANCED_PROP declaration said float. Unity 6000.4's untyped metadata symbols tolerated the mismatch; 6000.5 encodes the type into the generated metadata name, so the player-variant compile fails with 'undeclared identifier unity_DOTSInstancingF16_Metadata_TerrainBounds' (surfaces only in player builds — editor variants never hit it). --- Explorer/Assets/DCL/Landscape/Shaders/MountainLitInput.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Explorer/Assets/DCL/Landscape/Shaders/MountainLitInput.hlsl b/Explorer/Assets/DCL/Landscape/Shaders/MountainLitInput.hlsl index 255a923c884..7e180c156a9 100644 --- a/Explorer/Assets/DCL/Landscape/Shaders/MountainLitInput.hlsl +++ b/Explorer/Assets/DCL/Landscape/Shaders/MountainLitInput.hlsl @@ -38,7 +38,7 @@ UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata) UNITY_DOTS_INSTANCED_PROP(float , _Cutoff) UNITY_DOTS_INSTANCED_PROP(float , _Surface) UNITY_DOTS_INSTANCED_PROP(float , _terrainScale) - UNITY_DOTS_INSTANCED_PROP(float , _TerrainBounds) + UNITY_DOTS_INSTANCED_PROP(float4, _TerrainBounds) UNITY_DOTS_INSTANCED_PROP(int , _octaves) UNITY_DOTS_INSTANCED_PROP(float , _frequency) UNITY_DOTS_INSTANCED_PROP(float4, _TerrainMaskMap_ST) From c96696eb382345579004b4a56bac8915e505905e Mon Sep 17 00:00:00 2001 From: Esteban Ordano <esteban@decentraland.org> Date: Mon, 20 Jul 2026 20:33:12 +0200 Subject: [PATCH 11/12] chore: bump Sentry to 4.7.0 and pin final shader-compat head io.sentry.unity 4.0.0's repackaged System.Memory/System.Text.Json shims crash Unity 6000.5's IL2CPP Span-intrinsic remapper ('Sequence contains no matching element' in IntrinsicRemap.SpanGetItemArguments), failing every player build with 9 conversion errors. 4.7.0 converts cleanly. unity-shared-dependencies pinned to de4cce8: DOTS-instancing variant fixes (legacy FROM_MACRO accessors, direct unity_ObjectToWorld uses, missing instance-id transfer in the toon outline) that only surface in player builds. Verified: full macOS IL2CPP player build succeeds with zero script, shader and IL2CPP errors; both dependency branches also compile clean on 6000.4.0f1 dev for sequential landing. --- Explorer/Packages/manifest.json | 2 +- Explorer/Packages/packages-lock.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Explorer/Packages/manifest.json b/Explorer/Packages/manifest.json index 864a233c403..47f39679171 100644 --- a/Explorer/Packages/manifest.json +++ b/Explorer/Packages/manifest.json @@ -48,7 +48,7 @@ "decentraland.grassshader": "git@github.com:decentraland/unity-explorer-packages.git?path=/StylizedGrassShader", "decentraland.renderfeatures": "git@github.com:decentraland/unity-explorer-packages.git?path=/RenderGraphs/RenderFeatures#fix/unity-6000.5.4-api-compat", "io.livekit.unity": "https://github.com/livekit/client-sdk-unity-web.git", - "io.sentry.unity": "https://github.com/getsentry/unity.git#4.0.0", + "io.sentry.unity": "https://github.com/getsentry/unity.git#4.7.0", "net.tnrd.nsubstitute": "https://github.com/decentraland/Unity3D-NSubstitute.git", "org.decentraland.clearscript": "https://github.com/decentraland/ClearScript.git?path=/Unity/Package#7.5.1.a", "superscrollview": "git@github.com:decentraland/unity-explorer-packages.git?path=/SuperScrollView", diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index 45caa547a18..0b4328c25fc 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -140,7 +140,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "a1a8ecc571c94de45b23bea1569854326a0ba7c9" + "hash": "de4cce8340ab6a0afafd1b1fc871dcb19013bff3" }, "com.gurbu.gpui-pro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", @@ -535,11 +535,11 @@ "hash": "84a79b486b171068b1429cf61c9081b59a7cf276" }, "io.sentry.unity": { - "version": "https://github.com/getsentry/unity.git#4.0.0", + "version": "https://github.com/getsentry/unity.git#4.7.0", "depth": 0, "source": "git", "dependencies": {}, - "hash": "ad36b581ab86a846c33a7d509acb9a0dd9016bde" + "hash": "2768f82362e9d6468f1fcf7fd43e922e54c1b0ff" }, "net.tnrd.nsubstitute": { "version": "https://github.com/decentraland/Unity3D-NSubstitute.git", From a74d48082e31017c755f268e93328f2fd104d6e2 Mon Sep 17 00:00:00 2001 From: Esteban Ordano <esteban@decentraland.org> Date: Mon, 20 Jul 2026 21:23:10 +0200 Subject: [PATCH 12/12] chore: re-pin unity-shared-dependencies after comment cleanup Squashed the shader-compat branch to a single comment-free commit (5261933); no functional change from de4cce8. --- Explorer/Packages/packages-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Explorer/Packages/packages-lock.json b/Explorer/Packages/packages-lock.json index 0b4328c25fc..16319d2100c 100644 --- a/Explorer/Packages/packages-lock.json +++ b/Explorer/Packages/packages-lock.json @@ -140,7 +140,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "de4cce8340ab6a0afafd1b1fc871dcb19013bff3" + "hash": "52619333d46173c4f8258fe25c7ca1cec1bfa2cc" }, "com.gurbu.gpui-pro": { "version": "git@github.com:decentraland/unity-explorer-packages.git?path=/GPUInstancerPro/com.gurbu.gpui-pro#fix/unity-6000.5.4-api-compat", @@ -792,4 +792,4 @@ } } } -} +} \ No newline at end of file