From 8ef311f475d85d5e5fdc6f1580f2d2731acfc613 Mon Sep 17 00:00:00 2001 From: zerenluo Date: Tue, 4 Aug 2026 11:49:53 +0800 Subject: [PATCH 1/2] [Add] Meta IOBT body tracking: emit BodyMeta from Quest client Replaces the "Coming soon" placeholder with a working Mode dropdown (Off / Body (IOBT) / Motion (PICO only)) that streams 70 upper-body joints from the headset cameras, published under a new "BodyMeta" key. BodyMeta rather than reusing PICO's "Body": the skeletons are not interchangeable (70 joints vs 24, and IOBT reports no velocity or acceleration), so sharing the key would either truncate joints or break existing PICO consumers. Docs/BodyMeta.md specifies the format, including the two things consumers get wrong: isActive must be checked before reading joints (the array keeps stale values once the headset comes off), and calib does not need to reach Valid (joints stream complete throughout Calibrating). The five project settings body tracking depends on all fail silently when wrong -- the app runs, the Inspector looks right, and no data arrives -- so they are scripted in BodyTrackingSetup.cs (Tools > Body Tracking) rather than left as manual Inspector steps. LogWindow.Info is made thread-safe: body tracking logs from a non-main thread and the previous static-instance access could crash there. Controller, head and hand paths are untouched. Verified on Quest 3: joints=70 calib=Valid fidelity=High confidence=1.00. --- Assets/Editor/BodyTrackingSetup.cs | 451 ++++++++++++++++++ Assets/Editor/BodyTrackingSetup.cs.meta | 11 + Assets/Main.unity | 90 ++-- Assets/Oculus/OculusProjectConfig.asset | 2 +- Assets/Resources/OculusRuntimeSettings.asset | 2 +- .../Scripts/Quest/QuestTrackingDataSource.cs | 112 +++++ Assets/Scripts/TrackingData.cs | 143 +++++- Assets/Scripts/UI/LogWindow.cs | 52 +- Assets/Scripts/UI/UIOperate.cs | 198 ++++---- Docs/BodyMeta.md | 132 +++++ Docs/ui.png | Bin 52406 -> 112571 bytes README.md | 5 +- 12 files changed, 1069 insertions(+), 129 deletions(-) create mode 100644 Assets/Editor/BodyTrackingSetup.cs create mode 100644 Assets/Editor/BodyTrackingSetup.cs.meta create mode 100644 Docs/BodyMeta.md diff --git a/Assets/Editor/BodyTrackingSetup.cs b/Assets/Editor/BodyTrackingSetup.cs new file mode 100644 index 0000000..feeb275 --- /dev/null +++ b/Assets/Editor/BodyTrackingSetup.cs @@ -0,0 +1,451 @@ +using UnityEditor; +using UnityEngine; + +/// +/// Enables Meta IOBT body tracking in the project settings. +/// +/// These live in serialized assets that are inconvenient to edit by hand, and getting any one of +/// them wrong fails in a misleading way: the app runs, every inspector checkbox looks right, and +/// OVRBody still reports "Failed to start body tracking". Scripted so it is reproducible. +/// +/// Unity -batchmode -nographics -projectPath <proj> -buildTarget Android \ +/// -executeMethod BodyTrackingSetup.Configure -quit +/// +/// or from the editor: Tools > Body Tracking > Configure Project Settings. +/// +public static class BodyTrackingSetup +{ + [MenuItem("Tools/Body Tracking/Configure Project Settings")] + public static void Configure() + { + ConfigureProjectConfig(); + ConfigureRuntimeSettings(); + // Runs last: it opens and saves scenes, so anything editing scene objects must come before + // ConfigureSceneBodySource saves, and ConfigurePermissionRequest already opens scenes too. + ConfigurePermissionRequest(); + ConfigureSceneBodySource(); + AssetDatabase.SaveAssets(); + Debug.Log("[BodyTrackingSetup] done"); + } + + + + + /// + /// Single debug APK at Build/quest-body.apk, for iterating on body tracking. + /// + /// Deliberately separate from ProjectBuild.Build(): that one produces four APKs + /// (cn/i18n x debug/release) and swaps region jars, which is release packaging rather than + /// something to run on every code change. Keep BuildOptions.Development so Debug.Log + /// survives into logcat. + /// + [MenuItem("Tools/Body Tracking/Build Debug APK")] + public static void BuildDebugApk() + { + var scenes = new System.Collections.Generic.List(); + foreach (var s in EditorBuildSettings.scenes) + { + if (s != null && s.enabled) + { + scenes.Add(s.path); + } + } + + if (scenes.Count == 0) + { + Debug.LogError("[BodyTrackingSetup] no enabled scenes in build settings"); + FailBuild(); + return; + } + + System.IO.Directory.CreateDirectory("Build"); + const string outPath = "Build/quest-body.apk"; + + var summary = BuildPipeline.BuildPlayer(new BuildPlayerOptions + { + scenes = scenes.ToArray(), + locationPathName = outPath, + target = BuildTarget.Android, + targetGroup = BuildTargetGroup.Android, + options = BuildOptions.Development, + }).summary; + + Debug.Log($"[BodyTrackingSetup] build {summary.result}: " + + $"{summary.totalSize / 1024 / 1024} MB, {summary.totalErrors} errors, " + + $"took {summary.totalTime}"); + + if (summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) + { + FailBuild(); + } + } + + /// + /// Signals build failure without taking an interactive editor down with it. + /// + /// + /// A non-zero exit is what a CI runner needs, but calling it from the menu would close the + /// editor and lose unsaved work, so it is limited to batch mode. Interactively the logged + /// error is the signal. + /// + private static void FailBuild() + { + if (Application.isBatchMode) + { + EditorApplication.Exit(1); + } + } + + /// Quest Features > Body Tracking Support = Supported. + private static void ConfigureProjectConfig() + { + var cfg = OVRProjectConfig.CachedProjectConfig; + if (cfg == null) + { + Debug.LogError("[BodyTrackingSetup] OVRProjectConfig.CachedProjectConfig == null"); + return; + } + + cfg.bodyTrackingSupport = OVRProjectConfig.FeatureSupport.Supported; + OVRProjectConfig.CommitProjectConfig(cfg); + Debug.Log("[BodyTrackingSetup] bodyTrackingSupport=Supported"); + } + + /// + /// Fidelity=High is what actually turns IOBT on; Low is IK inference from headset and + /// controllers only, not camera-measured limbs. + /// + /// JointSet stays UpperBody: those joints are all camera-measured, whereas FullBody appends + /// Generative Legs predictions. FullBody also needs the system-level full-body toggle and was + /// observed to fail startup outright on a Quest 3 that had only body tracking enabled. + /// + private static void ConfigureRuntimeSettings() + { + var rs = OVRRuntimeSettings.GetRuntimeSettings(); + rs.BodyTrackingFidelity = OVRPlugin.BodyTrackingFidelity2.High; + rs.BodyTrackingJointSet = OVRPlugin.BodyJointSet.UpperBody; + OVRRuntimeSettings.CommitRuntimeSettings(rs); + Debug.Log($"[BodyTrackingSetup] fidelity={rs.BodyTrackingFidelity} " + + $"jointSet={rs.BodyTrackingJointSet}"); + } + + /// + /// OVRManager > Permission Requests On Startup > Body Tracking. + /// + /// Without this the app never asks for com.oculus.permission.BODY_TRACKING at runtime, so + /// tracking is refused even though the manifest declares the permission. + /// + private static void ConfigurePermissionRequest() + { + // Scoped to Assets/: an unscoped search also returns scenes shipped inside read-only + // packages (e.g. Meta's OVRTransitionScene), and opening one of those throws. + foreach (var guid in AssetDatabase.FindAssets("t:Scene", new[] { "Assets" })) + { + var path = AssetDatabase.GUIDToAssetPath(guid); + var scene = UnityEditor.SceneManagement.EditorSceneManager.OpenScene( + path, UnityEditor.SceneManagement.OpenSceneMode.Single); + if (!scene.IsValid()) + { + continue; + } + + var changed = false; + foreach (var mgr in Object.FindObjectsOfType()) + { + // requestBodyTrackingPermissionOnStartup is internal, so reach it via + // SerializedObject rather than adding a dependency on Meta's internals. + var so = new SerializedObject(mgr); + var prop = so.FindProperty("requestBodyTrackingPermissionOnStartup"); + if (prop == null) + { + Debug.LogWarning($"[BodyTrackingSetup] {mgr.name}: property not found"); + continue; + } + + if (!prop.boolValue) + { + prop.boolValue = true; + so.ApplyModifiedPropertiesWithoutUndo(); + changed = true; + Debug.Log($"[BodyTrackingSetup] {path}: {mgr.name} permission request enabled"); + } + } + + if (changed) + { + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(scene); + UnityEditor.SceneManagement.EditorSceneManager.SaveScene(scene); + } + } + } + + /// + /// Adds the OVRBody component and wires QuestTrackingDataSource.body / .trackingSpace. + /// + /// Without an OVRBody in the scene nothing ever requests a tracking session from the runtime, + /// so BodyState stays null and no BodyMeta is emitted. This failed silently: the build + /// succeeded, project settings were all correct, and logcat showed no body-tracking errors at + /// all -- just no output. The component goes on the OVRCameraRig so it shares the rig's + /// lifetime, and OVRBody's own _providedSkeletonType default (UpperBody) already matches + /// ConfigureRuntimeSettings. + /// + private static void ConfigureSceneBodySource() + { + foreach (var guid in AssetDatabase.FindAssets("t:Scene", new[] { "Assets" })) + { + var path = AssetDatabase.GUIDToAssetPath(guid); + var scene = UnityEditor.SceneManagement.EditorSceneManager.OpenScene( + path, UnityEditor.SceneManagement.OpenSceneMode.Single); + if (!scene.IsValid()) + { + continue; + } + + var sources = Object.FindObjectsOfType(); + if (sources.Length == 0) + { + continue; + } + + var rig = Object.FindObjectOfType(); + if (rig == null) + { + Debug.LogWarning($"[BodyTrackingSetup] {path}: no OVRCameraRig, skipping"); + continue; + } + + var body = Object.FindObjectOfType(); + if (body == null) + { + body = rig.gameObject.AddComponent(); + Debug.Log($"[BodyTrackingSetup] {path}: added OVRBody to {rig.name}"); + } + + foreach (var src in sources) + { + src.body = body; + src.trackingSpace = rig.trackingSpace; + EditorUtility.SetDirty(src); + Debug.Log($"[BodyTrackingSetup] {path}: {src.name}.body={body.name} " + + $"trackingSpace={rig.trackingSpace?.name ?? "null"}"); + } + + ActivateBodyModeUi(path); + + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(scene); + UnityEditor.SceneManagement.EditorSceneManager.SaveScene(scene); + } + } + + /// + /// Un-hides the body mode dropdown and every inactive ancestor of it. + /// + /// + /// Upstream ships the "Mode" row deactivated because body tracking was unimplemented on Quest + /// ("Coming soon"). Wiring the dropdown's listeners is not enough on its own: an inactive + /// ancestor keeps the control off-screen, so on-device there is simply no dropdown to select + /// and TrackingType stays None -- which looks identical to a data pipeline that is broken. + /// + /// Walks up from the dropdown rather than hardcoding "Mode", since only the ancestor chain is + /// guaranteed to be what actually gates visibility. + /// + private static void ActivateBodyModeUi(string path) + { + foreach (var ui in Object.FindObjectsOfType(true)) + { + var drop = ui.bodyModeDrop; + if (drop == null) + { + Debug.LogWarning($"[BodyTrackingSetup] {path}: {ui.name}.bodyModeDrop unassigned"); + continue; + } + + for (var t = drop.transform; t != null; t = t.parent) + { + if (t.gameObject.activeSelf) + { + continue; + } + + t.gameObject.SetActive(true); + EditorUtility.SetDirty(t.gameObject); + Debug.Log($"[BodyTrackingSetup] {path}: activated '{t.name}'"); + } + + RelabelBodyModeOptions(drop, path); + LayOutBodyModeRow(drop, path); + WidenBodyInfo(ui, path); + } + } + + /// + /// Gives the Status line room for the full, unabbreviated readout. + /// + /// + /// It was authored at 280px for the old static text ("BodyTracking on (High)"). The live + /// readout spells out joint count, calibration state and confidence, which does not fit; left + /// alone the tail is clipped mid-word, and calibration state is the part that gets cut. + /// + /// Overflow is enabled as well as widening: the widest string is the "enable it in system + /// settings" instruction, which no width available in this panel fits, and spilling that rare + /// case is better than shrinking the text shown constantly. + /// + private static void WidenBodyInfo(UIOperate ui, string path) + { + var info = ui.BodyInfo; + if (info == null) + { + Debug.LogWarning($"[BodyTrackingSetup] {path}: {ui.name}.BodyInfo unassigned"); + return; + } + + var rt = (RectTransform)info.transform; + + // Pivot and anchor on the left edge before widening. Its parent is a zero-size layout node, + // so with the authored centre pivot the text grows symmetrically about a point -- widening + // it pushed half the extra width off the left side of the panel rather than filling the + // empty space to the right. Anchoring left makes the width grow rightwards only. + rt.anchorMin = new Vector2(0f, 0.5f); + rt.anchorMax = new Vector2(0f, 0.5f); + rt.pivot = new Vector2(0f, 0.5f); + // Spans from under the "S" of the Status heading to the panel's right edge. + rt.sizeDelta = new Vector2(265f, rt.sizeDelta.y); + // Lines the readout up with the "S" of the "Status" heading above it, which is how the + // other sections in this panel read: "Mode" sits under the "B" of "Body Tracking", and + // "Send" under the "D" of "Data & Control". The offset is negative because the parent is + // placed by its own layout group well right of the panel edge, so this walks back left + // from there rather than indenting in from the left. + rt.anchoredPosition = new Vector2(-139f, rt.anchoredPosition.y); + info.horizontalOverflow = HorizontalWrapMode.Overflow; + info.alignment = TextAnchor.MiddleLeft; + // Smaller than the panel's labels: it is a readout rather than a control, and spelling the + // fields out in full does not fit between the dropdown's left edge and the panel's right + // edge at the authored 14pt. Shrinking the glyphs keeps the words whole, which is the point. + info.fontSize = 11; + EditorUtility.SetDirty(info); + EditorUtility.SetDirty(rt); + Debug.Log($"[BodyTrackingSetup] {path}: BodyInfo laid out at " + + $"x={rt.anchoredPosition.x} width={rt.sizeDelta.x}"); + } + + /// + /// Places the mode row inside the panel, and drops the "Coming soon ..." placeholder. + /// + /// + /// The row was authored to sit hidden behind that placeholder, so its layout was never + /// meaningful: the resolved rect put the "Mode" label at x=-1.15 against a panel whose left + /// edge is x=-0.86, i.e. the whole control rendered outside the panel, to the left of the + /// window. Two nested HorizontalLayoutGroups were fighting -- the "Mode" group padded +67 + /// while its "BodyTracking" child padded -267, netting -200. + /// + /// Rather than tune those against each other, both are zeroed and the row is aligned on the + /// Head/Controller row above it, which is the visual reference the operator actually compares + /// against. Spacing was likewise a large negative number (-623) cancelling the padding. + /// + /// Kept in the setup script rather than hand-edited into Main.unity so it stays reproducible, + /// and re-running it after an upstream merge repairs the row instead of silently regressing. + /// + private static void LayOutBodyModeRow(UnityEngine.UI.Dropdown drop, string path) + { + // dropdown -> BodyTracking (inner group) -> Mode (outer group) + var inner = drop.transform.parent; + var outer = inner != null ? inner.parent : null; + if (inner == null || outer == null) + { + Debug.LogWarning($"[BodyTrackingSetup] {path}: unexpected mode row hierarchy"); + return; + } + + // Matches the Head/Controller row's group, so the "Mode" label lines up with "Head". + var outerGroup = outer.GetComponent(); + if (outerGroup != null) + { + outerGroup.padding = new RectOffset(1, 0, 0, 0); + outerGroup.spacing = 0; + outerGroup.childForceExpandWidth = false; + EditorUtility.SetDirty(outerGroup); + } + + var innerGroup = inner.GetComponent(); + if (innerGroup != null) + { + innerGroup.padding = new RectOffset(0, 0, 9, 0); + innerGroup.spacing = 8; + innerGroup.childForceExpandWidth = false; + innerGroup.childAlignment = TextAnchor.MiddleLeft; + EditorUtility.SetDirty(innerGroup); + } + + // The label carries a stale offset from when it was positioned by hand; the layout group + // drives x now, but a non-zero anchoredPosition still shifts it. + foreach (RectTransform child in inner) + { + child.anchoredPosition = new Vector2(0, child.anchoredPosition.y); + EditorUtility.SetDirty(child); + } + + HideComingSoonPlaceholder(outer.parent, path); + Debug.Log($"[BodyTrackingSetup] {path}: mode row re-laid out"); + } + + /// + /// Hides the "Coming soon ..." label that upstream showed in place of the body mode control. + /// + /// + /// Matched on its text rather than its name ("Label (1)") because the name carries no meaning + /// and would silently hide the wrong object if the panel is ever rearranged. Deactivated + /// rather than deleted so the change stays reversible and merges cleanly. + /// + private static void HideComingSoonPlaceholder(Transform panel, string path) + { + if (panel == null) + { + return; + } + + foreach (var text in panel.GetComponentsInChildren(true)) + { + if (text.text == null || !text.text.StartsWith("Coming soon")) + { + continue; + } + + text.gameObject.SetActive(false); + EditorUtility.SetDirty(text.gameObject); + Debug.Log($"[BodyTrackingSetup] {path}: hid placeholder '{text.text}'"); + } + } + + /// + /// Relabels the body mode dropdown to match what the options actually do on Quest. + /// + /// + /// OnBodyModeDrop casts the dropdown *index* to TrackingType, so the labels are decorative + /// while the index is load-bearing. Upstream inherited PICO's "None / Upper / Full" wording, + /// which now actively misleads: index 1 ("Upper") is TrackingType.Body, and index 2 ("Full") + /// is TrackingType.Motion -- PICO's external-tracker mode, which has no Quest equivalent and + /// is rejected back to None. "Full" reads like full-body capture but is a dead end. + /// + /// Note this does not choose the skeleton: UpperBody vs FullBody is OVRRuntimeSettings + /// (see ConfigureRuntimeSettings), fixed at build time and not switchable here. + /// + private static void RelabelBodyModeOptions(UnityEngine.UI.Dropdown drop, string path) + { + var labels = new[] { "Off", "Body (IOBT)", "Motion (PICO only)" }; + if (drop.options.Count != labels.Length) + { + Debug.LogWarning($"[BodyTrackingSetup] {path}: bodyModeDrop has {drop.options.Count} " + + $"options, expected {labels.Length}; leaving labels alone"); + return; + } + + for (var i = 0; i < labels.Length; i++) + { + drop.options[i].text = labels[i]; + } + + drop.RefreshShownValue(); + EditorUtility.SetDirty(drop); + Debug.Log($"[BodyTrackingSetup] {path}: bodyModeDrop labels -> {string.Join(" / ", labels)}"); + } +} diff --git a/Assets/Editor/BodyTrackingSetup.cs.meta b/Assets/Editor/BodyTrackingSetup.cs.meta new file mode 100644 index 0000000..a5240c6 --- /dev/null +++ b/Assets/Editor/BodyTrackingSetup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38984cf7ea28d66e6920399c9e405b70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Main.unity b/Assets/Main.unity index 325ca25..a60e856 100644 --- a/Assets/Main.unity +++ b/Assets/Main.unity @@ -507,6 +507,8 @@ MonoBehaviour: rightController: {fileID: 1882745283} leftControllerVisual: {fileID: 1280121364} rightControllerVisual: {fileID: 909864678} + body: {fileID: 533776542} + trackingSpace: {fileID: 827690208} --- !u!1 &25213884 GameObject: m_ObjectHideFlags: 0 @@ -2122,11 +2124,11 @@ RectTransform: m_Father: {fileID: 675691376} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 280.3, y: 30} - m_Pivot: {x: 0.5, y: 0.5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -139, y: 0} + m_SizeDelta: {x: 265, y: 30} + m_Pivot: {x: 0, y: 0.5} --- !u!222 &125537320 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2157,15 +2159,15 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 10 + m_FontSize: 11 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 1 m_MaxSize: 14 - m_Alignment: 0 + m_Alignment: 3 m_AlignByGeometry: 0 m_RichText: 1 - m_HorizontalOverflow: 0 + m_HorizontalOverflow: 1 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: @@ -3786,9 +3788,9 @@ RectTransform: m_Father: {fileID: 1022825376} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: -267, y: -20.7} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 36.7, y: 23.4} m_Pivot: {x: 0, y: 0.5} --- !u!114 &209863748 @@ -6713,7 +6715,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: None + m_Text: Off --- !u!222 &398004547 CanvasRenderer: m_ObjectHideFlags: 0 @@ -8721,6 +8723,7 @@ GameObject: - component: {fileID: 533776539} - component: {fileID: 533776538} - component: {fileID: 533776537} + - component: {fileID: 533776542} m_Layer: 0 m_Name: OVRCameraRig m_TagString: Untagged @@ -8815,7 +8818,7 @@ MonoBehaviour: launchSimultaneousHandsControllersOnStartup: 0 isInsightPassthroughEnabled: 1 shouldBoundaryVisibilityBeSuppressed: 0 - requestBodyTrackingPermissionOnStartup: 0 + requestBodyTrackingPermissionOnStartup: 1 requestFaceTrackingPermissionOnStartup: 0 requestEyeTrackingPermissionOnStartup: 0 requestScenePermissionOnStartup: 0 @@ -8884,6 +8887,19 @@ MonoBehaviour: installationRoutineCheckpoint: _installationRoutineId: _installationVariants: [] +--- !u!114 &533776542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 533776536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 274835e4e2feae04b87f0d000555f8a4, type: 3} + m_Name: + m_EditorClassIdentifier: + _providedSkeletonType: 0 --- !u!1 &534072469 GameObject: m_ObjectHideFlags: 0 @@ -13193,7 +13209,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &748445603 RectTransform: m_ObjectHideFlags: 0 @@ -18190,9 +18206,9 @@ RectTransform: m_Father: {fileID: 1671116369} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 67, y: -22.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 461.3, y: 45} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1022825377 @@ -18208,13 +18224,13 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Padding: - m_Left: -267 + m_Left: 0 m_Right: 0 m_Top: 9 m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: -623.4 - m_ChildForceExpandWidth: 1 + m_ChildAlignment: 3 + m_Spacing: 8 + m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 m_ChildControlHeight: 0 @@ -21838,7 +21854,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3} m_Name: m_EditorClassIdentifier: - _skeletonType: 4 + _skeletonType: 0 _updateRootPose: 0 _updateRootScale: 1 _enablePhysicsCapsules: 0 @@ -29472,7 +29488,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1671116369 RectTransform: m_ObjectHideFlags: 0 @@ -29489,10 +29505,10 @@ RectTransform: m_Father: {fileID: 753016364} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 528.3, y: -29.5} - m_SizeDelta: {x: 528.3, y: 45} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1671116370 MonoBehaviour: @@ -29507,13 +29523,13 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Padding: - m_Left: 67 + m_Left: 1 m_Right: 0 m_Top: 0 m_Bottom: 0 m_ChildAlignment: 0 - m_Spacing: -9.71 - m_ChildForceExpandWidth: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 1 m_ChildControlWidth: 0 m_ChildControlHeight: 0 @@ -34970,7 +34986,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3} m_Name: m_EditorClassIdentifier: - _skeletonType: 5 + _skeletonType: 1 _updateRootPose: 0 _updateRootScale: 1 _enablePhysicsCapsules: 0 @@ -35141,9 +35157,9 @@ RectTransform: m_Father: {fileID: 1022825376} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: -196.20001, y: -21} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 70, y: 24} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2032583196 @@ -35233,11 +35249,11 @@ MonoBehaviour: m_Value: 0 m_Options: m_Options: - - m_Text: None + - m_Text: Off m_Image: {fileID: 0} - - m_Text: Upper + - m_Text: Body (IOBT) m_Image: {fileID: 0} - - m_Text: Full + - m_Text: Motion (PICO only) m_Image: {fileID: 0} m_OnValueChanged: m_PersistentCalls: diff --git a/Assets/Oculus/OculusProjectConfig.asset b/Assets/Oculus/OculusProjectConfig.asset index bad6c7a..e896ff1 100644 --- a/Assets/Oculus/OculusProjectConfig.asset +++ b/Assets/Oculus/OculusProjectConfig.asset @@ -21,7 +21,7 @@ MonoBehaviour: sharedAnchorSupport: 0 renderModelSupport: 0 trackedKeyboardSupport: 0 - bodyTrackingSupport: 0 + bodyTrackingSupport: 1 faceTrackingSupport: 0 eyeTrackingSupport: 0 virtualKeyboardSupport: 0 diff --git a/Assets/Resources/OculusRuntimeSettings.asset b/Assets/Resources/OculusRuntimeSettings.asset index cae0eeb..b3c88b1 100644 --- a/Assets/Resources/OculusRuntimeSettings.asset +++ b/Assets/Resources/OculusRuntimeSettings.asset @@ -18,5 +18,5 @@ MonoBehaviour: requestsAudioFaceTracking: 1 enableFaceTrackingVisemesOutput: 0 telemetryProjectGuid: 85b2eaab-0842-4d63-b652-5e31f2cdc409 - bodyTrackingFidelity: 1 + bodyTrackingFidelity: 2 bodyTrackingJointSet: 0 diff --git a/Assets/Scripts/Quest/QuestTrackingDataSource.cs b/Assets/Scripts/Quest/QuestTrackingDataSource.cs index 64bbc11..3b68cd7 100644 --- a/Assets/Scripts/Quest/QuestTrackingDataSource.cs +++ b/Assets/Scripts/Quest/QuestTrackingDataSource.cs @@ -121,4 +121,116 @@ public void GetJoints(Handedness handedness, ref Pose[] poses) poses[i] = joints[i].GetPose(); } } + + /// + /// Body tracking (Meta Inside-Out Body Tracking, IOBT) source. + /// + /// Assign in the inspector, or leave null to auto-find at Start. Body tracking requires + /// OVRManager > Quest Features > Body Tracking Support = Supported and + /// Movement Tracking > Body Tracking Fidelity = High (Low is IK-only, not camera-measured). + /// + public OVRBody body; + + /// + /// The tracking space transform, i.e. the origin that IOBT joint coordinates are relative to. + /// + /// Despite the name, OVRCameraRig is not about cameras: it is the root of the whole XR tracking + /// space, and the camera is merely one of its children. Assign OVRCameraRig.trackingSpace here. + /// Only needed for body tracking, which is why the other pose sources above do without it: + /// arm posture is relative to the shoulders and independent of where the operator stands. + /// + public Transform trackingSpace; + + private void Start() + { + // Both are optional in the inspector so existing scenes keep working; fall back to a + // one-time scene scan rather than doing this per frame at the 90 Hz data rate. + if (body == null) + { + body = FindObjectOfType(); + } + + if (trackingSpace == null) + { + var rig = FindObjectOfType(); + trackingSpace = rig != null ? rig.trackingSpace : null; + } + + // Explicit, because both of these otherwise fail silently: body tracking simply produces + // nothing, with no error anywhere in logcat to indicate why. + if (body == null) + { + Debug.LogWarning("[QuestTrackingDataSource] no OVRBody in scene: body tracking will " + + "produce no data. Run BodyTrackingSetup.Configure."); + } + + if (trackingSpace == null) + { + Debug.LogWarning("[QuestTrackingDataSource] no trackingSpace: body joint poses will " + + "be sent without the tracking-space origin, so locomotion cannot be " + + "reconstructed downstream."); + } + } + + /// + /// True when body tracking has produced at least one valid frame. + /// + /// + /// Returns false whenever the headset is off the head, including hung around the neck. + /// + /// What fails is ovrp_GetBodyState4 returning false. Nothing in the managed SDK gates + /// on mount state -- OVRBody has no such reference -- so the decision is behind that + /// DllImport, in the closed-source native plugin or the OS tracking service. It cannot be + /// read, only measured, and the measurement is unambiguous: body data appears and disappears + /// on the same sample where sys.hmt.mounted flips, across repeated don/doff cycles, + /// while the app keeps XR focus, the cameras stay initialised and IOBT inference keeps + /// running on the DSP. This is neither power management nor the proximity sensor setting: + /// proximity_sensor_enabled was already 0 and made no difference, and the property + /// cannot be written without root, so there is nothing to work around here. + /// + /// Controller poses are NOT gated this way, which is why controller teleop survives being + /// hung round the neck and body tracking does not: sampling both against the property showed + /// body flipping in lockstep with it across three don/doff cycles while controller poses kept + /// moving for 40s+ off-head. Controllers carry their own IMU and are tracked optically by the + /// still-running cameras, whereas body has to be inferred from images of the operator, and + /// that inference is withheld -- not skipped -- while unmounted. + /// + /// The stay-awake keep-alive (stay_on_while_plugged_in=7, a plug-type bitmask of + /// AC|USB|wireless) only prevents the display sleeping so the CPU and TCP link survive. It is + /// a different failure: it was fully in effect during the measurements above. + /// + public bool IsBodyTrackingActive() + { + return body != null && body.BodyState != null; + } + + /// + /// Gets the raw body tracking state, or null when unavailable. + /// + /// + /// Joint positions are expressed in tracking space, NOT world space, so they only describe + /// posture. Recovering where the operator stands requires the tracking space pose as well + /// (see ). + /// + public OVRPlugin.BodyState? GetBodyState() + { + return body != null ? body.BodyState : null; + } + + /// + /// Gets the tracking space pose in world coordinates. + /// + /// + /// Required to reconstruct root locomotion (walking around the room): joint coordinates are + /// tracking-space local, so posture alone cannot tell where the operator is. + /// + public Pose GetTrackingSpacePose() + { + if (trackingSpace == null) + { + return Pose.identity; + } + + return new Pose(trackingSpace.position, trackingSpace.rotation); + } } \ No newline at end of file diff --git a/Assets/Scripts/TrackingData.cs b/Assets/Scripts/TrackingData.cs index 0ca85c9..549a44f 100644 --- a/Assets/Scripts/TrackingData.cs +++ b/Assets/Scripts/TrackingData.cs @@ -21,6 +21,7 @@ public class TrackingData private JsonData _motionTrackingJson = new JsonData(); private JsonData _bodyTrackingJson = new JsonData(); + private JsonData _controllerDataJson = new JsonData(); private JsonData _leftControllerJson = new JsonData(); private JsonData _rightControllerJson = new JsonData(); @@ -45,6 +46,31 @@ public QuestTrackingDataSource questTrackingDataSource } } + /// + /// The scene's tracking data source, for callers that hold no TrackingData instance. + /// + /// + /// The UI needs the same body state that gets published, to show calibration progress. + /// TrackingData is instantiated by TcpHandler and not otherwise reachable, so rather than + /// have the UI run its own FindObjectOfType this exposes the one cached lookup. There is + /// only ever one source in the scene, so caching statically is safe. + /// + public static QuestTrackingDataSource SharedQuestTrackingDataSource + { + get + { + if (_sharedQuestTrackingDataSource == null) + { + _sharedQuestTrackingDataSource = + GameObject.FindObjectOfType(); + } + + return _sharedQuestTrackingDataSource; + } + } + + private static QuestTrackingDataSource _sharedQuestTrackingDataSource; + /// /// Sets whether head tracking is enabled /// @@ -138,8 +164,22 @@ public void Get(ref JsonData totalData) totalData.Remove("Hand"); } - // Remove PICO-specific tracking features for now - // Body and Motion tracking would need to be implemented with OpenXR equivalents + // Body tracking on Quest uses Meta IOBT, whose skeleton is not interchangeable with + // PICO's 24-joint layout, so it is published under its own "BodyMeta" key rather + // than PICO's "Body". See Docs/BodyMeta.md for the rationale and the format. + if (TrackingTypeValue == TrackingType.Body) + { + GetBodyMetaJsonData(); + totalData["BodyMeta"] = _bodyTrackingJson; + } + else + { + if (totalData.ContainsKey("BodyMeta")) + totalData.Remove("BodyMeta"); + } + + // PICO-only features with no OpenXR equivalent on Quest. + // "Body" is PICO's 24-joint key; Quest publishes "BodyMeta" instead (above). if (totalData.ContainsKey("Body")) totalData.Remove("Body"); if (totalData.ContainsKey("Motion")) @@ -308,6 +348,105 @@ private void GetHandJsonData() _handData["rightHand"] = _rightHandData; } + /// + /// Builds the BodyMeta JSON payload from Meta IOBT body tracking. + /// + /// + /// Every tracked joint is forwarded losslessly, tagged with its raw OVRPlugin.BoneId. + /// Sending the id rather than relying on array order makes the payload self-describing: + /// consumers resolve semantics against OVRPlugin.cs instead of guessing an index mapping. + /// This matters because the UpperBody and FullBody skeletons use different id layouts + /// (e.g. Body_LeftHandWrist = Body_Start+19 while Body_RightHandWrist = Body_Start+45), + /// so "jointSet" must be read before interpreting any id. + /// + /// Velocity/acceleration are absent by design: Meta's BodyJointLocation carries only + /// LocationFlags and Pose, unlike PICO's IMU trackers. Differentiate downstream if needed. + /// + private void GetBodyMetaJsonData() + { + var state = questTrackingDataSource.GetBodyState(); + var isActive = state != null && state.Value.JointLocations != null; + + _bodyTrackingJson["isActive"] = isActive ? 1U : 0U; + + // The tracking space pose is what makes root locomotion recoverable: joint coordinates + // are tracking-space local, so posture alone cannot say where the operator stands. + var trackingSpacePose = questTrackingDataSource.GetTrackingSpacePose(); + var tsPosition = trackingSpacePose.position; + var tsRotation = trackingSpacePose.rotation; + ConvertHandedness(ref tsPosition, ref tsRotation); + _bodyTrackingJson["trackingSpace"] = GetPoseStr(tsPosition, tsRotation); + + // JsonData objects are reused across frames rather than reallocated, matching the + // PICO client. At the 90 Hz send rate a fresh object per joint would mean ~70 + // allocations every frame, which is avoidable GC churn on a mobile SoC. + JsonData jointsJson; + if (_bodyTrackingJson.ContainsKey("joints")) + { + jointsJson = _bodyTrackingJson["joints"]; + } + else + { + jointsJson = new JsonData(); + jointsJson.SetJsonType(JsonType.Array); + _bodyTrackingJson["joints"] = jointsJson; + } + + if (!isActive) + { + _bodyTrackingJson["count"] = 0; + return; + } + + var bodyState = state.Value; + var joints = bodyState.JointLocations; + + // Data-quality metadata, passed through for the consumer to interpret rather than + // acted on here. Joints are published regardless of calib, matching Unity-Movement's + // sample scene, which drives its avatar throughout Calibrating with no visible difference + // once Valid arrives. Calibration lives in the runtime: it cannot be disabled or + // pre-seeded, and it restarts on every re-don, so gating on it would stall the stream + // for 30-60s each time for no gain. Calibrating means the runtime is still adjusting + // skeleton scale, not that there is no data. + _bodyTrackingJson["jointSet"] = bodyState.JointSet.ToString(); + _bodyTrackingJson["fidelity"] = bodyState.Fidelity.ToString(); + _bodyTrackingJson["calib"] = bodyState.CalibrationStatus.ToString(); + _bodyTrackingJson["confidence"] = bodyState.Confidence; + _bodyTrackingJson["count"] = joints.Length; + + for (var i = 0; i < joints.Length; i++) + { + var joint = joints[i]; + + // Two distinct conversions in sequence, not a redundant double flip: + // FromFlippedZ* : OVRPlugin (OpenXR, right-handed) -> Unity (left-handed) + // ConvertHandedness : Unity -> the wire convention shared with the PICO client + // The hand path only needs the second one because Oculus.Interaction hands its + // Pose over already converted; raw BodyState joints are pre-conversion. + var position = joint.Pose.Position.FromFlippedZVector3f(); + var rotation = joint.Pose.Orientation.FromFlippedZQuatf(); + + ConvertHandedness(ref position, ref rotation); + + JsonData jointJson; + if (i < jointsJson.Count) + { + jointJson = jointsJson[i]; + } + else + { + jointJson = new JsonData(); + jointsJson.Add(jointJson); + } + + jointJson["id"] = i; + jointJson["p"] = GetPoseStr(position, rotation); + // Occluded joints keep stale values, so validity must travel with the data + jointJson["v"] = joint.PositionValid ? 1U : 0U; + jointJson["vr"] = joint.OrientationValid ? 1U : 0U; + } + } + /// /// Gets hand tracking data for a specific hand using OVR hand tracking system /// diff --git a/Assets/Scripts/UI/LogWindow.cs b/Assets/Scripts/UI/LogWindow.cs index 9c78ebc..c30507f 100644 --- a/Assets/Scripts/UI/LogWindow.cs +++ b/Assets/Scripts/UI/LogWindow.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; @@ -13,11 +14,44 @@ public class LogWindow : MonoBehaviour public RectTransform rectTransform; + /// + /// Messages logged from non-main threads, drained in Update. + /// + /// + /// The socket callbacks (BeginConnect/BeginReceive) run on thread pool threads and log from + /// there. Touching Unity APIs off the main thread throws, and in ConnectCallback that throw is + /// swallowed by the surrounding catch, which then sets state to CONNECT_ERROR -- reporting a + /// failure for a connection that had in fact been established. + /// + private static readonly Queue PendingMessages = new Queue(); + + private const int MaxPendingMessages = 256; + private void Awake() { _instance = this; } + private void Update() + { + // Kept short: the lock is contended by socket threads on every log line. + while (true) + { + string message; + lock (PendingMessages) + { + if (PendingMessages.Count == 0) + { + return; + } + + message = PendingMessages.Dequeue(); + } + + AppendText(message); + } + } + private IEnumerator AutoScrollCoroutine() { LayoutRebuilder.ForceRebuildLayoutImmediate(scrollRect.content as RectTransform); @@ -57,13 +91,19 @@ public void AppendText(string message) private static void Message(string message) { - if (_instance != null) - { - _instance.AppendText(message); - } - else + // Callers include socket threads, so nothing here may touch Unity APIs directly: even + // reading _instance's implicit bool operator (the != null null-check on a MonoBehaviour) + // is a main-thread call. Queue unconditionally and let Update resolve the instance. + lock (PendingMessages) { - _instance = FindObjectOfType(); + // Bounded because Update only drains while a LogWindow instance is alive; without a + // cap, logging from socket threads before/after that would grow without limit. + if (PendingMessages.Count >= MaxPendingMessages) + { + PendingMessages.Dequeue(); + } + + PendingMessages.Enqueue(message); } } diff --git a/Assets/Scripts/UI/UIOperate.cs b/Assets/Scripts/UI/UIOperate.cs index 2d8aeb3..3bdffb3 100644 --- a/Assets/Scripts/UI/UIOperate.cs +++ b/Assets/Scripts/UI/UIOperate.cs @@ -51,16 +51,18 @@ private void Awake() #endif // ReconnectBtn.gameObject.SetActive(false); - // bodyModeDrop.onValueChanged.AddListener(OnBodyModeDrop); + bodyModeDrop.onValueChanged.AddListener(OnBodyModeDrop); HeadTog.onValueChanged.AddListener(OnHeadTog); ControllerTog.onValueChanged.AddListener(OnControllerTog); HandTrackingTog.onValueChanged.AddListener(OnHandTrackingTog); SendTog.onValueChanged.AddListener(OnSendTog); Version.text = "v: " + Application.version; - // HighAccuracy.gameObject.SetActive(bodyModeDrop.value > 0); + // Meta IOBT has no separate high-accuracy runtime switch: fidelity is a project setting + // (OVRRuntimeSettings.BodyTrackingFidelity), not a per-session call like PICO's + // StartBodyTracking(mode). The toggle stays hidden so it cannot imply an inactive control. + HighAccuracy.gameObject.SetActive(false); NetshareTog.onValueChanged.AddListener(OnNetShareTog); - // HighAccuracy.onValueChanged.AddListener(OnHighAccuracy); ReconnectBtn.onClick.AddListener(OnReconnectBtn); //The shared network function is only available on B-end devices. NetshareTog.gameObject.SetActive(false); @@ -194,48 +196,20 @@ public void OnWriteIpBtn() private void OnBodyModeDrop(int index) { - // TODO - - // TrackingData.TrackingType tType = (TrackingData.TrackingType)bodyModeDrop.value; - // int res = 0; - // bool support = false; + TrackingData.TrackingType tType = (TrackingData.TrackingType)bodyModeDrop.value; - // TODO: body tracking in Quest - // MotionTrackerMode trackingMode = PXR_MotionTracking.GetMotionTrackerMode(); - // if (tType == TrackingData.TrackingType.Body) - // { - // if (trackingMode != MotionTrackerMode.BodyTracking) - // { - // res = PXR_MotionTracking.CheckMotionTrackerModeAndNumber(MotionTrackerMode.BodyTracking, - // MotionTrackerNum.TWO); - // } - // - // PXR_MotionTracking.GetBodyTrackingSupported(ref support); - // } - // else if (tType == TrackingData.TrackingType.Motion) - // { - // if (trackingMode != MotionTrackerMode.MotionTracking) - // { - // res = PXR_MotionTracking.CheckMotionTrackerModeAndNumber(MotionTrackerMode.MotionTracking, - // MotionTrackerNum.ONE); - // } - // - // support = true; - // } + // Quest counterpart of PICO's tracker mode/number check. There is nothing to calibrate or + // pair here (IOBT runs off the headset cameras), so the only precondition is that the + // runtime reports support. Reject up front rather than letting the dropdown sit on a mode + // that will never produce data. + if (tType == TrackingData.TrackingType.Body && !OVRPlugin.bodyTrackingSupported) + { + bodyModeDrop.SetValueWithoutNotify(0); + RefreshBodyInfo(); + return; + } - // if (!support || res != 0) - // { - // BodyInfo.text = "Tracker exception, please connect to calibrate tracker!"; - // BodyInfo.color = Color.red; - // - // bodyModeDrop.SetValueWithoutNotify(0); - // return; - // } - // - // BodyInfo.color = Color.white; - // BodyInfo.text = "Tracker detection is normal!"; - // - // UpdateBodyTracking(); + UpdateBodyTracking(); } @@ -347,55 +321,109 @@ private void OnSendTog(bool on) } } - private void OnHighAccuracy(bool on) - { - UpdateBodyTracking(); - } private void UpdateBodyTracking() { TrackingData.TrackingType tType = (TrackingData.TrackingType)bodyModeDrop.value; - HighAccuracy.gameObject.SetActive(bodyModeDrop.value > 0); Debug.Log("UpdateBodyTracking " + tType); + + // Quest has no external trackers; IOBT is inferred from the headset cameras alone. TrackNum.text = ""; - // TODO: Update for Quest - // // Set bone length - // BodyTrackingBoneLength boneLength = new BodyTrackingBoneLength(); - // if (bodyModeDrop.value <= 0) - // { - // int ret = PXR_MotionTracking.StopBodyTracking(); - // BodyInfo.text = "BodyTracking close"; - // } - // else - // { - // MotionTrackerConnectState state = new MotionTrackerConnectState(); - // PXR_MotionTracking.GetMotionTrackerConnectStateWithSN(ref state); - // // PXR_MotionTracking.GetMotionTrackerConnectStateWithSN(ref state); - // TrackNum.text = "TrackerNum:" + state.trackerSum; - // - // if (tType == TrackingData.TrackingType.Body) - // { - // BodyTrackingMode mode = BodyTrackingMode.BTM_FULL_BODY_LOW; - // if (HighAccuracy.isOn) - // { - // mode = BodyTrackingMode.BTM_FULL_BODY_HIGH; - // } - // - // // Enable full body motion capture default mode - // int ret = PXR_MotionTracking.StartBodyTracking(mode, boneLength); - // BodyInfo.text = "Start BodyTracking " + ret; - // Debug.Log(" UpdateBodyTracking :" + ret + " trackerSum:" + state.trackerSum); - // } - // else if (tType == TrackingData.TrackingType.Motion) - // { - // BodyInfo.text = "Start MotionTracking"; - // } - // } + + if (tType == TrackingData.TrackingType.Motion) + { + // PICO's motion-tracker mode has no Quest counterpart; reject rather than silently + // publish nothing, otherwise the dropdown looks functional but sends no data. + bodyModeDrop.SetValueWithoutNotify(0); + tType = TrackingData.TrackingType.None; + _rejectedMotionUntil = Time.time + 3f; + } TrackingData.SetTrackingType(tType); + RefreshBodyInfo(); + } + + /// + /// Until when the "PICO-only" rejection notice stays on screen, as Time.time. + /// + /// + /// RefreshBodyInfo runs every frame and would otherwise overwrite the notice before it could + /// be read: the dropdown is snapped back to Off, so the very next frame reports "closed". + /// + private float _rejectedMotionUntil; + + /// + /// Writes the live body tracking status line. + /// + /// + /// Called every frame rather than only on dropdown change. Calibration is the reason: it + /// starts out Calibrating and reaches Valid tens of seconds later, and joint scale is not + /// trustworthy until it does. A status line written once at selection time can never show + /// that transition, so the operator has no way to tell when the data became usable -- which + /// is exactly the question they have while standing there wearing the headset. + /// + private void RefreshBodyInfo() + { + if (Time.time < _rejectedMotionUntil) + { + BodyInfo.color = Color.red; + BodyInfo.text = "Motion tracker mode is PICO-only"; + return; + } + + if (TrackingData.TrackingTypeValue != TrackingData.TrackingType.Body) + { + BodyInfo.color = Color.white; + BodyInfo.text = "Body tracking off"; + return; + } + + // Meta needs no Start/Stop call: OVRBody requests the tracking session on enable and the + // runtime keeps delivering BodyState. Selecting Body is purely a publish decision, so the + // status line reports whether the runtime can actually serve us. + if (!OVRPlugin.bodyTrackingSupported) + { + BodyInfo.color = Color.red; + BodyInfo.text = "Body tracking unsupported on this device"; + return; + } + + if (!OVRPlugin.bodyTrackingEnabled) + { + // The system-level toggle is the usual culprit and cannot be changed from here. + BodyInfo.color = Color.red; + BodyInfo.text = "Enable Settings > Movement Tracking > Body Tracking"; + return; + } + + var source = TrackingData.SharedQuestTrackingDataSource; + var state = source != null ? source.GetBodyState() : null; + if (state == null || state.Value.JointLocations == null) + { + // Normal whenever the headset is off the head, neck included: the system's mount + // detection gates body tracking, so hanging it round the neck stops the data even + // though controller teleop keeps working. See IsBodyTrackingActive for the evidence. + BodyInfo.color = Color.yellow; + BodyInfo.text = "No body data - put the headset on"; + return; + } + + var body = state.Value; + // Green once calibration reads Valid, but this is a readout and not a gate: joints are + // published throughout, the same way Unity-Movement's sample scene consumes them. Calibration + // runs inside the runtime with no way to switch it off, so waiting for green is optional -- + // it only means the runtime has stopped adjusting the skeleton's scale. + var calibrated = body.CalibrationStatus == OVRPlugin.BodyTrackingCalibrationState.Valid; + BodyInfo.color = calibrated ? Color.green : Color.yellow; + // Fidelity is omitted: it is fixed at build time (OVRRuntimeSettings), so showing it every + // frame spends width on a constant. Calibration and confidence are the two that move. + BodyInfo.text = $"Joints: {body.JointLocations.Length} " + + $"Calibration: {body.CalibrationStatus} " + + $"Confidence: {body.Confidence:F2}"; } private float _lastTime = 0; + private float _lastBodyInfoRefresh = 0; // Update is called once per frame void Update() @@ -409,6 +437,14 @@ void Update() } } + // Throttled: calibration state changes over tens of seconds, so rewriting the string at + // the 90 Hz frame rate would only cost a Text layout rebuild per frame for no gain. + if (Time.time - _lastBodyInfoRefresh > 0.2f) + { + _lastBodyInfoRefresh = Time.time; + RefreshBodyInfo(); + } + if (AcontrolerTog != null && AcontrolerTog.isOn) { // Use Input Actions only diff --git a/Docs/BodyMeta.md b/Docs/BodyMeta.md new file mode 100644 index 0000000..b6b29b7 --- /dev/null +++ b/Docs/BodyMeta.md @@ -0,0 +1,132 @@ +# BodyMeta — Quest body tracking wire format + +Quest body tracking is published under its own top-level key, **`BodyMeta`**, rather than reusing +PICO's `Body`. This document explains why, and specifies the format for anyone writing a consumer. + +## Why a separate key + +| | PICO `Body` | Quest `BodyMeta` | +|---|---|---| +| Source | IMU motion trackers (external hardware) | Meta IOBT — the headset's own cameras | +| Joints | 24, fixed | 70 (`UpperBody`) or 84 (`FullBody`) | +| Per-joint data | pose + velocity + acceleration + per-joint IMU timestamp | pose + two validity flags | +| Calibration | app supplies `BodyTrackingBoneLength` | runs inside the runtime, cannot be pre-seeded | + +The two are not interchangeable. Reusing `Body` would mean either silently truncating 70 joints into +24 slots, or redefining a key that existing PICO consumers already parse — so Quest gets its own key +and old consumers are unaffected. A consumer that sees `BodyMeta` knows it is talking to a Quest and +gets the joint layout from the `jointSet` field rather than assuming one. + +Velocity and acceleration are absent because `OVRPlugin.BodyJointLocation` carries only +`LocationFlags` and `Pose` — there is nothing to report. Differentiate positions downstream if you +need rates. + +## Format + +`BodyMeta` is present only while **Mode = Body (IOBT)** is selected; it is removed from the packet +otherwise. + +```json +{ + "timeStampNs": 1785486843349566208, + "BodyMeta": { + "isActive": 1, + "count": 70, + "jointSet": "UpperBody", + "fidelity": "High", + "calib": "Valid", + "confidence": 1.0, + "trackingSpace": "0.000,0.000,0.000,0.000,0.000,0.000,1.000", + "joints": [ + { "id": 0, "p": "0.012,0.934,-0.048,0.001,0.707,0.002,0.707", "v": 1, "vr": 1 } + ] + } +} +``` + +| Field | Type | Meaning | +|---|---|---| +| `isActive` | int | `1` when tracking is live. **Check this first** — see below. | +| `count` | int | Number of entries in `joints`. `0` when inactive. | +| `jointSet` | string | `UpperBody` (70) or `FullBody` (84). Selects the consumer's joint-id table. | +| `fidelity` | string | `High` = camera-measured IOBT; `Low` = IK-only inference. | +| `calib` | string | `Valid` / `Calibrating` / `Invalid`. Informational, not a gate — see below. | +| `confidence` | float | Runtime's overall confidence, `0.0`–`1.0`. | +| `trackingSpace` | string | Tracking space's own pose in the world frame, same 7-component format as `p`. | +| `joints[].id` | int | Index into the joint set. | +| `joints[].p` | string | `x,y,z,qx,qy,qz,qw` — position in metres, rotation as a quaternion. | +| `joints[].v` | int | `PositionValid`. `0` when the joint is occluded. | +| `joints[].vr` | int | `OrientationValid`. Fails independently of `v`. | + +`timeStampNs` is at the **top level**, not inside `BodyMeta`: every source in a frame shares one +timestamp, which is what makes headset pose and body joints alignable. + +Coordinates are in the same left-handed wire convention as the rest of the client's data, so a +consumer needs no Quest-specific transform. Walking is already included — the tracking space is +fixed to the room, so joint positions carry the operator's translation. + +## Two things consumers must know + +**Check `isActive` before reading `joints`.** When the headset leaves the head, tracking stops but +the `joints` array **keeps its last values** — the JSON objects are reused rather than cleared, and +`calib`/`count` go stale too. Nothing in the numbers themselves reveals this, so a consumer that +skips the flag will act on a frozen pose. + +Body tracking requires the headset actually worn; hanging it on the neck stops the data. The gate is +the system's mount detection, not power management: with the headset off, the cameras and IOBT +inference keep running but the runtime stops handing results to applications. Controller poses are +not gated this way, so controller teleop behaves differently here. + +**Do not wait for `calib == "Valid"`.** Joints stream complete from the first frame. Calibration runs +inside the runtime, refining the skeleton's *scale*; `Valid` only means it stopped refining. Measured +on a Quest 3: + +``` + t isActive calib count + 61.5 1 Calibrating 70 <- put on: immediately 70 joints + 73.9 1 Valid 70 <- 12 s later it turns Valid + 78.0 0 Valid 70 <- taken off: stale values, isActive says so +``` + +All 70 joints flowed for 12 s before `Valid` arrived, and Unity-Movement's sample scene likewise +drives its avatar throughout `Calibrating` with no visible change when it settles. Calibration +cannot be disabled or pre-seeded (`BodyTrackingCalibrationInfo` exposes only `BodyHeight`, and +`SuggestBodyTrackingCalibrationOverride` is a suggestion the runtime may ignore) and it restarts on +every re-don, so gating on it would stall the stream for 30–60 s each time for no gain. + +Skeleton proportions come from the runtime's defaults. Retargeting generally consumes angles and +directions, with absolute limb lengths normalised away; if you do need them, subtract joint +positions — measured across 69 bones, 62 varied by under 5 mm, with left/right symmetric to the +hundredth of a centimetre. + +## Joint layout (`UpperBody`, 70 joints) + +| id range | count | contents | +|---|---|---| +| `0 – 7` | 8 | Root, Hips, SpineLower, SpineMiddle, SpineUpper, Chest, Neck, Head | +| `8 – 17` | 10 | per side: Shoulder, Scapula, ArmUpper, ArmLower, HandWristTwist | +| `18 – 43` | 26 | left hand: Palm, Wrist, thumb (4) + 4 fingers (5 each) | +| `44 – 69` | 26 | right hand: same layout | + +Note `id 44` is `RightHandPalm` — the right hand starts at 44, not 45. + +For joint names, use `BodyJointId` from `BodyPrimitives.cs`, **not** +`OVRPlugin.BoneId.ToString()`: `BoneId` overlays several skeletons on the same numeric values, so it +reports hand joint names for body joints. + +Parent indices are only available at runtime via `OVRPlugin.GetSkeleton2()`; there is no static table +in the SDK source. + +## Project settings this depends on + +Body tracking fails **silently** if any of these is wrong — no error, no log, just no data. +`Assets/Editor/BodyTrackingSetup.cs` applies them all and can be re-run at any time +(`Tools > Body Tracking > Configure Project Settings`). + +| Setting | Location | Required value | +|---|---|---| +| `bodyTrackingSupport` | `OculusProjectConfig` | `1` | +| `bodyTrackingFidelity` | `OculusRuntimeSettings` | `2` (High) — `1` silently degrades to IK-only | +| `bodyTrackingJointSet` | `OculusRuntimeSettings` | `0` (UpperBody) | +| `requestBodyTrackingPermissionOnStartup` | `OculusProjectConfig` | `true` — otherwise `com.oculus.permission.BODY_TRACKING` is never requested | +| `OVRBody` component | scene | present — nothing requests a tracking session without it | diff --git a/Docs/ui.png b/Docs/ui.png index e406e454b58cabe5882a12c2aa5e5ed350f4e068..bb35a066a479dc1b4a17c61b7298489d38fc3d36 100644 GIT binary patch literal 112571 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%0Du}NG*#vAhbTo2w3#`M@LL?-x(1L*o=Z z4B!~D!cLHFb0FiKR2a0saU#O%C~XXb_;;cen>vwUF`LtK~?5IIc2kzXt6WXLZtT&I5KKQ}Vd>#Z{c!5TOjn5nw zk{;Oo$*tP;>)AZV!ck{R!(S7pb|N-UUkc-E;OEw-9X4h@T@^h4=E3D>HD}kV690U! zD$QpMy`w(Qkz!pCqGlz+exQgiTvtqEV1Kfqv92BQQCDQs#d|7}qvG~PQhFRQ#8QKM zFHbWEi!&UQDAsnTV`fX6VX;st*6p%atGulMt?psE589?$r)4dk&=$7w#t(_qd`@t% z$dih)cT5{3<_z2mGuD~03wu>Y$}#PZO&gT4_`D;VMLowec|be$6<@2au>n@RKu~CmuHVzziz$(F$7+6 z2u=$4Dlfh%1Vd-}13J;ct_sYzabJNURW~0s8t%H53n>}`A69&Dg$BXI*;wi74ZwEL zD+Bbx)&i#epTBUMvREErV!nH?_#T^-$85e_c4 zMWhR=C$q)0SOIX5tDZhp9(XHtY8DJL=HlgLm&0|6$gvq7zTix8M>ikmA0Z02a+#Lx z%L<5r$J(>3vh(p_V;(%n8ZqXwORXFW9Y#Zbh0MCE!tq*r<6;G{s~$fCV9Tz1+rC`fsI3u=8hfH!_YnLAd?m3h5=WkkPKFkbr1 zOUDWk-}j=)>NO>Qe_5K~X29YHaa=8Y{w~d@dVr7rE&E6}K zwKX*`*2`kowek!fK)#1zxV~Umtb=JjF_dHxXA=KrzgoVbx}9fuEITz{i|`TCoc(f- z^dEN@h^MH_HFvQdk27p3B0W0Hp7x6O!2n0=MTR2x$8BO9xq5|K^TLnjNy>6Ma}2o> z1imy=RXtf^6=rlBfUWOHRUdh~A0qppatl5xPUUkPI)j$}baaz=8UYf=;YON{#?TDr?$nf(TP1DK7TsGX z8NpBoxL|%_b78{XYxbEieZJ63o0y|CqroHPH;?+3wMhRy8#xwEeH^JwyQsj~Z4U3V zE+>y}Byb1hjyXYUMbBV*=#XepWC|C@wZoGKZJp18mkqzOaF@8`bypXcaWwOAkA@PL z`jczviwj!{4?*MM*DWFmKMGVKfCF_xhe4Z3i~=Ct2db&sifR=y)2&_|uv{83ab_gL3II7Og)@*GwQLUEkGJ4QOI@G^6Eze;$pWLH8I$1L8 zNkVOf;+nN09?8Px_p}WNdK@_gk6SKYP4;k?>zY$ID1jBBEEh`DS2H5{zAc`;#cbD7 zkSr__{wj|xzN^eg{j7|Ro`Z1n>C^=Gld)QRl0L8-b}T#U?vUx^_i#)b&}OgI?P6EY z+8;h>7-u`RU#?k?qqUEtXn-~%L@4d9iD4f5?(%!D2IL|G-mrt({zw%rcVl$WVLqek`S8KcpGUei4tVp}j!aF;1>-mlTX%o)t!$W$V zYgN_1MXtilDFb-CCbkN7IXWumej1SGD8DQ6odIQFngrx0`B88E2XscPA= z9LUdCW9^h|cPdmaV(v*2tkmp3qno=~TTFRyP~!ww?i_(n>q579u9$xEF2^_8bH%zv zb=@Wc2BwpPT*`8f_|ga1)jv6;!Pa7;m&@d4|Knk`9#akZ|}ysRq=q(k8p$5<-=1) zM;5Hij2mt&cv`I^>ozmE+}_82YzLD$ctZ{T|9=0NM>;SbRp!;-01KB+#YWMaZDB1PUR6UUPUP6}A@R2b z^%X_~GUh`*aeGt@wiJu3lwC+_ZmrC6shf)0tzO~6`F$ogB8t@GFrHab1euqCR zef2urq-=&o<*LA@FEu541U)*PIg+)f>YQA#fJLqZ!=8T09KFbrlOnl$IOZ6X`{b)D{Y7bt{!rp4}0`(P`f{8(L24&R=>P;$T5_Wu0|R-UFg zo*bR2FAE-L57Lzmkg`2Z9}v~%M6x}#rUgV*=3>?7IC5-d^iC8jJIM{)(e1AZV>21P ztNTzcm!FC$B>GN?-Ys>)+^vBZrR6@}5tbjiDl*l7c^KJi8O?9c$&q*3e)U;v>fvx! zc3}thqmSD@mG%pY{Zp9nws>XAVD91N_xB~@;4mXa_YviL;0;rat@{+N5;?A{En5+8 zi_t)_7^CdEHhkTLBlOED-!j~v#%dd(J4cwS z6PdjyTF#tnklMsgr4#S9d%v85mfVRsjXtSj3WnZx{vWK3egYP<=2o#Uzlqwe3(qvH zdQ`4&%uU9Q(@(1^_*XptIMBDYV^zgrO5CdGM_3O@dRL-2+UoubYVdyF}l>I^ABsd)~%)R^`0&hL32AvBkF?9am{e z-4@P{OrGyJVb*LHv>Y0pY2yB?<${~^ABN2girmewUVnQo`O?*FxBdI`-&mgiPfo(W ze@k2e(p&YtLWI8bP84%8YML*$SgxOP^!Ib1`?qmn*UD$TAMXV2kbeF^OaPice22Ci zqF+=v#rriL788W9| zeo+$G*!?W`QK9g6cF@(|J-eI_zEgL^-2CwbyNupn-v>{jx>Payn4K1MOPu%pdZS`_ ztFtDMgJ9J>e+5)aQ1G zgIjX;wA+(k%V|fg6?*@DOKebZ|DbyEWY-(UR}1{3;MQEbR@*z%-1|BE;6>eg6jLq~ zUnX|TUx9d_*`;biGm56dKEqgq=E-(e>ys5%3`-~9Nw#gZc=v2v6WdVvnCF5J2wcl3lL^h~f zrCm2ytA%RBa-`EVR{v(S1sOP4$>y!n$Dglw-TB6&Gubob9c48;a)Hqkm6au1>X3W0 z%i{E>pQh2;Iy%4&xb<+s_wEdT0wJC|l zqi@|0U;I9EH`U}}Mw=o}qSXtBfDx1Iyt3A(1hoSK5DRCiXFtUkXzw#+ot)rji+*1+1o5$tSa43}&7q{fzEiL5#tt{CRFE9SSJ0esk4s%1i z-bHU}lzwcrX{vDMzk92Fy2VO~_r0)P0K;~9mrm_kV~?F@3^AKu0Qt1+?3UP9y_mCY zthqz2aNPKr$0rmHU<6n-0mlWjjl9>FGe+!J!mQ9$K}Zndml+lH^+>(&f(=xb!@igIhq0(q5u6o+yEI$n}tQ<+L;^g9@`WrG{ zoZ5hP0qzogl1CL4{Q$QxQ{$1hl+?jU7h)fXe;{VJw48*V24f!S-(592$jU~~$--~_ z6LdtJl2vy<1yJ0ast=Pmf6MYbgMQ~oogOhH^!#3z>(_0%T6YpcoOW(&b1CsI74P$^ zfAHV|xSmy2kfSBojpBv~a0?hb4HL(X9C?aKBM6FM8A5aCqp;{HH~-}eD6&bq`S@0E zj=vASV!H_>9iYs{reo{N!-5rTSLGa(@<`)fpMbv{B?MuBwc_6p)IkawZB z49l6S!YU<)7hq6v^XUqD%tuldqNK+mv^G(@2(FyV+8%}|eS?Q*jGTVdo@8hH`xwGb3}CUWrhOGL zz9U=Fs$7xYbuxbtu0()gkfy-{_-%rQfSKqpyl`Z9nv~O!8IaI+Z=z)sr%u++yE-DJLE9LgOn z(iNzr6f0n8h`})k%(?n#rjtWo+>MW;hXn@bfpBqPn{KN%zONZu1Yih~#b1A*8_<6U zrXf&nr*iel%RE{`v#nR4w{3Sy@>& z?a}2T5r4Tb+J@{N+(uc?**m-hq*Ej74RF_5w<*fUo?F-TEiA|cVXOu8;usVShob=v_%*3g{ zvNf7!g(F9XCMFud(naDcdUa-I*P($1f(Ryr<3xZ{&z*yyd&+I3x;pTqWXK&zi$cS=xH#lh zj~^5*s+^qQ>1vGm#ilSHF|WV+WYqbyuiy3S8{k0Us*f-0T$KwsYcba!xo=r2H!)8k zPffs+g3uzEhx^c6;}($jB3gsC?xi~JCYOe#2Kp;RMyOrJ79s9{q7dSln>VMrK?PTG zs{_OIt_Bs;-riMotubl=0`M)gLeS+MKmG!GyVGD8q5c4)ZU9{yphA&`hJHRaOI>0J z9IQ|Pf`HGyQ_;(O#y33=adME3lo{-1=p3^-;&xj=GZq=?Pm^Wd4cUsnsPa`2X!=ng z`nA2L@B;C=B`Q4pO3nkqUcO?C6zF!Ydb?#2(w*^jobzCeu$F$|5Q52&si`SUmhTp@ z0EWDdGT#P33fKdf7%atv2$X9-@pbw^g2%x`Ip{6G%+ASKR8r#Cdu^ON!9nQQuRr93 z@-xDAuvcNz^!xi8lX8@tm;iXq4`D2BJ`B00O*uHn_j_lM3I(JeDE1#(!D)w-8Ng_A zracxQB$}Z@9e);U55;S3XJmx*4EnYLX7XA6A8s(vQj9Fz#4>b~N!1W2TRk@41m;-wAX>k8ZHy}5Q@52?q;w% z>kMMAT=7Yr@kK9b<;&XB9HE!i75b`}OPoA;lIQAd z7M8hMwd!+P)?M%Qz>{QT#_4Iy8r*xA1oXa17ycHwFVybi)UNQP#AZlB`;xmD)M*ZYHW z&PY+e*^Jh;K9GmS#dRPzG;R+dewmx|oeJHB$qM3e&qB5Ra676nw0oD(EB^&F@cwWl zmP5tXZNGZRf4%F~E8U_ubc`8fH`v*;z$7b2j>A<2@tx5l(;t-?f1UAtC42(mzq_hs zN3`2FA0=B8xbznm7sJN>V*h&j_%SZ3fs_HNtEh^wiJTGk`u0)N*~W78#GvGTo)N1o zA>q3k9TiaNxzBNmZRKhQ&$HfLN+J|L##8DYg0^kHkWk|n z1ydvrG z47~`>+cMw z0=5R!L}1;4s{FpnH3PBVNl7?Q<~*-rXfLUAnQI>bgKo<`fWyKqrR?D0F)*`=S^;we zY~SF?!Au`yj)5k!+v>+p3rT_`*yX{0cdhi_??d6)hzo^41*HqBBla+Oc> z8cIuJre$K^1nDl}|@#hIB|Zrx7^$`&e<3-QY8v}L9W%oeJ8XKrNFR#BYihz(hnL0e-e zne*mt_8SdlG*T%&@_?HH)+@lgP7Yvz0t|)qDmM;c0MxO=h8(vXq<+R+SQzxUshpni zX7J4V84PoByX_?yker4iUZe{@rOe^lu@Xl})MY!?c_l51nQmKslTT0q(g7hw z!iwtYK`sq`OeoqhzQsO?dG5_-y)$Q8Dqx02NbW9zPJ-RpQVTc{A%EL)>5fpi=`#<( zf{>IWf7pT#bXI9&72DDN6q@LMyAdHMO>s)|P8o&bWr8lSaX5=$Qp?S?0~|Xi2XNHN zQL>Zm+&Ot!Sup>tE^bx9(5warAjq2VFP#ylZjV&uH!3nDwW{(XL-H41XYB;Ln0AA6 z=jab_Z&S+>&;(1|4280d4cK_epl!3UH6}0*>_kf+W|!U>q`RQPsxo~PD*(nOUJ(pq zy$cJG`*p~?MlxQ@F&RjQ16>}%@iiYqb9`TX1XC1WIAB~iphUtRd;EY#ELDD$=iC4q z(I|2;jZko5Xs#v$B?L5+)6zmkPDivdN2%j%2L#})6j3~>(-vg{FLBcMIg)xUEulNl z&gNIsYrKq=l_f`fYG`t0W%0V|ak>!YtmtUQHH*o!LAnJ`j>?GBOfG!Tsk*N4cbjQa&z_+3qi(>EH=;$*@WAWNIOf-P^kGQq;8Q0`ci^=@S z-9&MdodoGo8H58N5NEm>N$t)KTt=`@W8XaL@evA94Wz!H z=9*Z#S;zzk|9c7i{Sckd0Nm=b)ZtU`3;&r?z0JYW==#vLI@wER0PrTiz zHF(>RTxcFaB8$uxTk*7`*N(78*cr-)N%Uf`& z>Or~P!fL8Vf`GNJkL=;dP~1%yYH{Po8?Zl)B7uz@&HD?OC(Oh3NuPdP#Z5J~Q$XO{ z(b9= zM97*53^+F8NdlT5e7TnhjYC@_`Kqf?ilhHXQoG%14O2^koz5U65ox+`4b|9gd1;MH zkNYA$JsMYeNu35uR=SpLIib>%8myRejuO~LQEiE2~^-~!|{Zo0$Tf{ zdL;M5TfcvPMJ@6I@aK%{-!zT)D*v2Bd35q-bKqv3o;NRX3+L+B%HD4ZJanOM+VcO= zsmW1#Fer<#A`A$IA`%_$!tPwsP_K%M$7Y6W81)?7)?|hu7lkOHU}Ji9oiZ>0T}wlj*R+qb@jw9Fzj>=cdvCM5nF9Asy4ybE z?e;XUU|I+|M4_mGh2i9&eQDb%#gOv=&NPQkGe~RbM5^Zy_zHfZ4~?GL-o1Mrl5x_8 zXE)B{a}o)Sqd_(ZjJXW81?8;eccF0fOoEmuXM&a3c0Vo@&zqhQ4BGO}M?uw?J21IL zFeWmp-%U}t`nhoe3)KsRh1Z7TrfNQXL-D)}*HdE=6RB;krl~K^(IkCX8zKk9!z>>A zVCnjdJS4uz0^*aWZ|i1!Klozyig-frOS)FU-@!`NMK@^5%+&qUwI_0&&sZ)_W6uLII)NaO6*hKbnF*4d+;yu7T zPJ6TFy($weV+WCvmcwq->&1@9t)Zu6=6RP-5l^jYFY{iI1*bd2T_Nl3aU-$7m9<&X zcUodb!9!j*(7pnz`it&|%~voR7#fa{8ed$!(@4p2lBCu!aUOor)2Fw*xJ^9g1~1Nk zwDqk==|7*FR}-fs76TT)Lm5&*pNIvI#z%IK7iB^uoTLvHahxzZB`$tqCjsp#C3-?# z%PRHNB4O9I0Z9|rwg&Md$Lc=zi>_-8xuc&e*z3kud2Z+$tA`i8?7MXvsei$r&$l*h z`?yGvP?ntc%uEz*2YBFj%A;0WV;->vYTt5MCi=2m8sw>bR8P8r6vqq^l4QUq0C0Fa zI+~=F3;zk~V6;$%=W$^)f4p+zjwDqZ_ksKCIUziOw&J%R$up3e#ni3njwwBKTow%A z#KQGpy(^+cIVF0QMp{crWVuJ$w#Fp$uEj?iHT&^Uh8ciD( z+w9O#`@zA>C@K-B;!{5k zBmzQ~CN>6KsVJwOoSnV$m>u}%GyQZb%0Qv5lv6bKOXj~?-4dOc9Jz0B$MD+=W4E_! zx^)>|&7AtS3w;xh6Ogl+J2;1&8h_*yD-lAQr$FQf=@>BsuwykfHIW0EkqvJR?JM_( z7{%WOowh+P1%XPIIPb{!dgJYct^B_Z1}fd72weX8o54kcuOakYacJG@r3!!PN-gG1 z5ko^5XwZ(kNn}=AxxFu)d>G&3{KxZe+8;p$MP+4fkP7xH{wXe*M_oaY-$V{n_!xJp zu+UUbZ-q>wN5Yqh-7{LMCY`XoDoWKS8@G!rPCjxnlc%SoaZUcxlz}rVE+Zp`h$2=I z2YHXZL`n}sGeQ9y=dkPcNp5e=+M%4J{TUg5!(L+xS8%c5QSe!IIS_lCmzY5j=;kCz z(e93(0e(UDSKTqW`?g3|5HA!o_?5D=Hb7eSj3Jh5sOVkd`P*@3nFTcM?r^i(S0+tY zW4rO${oA{vf)fZB@2$rPFTTLsUN9MIrq*fH`Bfr%+(F$IK+>shH6szx4lq!$&9$ zw;^N$>NW&ZqKYXhEL_yEQ__2l3oX93D`>?V*G?F>Z{a>=bJ=)Fa|`PvJi3|^j|WawJa!PYd-Bm|nrb)sTC zFx*x1HcKU}I|6)W?Y)%)lDrubh^=I%Jx;{CjiR)rC8X6F!7%vh#NMJ&-FL+bL3fBK zLhCCbAv!7wdxfDPpe(nW1C%hTQmWRh*ixMM<|6VuxML>no~8S^Z)$R)+R@|7;%Swj)X=`HmHhvS2xgX8-D)t z2{}0$eNCh$fAWBj17Lf1v`uGw!u3_Thy?En@ytGdr=Z$LfrkRi?&l6r*3&OHlRG|S z6;zvjY};0QarVCLT1e*5GoG6BV^(ngZ`6~~Cg$X9dZ~j+j zY1$aOM7q8yWa#EYQmOEbp&6)v4)X_&xMCxmYO`lzW4rP!W-b%|Hh-bz4}uLWid5Tp zxViV5-=__cH)Efzi6*k#R?YlAmwidMol@D0C7I1 zoIx%0-FDSe`z(*7fD5tN`)~ai8iA8q_w0PFt*wzU@sekXIsD@ve&V9GUFN)8_MN=B z$!1*XZ`lg&AXG7q?5H-JYAk!y=+32#6oLYHf$X=Y&rlx^Xge$L3a{8;JcTkznG`Cy z(6II19jgO@K8%ErlM{{A>XA{k}IDwb&_9D zTK&c~1!bA3M_0cqC9>61qB>&|lWjEGlf+I4k$-z(+5VELG3&Czso#b8G;}(HFsw>O z*^QoiBIkdy`IIg8)cijTL`ZiEg?m@gf}HaV>b;||fj#^uyAm~eii^MgsObsVwG*hC z9_i8C`n{BzivnHfp1rme|M{(fZaar&*DgSdZrgibUwY8wYUC2M`Hv>_wHW?B*1zlAh=j9;`Ltqf zQ(1S6n(@AW#JE*WPbNCf4p&N~n?$sFgdWRslq0K00k@(09Uv6^&X^^;>RYYo@+GWd zY+gu5bw1({uFm`Z$q>aAv{E8Px-jn{J2ji9lw9*ZosTsZ!QAO5*hv3v-mI0K#;P&W zUtgHH7?)3cUbtdoed?h|*Yeh`iZ#WK8i~wJ1<8CXlZ4070`Jug-Wl2*Y!YxlzfE)( zf4?$SHiIYdftF%xYtu2M=c*VF@@~THacpfe7`7zRtCQ^>o z5v7Am<_imlUcc_B&>sAr{bW~_1-p_}i+BCJIf@$JF6k3F{b$eLK!T(@RWsOh1S$a93papPs>+crp*ki8j=2HaYNblU~19haZk#;@p~MUA?Clont+d*#bBK9_f4ta4iQWmHPQ0f@iMxRtrnVu}dB&kO;Dn_8$cRLtaAQ_T zu%IZ!ouIU)CV5&$XAoW137_dGayuecAnTa-x8@`bKxYQ?Vs3o3;f~pdVCmJA31?T= zf5=L&bDdB$Noe@-$TdyQi;nO0+qb{_WBl$-S7QtcUBMA)>EO#adVY^y$ha{bCGEBs zH={p47ceUQQ)h9gSqz^A!+s>AfM<}Ll(Y_&22|<3=?&%=?a^1EoO)%c_i=AQVYm*j z&R~)@&HSMRJN7V&W5)c`bNf}RJ~I}-0BE^b4;@EFJ;duDQ|GdsuB->3eJtfD4T3ZKM z-G>Z>+=QHzUBmK!Gd6}u=|AKEIn2I++QXDs&Tpf7aIPidhpqTCj9PIA1EK)0=e~5G z4^M_IF3WIb3-PPSP&yDaV<%ZsddNFE@ET`gAKc`=>HviVS39y*J-xg%W6>m7ZrsY$ z7}f+$z86jdga@7S`xb|m!myW&c;Ns4XdU{rv-&BA+gP9pB+e(o6#OkNgDji~*ZD?H zBfAFWYM2$0UPt=-VfUe-p&?HQ@dp!v%Fq)9Ee&8O3><0JX8Us*{{3CTJ9O$)OxLHY zfJ__;=eKp9cG#k(_tbS_6Xfqkm;!V9$v+L2_LbV*`P^*MyE8A)v`B#3FqPP_AxI^O z^x*6GNoq=9MMSIJBmvMi$kv6zFS@$={~W#0W4{XQ+nCG0l!kRqf+z1dWs~(**NE5= zW6CKx9>HveaZw7iuchSVzFeuDVu|Z~-QVvH6axzNVvG9U=1W(1Q4xIFXJRrbPU}Jf)0&}CTgjA9?8U(kX3kg*wm#7eFV1QPkzcXq=`lsag zA3q)zUaTDLOOfK_{Yx=!fE4Hxvr9{eMsaC{?6G;u4RKfGA_L#{%SqwatZc8e_XZQ2 zYMHWya6j_8&??VSI`#@6k%g$mv#Su)e8&OvuD0A@+6Yz z`i}1OGcsgJ?g*6N@uzAQ^J|#6_~fngQ$SJ%F?wf%W zAA0=xxZA%FbS~^)?oFhYnP*BosBb6*{SEx`H6?hA{_BbU?A+WqUr4PGVVHGp@x#XH zCK=PdM>BTJ1)3KGwUOIxJCu>2eFLw0sF6&_0tc^oXeKgmY)w^>ON(xwZuq<43N=v}(G*?(e8nI8NA?CNQya6|hHn3G z`H0bhCie)4OTx1uTJ!j%71v2(pn+8fck(pdeR?$iJ#58b=Nkc+Nm(2R*vy@sqV7^G z`zP2T*A)vF&9BbR^_%`{HvNxiTbUhEi0Lii}AjLo!e2e(n7`*E!eu=lJ7$?b=za z^}g@(d7k^Z2iU;kd0QPZTm9z6txd(cY4gO@zArQ~Y!%cRlDJQytANNBEU197OKBrx zV;}+&Ot33E)^4OpE`foAJpNStFLc<=KLnD4MGrSPk|sKF8hjp_+RFql9naO}S%j(M z;_8p_$v?9Us{(D6UQ^0_KY(!^#)S?8mve)n$fez+S_qR?7tB_39zI;Bv2Jd81x}P8No#3oL7)^oG+$U)cucr<%2$GO2>={E zQyj+=@&G_n3z_E-F518N7(5907npctiR+nbrCfebp` zZm@GF>b2GR^E-vrQ)Msx#CgD~{1|wy5R*(S4=3jwC}@D$q4KZc6C%}O+lCNv1g8&9 zdf6sz<>o%<{r5+N;*v!u*;lAcZawZM=aSvD5>xW681)M?GHB)JuPX#*Fstgwg9-VV zu4%dM;X1EW=viU4TQkW>Zi6w93*5>KYv8|95v=I9@Q<(&OCKqBBzz3_iGB24_-9Aj z5h&UOoQ;wI>JS#dWT7?E3k-FS>{d<6{XP=Zd>cyY|Y~&M7y9a?0fr)-~K{knth&j2=HN=b!vu3eYkD zLo~HH*a5S=Qj}!c%tU|ku8a#zJJoMYXwj7&B`zi^>c;mBwrBMN=TFbD9|#YMxd!kj zZFN5F{RwKp2jF04qw~}d-)uyj<7Fgbwpg$U9LY17Gr4`Tn;ke-~lS<9)XFFaCp! zu06#TaiX+E#aaSg6AY1a>6otdl{~;ol}k7t-Va4kZG73Z0`0(4)zb&)YCCrlZJUK) z*X1;&(;X_3VXP$S6LW1+V#B~iNhJ}Ia4w}dl0tcy9T(Nxgg@WL)ntBy<&?gDvFLK# z^u{3Px-?0!)9Gq!%i^cjHPQU#1Dcp4iBCd@O%i@Z7KOWMZx|A0Ep`|;jv$DO6?UmpSq^@?O^-mqbtRJcU}<=CS( zP)*|OL3Mt0nM4W(vh&3d>VP5#!+ z0;NPUGCYhobU-HgU4sPE6+PFfwX2$EeK6eamIY_1w)|EzoH7uzgPOu|w!$c35X*UJ zD`ex2-9E9S;@I{&pCjND>bD<4MESR;>aba|rwP?wa~^2|@lZC_c**ADV-@gp;p#VD zwdxP=+LE@xmL9KUz;=j9U$c~YH6=f6sJ8aL)Y7OuPQ#i3_Q?}%X)FKsyX6wRZdBsR zmFaw-j^MpW?&^8$#Gv*U9=*S_^>gz2NO;7&fM}z0TOT{XUUoX9?VQm86aaLKzCYrQ z=Jg3+``=mNJtYkjKy8s%F1%%7xRxpTOpc$<@bWYGV+3NW$6kQ|Ftf8Q#m8tAH*|f+ z3_gyjrxGo=*ntgn&6)#7-|zBy4kWrenDI6}LskrJ&gopJot?aS2UKf1>6E-cSq6xA zjb9O%!4_4cxiGW8#g6x+ZCCEwCgJo(&q1_o!s@_9wpj%6GbVlp?ZI=rn}9om1;}B5 z=^dS{so1#%>Dsu?zTrZ7k>&)XgOH^Gso6w9*i zPoJdLoI>HVgy|4^g*=N()Gv7RmJDRRvgA;cS|W~@X1g7YOt&&ZgbfTWIeB^SCMSpN zwlsQ<=?b>z$SEh2CgiU%^tm!r{a9c3u3^d-&iSf30E+i7$maF5yS*FZLIF7(RBE;R=q)9HXA6yE}Mv zx7G5`Urif)Rr&1e)SL!D1yHkLUPkL3&)bMDOaaFOgl5v2b7p_#i|;bBslu7`Efz4I zo>;Zl9NfA*-x55zOlgK43x?uxP#XYCVKV|ZZ8RKe7aW#?i)Jq8J=v6J&MXLfA2!$s zycjh|u6>mK`*(W|c+iU=v=j9_O9Q zcBT&DmIk|9rUmMZ3v-0mFo=KJi_`}^dpFQrO1AzIElMYME;`oJ>I%KK{mam{;f$>(++S5(e)wo5g+OkYgT1Y!LfvC zhO^eAHuURoa{`&of-@XGgoKUmu1GN6))`-Me6RMzCB?J(kxhXbW{~3v6j_WQQR0>8 zG;{5~y?=lGyQ3Lsc{(~ePEO*QZJ@;fQ5_^0?G;s3irg`<*@3-m3kFB4D_Bz*+P zLD`U}G*u&8*JF7{SqJt;hSa4dc_0GAPCYUmuTcKtg+}=4l=|XBS#ky5NFe z*zMrPMOJK;@DUVIz#lz+I(C)1;7EZI<>qVnxPUyj z{8PFL99le<&XE0xL?ZI}OFOa77_3gWJ@u>@;Jd0)+vf~{9AMVqrWakooX-<_ zN9wAOobFgcL}G#J{jsBJWg0O`I&ArkCxTb1JIP;eQahqSpM;S6C2k>|QrF*WG-9(2O&1Kiw(Fq&z^xUL>MSnR{BH!0~Z+BTA~;g7q|WK zfDurBR@N}c|6++30NWu(59%Mxc{qsmHxAg?Qc;z7sH-TUaR;%^^T%(Ewx?jXfv{{y z0XHr5+@zj9;Z(%S%SLw}MFS;*bRRL!*uVp^K^l6fvLFmk4Gm>vW#=J~kx6MmQ3H!I z4bv4ihiDIAE{;a*iNWB?`+ z5Y|m}6v*4?pOpDgV3Isa`x+|}+(lRg&>7P+)dd=aWZF4vViE$RbYAif8n{nL(29@8 zrG_63cq14X0I-8N4t*(t7ceen;#Nf^f#W35G?)VezyW3SK_fta0zeAn`wGgzQY5Gt zs>XPHAgaO%44pn`T&+{!x1(J6P1bV+Oh%c3&ach3E(%LZ!n-Ld3i1`SO=)n&RuN)l z3`1pd_Nw8Vds#&JWDuz7$a{l6gQ4cC)}!Lw+&}dkW;l}YTOc1U@9|@BXF%1%#|qkA z(7)^Wh{7!ZS#vVcr)UkKYPAl5LCDKoweUL!#Xc`9i+Z(&c)IXzlaohW%OJ`AGkrOx zhCe$Sa}@*!n2@1Bs3M{jz+*tV82pTPMS?=T0J1h{e|^T4KW1ru%BE-q4Dj^WIyfu? zOx@lrNoN4Id#Y7Y@!&yj5*=z- z+pv@u>2PQb=hj1)pW+LRoJ}#(yyyBb))6#3N;CGGn#VE)QRQ#dD1$bS;=NPrE{qx3 zRBN^pU9n-p^yQbljmWL58ZjLYE`$FKHWN5N0no7c{W>Dwx*?d#Xq0pxUPML-ehO(K zk*9OuL)(J1yj!=r;><+5nc=EpSqR+$@13}tH;Z9by5?{MnvVph9vkc}-?p@@8QmjX z1l-Ttx2e42URzavQqtaeTWwC3jS=D*K%tM??25mlT!4~uW*LMPJlY|LbEC+z1_V_t*aE7BTCm8*(#>D}MNb2h9 zz`PNV3UGrI8&dEQ7g6$YM6B_08U`kDL_cbi-M`=ZiDl@XgbzxaK@-Xg{`T% zkxm397TgJF4^Hfep$>#8%e!|-#ku+V9|24u6b{l<+-dLq7$6%D?eW zz5_hiWAJR<>c2GEh$kD+UODS_>IvEE1a>c)Y9pFA_wWQdmaP6ZsJe_ur;4*q78Zh~ z7SXjd-O-o01@q8U{sw^;Ck(=#kY32ke3PWI_Gs3&L|fml-7OYCcYuZI^~A&k9PZ%) zmvK$uAgJn~tYNzbS($3a2b?Tu{6H~RmO0eu0u>rgDl}y%tBda=6r}d=hkIS(&71pR zsrP6m*}~{~Ny#i6n8EPjUzs3oQ~`1Pmd|r?E;u`D-*|v-3!6s5oV&){8TYA_CJPf2 zhMmLPX-(Xz-ssdF22%!-O(i3uw1eXTkEkMoX+;(6Na`A`{?ARu&|Zn5a=2w7qz)v0S_e1Yl)p z9yR}bT{uWT_;f&9L0(pN;#(B}Dgmw#Z6)^W${nJxq69YE|+{g*PgEp^Oqh1%}Al`U_3KpJyE?xSzkl z%Q;(E9s4k>e1>G0chZ4_FDna$2xM}Tc4YZLuCk1zg*rKK{PDun+B4xHB2MFy7I(W9)& zIPo{qhh*vfMrt!Q)Mzg#&9#vU&=q{IYN5GOIuTnqw!Cq)$@5vYb0KA9Y90us8OHU) z`?uny;P7}%*xYmVfBOStGD2r?`7+kk#CCH)#wbCSU@;+SMcxGJN*H|b^YagR`+IrK z%}oyUGEsE|;~oCIa~>4~kMqHlt^E8f5p_&;*!%QQtIxtBgtG-02%h)_eONDcj39;= zpF_d$#B_dusSX>-T*{+X#mS?zVNd=J z;`~EJX!0*?T|kU0qU>Xu!poNy72UA7y=I-DYh;9t!K+s)Cr`52(!>s+6z*%4r`>y> zO_dK$z35Saq}>ok1J+=<_wlOCD&6~OcReA05>WOC5!!Pvs11wz3uMlz3rXma(@2+g z=P75{ef#o-^VSkAk}pCW)TFo%1+2)6c{+_gbW1rdl|jqbq+*Lp?vaea1KoBAVcB%G z*R=(uZDQZAEfuWvAykce`tC4HWMkwyNiTQTSvvB9mZ5}4y>KcpQsTE#3Xkp{Mi5~qsAX-80{uf3?1GZDDMJCPV zKc0BBcU*dWeCv=aD^KFcMK@U;n!|qg|6`_Wg;oqhmc6(l8{?tne{E=3ac4RF(e!3hce4W$$k+{(dV@7w9>Ac12q2ggpp8RUwZjQle_2=NZ0}-10Vi=LoL@KGAXq42p8wjNd5DBd(~pzrDf%xPuOWPB+0##QOwso zCTK^;<})rAwttwu`+Tp&O*c325DoT@bl=#&FlfmHR(j{`6Rc5ch4kqgo(UM~ZzehI zE-7H&`JZ9!=PurV5m%a14tpinYLTyT#pZ^+ShBS1t*QXITj2@?c*=%|SKy2iD-?o!y|zvH?}i#1jKhNf?rN92 z+1U*=+NCFi9rx^A{Rhj1A7yL5t@C+NkRZX#fT|5+n6hBpv41l&8aDuQABZU}l0?3r zrHdTQFLp(4Qgwl%K5cpQyqug|75FEx-k47fq|{NGU7-VWcYj7{CJBaH^xkrV;etOp zcSuVIWCqgtxgzCjcX55^an_g%?K4Oh!9(ERzc~#$`!58S2-_DVSk*KYErE8P3*rbN zU~vC^tKPDvoFVqylbsvWNGn_Bax?87B(L3uW4zXf+uS7YP!LM>_PoN)X_zYH0VlAu zu?e>}D!7HE$Kt!GicGsN9+_=+GHi`5SeOEyxVN?1IoSH49n^jU-JlYIcZ{(g^o2z+ z@5^wrvWI}Uf`5tpo{td=LeXPfU9I%7>mLcLZ!&aA9a3@tIEIc0L%F_w-CFp}?sfb2m#P3o!)1UwXpCPD z@Qr)@eZ5nO3k@jRK*-?8AihBd1}};;&`w20GG1#$iV#u zVpEmqOv=1-A`_HxWP7UWz-j=Vpb)=fAm@)!Tc`AEc$k&0W@H+ZZce)>DY$hAM8cb| zA&$jR8E)}$_}}O#=NuCzD-(@B$gNL0c12#sG7BM90Qtzu3Tfl;WG9yT5IhSH6MO}q?y0R3IfyLr z>RdU;zi0>>DuPA>`=q2yG@z5OPx`yUf26Z#)UZE>?{X4}Zm{7Q&){E<22jwiP}265%FL$_~JfAf=*{ z2i$n)#MXmuzX-g_&QW3_fq=XvIuRjm+K+Sv0wLe|zQ z`Xw)XOqhxg|CBC*Y0anq>dy2JpdSKATfl&%XJmAhd=NJ}5vSRA+-yM?9(c!h%pN2j zclLbAQjN7(7{((WOGai1XYJ zQQ7%<-GAuPCqe>OH0F(1~;^A zk^T6Wg6Z$Qm!mx5!KboDEtsY=!wdWZWGA-h2c z8Qv3mtdsCpF*5!FF|J5eF zDqe4Xl}U&;|9Opbuxz6;T|XW4m=z$6;mWmt`XmsFh+;&4fs1*1lIjX$s3L5deA~Y^~NfxasP9DO02fTvfr7jK5U2y?F5iTRr5TWKj_jvg+P=4Y=YA zFdYGLv%MXd7`@gCvTs4(OC5@7XDw=>-mq@eE3l(RImF>?p=DU69SY6Ap4H_Z#mQHj z3(h7I>~=uQT92^Qg3!2U9NDL<9RbT7jr;+;kM=;(iMG>>Lv<2@|K69g-N_mcCv>l6 z+WB(JWNpgfO|U+4pRB3_{|p_Nqv-1D(&*p*X~x{=NNcq{E*zI?W`e8NHB_z4+~mnX zQwW}8C$ONjsS4B6fm=e3&&MY;3X6;?%THkD13K;#SwLNb-40hWUO`pvv~T|=99h% z{8yOj#DOomVA=oXtyWV9hfP==kvS+j1RA6OqMjMt0QE~7x~B-MhkCT?_wvnm~M;3$Ri zMu|T#Ujfw45GAi`0wk1oxW5@=yMvMi%L_*z0Rr5Rd27<^{b5Jrf=hHA{;TS+3i z7CnL@3?>yxA@6&7_^&lulmwT?jk{`6&59B|b)Trswf-A#c% z{CWG&7ij~G_ zFYh~e!`dkM9kvM*TWa0__l+h(MuxRTfLr1vH%uoA9EQ0LlDHZNV2|J;^0d0>NxMC^ z*EfXsGJ(F>y0zIQzk7}Y4;~ocxLMlU zzi})9S=9_#Ro4_(N<|_cq}G_`vGh9L>G>IA0YQbNy!=~2TL{aR_IA_1-l4WU#b56N zhV5xTD$wO{`11l{3y9#os=25t*iUZI>o(UQVrf=zx<*0BJy+c9N7q~g<}DZir;ClM zz_OM<{C|14JFUz-pXTD+y=vy@hNSn?#Z-@NuIzzR?0WhTq~4GOQ->T5@SNU+_K7=& zo`yOp(>rx`ahW_-b$R+X4qxz~V22CbONmVtajnlHinUmFZbTR~A$kchFt6Phrd%Ku zAzjyss;^D?>R7@+gvB!?(`a9V?$yTCb(0oP-ZA}lXBnm%y6bveF=|SCtMknVpxBWK zkaq-D(3p7W-}@twfLsqQM6QMs8KW+u&)e3YB_pW=k#1OXezE8qMk6AQ;t4Em*CfMJY*lCXk7X!%@0K*x=?%w z2)zZxWfi;jpa#YtVpYj}^n|iBwDaxx0_W`(OFL7CC!TnQ1fP=9X*=3nJ1PKFQ?>a%^|JI=|X)r!aNM_STu(LR=uMe)e+&4YQ zGBL{7*xSQX<_MvO*3*BfDIP)mWRM-XZIe#3g;{@Xg_H$7Gpznf7Pn+&f9vjEfqot= z>6@=rJlNL;|64Ws)ewR8R zRUcnzA5>m9IbsmI{S_;HumJSF`ucWBsjE9DK1>A6-CW20ExE!l;!@ovYB3ERHr=7M zv8=lPO=Vpscl2o^I5>IBHW#UNqVMS#$$jz!%Dykk=jwc4*GV#+GBiZgZFBiIjyy;Y63GGn%`o4Ydq6VS9xrfe^3!=r_SZU1wXxXiUNzY&hA7)&7V>7G?M zMpw=L6gjaeDE<%@ef;$4fgLxe?8NoDv~$MHK>R1Y2(A~pDY(|f&8ubjXUOxaDFt>6 z&XtSV`32Z+!hL@KaAS37)2oD znnzF(1>E$Ja#)R_XbK$u5}G#xNt&S4T7V9O!qJ_K+1a(7dA^c!p`g+G&P~96)l@8z z(kxSr+!Kh%u&{%%*8DfI7~(2>@*BA<_pc)Y79%{^XD|?+{nKfHbtAFXHz{|618ZKU9e7LNHlanbDgHV>TTFQY z(H;O8JSm2s&5SdtN+$(_Yix?q$AkUy#H8#a3@n|tt=af6oE+g zXi`*l{Hqi(!o<|WLCH(rzpS)=K9Y{@BbFai@%g^03Dy;+5F4OX8o=ocP?sl z;?0G2p5!u*f_wh2Us(RebpH7)l?!jQJ10;?60EnVB2XBiPSElY+1~yb=oA1s;|o^` zGrC8a3HI-EUt9fW##dLyF~}BCaf(tKZYCBrOZ`#eD}5{hh;Y4NXII$y$9#YO z*EAMgdcj+3flqKb>+I~**WV*53LX`(Y-H21scvLp@pN;GzIF}&y^;>12^Ob%`cQTN zc}W*pSYCl@VO=Uyg_6ELP?3|X|4zcVb%WU)%@tZD@{<25fjEH2FYY&dT;_97*W_A# zj)|w{{00+LEQkS@;lF^L;KzLE(8kzFpk45Lotih_qW}b3L1E0b4Db=c6GyNz^S!E) zo}Vwy$z-1teu)F?J|Yv%z#xJQOJ&~1`yKjfeREal2$^BhrU|;tfAT!&zchTq4ZV1(>UI{|=uF zD1Z9&A5=7;VTR|@ZHhQXT(J_X52^zFONX3Wnv1$RIy_qs&EloOtodCI=eD4dw}RgZ zWA{_E`ugAnJ-NMw2#>!0?6$_kd&;b>Q%rTp+cGd{bm6_I4&qr&w|wbf{!S(`;mueK z4`J9BCuN$!X{@iW53DoL=9nV{NND>~w3>@9mUO#V`3(vymLj~K+=Tc%u8Or zb$4WN_lcs?+QvS^P>=^8)&y>qZ#GxUp)mjYWP>FLiABV$BoY2#ZZA8Vb)GbSLUT_YBJ zX#TfcYebm?b)nG(ZVTzFc{|lup5#-SAuq@0pd1RbVMB_PCaCSuyBrqioxaS+46C~* zoqrO9cd;?nfF1i20}H_v&dX!oa4YOCQw2jm84Wif1yfv^8vtI`GuI$}kCpAK3N8U% ztpm&ft;6k-Y&cN@5yAx)oH(o&f!n~wQ+)Ss+B$gq3{TCY!hOVC0!uTn&y0-lH+W(} zctWuF7Ul>H!N-py9QnS8JuGWb9Pk@Fe*6o2N_;n@wx}z%KLIi-JUBEklf$>5nkQu%<(@uvfkL4GqRSixDy3+o$H&_L6N zV6bdyZS6r^E(ahQ3V~o2NE_u4qE;>BxpDjs?`oN#lB1et8X5BN!r?F^Wr+oLTxsEGc&WbM0>B)2)cSmouks5B;Eog zg>3K>j|d1Fu0ndxak zI8Bn*>`5S}%*+IH20OvZ%F6EUvsaEC4tH4G-Pub?j#=hKz#MoLrW-z4zG-cZus&4L zKYh8TmF4xF8uJNIOT-d$o;+a^Vk(e7b5Ck-Dw8eE69e}CM}jA7Q#Q^=Vvp3XPj95p zoIlZWOxP9TtS{P!NzY13j;JbzTOjxlin2ZftVeN4U6Pnl9ILc^JIsG=1bb)ZEU}Vag?sD-2RRw7aOCS8Lu_ys6 z7fw`?cP1G2_#UXT%Gr5+oq-4E;m{q!-<;1MdBu-Sfde)LH^t7E7wia>27UgKY=U*n zsjaFy!)~yo;93+oJYg!sOD`P=O5)k|6XEFAjtPrI_REaD@%ZrN&U$VkEBDhC+4Xl^ zteyTz!|XbzJah(-{_vw=f4Q%Jr=0J zrvyvCCUwP*@LA5?Bqe{v6G;YQJb`3%IAC*WX^A1)AVsT+kJj?-(bDx(GNdOku#=OE z(&y+y^o8Mx&Hq`>ec8#PN{SAjPdY{WJ}vP`;0fvhF{;~Vy8>DL8_q`TzMGwCM`^~@ z1=e2)g3e`*?_X{Q{CY<^@8zI#y`xvc+-N4=;4Bv(pL>~!)senfx-pUTC87x2W0GL1 z>)pP%ahO9spvEsFp%!!1Yf)R@yxp^(_PZ%cggPCcd55J2*3__jiX9} zt#y3#p`|yR2s09`H&m~JKExH+p5JTQ;c&nh5Iq>+hHWLUZ8Az^zXe)w>gz*<@aeL$ zu=1al`neNv+MCb@c8Y{NS%2X}i&?=mJR-3$NF|k|#8r3hE{F}CiI4LAvc6-NRDPEq zanb|2ulDwg@?Z}UpfAYcZTy}YH9D``yTGGHW?${lL{%%fDJjAIKvf~mqR-X%QIN$h zdSwO%ryCJ#t*&jM{?SU)(%e74mOjS(*swO*gg@Rn9U@_b^`GJAzXC0TR)_1! z*V~)tp34Lo`?nbFJR;gn{DVGb9eOpNa35i~>fP^GmK=-ri~q^LwC5VtyTtp7guQgz3%K1(e++8dg|O;x2s|PyN)SR!t{iP)}5~?Wq7s zfK^W)25ub7`)71Qw-GklR<^fD6D1q$Ow%+T0^WcvKVgduA^-78{^UMAQREq-00Z-| zmL-$cTdOsV^v(I9~AwujiB zU{eSu&qkMCPO6*hJq*Zn3Dy>cD}&+z;KKU@X@tK$;qeUE?rg?}U}trHIaM8GO|r51 zV$F&f3uY5&EpeDQnVI$QI8^{}OQ4t=A!!26?{i=RODNm=`ubkJ{B29r#{C z^UM&EE206t=c6|+ymfd2ae1910wbtYuD!NOw>wBCRS<(7Seb@!A2WgdUd zV1m_`()Qbx^Yn8KoLJpH`RBRxjZO zAtE{OeT47BomSuQfl|Z?6dH~JutFzHz^Ld7u%H`U37F}YdlNfQK9&Dza_}|Rz7T49 zPOHFU!b-uGE$P-#H!6-MY;R7um>&}BYqj|0bL(@f{Fgb?XGWgwi5Pg6`$J#Y&ickC zrR!AGLXW5=SZ}s9=bsDf;a8R7XAmIW5TLt0Ei2!fJPQp}-dNru+=9m1pJGDl@tfVq z#B>*&{0{#=9Rxd%>N*eMuNW}N5uo$O<{I;fwx?NHSuorC{(ae}YSxEEVb1)%wij^M z?5HDZ5sZQrlMOuU1tH+^#s(Gt+97%G49sG6H4e3+Bia%A+!luZ!+D6G!6zR2TwmwHU`)dhMT(QYk~J&(0T z@>s03`5sr<3h=y482H;1t)pQb3a1`467#;5Kye`H@bdD)En&e)c$ke4JYHyR{9uuS zy~Gfq=ET-wmALWn1iS`K2(upcULL3e_%6KDl_)^Am~gK7{@6ya7Qmkc^-=DfJLX(T&QBMt^B&Cbyp^6Z_A)7dPrDNEH_A3_LVzQ*nQyo0^uy-t4Aoe zud4LVf|(@^S7(=j27;ZW!$Yqmuub@r-zu|`{byC39MB2MZJ(tompJKa? zn(DB>Y53vOqFXew*cdE0Hz`~7-XHSDV~*)Nb%?Nm@HF)_H}54b7gA$joGmlt8iCH; zANQ`vLwwpFooYBQ@kZ>W7c?<66p7c!($k1tfd>ImG+-2l69O?ES$YKh9Y$o$gT$s6 zMIYqU(j;+&@&R*9H@oD$?wi2?3a)r(*;HQMr$1n=OzhSQBeyDlW68MhTXUYrS|UCF*d$n zlyG-3vGDp|DyZSu)~y%3wPD-f%HSsYd2T9m&hSrkaY7*IC1u(rWsY2i=P-Lzrkz^O zUYwnR55AS?e9w;bq|v<}Jhj_>3u9P+(kc2l#lxZ@8w~o6=I8X>+Q68u9f+i(j^}^y zOr&9AEH0jcW0(?Y`E}aTYq$%72b=~S0r)+`XRf!g>+bbR_3SY9%rz|RM@Unj_50y}Z5@QMjZg;DeKlZ8$+%LbV_CPJP;?L_T(PTj+JxD<6c^yqRw4 zI{T*zZ8|9_edK9>;bl8ZG94^F@0`%m)GW)}?WrrmW+kVhnJp<;*~Ux%SL@0cSD5mB zFU>rU^EwW5+m8EMn4M1fe&v#5($5#*lyo}2_!BEPHisr-83HsN4FVa0k@>Yo>z{$3 z;p%3&!7BupH^M@M|i)JmP8` zUrv8ULZnO>|1{@Is%QKzsre>AC^SLG6jDqq$Gf%qIh4=r^QLSP8`fF4&SJzehzP8DT zLP&>;Z>T^hcovfk0TT=#k_q=XtTRE#n75LYm64eP)&*DIKLM-bt9$(Ba7j%~O#}Y! z4ERgfy+CNZvCbJ{lhq}deG&$A#04i#M7i;bOF;3js#vY`tp5fjR>FPDsbShH6Ci6@>|6RKpaBA7-t{BQb*^EAXT8-Pq0eTRtc~lq6nh7 z`0xRcVL;yoGa1h@Ucn!rm)QIGECL0u#JO*lCqNu&U_9|@Zf>#*vpsu6bgBFY0tBJ@N3Hj1;(dlHds9#H&m#sN(+%_bmiHsy1iEcuS=uB?EM> zq{BMr>sBtC)~O#G%Gd=+G+geF?an;Zja!T>qv30e+f02+x4Fp5If1PFn@M(&+)lZ! z6y{oF_H(zJsX?BSp%mRU-sj4s4tK6|Ntv(rJ##P~JH3)Oz9@M@cLno7G*9AoK`G5* z%JI)~&ZddvO;PnftW-F|U2STfJCxA~u}8fQiL2Tgj)*TaW0k5~Ebn5KCVnBzVKcD#N?%!9^`dj(!Bv~1)scTtRJ-z$ilXO%~HkVZP38+v}36KN( zmmYOIYVF;>$Wg{7m!cIiMa{^e85Fn|RuJt!Wf`Z3?jDcueX#F=dvxt``e;PEh2Mv~ zACB8xsHm=UZ4r+i$cdf6VD&*RJyJxdrs&DzQDwHX@T%BxGtOm;u3=O0bp@t2Db2QM z|ASkviJvLo)%r~$`uES5&aJ=W{Limnow{)TmXMwZTStUsDethryZH-_9#>=Yzwv5x zn!Id1K70Fvr`e^&-!0PLygtMo?e9&0aYN|dWv9Qb#}1qHKM?aRUdZ@;Xg4aovWwj( z$rld1A`YfXtr6=W$DsJN>g+P-)&x3_vWB+{z&FWchdwK@0TA> z&88wU++=mD(ar?YpzpaZ2jaJE29lixqhoZb8u1UJS&_S#5vNJbJcH0@Zi4q;fhJ zv<#fM2d(RQUa-{6TXJy@%vKB?^8D^@01211SbT!fK}3WQ*B%<+nq8V8kG+P-2ktsu%ar{I{&BOd}`pq{lU9BrU zaA{g4o>{(ik)RKN<6)fnqO@S*OU`|}Z_w*P@#}6HfSw&g?U{mXw8%czQkgC~}mgus_yuadKzT!OB z;SS9capXxbS*MIOSH=Ah{Q7(urh4#X*v)k0j>V~IH}oIwoc$MIoZ6N1@uv9d!&_p% z7kZ)xZw?gv-oD;7LWvB}AI+afUx#srR;CnUU*M2w!Fkq`%Zg*mg|q*DK8z^)U?6s| zJSItqF}dpP)v4p0RljuA_9=Zx+5E7o;_=*-?yHh^x*8e5y-}7_;uYTPDT~HB-)`#y zu;z}cw_^YEYgZ}nkBX4-MGTaX7;P#uAljnxNiG#X&mXeT$QBw#>n1f1@-}+cSqD83 zjFXerghtf0jF;=`hDWaAChz9#Piy44M!(@TSoL}NDx%q>S#o2swNdom4)+j&(x;Vi zJB+k4wKaAw1#=~e$xHiA<>RJLnO3z1t{p+=k(OZL_*4}D%cd{2P zhubR8UOq1fvKp*3ov^`jF#cVDs)a?H1XE7qY>=(vz(8=}gJc~pt!_LjV}5o8Ijbg8%y}~oR8%M0M#sjU zQ$}#;wzC^7Y=Zobu-l}X@C$Hs)H>U9EJsI!hnpK=YeE~`-)IgmS#T2EVsLKpNqGXW?{ME(_c$x-gZuZX z3bbe8_wR0VHkH0};&-{&(V(J7Hn2!51W2_U`qcP?+qCMVmpR-1rl%g1Tn)DXTrw5F z7*gJ~))zaGNp|v-h*R>F16-u=9`!j6o6$igOns(BK?E z)SFo1;9WhTIDt@^*lm34%kwrX|2U*hy4oVGQRJ;t@;RB+TZ4=)s3czUdQ(uP9qg0- z0!;r;{;l#A?D^Z;j*##ilkO9fs!16*DnqViXxGuzVSfhwrzM}R9u&*uK@6H4EIt~Y+agF~l3bXcjre_w;dUG>S`H0k=ttU@(s z=kr4ll*q{;4UL)#F;Vso4q;?ujl3#?%r*-J07Vixh^Iy4;Z02uCKX^053`4ueP*=Bbhox*1rrfdPdaobav zUi>QehfDwhDHMn9ZtQg7=XVFYn$Y*qJ*Ou$ayF~zW4Hi{0FMp)x873c_kk>@YVZ6P zMbWh5F_1J5h}ELy{UByWHp#UY`#i2guI>2RNALb zZ3{IlvQmfeT2B+dKmYpm3#iyjyp#ax&7dn5A{YhGBFg{B|GdB1P*pb07P!0M6z#*I-zO%0y` zF+ria#>KHxRReC=uQ}ysR*47d<4$qE11MOXR~S=wOaq{kV8VN+rb2;Dx_ejNe@P}( zyFu*-1~di!sQL#zLfFb1(GKq{pyc2;#G6$jm*(x>{sByW0~{lOZ9t@HojTEW%Rd%l zPV;+)_-aG+e%2G*Dx1rbG6_qn)ukz%5QL2ZM*HWu;JDO4MnQyu^^3#z^7y?oz|#Z3 zMa$23!iY?mKqGVo;*N_m!;jL!$qIj)w!tC>x8m9Xqc6HP+vTF}$%lV#busY8P7G?u z1VQVMFOZz4<}0LLe&hnj#?2Hb3i=WyGU7KdGcHy-8L=zdf=2+VCwyeg&F|@E0m)Np zdy4l0q5~YZ0875aepg$BB=~oJ3C2sm%Ethm!lDUfE<7S4V*mu()FBL7DA*@}T@gdoGbPW{+1p-t0!1jT^p-9T6=)5e<8^IOFH;|RV zm*|8ZI_>UV71Eu|EW0y5UJHc6)=Gp8j}%Z3c6N3klY*hPj*dU?!d2`|Q?$mzBK(%v z1`w(T(-+UdJ4tNDZv$K&g^rdAG2x&RBp(z05gPV85Ra%Xef}Y@n1)F_;&;xc!jE?h zj}C+axw+r*>;v}>0E|bcghw1mp2)*2y*IOdcOvhZi20;?qRM0(y#`=y@7_WL1In^L zrHlY%g4o;lp)RX3K0Uz{ErY1QC{fzzNua?ill-fb0V}Pm-WaSCHMYy@FA+!xT0=rt zM5eoEe|5<{;-Y)@)VqG|72Q^x`T4KR%d}Fhv9Qf(0kc$MI6l zMKCnS)cOLJ=|q?XrXVZM8hq05=rQSV=Y2%DDQ@9Vp0I z(a@^yUA;S{nNez!@LrO%NhRNa zc}vzO+!@eHLG&TK33!5ZmvbGO3?OrQqA(+O=$ygvWWfoH{OiR7q+keZTBja(s}039 z&r38s)V;dbhBG{R`Uq+I-@m5ohrDB|=cN+k6mCjxPs8G&^YdpLBcivZx(5RL%a?qD zQgU*}S$fD?edq>#$>rtjyUWPzJHV6yQc-w$K=qY}vAfj4gZCLegL`+4sG&M`Ty1WGDNQP%2v#t(NxXz32No?>X-u z@YXpUoit{i=YH<{x<1!ufy{GX8GT#@soT5USx+_&UtVqo3M5DQqYSouRVR`L>T;~+ zLGXopmZF3~RtY)NB2lRbUpz7DrJq~(zm2Rbv1u1M6n?Nh5Byr)YOOUv*9nGUV9W|^ zg@CaIeXQx}sWk=8BM>$v3-zc>SWCZAHjdg?a0@`A3u;!GTqE~9`McI2 z*BT&`p4cHeGc08C#MkC@pqFcPlpjO2>?~Zs%=4jQd%pbv6+U=f@OdXZkC}p^Am5h- zYzwv4yH_7qRJeheu$LDtq#MMqQm27Iqtile^G}N*n%7CNs{xN{;PV6soWKX4KC1@m z%e0#ngSTd#WAD6!emErj0?U_5RtM#aEH4-r0TE3U@T3EYUV!z82PqNU>bJZ!99~O? z9C-wwPq36SpU}WibzcL#AU6y0^XOpBu1S^CMPU6_R~I65>ZBN`4#50Eo*Ze z9|n>c#X4m=@3n%((9jS7&=L?;fA8KUuoYU&dgVqM{&)O#W!_7&j0A-pVB3RT>fWPA zPK>>P^SOBM4}CKQ-ii18Uq|gtJO=R?4wBs9v;ZDMSS*+p1W!wx%247^fPlB(TVQDd z;>rKgg`2XxprC_rqb*U_GaV}h!L=SarNf!93d#zF-+c<ai1lmfU*rRq|A+2<6|B3flcEZ?gwNnIR0{t#0yPEO=5#n^^^)7 z+kNH%1OgBnz=I6^_2K>&oz=$Zv;Z0v6uw0>Fh|u$!k|Vzf}$wTo4n*_vzaB$n+(Q{ zj`Cp7m6MfqZ(RZoJ;2~ITPo&G4h?9AA3QjBlf6pC!M3HTX&UTs;MeQd=biX_RVF~8 z2#U`UHyD%=p$ceo^jKO@EC3iBRL3Lrv{^nR-p|+f9C%Z}itN)bP>}&oCM{sO3W{aW ze*<*;CfM9X#ldC(T;D1TPiio6cqbblor+ejt*Dc+{|~NiL~nEe9y)}2yb0$T`2+aRd%NSt-nNaJoTpqjiNi4>D&USf|{u^x*sfE z9i3?4NdM09-KS6a`2e2;DcfKkn(_rK%B_cv@_=J_F*rC&Q56uGu?gcwOW+LJl9C+* z;WGOZJ=ibkrrYkfWl*s907QP2?k*) zIU*u3e{$yAAHekl4>K?kH$Qu$4$v3EUVLX#hr8(M(2bEy9IB|e*u!rCEI#mk0F}<m_+;Zi!SnI^a0d8rRBqJTFT0ziGvn6c!#^$uWg48TD_FOdD|*Iz)p5$CdH#RFrCqW~Y|8_l`~SdX6oV3!pDNRY=tw&9T7 zTpJL&#gio;TgrjkvI{CqNm1rI6-S1Khrx7$uj+h`0w{Ap*6b6XmN<02dsw2|zr2YYJpP0`Hp;9bOh>;aHiStdRjow2*#b+K>gH3);sg$$8t+ zdk2N(HK%#zK&A1DeY8~5xZ(YZ`W9%I!QG#?M|p&np;PiJ?7Yh%DD(EuKEK~&Y+72{ zNeh&PQI)Z+iJiMfc~6@`;^8+#=@OF_n(PY(OowkYwq3ILWy|-de)5mdMA4XB1@Y=+ zgwCz><%8Wbo&6)!Q@&rzgF>tkH9y1ekR}QQoB!@2u04q#iruA3k_K zzphnl>;CcZa8NnN>cRXm+an=ig7Pd6&bhz3^DkAkM*eW<%us!UNrxe?>~q=Y>RoU7 zK)9mzVE4!p!{n5ulh^Tz;-k-3yM&3U7GsZfNquQNHM%a*3wr(dI^=0R#sV zV0qm%6mzfV-zqta|CfUl=6j@YJTwKwRsD7=EWb8mxZmYz5%TD{%BXnJpK^l|h1)^$ zKDr8uxve9r=WD{{tvUI$8G=3&P&0@h@%%;>3iZDJ<9=v9)G(D zKKbYh8#}Gy9dqHwZ*=ax$IlJp@J_zeJ**qpg}~ZVYP`jXNK(5bV`N{t6RBGKXL(EK zKFG?j|GvJ462Ed}r%nem`H2JCdDD`#uv(ES+|ZIZF? zyUa@JJAUeaX(FM(K;!SJ!ls?wiw6A!psnw4FK4F@NlxbWwm&~YUB z>hfDpT|HUX^fc-r>B}?i041yqofrjvhHlucFtQH`%xRGJIWZRC+vO8)c_PYXl|}hH zYGuH32(kwQDXL^5oflCJzCVni7TxfmXb?<8sj_xeHx)IE%+TJIjrwjfp@?%*dFK54tP8Cwm(tAGoo2IuH|NF+W zod3Ola5ew?IH0|!&lCTjm#}3Bb`q+pUl5vi&Z@y?HrUVI{xo_gH2BaAEO4?{##a~IIB)@nhH4i6 zj^sK1`XHRJ3c7TFe+1a`QUl54RWL{er)O6~$YeaGVaMoh4>mhjut+s^ezbiSqa`%AcVUg?StN#)N1Hu6kvI*=y0q@AY)gJ1p zHZ2wgw)0@xbY2JG^gu=f(4C8q4s7rPK&aeLKtQ0L1_n0(MLVVsS{_p?l!cX52;i83 za>WM}4}f!&%f&?}IprWBD5W`63!w`^05NW+H+7EkTfe$X`pnf*|94NrSsx*TanWUf z1s+cZhyx1*+{~kZv4zH#E(W9{Ee8p`{ua`?3|gfxGLLs<$ky-(SA|^Ahxy zbnet6knRHDEf@rD1Km4-E_B}R`b#Gw09r-b`tMhOh(wn^KmPUL@h`yTcsV<}3v@h} zLPJ%A)9Lg10N`zM0r-f3(g5hT=@AtG&583a>i%>K*nk29#Z)C8H6g9YdK7 z3Skw}+(|np`A29ZeuwWqw{B{NC53cH>}}HXVd$a(ki!CC9J=!ZNF%`xfnylFL~GQK z-T$E*Q$Sh(BF*R#$NX;eoJ|}RR4r5V_6rx5z{&xXtkeuTx(}k`AqwcUKvD;) zEL0VEy8^34z($~dC{QWUe;z7yaz6;WyWmewhJsxpe94=hc4t zy90+h-E{%LHNY|&cyrN7a{fw%?kV)_Av*T~OtG0DAj`P_IvTX0zkqAaXS(2U^7tp< zu6zFPZaxrjfqw4OuidWEvzcV9rBOVl+WTHx8ww8!im!mGsetbP_3?p%!)B>4^Wee! zHNf7hN%diiUjrl!;27Y0#p!jH>!as6j>W2PZdafywe$SjYCJ^GBJnw0tH3?-1f4$! zVCn|YU{qCkfEF1HT^E4d?LR6~gE<5Nr|{%K71QHEYx<{74a?nM-US{r7`ON8><}@5 zWAUEcHGp6iRzJ~b{Mvrf7lR?Ct<(Kw066viEwBNnbN>Lf3`{A$0W?ByYEQ+~YKNP9 zAz6YJ5FK&9PSrxPVWmGFv#a%KcS5(#5cB}&*W<=-6;0uMmW@?psM9ULRk|BE82kk< z7YTd>2}1x3e|&K6F@Pi_2r&n~iz#2)e_LnOy)K$>RG3i-?*2!&dIq}y@Zwa60+BZZ z*hI3rl9GrvY(5$7v>=y11^`=tin^x!`SbeUpMSru{R7j03gg4|3P z38P3>rSl~Dd@w!(3LP?5i5^o79^=fhH-Cr!eLn(G0Q&!X=E$EJpeF=RFZiG`f7rHr z%^iQW5W6!jcl%)C*G7E;@cO{`02HKQU{L~y_Q}DAe2Stf@Y@7oZ7=S5r1Tw=VIOH< z-Ur(SFbM)X+IQe^n+q-js8~g*0P(yBnkZmY>0NpCbs{DJxTrt=yYTNPSezF?yAE(< zP|$WYoB%s7Kr$hUU_i$z7`}nnL=sIgn$G(H1wLI#JLt+m0#>=vpTV;T2ICh2*b@tp zYIc4y>3og}*XjnsMnEQ}Q&*lo1x+77G@M#8$8@#v^wVQf4BZbpJ1`xgzZAHDN|WE_ z-^V)oAJtw0z}iAM;kcQEvh6de9*tI6D>J@_?rShWku*~-O!0q_X`XdGLB3gmUkwoI zfX?#Q&!6D*0StV%7hged`WJYcMEdw7Vb;1nf=dYkBj~Ah`*UaLZYKb)0h5AP-B+(v zS^fa@(ry6Jba(6E2k3YjAggt9QK!MhZ3ocq1r}9M35~r0^AZ))D?i`e9tNE7;bFk3 z1eYYCIH0Q*AmX8+`}Exr+$=#451STZ(AA*TU4(|Q^g%;OP#qX>ycLx?dg_=dAet4W zR@+E62+Xo{G`x8Fluk1Ox*`5lL+8U(bI@4d^RovTr(l-^JR;e#uC~LvC@{+bDZ1K* zC^+P}pjS|GO$^_`nJ(eyztdIzVX&W2^Q4jkPWqf5$@Blvgq|3BLlmKp=gZ%{xqWjB z80v*;%DEwW=SB|oFWC?;H+A! zdB*ZT;*X{(TfZIP;nhjS5zumD0Fci8q6tcwSF58G4CwQlz-)p}oDXyACzL0ym49_M zBO-KNiZ%hI12V|gOfjo?lox=T?US|p@^$9uxl16Sr@4_c!Zn^+-bfbl+g zpSU|mD#NKsP;&s1O@Koq>Y3p0>G}ae@sf7}=oQ|pX6t0=U2rzT%Y}XMQ}SxCQMIEoxMLnfE0Z zy~YSXdWD_0O1#5lr_@KzxtSGmzMAXie(?JDt^CEi|CM>45Z1d~|KBRUPwpPLR?|^; z>eillcS#{8HlNj)8AbiQUL}%FgdhZ^+($6*?}S(XTPqlaLV8%vi>&{d2SG%8981sM zEoO*HDUY;*C=~eUHGoC1Mo6x_A@OaUHyA$u$3Fr)fBW8dYlZMLBNdzqhd0*b&d-?a zPT9I&rt;lv)e8TzdvxoYEW};2J*$6r3Wiy!N~iwj?p||;k~nVjhi%s^4qEvh zFgQmd}J|ww- zWhw2&sdQXyF^AwVOwWc$f`*DcQJuK_RK2Yr5h+@-gg+f#%_BhdrulM{6RwI#k|kDD znKTo%a6D6z$N?sE1S;Nqc)SgMn1x#;CVraV9dj;*hot;;)G(0y>2Q>*1;tC?Gd3g;LlnY}hJ}*{ zKjSgX3q(gfA&kH}CIO|PSz{LgsT0j8s5pIM5>n-l3Yl>(7_BIYM#VyL5LvS6bXhON zJw2@cj-1?*WdHTpaOKEX*NkFx5TxD5!Ck=62ZK?FW|(1`+o8B}DMSyXBun`)$lNOV zMP16S8;Sf9dW0EUf#+an!hS}qqF7-Fau2$cUt|EoXO5yEd!UE=%65TJAq5RDwP0f= zB93()B4b?G5%=IuZUP1)3x{DDW~QtVZEfvH!+^!1H%#ncmN-T>o3r&3hLO>{#N&<;R51#?4P`PzuuxJ$rm`)rGpA_FD zsieNgyh~6ta8W{ILqg@L9uWc?2$y`cUaBZuvL_m~qmI^C6X3?4)snMS zkwRY|f{6=PW|)gX>>Okiypp_%pOl0**swQ~5fY>nk%3O}(l~uX#2d&Qfn_XUb_$0` zhZtb|++{;jaCwTle)Vk_!~o$LAYB;L4-dqtQ}I-j+Y(425k!V=*<@)thGLFddkf(Y zL71L`)$I(cq~E0RAm-_aQYJ>uSVC;UWGIs&7x6rkc#joa1m%=q!sn}_I1YIOX(B{~ z_w7w`4&k|pIc%%m%c6^j*a{4bEDp-heVf?Fox#x4w4#rSn1@qQr8&QPiy=_S4YslP?4KrP}M!vcH7h+ag@ zIG(}{yG5hWdMa&D=p;pGnH|Q-%fNdI4c!Tf)!@US6g_c_5FAo+LG(yK3`3|=ffWn} z2O%;T;05^7PX)+6mF!sJy83vfjMN!clJ!gnio*qq8qkwPQ1A%?7rs!CeKe+=Ifov+ zL@QpuXrU&^jEF0M#kimdsQ4ya95?*NbMpej&mD~nx{}kR3|v`tykZQJ7mwhEM#?5( z39)V%D2C%0)>B9c=Czy-iy~kv-Poo`Ak%|-7~Eiq0{SC!GA3i*WF@QS zFkp(LME2nh9MD)3c7*~V7>6S#;ksV^lfyE*)91}$p26Ryj>@bX> z+afx%&O%fLjpejBx$L6y2KJ&=TH;h;5EC7HB0108a-(ow3SW<_w z(NxLMV=m?~$h}l0rXIAbr%Q`)2j_Whb3ymf&@ET=rovy=<3b+=Se4i_s5X+RKT2CG;G zrXZfSN4CMX9BUnr_}3#KurN`woeSs*rQw1$(<|dDQ3dK zs7=bmz>K^#sl@O4iO}HHDbHR%tdvz zpB~OI9|wE4KH7!xIt60U)iZfta0POaTCy3eIa;SDN_@r zKo7GQiZG{1a>A7d%BBkvs5M^jAUR=1SXs`79+lq+GZ}T|S*g$$Ysd|oh>6fC(*S$4 z>Q0fafqPw+gcLS zg9=6?NyN7%qIgakRiDqWLs9~orMeOFiOPt)K`Gv}Ga0=m67ZOgO-@us;}70JZa2K^ zyVx|gjD7tYdylyglcNJEP3mwVxIBb`dppiaa%L#gk`Zx)`icA7)?+(;%Bdid@0Mjb z65A(P8PG`dzJ(&To-~OQImti`pLErU2|DD{C+Q2J^g9wXVkxZLjI>}P;TU4Y zT1877Z$aAJZtBJ|x1D^L)v2^WbvpnNZg zk9_L`aG`h%3mfb>t~=3KldTzb%x6(|SzL!XTa(XB_Q;`jha^@TVfalcE<+9|mTWc6 zeUu=UcG|;FIDsU}jgf~uc`|v;3(7h7_(SpYv@?AeCe#XsL;w1uoTQ38ZV+8gVaO+A zh^0)`ABHkkx?>QPRM_D_Cn^mF3p+yAmxEt#3`+e{$;#`BfXa~t5RQlynM9KM2vOXu zdZ!qKInW%bJ_3AHWt4hsiY^C+0p@C{PfCN_%~?4xk{Ea(OwLEwhnsByQM3~4)BR45 zF#^Sr*jJfgllG3n=b!kFH4vDuTX$ilHP!V52e$J6ep>x04!zYEK z!B$8cxBL{YAM}=^r{6}FmS6If6Uku?5e*sx75F=tiJ7`dS~jIOO_L5z)+olNWCRh_ zSIh%pNX)>Bz={@5g}d)ex#iu*1IEZmbCaO`m#-{)ys-;Ee57NtGaf;dq|h`N(ac;K@3^rg zICec*$J8B45YZ9M!6mS#vLY&mjfK0haJVAe&{sKKK0eiSm~0|((J&0wN?JHhieO*0 zmc4uoMw3mQ$hgNKdh6~t73(LmUYDBlI4$mZ;ui2dqyGOR&)jH%AbjbdI#(>de@B1i zqrg{LQyo^7IVLm*lNs)C?ydY6^1fX)VtG1iL?WgROAYK@ck~HczOna1Lz#<| z%8Mbfe`PrAwk`OOlhcg(p4a4E{42A@Hhds%g<|n&Z7c5ig+T9a%U3qd4hKu|EkV?G z!=XY2kkt^97h=Xia0-+Lp$<>Pgk|_QTB}}})4f+99Uif`%XZ`Dz+Q9go55|N7c-kz zNhZ|ON6^pmTdN+X3ZhWE37-_iTwmY5yVRD<#y*a5mvc4=4>PD+8x$hy_Qic6R?u?S z(>`0YOm3vUSwkIrR+XaP7s2=$bR^Vr1f~kb0>kaG^x#*J`;=cMc^amK zN`f-$C6NVa<;S!TnZ}Q&EojuZ&St%VaIOJbAAN=5l!9114dZVFaw(oUHF9teS5iWa$UK{&+qXqA;u++$Ds_%{pICIL6egxXwfW6m+3s_@GfjbjOZ}2*>YC8Kg!D4uPwH9MA*>F zgnO1XMpz=LR$phcIOZbtk_MTeeWbW~jPY>dIH!I_IZveavN6M${8}nGf`=_Zf6?XL zr=nCoL%&kNAP_d|i0i@PgmjOXlfU!4NcK<5S35HVk~v-a-miR2c>nwG;70hJu&zh0 zL9eB+oJ7Wkiui`aj0L6Vb}DZUx@o>w6e5SzWra4eGhb4i@sltr`{0Th4uHGzI_S=f zSC}8wWn)(982FY~HM;H)G<09uO!}Otq`U+x8WD*}KYn_gFh4pN{^XPnJZPd7>6x}l ze7nM;YA3fjQWY<9GhVwo48B^Sn1>?ge>&E6eGVSqWPUuglU-fkBprFlg-0v-N`U!I zxKqf4oqLQ8yUIcxbNCIK>5vjRR!=Ir5@CDVRZR<3Kp_ z+XuLKzyxp11}eP~(opV+OJ6s?@be`gvJB{1g1Hv}+>0`NkBJ*e1V=&PyN zhU-ghx2Lu%#i=7pt_pq=SqRbW_yN|_O7W@K8uwAZE6q7=EEBNQrRS94^vUKAthZGU z7VbS=FnxA*ZKyA;g-gMAIJ5i2evwmSI&U;#M$a?w3^3mlY_u`eV_59z{ zSiKLgYl>gT@&yz#YM)jtnid*iV`72DU}(xcnT*=+edQ9~Dt+;*-@J}3I98ayu0L`|GHqKnF*lif;b&sDkg&Hh96l@&kQ| z8P%Dw)BWy$0+n}eHy!3%cu*Dk>gJr~lm`uW`-u9QYR|{r>QZyKL$BZE?@5dM2@f$N z0;SJ;UEyNC-%Lgg$L0}~tJJkErG*t%4{S`WB3BC|2+5`jshj-TI{lG>4Y$!hTYuOM z)|(C;6&%+i?mQd*Sa9bl@9ZE}OJME{K`6M`hg+%0H9(}^FE~kUu{*#^g<$9Ms|Xso z(^d%%nobby zA+TB$j~b3i2y56W(=BUI79?ih-CxN&&FcEW{m!zh^*yV`?cc$F%GfJvv6N&3unv_cN+_D4VQ|lUrrXETiV|9(1==b zRokF#i*3t7ZFOT1}?Q zX~jCwLfziKAn#ONE z6fb^(LVWd* zmo}>T(Ajd)__f31?YFkyKR@6nLaEb%7Bk9614WK-`b1QxjrrM2+`2yh4=eDXV^IAq z!bbBA%+>|Xf$zTl6Mz#!MQ-e5cX7w z+aw|`fn8nA3+W}7qU)2>pJbyhSfuDPNiDp+|J_foY$=7o#$?A~rip)i7_MeNK)#yt z{CQ}WPL-O^&)JlO?e@|7d`a=FDdrEQnCqH1Yyt_s=2v;2mnNvQMksOkDhK|~sXKbN z^HR=5(^0<%vXOBRyht3wnNm6;wM zn#@gUhpYHRn(Xzu`w+4V+WP;n7H#rs*UcuVj7=LZi$=-YG&I*|HN?N9iaP%*vE8e0 ztkUmPeafG7Me&H61a{MI#Ck*$Mc~5tVr>myRcB;SvR$8_ZaS^l$d^_3;_i@x4&LWT z;;UWKs`j#dFEpYX=arb6R*~=w9X?uaPubMih&f@i=?n0t?&~iYeLpnLb8B9h8%uVs z-)P{*=@zF~)-(GD@LX5BCoor3otwP}{VPQrwtc|5F5a;y*QPZdH8oIrbJp7BK3cQN6W)EyHpy4<87im;&mg@7W+{LtbTBIIm2Y<> zNPk?DYn|wR05{`h8|s4`SaG?=yvAHP+^+YIHS9T7XUTs5Ds;~X#iHQi(cl|R!l3*U zlCs4EOP`!`{(MA$du}mWXMzu&R}3U3eV8kzF*lH9X&=J9O`Q?-mr7$I%P!1DjT>{w zIMog>-+BhcpQes-J9K@9mBJa}N-^rPAs~?7JTVY${V~yr^+8 z$CLX;1){oTWu!S>vWmsz3*8vPiv<}>V4q4Fgg_G)W+Yv!&oZ*!Fq5if?(ZS@F$phz z?AvVdO$k{oRA%N7QwsUPf8RwyVCU%XA0<}6S+)&f?5M|VdJ+C)gTw697 zdHi6W(W*f7vC^tQXQ55MQ6=Y~M8C{~$Y&)1#4_gnCC&6rHbGQuyno0l%u*i{lYzof zQz@TTwKyni)2+WXi{K49f-=yJ=eqUfx?JK?AV0!fOcFuyh2r5b9`FBkfKI{;l9HFV zjdP3TN|F~!Xob3yhobCM*U^(?0^fZVbG*96>~+5FcP$et(BY$LSqaH8QnLXkzooWp zZkKud6gX41=*L!)ZZD}7HbwIk-)DAb?k^Y{zb);Fg1E7kUeu;}(LK_UXU3XJo_cI= z!V`vAKWH#0KET{s_Z*xi<-<5cAdP;KIeVcCM)z7vdG1&xFRBIk zG~>jd#6Jt(UJ57vv2)X&)RU$py3DTkl?uI!9v>=#5uePX%L^0qEWGjxY(&Bm;!8g0 zoVT}E${7_p?LJ}2jCnbye&&kgfb$4N-p(?_um;b@A%t;R_)hg{xFIRqJZ2hc7>9Ym zBf$E{=q0f`NM765OQj-&0j4W8UG1h@HgLsLb|LB8&JV4dkJys^6OQfd+`dp8Q^WPn zz3@kx%@<4JV(dDmRN}Qr_dAR9VjJ3QS{?-_5l+K_zK+7|g87c0rMY>Frae;SZEQUz zSMAZ>q*3yE^}7`8C+y9!fqSkuk=~{(MfD|XPs!uGW$`4JIRvZ!%XX_=&DWSq8o8lL zJ+~K=IcNsNPE@>U&HAuo<*Ftjb6`EU>lJZqsaa@FFNR_6tKZ8;yQifO-!JBxh*TfH zL@d2>MgH6!D&FLcfRZThkzoC!ReAY33x+|`x7H#xau+%warR6%mXnXN-fglKNw5zg zQ-{LP2l~yI9sPxF>z|<{gP<3N%J8y#FBLAX>$MwPbP}-G$m6qr;(#YG>>S=cF2+C_1CU%%4z#86Er$7t}>aaeec&3MP*+d%RO2?U7nSoJNV@RIx4w1 zgteYIX6`3^Kls4I^;~zrX0~%@wTpc!>-}-WSo|+jJZ}awu9}9+8fEz>D;TwSIM85j zFO|85Ol{F*!<5~PsIdQ>v-!;yiLz<9}A=HH&|SkuaYEG zfikZovo}GIKoer5&?t(a{kVBWG`lc8!MmhDtxTw!k4IWNtC|uutEBz-gn>3@GmYGlaxHL>)656>zkeK zwD8*vi78toR;(dGP4$zYfeW!;xwj_!e0J40tK^FJ6MH}RniKjjl|3oEcw-Rx_VT;R z^5fl~mM=Z?XXZ?A@Au<;n^V!lh4Mk;IOBrYkQjvS_~lEyPB+SrguCh#ytYQaN*tXC zSXSLmb5F7<_{17}PMT{+rZ>TF?{C|&0P+f|2Zvj5!jxl3lj)=y_tdo;X;CcBwgVLP zsrG*ur@B!hL@QNood2L2a-Zk6?Z&}$%8C4Ej8@`zF(huf-4K%zS>y zo^q3XI_3RJxI*>jopUZ?jXyfPZjAd3NFQ{R3%9fFG}wr4&l)Ef>D`EIo-s^8eklYL zG`U1f+mH~KctXU)oHs+F^WCjCwPj20(lsYwUaxv;!w(yCu#83`30^#yytTVqrG5kRX9WQ-W`p)=;-mMmI$TWYv_i1QqyZO_kMIp}k;GX=qZM@=}eQ8|G zA^I}pd{L(h=0pkHI;IHEi{UKYv48NpgaJ8pIK~UrmSl59?CiJDWW}19=kQmI4-Z0m zY7`F%zWY;abXnr#xl7L6x_Irr&?$Y7lf!-tZXe4Q15YxwM6thA|IehG{{f)*1Z_1kN{&b~+EGk7^oEPbyVbb@R&bN|dwl)GQaOEd+Gt52fgwsg*nTkHcx5U;hf| zcoyG9$_UO4`3S`lU8;_pNtj@jjMo=FXLbE&)Oz1ITCayGA(iOgiRcd^R_N(8N9xpd7&uKN}f@@aJ&az zd6M(ftg-@U1#gkPXJCc-`M6EW$1ePWPmG?O8xD*3kEGnX z*U!sT9bbqn?XlqSMM*dlbgwDd@2GuOREPa((sg&*GgxJ9m7u)e>8_~C()rx#QGC>` zL0%#}>9*8YrD22G)Z=aD$5(ZEpGPy^loLCrs3xbrHL$57B<5Mo&_goJ3Z#`;uwU&n zzz8<_`wR<6ZS0bRv*shiKHm4bBFi?rw2?IKgqldm_l;YgoCJ%w{4~C^ra@e4cTmuBT4tzeE@i z0`g5?d&05ENtF=QR~e$DMFZ}x<{mv0^K>GM0bp=t1X8b(%3L(X3tUjf&GBM#c)d!j za&j}=-DC^3S!NHnDOGkko+GX$Cp=`LrrT`O^gF}6wX*m&rZj7Q7L4(2ly=n@$4 zpqgPj<6PmH?hj-a-6yfra8I2Bl5tupsG<&t<={^CI}|H3i&zA|sAKt1vq8CS~Zx zbgX8x7{%Dl$diknNx)N7gr0K?q*;g&njT?D+03ap0UR7j?vYyLS;HQCHhlvq|6Mnlr{DF<;tx^ zSRlc*r|zHz(#o$vag622B^A1DO75eE1@tg1NAwuc16J}nWsprQt;HsXEk3IWyhnWKu4wV7a7!^+Dk@qW}%E9E#W z7EW}!%$6{o_>B^Jd!>bDpBb$e0o&DE*fm?AXFII0%jY+y&deU5hKt^4?6*!g{G<0|)DTCwVuL3Iwc}aVMxvygob?TLM3)ST< zgDLb9Oh2d}-BtX)N19Q}nfK6$oF?-oa|SBMnl~WcVcGc&`qcd7#87;S6_jF+STtDx zw%g?9a$+-tJt-}dHRB91g(TZhE=|F(5`LD1^Pt@DE0Mb2X5lPo zX%Q1R4l#*0TZ4T*4Z%*UKWWiW2wBpDR3L2>ZU(|YD;S2pcwQ`EEh3pDPQgPUs2T;y z`=ucvN3$b)Vu-$epgLCupTq@%^ht|oRtR;J2(iN;#iY0#2BZqa1fk9==%Fx)v~$75 zSXKxLf8LD4^dvyvsVpu7dUz;|nF1(+E(N;m5CMU%y~zcCF3*7>)D*(FAyf}?-}Nb` zhe1ffQ3O{>+j+_jsh{Lv8K8+a0*V!DHas{Ru(w>a%wUO7aKUG`L&{K%@N*B5Ca4)g zZ6HwvXt*?%`K_^@s~6!T7d!HFt`!_UEU5>>Esz}9Aqq*2s?Y?6u@*QSL4y;5Ty$}8 z%UGxg2A@7eJ7gdPnJXFR&AruQM<3mEfb8HA=qr~{Fo+lk(-_7xVo-dvoHq=xxN=z8 zbPNRs7+Pp(g%M)ZgDYV~Fo)Q1QF;WJE-H|s453EKhWt%YNmFWH+V|_7y8AlxU*9%=7-F}N zGqk5*B9GNgX{77qo=^Gvh%vse-O2Y$)S;vSnO9fdIepnZe)d!B9)nV^N9!2>%e}&F zB;{-|D~uAl!y;KqoIhdpM{ss6+3Pi*31@Qh5%rF@o@bA+qBefE@0~!bjBO$7)Ogo^ z!x*4dV}){tD{mA~sNON;l{?jK9&RIhsYPbM&_SU*E}32R=jPazE8bR;laG&1UQ^Um zu$wpe{QLf$XoH*Z8qFJb@*;jzR;*JM?o%o7V7o9~7)9Y0zW(o#ocM=tv;%w3ayBl? z`xt#r%H|+GEXPm%gTd;%Z?5rN>oYKAI{)hZZ4jDlv=qGbC1^5NhE(Pr6IG9OE7==s z{*q~>i|WNb7`nlv@8kyRvzPIYB5uXJM@UuaV!VoY4}5{fic2aJ`JYUyVF7r&^aJJi6L%cdhot+3orwg@Q~}eR{jg>maJ`)D487yz zdPPbCgnCA8jBt##R4R3-zGU3kzVEr;SnW;5o@_9iUy$UsT_)qM)Uh6~ms~dr8x93l ztSCGlWM&)H`h#fZ+Rd{M`;W*|GyGrBQ&<6wUCsY_j)_FC_)*}nvzsY;itfIg(!9@K zvqT;Amrgv4UH7_q()64(_r*cGBW_XG%f@#iJvm6apj|2zuqn%dL6DnJ!YYtGKLWvG zDPOAY7GV0qUWRL#p~xvtV{znND?giBwEL|pPN259n5one+w!aYBNKp}4Y@76imLrz zkg=ne<;i`7A>bi0n=JVH-6&)oZ*po*c{HTd+_Cp2t96yn<5=y?NHd;MGRE}LlXgbS z*z=l*Qwc|$BZJnD8}sXrjq)BF7CE82p#j=`Tk~rQ+jrdwIlsS^5B&v<0PRW^@du*4 zhdWv1(aRAGXUyBS#v(WyuXy05J_Pf6*DQg;I_X3t-zAe-W4?(Ln{Pq$Bwg)vmcgo9 z^<#X9e7E&VyT-}u)*tpB_>}*aHsv4XS}#!^dP>nN>)?%ICed)H^5`T>BdNQS9+eKK z%Q}9>ibgW>yXDMod-vWio`Q%J43HVqH4y#WVMipnPw-Su0cgwcNgAd+XEV4H2mna5 z_vz)rMnFR7ag~Sy+B)DBbduocksQ&!hVJOW9#2!&&{$ertl8-j$N{fl5Q_tGO29M{ zyZ-ic$*o(%SP;_YwD4y6mcw;$)l4@`j=0GdPk?}o*gG|)brD!wnMsIlS|C z$%VjRh$PxpM8gie{p;zn@3kbb3ymOcXNqU<+e+u&Vc_Ip89b|$yJgUG=JG~VyC;|P zommO@CFc2;;HMpwJu%o~-GB@vPS{ME$k&_k{wXqj>{a`A=jZ->Tfz1x?mOojK2mtYOf0U2ez@Rc<@mU7|MvHTu?^|* zkLSO0&FFobGrbjcu*;9?QBav(X_rts@88nuaE`JkqwTJCwEvF6Q`Z@R0G^<`=CY&b z0?EUb1HEUT`6PF>CrjK+@;jNc-xYcKgnU0cp|uVIQ;{mL7ZE{a1XV zZ~Kq_sCtXkeDIIpw9d#A7Fh$vjz!zX=dWtc@T7k=|MU0UAD439-`<(2=ln-1o@L7M zXye~&&Hg^`^~;0815qsRM2ZX^_i?{OW*;!v{#}0EsgCDTn5F8Quq!eR)=xd2NJq`* ziz-On_6~%%0ZS}N$hl3%JBYXHO|HLi z;g7Ksr=%2|z1gO!sa9v+ ze=o9i`?pmRW9L4Xn+Yn@wcG)6UYvW^)zGCnc>ID`~qM8GyuG^{&PjsQB%82mL`%`PkEe*&47>(7E-vv=ayQ zglSWs{P+fBGN!>mZu?dT7@Ix0_Cw(x$P6jb47(HgA#5XS`|aCsVE%q>^Fs7yb#Z`? zmlyqs;!RFY>U&b>QM3uvqd!0Q9|FI&f;ISy@0vg4%85}Cp8a}C6M8tB<1fZ>=e*;M z-qGVr{-xf}fy77$=%6BRUjF?(2>7xnUd1K=H+G;1%Nmj>Gy$H_ATt#xQnvN;8u`3I zVm3%r4g{eWds8PGy`KXU!A}o9bpxeT?wE(ha#zdkLbKcSXip~LaF^HJSAiMU>>mO( z!}9s;Y)izR=U59cuL2srYwK#!Za|I*3|VY_l$-^C<7+_Yo4o(i(wWCY-L-#wNSYQk zZI)7uN@QQ7Y)vRjSt2Pzib7;B`( z%frn1o^ze+I%lr;+hoq)gnjpJz^&1+2!6%Q0XIV74Sg+Ip#d8*vm3oKnhtWgfp?#Q z6CHh$nU;}km0ORm$^%xJXmah32HSilet<{h6Iy7A_Qz_0N%cSDr}=LRC`6GGCMx~C z>izGge7|*S!vXLMdIODIlBK#}ktUROd*)bUDPb#O%#$8T)<;j^-Yo=vpsp>b@H zuqpyYBWq9D#e7jP9Ivj5K^8D>^QG(0Q}AiXINY)1Ld9Kl9GZ#q`&n388kTx{(doP1a-S5KJfN@fG0dw^nRF&32ha1~0eMdvOHK z`C4)leo2;u{sS=gYcar~y1Spfd)V!w4f+5_3&%PE-Zn63d;i{dsC1jH!7yV(W0nf@ zd7TIIysPd1Y)r8Hvff8!qEeV^K#t7VFpq9R5Ycr~^guEblau>_If^HPj#!Y)(Eo>} zk3O$&xy4}akztr=2j!Iap&?jasE=h1gBL=bMvG_ywcK_LO?KFdaHIx4}oM(Zd%@a?&Yt9*c&%E@W5=cKm* z^a2hMkQ@8=F!z2ywEj^3?-j zc=VTo{7tK6O|mc5qcdH;@vz%uFQ_ZdZxSdM+}+*LfsP*CjlN3c*J!B4R#wX_=1HEGmVY^Am_Bj9k1#HFg=2ub@{1HJyFnaI12bCb>km5+e70GA^g zJa2ANcnhFCkY{bqd)Dlze4CrwDp{|aV%F{=*~j}1{jpDK%z$wctaBeqc~JuG%n>rs zkS?GFft@p70(POyfNmDpX8aifVRxPO0|c{E#3`rc0rRYF&fj~L{<>VsH+MU$be_5B zn>tnSe*(U&!8>qXlZ9Hm1_W@ssiGQ!E2lOA{kSf``T-t52cAVDG zSWg=S`LYW#F3iu@Xt*S7D!`Ln{JppgGJEOYK9R+emF3w|ljb)fKJ#_J8j`fo@TuaX zQDRBM3wUg>7^ISf3h)kLS^y!=(#ncPmc75{#8C+HctQw>8^SVPJZ2%NJNP0LP=plW^=qBxH-O&* zvgi#DNEhZPY(d-t*JbVlD4a?dP4EH(Osk_F>lR?bB2Z`*F!cBLlSse^0wo3Z8ywGuSo3zI_YM7NRnA z0`Qx@wP}BSM)0f_-x33R4=_fhD~qLQwL~AHM@ZygR4KUji0w^pSAf_7o91s8r z>SwRlmIqbXlN>>xYMeswA=E@yO-;K2`z1DQL_{91?I4i4W1hx(FMxNU&AzjBhL$-w-0P_K&1}-^Q?UV0*;0*%W1eMM0pyS{nG%o#Ugc;=m zNS%5I@EY+IBk#dV{Q|6}X?XzG%3M{Ly1#C%EC`somqoB=n3|eeSXdx(5|cER_%cCm zhm{5oS)yL^8zh-<7op$TTDp#%_?aFVWTglcz%@&qaI~|tv$8rM?ub7GY8}_^-Npq@ zzX+}X{(o>o0;-BM6ZE)8NK5m7eE!^BFp8px!t}X%zF?Mv%pgilykNhwymZ**H(s`i zhK2@mIA|mQv2cWy7}jc4RdkBSuY2`bTtz))z^#Q!{=9xZi6HJV9pR>nhsIGO9WJEOyPrM~)iQo)I*ggU=;p(XPl4nPl)M2MKu(TxTLvA`5-fxLei%B!?5g;;d(&Df=$R*8G?U{T^5J3>7}&@Xxv;O#4kkQU20z$SL!%B{jaP7;fV|~3aJUOB-SlbQm*?^_km7=H zv=Hty&(`LwxIFOy0ADO+;FopPXUDqmC2}HXz)k#-E^l`SvMww^;9ORS7k1&oPeK)5 zr7$BV8~TWuFSZdd5O=&=@DHJ_^QY_xum@B$(`)1kpdP-QFKgdl)Vb?_yhUX*J2?*c z@v7Y(zYDvTMu`Z5K@q_iV%mb+sPoG7&0Yt9I5Zv$%0fNO2Brk|2nc_sVM{Fo_Yem^ z;1w{hSpy(NWaMJH0W-oKe2oB-K^};XDFtZmL z7UHd$ne~F-iKX^*Am)(sfh<#CBfy?e@MI@xo0!Dbm|--~i4Pzj0cUARGqC-Z)dzAj z@laql1yyb{4XybiC36=PV#kJu35Nvs230Z^`AV%p2@j!M*a#l6AHl;p;3tE`5!2n7 zuIRNejf4^sEj?zC+^}&uabCu}1U5zsl~2a7DLdphb!V2am0%}8Fy(XN-EdTvyw?xB zm;h5(f-K=Mcu-BEr)0DJHL{n4({6%<$wLBh^cSn3qo|4@4w z!$>`W*HZ~StH9f2%57484cR^p=!^i^?Q_5wI#t9cmsyOfk!A5>vFG`6f5nc1S}$?@ zd!B77`{P>w_wmawRg5wNzzX z^|1yvm2cfAOJdXTd9Gc=V)ia=HJ`zQv92O+<3|U7wS*SdOc>>;8WagrXrK-29WZ>n z+Bl+JsCJB}xK{U;+D)ptA3&u7+y|FIMCIw}2N%P$=iWi!BIim~m zkhM%Vh6@Op5?>+#_CRt3M;t=ekW2$AY>{gMd-lo<-0!h#NMxOm)9PiGz>o|YNy5vw%7Kta@H z4Fu;MNd2}y*lIZC-SwDT15BSZ4){~RnGP`RopR%tEU>V-Lz~ErP$sd}J>J0rP3WVg zUr|N#302w(cUt(TQm>_na~bi!W2-5#IP&nbA|8YkOXM}ko)9H)r1CuC z_u$}@r%wq7$`wOkEIY2@KVX6{!igDk@=ByM__XGAtbU(h3>YqeJ=zG{DJrrzkB~>_ zb+|-r;6DS5D}-Z&_Q>XiQ4x$sTKtg<{2pe$Cn%R8+HMdP+)-WIf;>HD=Fu zCMKpD3(E@MKUex<}5Qn5W+262}7BT zq9T|4sd>*%(V)so)w-;^6&C=?wrP)^(&Uv86QfGiw-ha97O`T2K*aX+ozf4<;d6R3h9L4oqZe4gS3bPc z`);}D8=JzUB-PVa%$cFrwT8k}hVN_(|5m*@izQ8>hsO^}8>axrhKsMycz6_Y1^|CF zIn!>NCpZk|6eJp;muco3p-k!O00)|H8*+n0XM1{E)=Mb%K8OavHs^`)zuz-GJL}j` zSXc-wI?#V>E6<2W6u~}094{e~A_-7L0YsprzI@S>j!IW}%1uV98K1KjSQ+&`fw8-Q z9}={G)MDO^9-R`Bl1_C(c>uQlh9`YPIY={z9UEC#>>Gf6_a=AOJlqc)KVgmpS|1gf z9d;C$5Y=8ZBe@MtqK2u%V5+)#6-tq!;fzA~I)&-m2!D`x#G~&#A;&+~*8>rg67AUq zMb9R=agyKoL=~4J_E${$JUlYucUoIp13`{;CN3)4^eLn!Jmk9g4(`ZoRq|$a>M(a&@ET-Unt zV4xG_y%wBO^v>p8jnVvY4YmUarD4MZ;FDhHq847+eu{%c3QTN5ih-GkZ!at^N}aeE zgp9=Y$6K+edf}n$_%>5^WbRe+x>fi#QX*sK!Ka{*A&n`(ffAvYtrl2-Brg^LM4JL?lyS?X3%SDlwdIL%h_7paROcag>y?YM&azm4Y zg$MbcQJnVISEj3|y%4{_!i=m4Wmq|TRgXRO14v@>jpu+30%z5qLaZr-Q&h+(XGgHu93273Li}l*p_Fe@B<|V1@nXcf@D~Xx z8X;LEk?3v2ujGQiHo#O4OCWaP%ZvA-k{gcpZ?NOM{Eq`p)Q!j)u%1hR#3BgSHLOoj z@^D%=jf}ZH{b*%35OWP#1pvm?!MOeXyDrfQr4~dd{UMF|{REjt)fgj?4Z!nVL0ppyYT8$d!+}s^#3}x3O`>Fk zri+V9<%QP}7J%&EC#P*RHbrK0VV$JLKSJp1z&Rw!)+9?t67C&QfIRh@`Gy?WqGYN` z*l%da1z3I*#t)5pg$`F?2@xauEqkD4vO>64JL4^<7hDF-ZEXi(0uUFEw>*pIhHpR> zfCDn%vk34b$lnk5Ybjt#5Dp1=5Ptu*PSIP)Fc%JVYNWof~|{OJ`Q$TFo!n+lbDp$A8@(ZFBYMsMXV#vip0-f!MG(^)~@bGILAuD zFTxOFtiq0543txKcuc?QhSMq-IQTc3=~f_VJ0mEKlef9?ZsZ9NAK)y^@Nr9f`_2ah zANbn%fA4T2*f>R0Wa;PH+S>)TE_2Gc64IRsS5LfBpc`@Oh9m=OgGNkn9023Q5%;)z z9XD*)xN#KRLp!@y+1ZYG+r-PT4!V=Y^UKbA`7nl zsv4oD*7gU3(%ETTWe;?r3z&L9X(Pztq#f3bt}a{lN&rFu9Y>faz|co=1Su^&gCn-q zmKIDkub!P-iUt+OyW|^;6!nm%~2QGIA(;TU(*{ zThYq~z09}eB2b;+3~VvhQ9(*72d8i-IcxsQ)Zn|B{GY9j4Ni8_2)Y|CX8FaAgFP0Oj3 zhKwyXH4As-6=ax9&+#V)iG7o(BRS4rrqg3GhGBk*s#n+F!F0pi5GNS{rZ8R9>AN+} za&Hx^wa<-S-4orO3)R4YTj!4-(PN8Qo5IV70jT%;^!`267~&hsXO~>%j7>~7Q3b=) zq2SPcUOT_7SrW5oIt{dWY!=u%8!u%O>`gq(r#QiFgjBSNgS(xJy7#E~Kz~1HRmkOC zedKUvJ~CsotN&xd=^F)$P?9{87gb$v%$>W!52ZaiQWs%<(={ ztIL7_yJB}!p1(Lr`;r=KOW47LPkjbyQJfV%#%CfH`*LMXV%2kVqSxK+mr2lH`=4)C z>w%3r_Qg@b>or~}KM3-aL~@&pOaU7^s;)tfkbL^=?{5UTvCY|>&8Pc=-y1C~@Pl2R zj+ZaLfG6{y5`Ro=EEYhJ(FT{#$M|=sr*01l9}~LG`h-I3{jKCY?ctQ3kX4kG&@4Fu z8|(ssaU_;FVdWOAOBMe3Hrd7T&H3jA()T0{bT)CWzNjx!xoRL`T12N`;rq*l=Aq@& z%i7NA$K4L!n4)fLIi^e3K6og|qWFT--oQzpV`O;zgv1tRM-zabT=%08Y)mFq#!Qpv9 zhsfD?j79nJiR&t)eu}>RuxG1tSD3mv#NV#2GGt$;L%U=*VMuXRfaM*h9sF58Fo+@X z4Q?57+pj+CwssJTFna5Z?2I^hLI8Of(vsJ*#vsgPB?S>HZ~g^taY znDA|bFj~b>Fv&g6(`;ixNK?FmosQw<{DDCC&{U5v8b-4!+k;Y1RUf~Sm;A%P`PaRn z2D#e1J8e!E?@LyvZxs?`$}~z6h~a4o*waMmb8vHTm_%KGo2$zW(cf_3{7_554dxn^ z)O}l60|gu6b#)!0h8THTD!fu32!$%JZBu1zi4+VKZ&CDmw{?0_*G#r;youR>&wlb; zw*(oI28#XMWJki^nRONC6vFJ*vQPyIe_&6-EzxHOyM}onY6(;;ViP`|k*t^{cm*3f zA}eA;*gJEFA24kYcOL+g(&EOgntI>I*-3`K$oPJ)*E(2WIj!xdfbm1Vkj*kCD+Om= zj6`Bce%eGtGoInNE->}1c)P+XD??t-{Ns{Ex>c#bNKfA=?w1x{96)*u(tn~}+aHv{ z$M)BlIpAgkCDZ+$>XhNWy6`UNHaa$`D;5^P+3DiUi#T#=1dA2t$51K$&AJyjSwSbqhz{k@}- z#u`>puTQ>g}f4_QFwk$layLy z_4qROhG#^LN6s8hoqDXvi|fH+myxq4n&D+55U>%Pyl4MguB4ImH!A!86xz9yRQdLl zeR*(X692QH;hSx*#7QKcQMZl0+QMpKN0@1%&a!yf62>xI26LCP+*E7MaN~x!R@PrV zktgtza-r8niA-^==(|Cu_&Rya%ks-^TSRUoJ@THP%D0dbb?oxwd|_kL=+HO0a-d z9Btxs5Q~}LhjY1teRl_hy=0#%3Fj~=DKY6!$I*?ei&`J^~?k1%6V56HOI1$5XtpLUFkCjLEZ%|Mc2Bhwh( z3AB_Adkl6uv8_soz7#!`dQrQvgl4}KHxz@``}{Ey50&W!$y84&%1&y{u)~6OgV*Us z^W+q!|FPI7nm;i!GUC~AGBQ!Oh}`>PGPB3%qT%3Y1D)Y8s4!LvxoW@p0&`@ zQw_;-3Wj?h#@rjr^Hs53;Cz-W+>)O7Z zJylF`m+{Q4@TKm)`T6_-DWlTE3# zu_~sHHts#HT=PpeO_rr+$kNAd%l;h!WL_N*)+DpC0li%g<{|H8+2x1Q&@Y@B{N zwat#H<GP=?Xitz!1-cOpil6`wS*>pEoPvyR!R zcgcq9-z&Q)?CN+d7xUQs&Jm9i@y!wQm!@8Ij4Dg{&HeqG)iLr>Q@K->LL$kpBF%jj zS`~lkq_S8dJL8>ob&@9rnqQ9z@i|5~Tzbs@Qx^nhlY!=tA2nWvJ2u~3VnOf5S4hZOzBTk8Y7a>g$uHe$6e+X6gOnU;jR*RW^3Y35pU~Er)aA zdi`z<`9k_q7TTuLSCn_(3@yw_dLLDPXu#-7MKnX1yeIwd%p%v@^`vW!9s1^mtURY% zT6aj?u~-?_vJHILkr|>kw!osScdj|ur7$KUrt$LTZ&&l8>H{MDiyr-5T8u4@8NUL2 z@AX;|NkMhs`t3-LF5?x0$;n2IdtW=wT}l0(xg)@o)1X&K>qV=m8Od&ca1?1=--=OU zxODIUEl=+G>|vIb^gg9dEv{*`qdLx07*MuJUU|QF#cV8Z+yA}M1P>FYIU%um*2i-i z{;RjqXg=|{n*C~8OjS;uq-0Ja#lDo8t7=~n6CD)JW6P6e8hfzkHu(>!O#U7J f9ukQ(_iN3uZ0*nwr?({IUnDh^lgb&i^S=KF&SyRZ literal 52406 zcmbTe2Q<}x{6Fq?xz@Eat`V}5ePt$OlTk(_GuIy3D|?qsA%qqsWMpr$QdAPznPr9S z#Q&-Ke81;+{^$SypYuPRPP*>B@ArMZp0DTg`54c8`?9tw83`i^9v&WEC5WA{f^T5NS<2wF}P}k*L!^304Q&+mE?>n;G=%;TmRJCA!G{kBk zwis_X{=)F3nMxz2hTif@c42xIm_F?1?bOj+4 zV`F1EH01xT=YKo%!maJe!)=MN?e=I2)`sJ^@ZFdtF3|gX1BJYI~-XV1Rr?w0hJkNe{LW1a742(m)?zvo;;ed~;8+S}V3DA4Ke>8bVkVdm$zcd++! zU|>MVwC;%y&7UQ8aKnWNnm0Ar59B8$C0TVP6q_~re|V(K9JI4)%7y&1AI7IKW6i@H{AbS=78ZWA{r4shacny$y;nxI1`W-XRaD?D404V2k2kIGX+MVF z_?6w;43V6ioQ{qT_);E+YL{^mx~VA+4i4MCY`?<;zrftT`z4T!hHH?J zkaQ-nWaZ{kkm>8|@9ynAefrek>eaJ9Ndz! zCH;RoK3mg0Q=>PVf6u1sO!zH4kobGH#JC&x=CfFXb}dJ%oXy8cUc)vv9v%L=IkH*x z_hfcHksICoeEnwNdIx=f#mTZ$xc7wyeA>ix4SyEnUf~rIo!_m5tTO$iDG#{9$yuZi z))RwI^84!j`MtqRYD+8A&4%^8h1_Nm>~4DS9{qjMzbAUoF0%P>xuV~!V>}{wzaaSI z{MA1}le`o!F=025AOCN)V8#EYiGPRc`63(A)b>v{fXkJauro;rsbQ(4^l2 zi!;}~!rKXxooc9)`!k7hE<+{biIp!ZG@knR6k6d0{aUFmzFyt=`+UNr&t%}vfR3E= zWK&~;`Mp9aaTk}an~Ni`yFYV}#>%Wz8;#Ez=zU0(JG7hdJS>p={oHY= zWP}?YyYg#$?WVVP)v_~c$Z2PFym|C)PEN@Mqd|1HMQa#Af#Zku znJza&Vq#)}QZjl$lQZ%1q@U8bWn@e~GE2Efyu6ggzX!`FLJrxrc&PU3OEZD1PxJER zZ@nzsOKOd0l6YcksIRYiAKT#~H2%Oe?tYZmz;s6}<`$23HiL|BDSWD}8$A}^KR%uA zcc8ho^J7xZX}Gl0WDbsv6&KN!gM$MzwI~`M?FR1^#=+ptZ&#e0oZ{`PoJYB}Ag6HR zE<5W%T5Ig9bQnAs82s_*qcs|;^Ip_i#n>-v$e|4Pe_VO1iI$C=A zT)E&0dE|v=5ko0a(NqOUjUFGLs0*F#hkX6XW+17$T4JSrVlwC#*^nR;hqHq`X11lw zs>|VrftUog#&`V@rM$6mW-1PEO6YnOdb6*u Ws1TjPC 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 z Date: Wed, 5 Aug 2026 17:11:21 +0800 Subject: [PATCH 2/2] [Add] Full Body (84 joints) as a runtime-switchable mode The Mode dropdown becomes Off / Upper Body (70) / Full Body (84), switching the joint set at runtime via OVRBody.SetRequestedJointSet instead of fixing it at build time. FullBody appends 14 lower-body joints inferred by Generative Legs, keeping the first 70 ids unchanged so existing consumers keep working. Drops TrackingType.Motion, which had no Quest equivalent and was rejected back to Off, along with the code that existed only to explain that. Also shrinks the reused "joints" JSON array when the joint set does. It was only ever overwritten in place, so switching 84 -> 70 left the 14 leg entries behind holding stale coordinates, contradicting count and looking downstream like tracking that froze. Bumps bundleVersion to 1.0.2 and refreshes Docs/ui.png and the panel reference. Verified on Quest 3: 70 <-> 84 both directions, all 84 position-valid. --- Assets/Editor/BodyTrackingSetup.cs | 89 ++++++++++++++++-- Assets/Main.unity | 26 ++--- .../Scripts/Quest/QuestTrackingDataSource.cs | 25 +++++ Assets/Scripts/TrackingData.cs | 63 +++++++++---- Assets/Scripts/UI/UIOperate.cs | 55 +++++------ Docs/BodyMeta.md | 32 +++++-- Docs/ui.png | Bin 112571 -> 77144 bytes ProjectSettings/ProjectSettings.asset | 2 +- README.md | 5 +- 9 files changed, 212 insertions(+), 85 deletions(-) diff --git a/Assets/Editor/BodyTrackingSetup.cs b/Assets/Editor/BodyTrackingSetup.cs index feeb275..40476e6 100644 --- a/Assets/Editor/BodyTrackingSetup.cs +++ b/Assets/Editor/BodyTrackingSetup.cs @@ -61,6 +61,10 @@ public static void BuildDebugApk() System.IO.Directory.CreateDirectory("Build"); const string outPath = "Build/quest-body.apk"; + // Uses the project's own application id. A local build is signed with the debug key, so + // Android will not install it over a release-signed package of the same id -- uninstall + // the official build first: + // adb uninstall com.xrobotoolkit.client.quest var summary = BuildPipeline.BuildPlayer(new BuildPlayerOptions { scenes = scenes.ToArray(), @@ -115,14 +119,15 @@ private static void ConfigureProjectConfig() /// Fidelity=High is what actually turns IOBT on; Low is IK inference from headset and /// controllers only, not camera-measured limbs. /// - /// JointSet stays UpperBody: those joints are all camera-measured, whereas FullBody appends - /// Generative Legs predictions. FullBody also needs the system-level full-body toggle and was - /// observed to fail startup outright on a Quest 3 that had only body tracking enabled. + /// JointSet is only the startup default; the Mode dropdown switches it at runtime. /// private static void ConfigureRuntimeSettings() { var rs = OVRRuntimeSettings.GetRuntimeSettings(); rs.BodyTrackingFidelity = OVRPlugin.BodyTrackingFidelity2.High; + // The joint set the app starts on, not a fixed choice: the Mode dropdown switches it at + // runtime via OVRBody.SetRequestedJointSet. UpperBody is the default because its joints are + // all camera-measured, whereas FullBody's extra 14 are inferred by Generative Legs. rs.BodyTrackingJointSet = OVRPlugin.BodyJointSet.UpperBody; OVRRuntimeSettings.CommitRuntimeSettings(rs); Debug.Log($"[BodyTrackingSetup] fidelity={rs.BodyTrackingFidelity} " + @@ -273,6 +278,7 @@ private static void ActivateBodyModeUi(string path) } RelabelBodyModeOptions(drop, path); + WidenBodyModeCaption(drop, path); LayOutBodyModeRow(drop, path); WidenBodyInfo(ui, path); } @@ -369,7 +375,11 @@ private static void LayOutBodyModeRow(UnityEngine.UI.Dropdown drop, string path) var innerGroup = inner.GetComponent(); if (innerGroup != null) { - innerGroup.padding = new RectOffset(0, 0, 9, 0); + // Bottom padding lifts the row; the authored 9px of *top* padding pushed it down + // instead. Measured against the rows this should match: Mode sat 0.034 world units + // below its box centre where Head/Controller/Send sit 0.007-0.010 below theirs. + // Zeroing top got it to 0.021, and 8px of bottom padding covers the rest. + innerGroup.padding = new RectOffset(0, 0, 0, 8); innerGroup.spacing = 8; innerGroup.childForceExpandWidth = false; innerGroup.childAlignment = TextAnchor.MiddleLeft; @@ -422,16 +432,75 @@ private static void HideComingSoonPlaceholder(Transform panel, string path) /// /// OnBodyModeDrop casts the dropdown *index* to TrackingType, so the labels are decorative /// while the index is load-bearing. Upstream inherited PICO's "None / Upper / Full" wording, - /// which now actively misleads: index 1 ("Upper") is TrackingType.Body, and index 2 ("Full") - /// is TrackingType.Motion -- PICO's external-tracker mode, which has no Quest equivalent and - /// is rejected back to None. "Full" reads like full-body capture but is a dead end. + /// where index 2 ("Full") was PICO's external-tracker mode -- no Quest equivalent, so "Full" + /// read like full-body capture but was a dead end. It now really is full body: index 2 is + /// TrackingType.FullBody, which switches the runtime to the 84-joint skeleton. /// - /// Note this does not choose the skeleton: UpperBody vs FullBody is OVRRuntimeSettings - /// (see ConfigureRuntimeSettings), fixed at build time and not switchable here. + /// The joint count is spelled out because it is the one thing that distinguishes the two on + /// the wire, and it is what the status line reports back once a switch takes effect. /// + /// + /// Gives the dropdown and its labels room for the mode names. + /// + /// + /// The control was authored 70px wide with 45px Wrap-overflow labels, which fitted the old + /// "Body (IOBT)" but clips "Upper Body (70)" -- and a label that reads as a different mode is + /// worse than one that is visibly cut off. + /// + /// The control itself has to grow, not just the text inside it: stretching the labels to the + /// parent only buys 70px, still a few short. Its layout group has ChildControlWidth off and + /// 461px of row to spend, so widening the rect sticks. + /// + /// Widened rather than shrinking the font: at size 10 these are already the smallest text in + /// the panel. + /// + private static void WidenBodyModeCaption(UnityEngine.UI.Dropdown drop, string path) + { + // Fits "Upper Body (70)" at font size 10 with margin for the arrow, measured from the + // clipped result rather than guessed: 70px cut the closing bracket. + const float dropdownWidth = 130f; + var dropRt = (RectTransform)drop.transform; + dropRt.sizeDelta = new Vector2(dropdownWidth, dropRt.sizeDelta.y); + EditorUtility.SetDirty(dropRt); + + // Left inset clearing the item template's checkmark, which is anchored left, 20px wide at + // x=10 -- so it occupies 0..20px. Taking the label to x=0 to gain width put the text + // underneath it and the tick overlapped the first letter. The caption has no checkmark and + // keeps the authored inset, so the two are indented alike. + const float checkmarkInset = 22f; + + // The caption shows the current selection; the item template is what the open list uses. + // Fixing only the caption leaves the list itself clipped. + foreach (var label in new[] { drop.captionText, drop.itemText }) + { + if (label == null) + { + continue; + } + + var isItem = label == drop.itemText; + var inset = isItem ? checkmarkInset : 10f; + var rt = (RectTransform)label.transform; + // Stretch to the parent's width instead of a fixed size, so this does not need to know + // how wide the dropdown is -- and stays right if the row is ever re-laid out. + rt.anchorMin = new Vector2(0f, rt.anchorMin.y); + rt.anchorMax = new Vector2(1f, rt.anchorMax.y); + // Negative width leaves room on both sides: the inset on the left, plus the same again + // on the right so text stops short of the arrow rather than touching it. + rt.sizeDelta = new Vector2(-(inset + 10f), rt.sizeDelta.y); + rt.anchoredPosition = new Vector2(inset * 0.5f, rt.anchoredPosition.y); + label.horizontalOverflow = HorizontalWrapMode.Overflow; + label.alignment = TextAnchor.MiddleLeft; + EditorUtility.SetDirty(label); + EditorUtility.SetDirty(rt); + } + + Debug.Log($"[BodyTrackingSetup] {path}: bodyModeDrop widened to {dropdownWidth}px, caption and items stretched"); + } + private static void RelabelBodyModeOptions(UnityEngine.UI.Dropdown drop, string path) { - var labels = new[] { "Off", "Body (IOBT)", "Motion (PICO only)" }; + var labels = new[] { "Off", "Upper Body (70)", "Full Body (84)" }; if (drop.options.Count != labels.Length) { Debug.LogWarning($"[BodyTrackingSetup] {path}: bodyModeDrop has {drop.options.Count} " + diff --git a/Assets/Main.unity b/Assets/Main.unity index a60e856..0109f21 100644 --- a/Assets/Main.unity +++ b/Assets/Main.unity @@ -6677,10 +6677,10 @@ RectTransform: m_Father: {fileID: 2032583195} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 45, y: 20} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 5, y: 0} + m_SizeDelta: {x: -20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &398004546 MonoBehaviour: @@ -6712,7 +6712,7 @@ MonoBehaviour: m_Alignment: 3 m_AlignByGeometry: 0 m_RichText: 1 - m_HorizontalOverflow: 0 + m_HorizontalOverflow: 1 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Off @@ -18226,8 +18226,8 @@ MonoBehaviour: m_Padding: m_Left: 0 m_Right: 0 - m_Top: 9 - m_Bottom: 0 + m_Top: 0 + m_Bottom: 8 m_ChildAlignment: 3 m_Spacing: 8 m_ChildForceExpandWidth: 0 @@ -35160,7 +35160,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 70, y: 24} + m_SizeDelta: {x: 130, y: 24} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2032583196 MonoBehaviour: @@ -35251,9 +35251,9 @@ MonoBehaviour: m_Options: - m_Text: Off m_Image: {fileID: 0} - - m_Text: Body (IOBT) + - m_Text: Upper Body (70) m_Image: {fileID: 0} - - m_Text: Motion (PICO only) + - m_Text: Full Body (84) m_Image: {fileID: 0} m_OnValueChanged: m_PersistentCalls: @@ -35381,8 +35381,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 10, y: -0.5} - m_SizeDelta: {x: -20, y: -3} + m_AnchoredPosition: {x: 11, y: -0.5} + m_SizeDelta: {x: -32, y: -3} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2037206164 MonoBehaviour: @@ -35414,7 +35414,7 @@ MonoBehaviour: m_Alignment: 3 m_AlignByGeometry: 0 m_RichText: 1 - m_HorizontalOverflow: 0 + m_HorizontalOverflow: 1 m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: Option A diff --git a/Assets/Scripts/Quest/QuestTrackingDataSource.cs b/Assets/Scripts/Quest/QuestTrackingDataSource.cs index 3b68cd7..cfa5eb2 100644 --- a/Assets/Scripts/Quest/QuestTrackingDataSource.cs +++ b/Assets/Scripts/Quest/QuestTrackingDataSource.cs @@ -204,6 +204,31 @@ public bool IsBodyTrackingActive() return body != null && body.BodyState != null; } + /// + /// Switches the joint set the runtime tracks and this component reads, e.g. 70-joint + /// UpperBody to 84-joint FullBody. Returns false if the runtime refused. + /// + /// + /// Both assignments are needed and neither is redundant, because the SDK reads the joint set + /// from two places: SetRequestedJointSet restarts the tracking session against + /// OVRRuntimeSettings, while GetBodyState4 is called with OVRBody's own + /// ProvidedSkeletonType. Setting only the first leaves the runtime producing 84 joints that + /// this component still asks for 70 of; setting only the second asks for joints the session + /// was never started to produce. The SDK does not reconcile them -- OVRBody.OnEnable only + /// logs a warning when they disagree. + /// + public bool SwitchJointSet(OVRPlugin.BodyJointSet jointSet) + { + if (body != null) + { + body.ProvidedSkeletonType = jointSet; + } + + var ok = OVRBody.SetRequestedJointSet(jointSet); + Debug.Log($"[QuestTrackingDataSource] joint set -> {jointSet} ({(ok ? "ok" : "REJECTED")})"); + return ok; + } + /// /// Gets the raw body tracking state, or null when unavailable. /// diff --git a/Assets/Scripts/TrackingData.cs b/Assets/Scripts/TrackingData.cs index 549a44f..0025ceb 100644 --- a/Assets/Scripts/TrackingData.cs +++ b/Assets/Scripts/TrackingData.cs @@ -19,7 +19,6 @@ public class TrackingData public static bool HandTrackingOn { get; private set; } public static TrackingType TrackingTypeValue { get; private set; } - private JsonData _motionTrackingJson = new JsonData(); private JsonData _bodyTrackingJson = new JsonData(); private JsonData _controllerDataJson = new JsonData(); @@ -99,7 +98,7 @@ public static void SetHandTrackingOn(bool on) } /// - /// Sets the current tracking type (None, Body, Motion) + /// Sets the current tracking type (None, Body, FullBody) /// /// The tracking type to set public static void SetTrackingType(TrackingType trackingType) @@ -164,27 +163,21 @@ public void Get(ref JsonData totalData) totalData.Remove("Hand"); } - // Body tracking on Quest uses Meta IOBT, whose skeleton is not interchangeable with - // PICO's 24-joint layout, so it is published under its own "BodyMeta" key rather - // than PICO's "Body". See Docs/BodyMeta.md for the rationale and the format. - if (TrackingTypeValue == TrackingType.Body) + // Published under "BodyMeta" rather than "Body": the latter is a fixed 24-joint + // layout with per-joint velocity and acceleration, none of which Meta IOBT + // provides. See Docs/BodyMeta.md for the format. + if (JointSetOf(TrackingTypeValue) != null) { GetBodyMetaJsonData(); totalData["BodyMeta"] = _bodyTrackingJson; } else { + // totalData is reused across frames, so a stale key would keep being sent. if (totalData.ContainsKey("BodyMeta")) totalData.Remove("BodyMeta"); } - // PICO-only features with no OpenXR equivalent on Quest. - // "Body" is PICO's 24-joint key; Quest publishes "BodyMeta" instead (above). - if (totalData.ContainsKey("Body")) - totalData.Remove("Body"); - if (totalData.ContainsKey("Motion")) - totalData.Remove("Motion"); - long nsTime = Utils.GetCurrentTimestamp(); totalData["timeStampNs"] = nsTime; @@ -414,6 +407,21 @@ private void GetBodyMetaJsonData() _bodyTrackingJson["confidence"] = bodyState.Confidence; _bodyTrackingJson["count"] = joints.Length; + // Drop entries the current joint set does not have. The array is reused across + // frames, and the loop below only overwrites the first joints.Length of them, so + // switching FullBody -> UpperBody would otherwise leave the 14 leg joints behind + // holding their last FullBody coordinates. A consumer sees an 84-entry array + // disagreeing with count=70, and the stale joints look like tracking that froze + // rather than a joint set that shrank. + // Cast for RemoveAt: LitJson implements it explicitly via IList. Removing by + // index rather than by value, since Remove(object) searches by equality and two + // joints sharing a pose would delete the wrong entry. + var jointsList = (System.Collections.IList)jointsJson; + while (jointsList.Count > joints.Length) + { + jointsList.RemoveAt(jointsList.Count - 1); + } + for (var i = 0; i < joints.Length; i++) { var joint = joints[i]; @@ -643,10 +651,33 @@ public enum TrackingType { None = 0, - // Body and Motion tracking would require OpenXR extensions - // Keeping enum for compatibility but functionality removed + /// Meta IOBT upper body: 70 camera-derived joints. Body = 1, - Motion = 2 + + /// The 70 above plus 14 lower-body joints from Generative Legs. + /// + /// The legs are inferred from head and upper-body motion, not seen: the headset + /// cameras cannot observe them while it is worn. Consumers that need measured joints + /// only should stay on . + /// + FullBody = 2 + } + + /// + /// The joint set a mode publishes, or null when it publishes no body data. + /// + /// + /// One switch answers both "should we publish" and "which layout", because they are the + /// same question -- adding a further body mode means adding one case here. + /// + public static OVRPlugin.BodyJointSet? JointSetOf(TrackingType trackingType) + { + switch (trackingType) + { + case TrackingType.Body: return OVRPlugin.BodyJointSet.UpperBody; + case TrackingType.FullBody: return OVRPlugin.BodyJointSet.FullBody; + default: return null; + } } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/UIOperate.cs b/Assets/Scripts/UI/UIOperate.cs index 3bdffb3..cf2dbc1 100644 --- a/Assets/Scripts/UI/UIOperate.cs +++ b/Assets/Scripts/UI/UIOperate.cs @@ -198,11 +198,11 @@ private void OnBodyModeDrop(int index) { TrackingData.TrackingType tType = (TrackingData.TrackingType)bodyModeDrop.value; - // Quest counterpart of PICO's tracker mode/number check. There is nothing to calibrate or - // pair here (IOBT runs off the headset cameras), so the only precondition is that the - // runtime reports support. Reject up front rather than letting the dropdown sit on a mode - // that will never produce data. - if (tType == TrackingData.TrackingType.Body && !OVRPlugin.bodyTrackingSupported) + // There is nothing to calibrate or pair (IOBT runs off the headset cameras), so the only + // precondition is that the device supports body tracking at all -- which covers both joint + // sets, since Generative Legs needs no hardware beyond what UpperBody already uses. Reject + // up front rather than letting the dropdown sit on a mode that will never produce data. + if (TrackingData.JointSetOf(tType) != null && !OVRPlugin.bodyTrackingSupported) { bodyModeDrop.SetValueWithoutNotify(0); RefreshBodyInfo(); @@ -330,28 +330,23 @@ private void UpdateBodyTracking() // Quest has no external trackers; IOBT is inferred from the headset cameras alone. TrackNum.text = ""; - if (tType == TrackingData.TrackingType.Motion) + // Switching before SetTrackingType, so the first published frame already carries the new + // joint set: the runtime stops and restarts the tracking session, and a frame read in + // between would report the old layout with the new mode selected. + var jointSet = TrackingData.JointSetOf(tType); + if (jointSet != null) { - // PICO's motion-tracker mode has no Quest counterpart; reject rather than silently - // publish nothing, otherwise the dropdown looks functional but sends no data. - bodyModeDrop.SetValueWithoutNotify(0); - tType = TrackingData.TrackingType.None; - _rejectedMotionUntil = Time.time + 3f; + var source = TrackingData.SharedQuestTrackingDataSource; + if (source != null) + { + source.SwitchJointSet(jointSet.Value); + } } TrackingData.SetTrackingType(tType); RefreshBodyInfo(); } - /// - /// Until when the "PICO-only" rejection notice stays on screen, as Time.time. - /// - /// - /// RefreshBodyInfo runs every frame and would otherwise overwrite the notice before it could - /// be read: the dropdown is snapped back to Off, so the very next frame reports "closed". - /// - private float _rejectedMotionUntil; - /// /// Writes the live body tracking status line. /// @@ -364,23 +359,16 @@ private void UpdateBodyTracking() /// private void RefreshBodyInfo() { - if (Time.time < _rejectedMotionUntil) - { - BodyInfo.color = Color.red; - BodyInfo.text = "Motion tracker mode is PICO-only"; - return; - } - - if (TrackingData.TrackingTypeValue != TrackingData.TrackingType.Body) + if (TrackingData.JointSetOf(TrackingData.TrackingTypeValue) == null) { BodyInfo.color = Color.white; BodyInfo.text = "Body tracking off"; return; } - // Meta needs no Start/Stop call: OVRBody requests the tracking session on enable and the - // runtime keeps delivering BodyState. Selecting Body is purely a publish decision, so the - // status line reports whether the runtime can actually serve us. + // The tracking session is requested by OVRBody on enable and restarted when the joint set + // changes; selecting a mode here is otherwise just a publish decision, so the status line + // reports whether the runtime can actually serve us. if (!OVRPlugin.bodyTrackingSupported) { BodyInfo.color = Color.red; @@ -415,8 +403,9 @@ private void RefreshBodyInfo() // it only means the runtime has stopped adjusting the skeleton's scale. var calibrated = body.CalibrationStatus == OVRPlugin.BodyTrackingCalibrationState.Valid; BodyInfo.color = calibrated ? Color.green : Color.yellow; - // Fidelity is omitted: it is fixed at build time (OVRRuntimeSettings), so showing it every - // frame spends width on a constant. Calibration and confidence are the two that move. + // Fidelity is omitted: it is a build-time project setting, so showing it every frame spends + // width on a constant. The joint count is what confirms a mode switch took effect -- 70 for + // Upper Body, 84 for Full Body -- and calibration and confidence are the two that move. BodyInfo.text = $"Joints: {body.JointLocations.Length} " + $"Calibration: {body.CalibrationStatus} " + $"Confidence: {body.Confidence:F2}"; diff --git a/Docs/BodyMeta.md b/Docs/BodyMeta.md index b6b29b7..9f2b31c 100644 --- a/Docs/BodyMeta.md +++ b/Docs/BodyMeta.md @@ -23,8 +23,10 @@ need rates. ## Format -`BodyMeta` is present only while **Mode = Body (IOBT)** is selected; it is removed from the packet -otherwise. +`BodyMeta` is present while **Mode** is either **Upper Body (70)** or **Full Body (84)**; it is +removed from the packet when Mode is Off. `count` and `jointSet` tell the consumer which set is +live, and both change as soon as the operator switches mode — so read the layout per frame rather +than caching it at startup. ```json { @@ -99,17 +101,27 @@ directions, with absolute limb lengths normalised away; if you do need them, sub positions — measured across 69 bones, 62 varied by under 5 mm, with left/right symmetric to the hundredth of a centimetre. -## Joint layout (`UpperBody`, 70 joints) +## Joint layout -| id range | count | contents | -|---|---|---| -| `0 – 7` | 8 | Root, Hips, SpineLower, SpineMiddle, SpineUpper, Chest, Neck, Head | -| `8 – 17` | 10 | per side: Shoulder, Scapula, ArmUpper, ArmLower, HandWristTwist | -| `18 – 43` | 26 | left hand: Palm, Wrist, thumb (4) + 4 fingers (5 each) | -| `44 – 69` | 26 | right hand: same layout | +Selected at runtime from the client's Mode dropdown. `FullBody` keeps `UpperBody`'s ids and +meanings and appends to them, so a consumer that only understands the first 70 keeps working. + +| id range | count | contents | set | +|---|---|---|---| +| `0 – 7` | 8 | Root, Hips, SpineLower, SpineMiddle, SpineUpper, Chest, Neck, Head | both | +| `8 – 17` | 10 | per side: Shoulder, Scapula, ArmUpper, ArmLower, HandWristTwist | both | +| `18 – 43` | 26 | left hand: Palm, Wrist, thumb (4) + 4 fingers (5 each) | both | +| `44 – 69` | 26 | right hand: same layout | both | +| `70 – 83` | 14 | per side: LegUpper, LegLower, FootAnkleTwist, FootAnkle, FootSubtalar, FootTransverse, FootBall | `FullBody` only | Note `id 44` is `RightHandPalm` — the right hand starts at 44, not 45. +The lower-body 14 are **inferred, not measured**: the cameras cannot see the operator's legs while +the headset is worn, so Generative Legs predicts them from head and upper-body motion. They are a +different kind of data from `0 – 69` and should not be treated as ground truth. Both legs parent to +`Hips`, and each `*FootAnkleTwist` parents to its `LegLower` alongside the ankle rather than in the +chain, mirroring how `LeftHandWristTwist` sits beside `LeftHandWrist`. + For joint names, use `BodyJointId` from `BodyPrimitives.cs`, **not** `OVRPlugin.BoneId.ToString()`: `BoneId` overlays several skeletons on the same numeric values, so it reports hand joint names for body joints. @@ -127,6 +139,6 @@ Body tracking fails **silently** if any of these is wrong — no error, no log, |---|---|---| | `bodyTrackingSupport` | `OculusProjectConfig` | `1` | | `bodyTrackingFidelity` | `OculusRuntimeSettings` | `2` (High) — `1` silently degrades to IK-only | -| `bodyTrackingJointSet` | `OculusRuntimeSettings` | `0` (UpperBody) | +| `bodyTrackingJointSet` | `OculusRuntimeSettings` | `0` (UpperBody) — the startup default only; the Mode dropdown switches it at runtime | | `requestBodyTrackingPermissionOnStartup` | `OculusProjectConfig` | `true` — otherwise `com.oculus.permission.BODY_TRACKING` is never requested | | `OVRBody` component | scene | present — nothing requests a tracking session without it | diff --git a/Docs/ui.png b/Docs/ui.png index bb35a066a479dc1b4a17c61b7298489d38fc3d36..f1891b2ec0121790c9c785982b11b945d84759ee 100644 GIT binary patch literal 77144 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Ӌ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 iL#!LuimiKU_a9cucC{pigb5( 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%0Du}NG*#vAhbTo2w3#`M@LL?-x(1L*o=Z z4B!~D!cLHFb0FiKR2a0saU#O%C~XXb_;;cen>vwUF`LtK~?5IIc2kzXt6WXLZtT&I5KKQ}Vd>#Z{c!5TOjn5nw zk{;Oo$*tP;>)AZV!ck{R!(S7pb|N-UUkc-E;OEw-9X4h@T@^h4=E3D>HD}kV690U! zD$QpMy`w(Qkz!pCqGlz+exQgiTvtqEV1Kfqv92BQQCDQs#d|7}qvG~PQhFRQ#8QKM zFHbWEi!&UQDAsnTV`fX6VX;st*6p%atGulMt?psE589?$r)4dk&=$7w#t(_qd`@t% z$dih)cT5{3<_z2mGuD~03wu>Y$}#PZO&gT4_`D;VMLowec|be$6<@2au>n@RKu~CmuHVzziz$(F$7+6 z2u=$4Dlfh%1Vd-}13J;ct_sYzabJNURW~0s8t%H53n>}`A69&Dg$BXI*;wi74ZwEL zD+Bbx)&i#epTBUMvREErV!nH?_#T^-$85e_c4 zMWhR=C$q)0SOIX5tDZhp9(XHtY8DJL=HlgLm&0|6$gvq7zTix8M>ikmA0Z02a+#Lx z%L<5r$J(>3vh(p_V;(%n8ZqXwORXFW9Y#Zbh0MCE!tq*r<6;G{s~$fCV9Tz1+rC`fsI3u=8hfH!_YnLAd?m3h5=WkkPKFkbr1 zOUDWk-}j=)>NO>Qe_5K~X29YHaa=8Y{w~d@dVr7rE&E6}K zwKX*`*2`kowek!fK)#1zxV~Umtb=JjF_dHxXA=KrzgoVbx}9fuEITz{i|`TCoc(f- z^dEN@h^MH_HFvQdk27p3B0W0Hp7x6O!2n0=MTR2x$8BO9xq5|K^TLnjNy>6Ma}2o> z1imy=RXtf^6=rlBfUWOHRUdh~A0qppatl5xPUUkPI)j$}baaz=8UYf=;YON{#?TDr?$nf(TP1DK7TsGX z8NpBoxL|%_b78{XYxbEieZJ63o0y|CqroHPH;?+3wMhRy8#xwEeH^JwyQsj~Z4U3V zE+>y}Byb1hjyXYUMbBV*=#XepWC|C@wZoGKZJp18mkqzOaF@8`bypXcaWwOAkA@PL z`jczviwj!{4?*MM*DWFmKMGVKfCF_xhe4Z3i~=Ct2db&sifR=y)2&_|uv{83ab_gL3II7Og)@*GwQLUEkGJ4QOI@G^6Eze;$pWLH8I$1L8 zNkVOf;+nN09?8Px_p}WNdK@_gk6SKYP4;k?>zY$ID1jBBEEh`DS2H5{zAc`;#cbD7 zkSr__{wj|xzN^eg{j7|Ro`Z1n>C^=Gld)QRl0L8-b}T#U?vUx^_i#)b&}OgI?P6EY z+8;h>7-u`RU#?k?qqUEtXn-~%L@4d9iD4f5?(%!D2IL|G-mrt({zw%rcVl$WVLqek`S8KcpGUei4tVp}j!aF;1>-mlTX%o)t!$W$V zYgN_1MXtilDFb-CCbkN7IXWumej1SGD8DQ6odIQFngrx0`B88E2XscPA= z9LUdCW9^h|cPdmaV(v*2tkmp3qno=~TTFRyP~!ww?i_(n>q579u9$xEF2^_8bH%zv zb=@Wc2BwpPT*`8f_|ga1)jv6;!Pa7;m&@d4|Knk`9#akZ|}ysRq=q(k8p$5<-=1) zM;5Hij2mt&cv`I^>ozmE+}_82YzLD$ctZ{T|9=0NM>;SbRp!;-01KB+#YWMaZDB1PUR6UUPUP6}A@R2b z^%X_~GUh`*aeGt@wiJu3lwC+_ZmrC6shf)0tzO~6`F$ogB8t@GFrHab1euqCR zef2urq-=&o<*LA@FEu541U)*PIg+)f>YQA#fJLqZ!=8T09KFbrlOnl$IOZ6X`{b)D{Y7bt{!rp4}0`(P`f{8(L24&R=>P;$T5_Wu0|R-UFg zo*bR2FAE-L57Lzmkg`2Z9}v~%M6x}#rUgV*=3>?7IC5-d^iC8jJIM{)(e1AZV>21P ztNTzcm!FC$B>GN?-Ys>)+^vBZrR6@}5tbjiDl*l7c^KJi8O?9c$&q*3e)U;v>fvx! zc3}thqmSD@mG%pY{Zp9nws>XAVD91N_xB~@;4mXa_YviL;0;rat@{+N5;?A{En5+8 zi_t)_7^CdEHhkTLBlOED-!j~v#%dd(J4cwS z6PdjyTF#tnklMsgr4#S9d%v85mfVRsjXtSj3WnZx{vWK3egYP<=2o#Uzlqwe3(qvH zdQ`4&%uU9Q(@(1^_*XptIMBDYV^zgrO5CdGM_3O@dRL-2+UoubYVdyF}l>I^ABsd)~%)R^`0&hL32AvBkF?9am{e z-4@P{OrGyJVb*LHv>Y0pY2yB?<${~^ABN2girmewUVnQo`O?*FxBdI`-&mgiPfo(W ze@k2e(p&YtLWI8bP84%8YML*$SgxOP^!Ib1`?qmn*UD$TAMXV2kbeF^OaPice22Ci zqF+=v#rriL788W9| zeo+$G*!?W`QK9g6cF@(|J-eI_zEgL^-2CwbyNupn-v>{jx>Payn4K1MOPu%pdZS`_ ztFtDMgJ9J>e+5)aQ1G zgIjX;wA+(k%V|fg6?*@DOKebZ|DbyEWY-(UR}1{3;MQEbR@*z%-1|BE;6>eg6jLq~ zUnX|TUx9d_*`;biGm56dKEqgq=E-(e>ys5%3`-~9Nw#gZc=v2v6WdVvnCF5J2wcl3lL^h~f zrCm2ytA%RBa-`EVR{v(S1sOP4$>y!n$Dglw-TB6&Gubob9c48;a)Hqkm6au1>X3W0 z%i{E>pQh2;Iy%4&xb<+s_wEdT0wJC|l zqi@|0U;I9EH`U}}Mw=o}qSXtBfDx1Iyt3A(1hoSK5DRCiXFtUkXzw#+ot)rji+*1+1o5$tSa43}&7q{fzEiL5#tt{CRFE9SSJ0esk4s%1i z-bHU}lzwcrX{vDMzk92Fy2VO~_r0)P0K;~9mrm_kV~?F@3^AKu0Qt1+?3UP9y_mCY zthqz2aNPKr$0rmHU<6n-0mlWjjl9>FGe+!J!mQ9$K}Zndml+lH^+>(&f(=xb!@igIhq0(q5u6o+yEI$n}tQ<+L;^g9@`WrG{ zoZ5hP0qzogl1CL4{Q$QxQ{$1hl+?jU7h)fXe;{VJw48*V24f!S-(592$jU~~$--~_ z6LdtJl2vy<1yJ0ast=Pmf6MYbgMQ~oogOhH^!#3z>(_0%T6YpcoOW(&b1CsI74P$^ zfAHV|xSmy2kfSBojpBv~a0?hb4HL(X9C?aKBM6FM8A5aCqp;{HH~-}eD6&bq`S@0E zj=vASV!H_>9iYs{reo{N!-5rTSLGa(@<`)fpMbv{B?MuBwc_6p)IkawZB z49l6S!YU<)7hq6v^XUqD%tuldqNK+mv^G(@2(FyV+8%}|eS?Q*jGTVdo@8hH`xwGb3}CUWrhOGL zz9U=Fs$7xYbuxbtu0()gkfy-{_-%rQfSKqpyl`Z9nv~O!8IaI+Z=z)sr%u++yE-DJLE9LgOn z(iNzr6f0n8h`})k%(?n#rjtWo+>MW;hXn@bfpBqPn{KN%zONZu1Yih~#b1A*8_<6U zrXf&nr*iel%RE{`v#nR4w{3Sy@>& z?a}2T5r4Tb+J@{N+(uc?**m-hq*Ej74RF_5w<*fUo?F-TEiA|cVXOu8;usVShob=v_%*3g{ zvNf7!g(F9XCMFud(naDcdUa-I*P($1f(Ryr<3xZ{&z*yyd&+I3x;pTqWXK&zi$cS=xH#lh zj~^5*s+^qQ>1vGm#ilSHF|WV+WYqbyuiy3S8{k0Us*f-0T$KwsYcba!xo=r2H!)8k zPffs+g3uzEhx^c6;}($jB3gsC?xi~JCYOe#2Kp;RMyOrJ79s9{q7dSln>VMrK?PTG zs{_OIt_Bs;-riMotubl=0`M)gLeS+MKmG!GyVGD8q5c4)ZU9{yphA&`hJHRaOI>0J z9IQ|Pf`HGyQ_;(O#y33=adME3lo{-1=p3^-;&xj=GZq=?Pm^Wd4cUsnsPa`2X!=ng z`nA2L@B;C=B`Q4pO3nkqUcO?C6zF!Ydb?#2(w*^jobzCeu$F$|5Q52&si`SUmhTp@ z0EWDdGT#P33fKdf7%atv2$X9-@pbw^g2%x`Ip{6G%+ASKR8r#Cdu^ON!9nQQuRr93 z@-xDAuvcNz^!xi8lX8@tm;iXq4`D2BJ`B00O*uHn_j_lM3I(JeDE1#(!D)w-8Ng_A zracxQB$}Z@9e);U55;S3XJmx*4EnYLX7XA6A8s(vQj9Fz#4>b~N!1W2TRk@41m;-wAX>k8ZHy}5Q@52?q;w% z>kMMAT=7Yr@kK9b<;&XB9HE!i75b`}OPoA;lIQAd z7M8hMwd!+P)?M%Qz>{QT#_4Iy8r*xA1oXa17ycHwFVybi)UNQP#AZlB`;xmD)M*ZYHW z&PY+e*^Jh;K9GmS#dRPzG;R+dewmx|oeJHB$qM3e&qB5Ra676nw0oD(EB^&F@cwWl zmP5tXZNGZRf4%F~E8U_ubc`8fH`v*;z$7b2j>A<2@tx5l(;t-?f1UAtC42(mzq_hs zN3`2FA0=B8xbznm7sJN>V*h&j_%SZ3fs_HNtEh^wiJTGk`u0)N*~W78#GvGTo)N1o zA>q3k9TiaNxzBNmZRKhQ&$HfLN+J|L##8DYg0^kHkWk|n z1ydvrG z47~`>+cMw z0=5R!L}1;4s{FpnH3PBVNl7?Q<~*-rXfLUAnQI>bgKo<`fWyKqrR?D0F)*`=S^;we zY~SF?!Au`yj)5k!+v>+p3rT_`*yX{0cdhi_??d6)hzo^41*HqBBla+Oc> z8cIuJre$K^1nDl}|@#hIB|Zrx7^$`&e<3-QY8v}L9W%oeJ8XKrNFR#BYihz(hnL0e-e zne*mt_8SdlG*T%&@_?HH)+@lgP7Yvz0t|)qDmM;c0MxO=h8(vXq<+R+SQzxUshpni zX7J4V84PoByX_?yker4iUZe{@rOe^lu@Xl})MY!?c_l51nQmKslTT0q(g7hw z!iwtYK`sq`OeoqhzQsO?dG5_-y)$Q8Dqx02NbW9zPJ-RpQVTc{A%EL)>5fpi=`#<( zf{>IWf7pT#bXI9&72DDN6q@LMyAdHMO>s)|P8o&bWr8lSaX5=$Qp?S?0~|Xi2XNHN zQL>Zm+&Ot!Sup>tE^bx9(5warAjq2VFP#ylZjV&uH!3nDwW{(XL-H41XYB;Ln0AA6 z=jab_Z&S+>&;(1|4280d4cK_epl!3UH6}0*>_kf+W|!U>q`RQPsxo~PD*(nOUJ(pq zy$cJG`*p~?MlxQ@F&RjQ16>}%@iiYqb9`TX1XC1WIAB~iphUtRd;EY#ELDD$=iC4q z(I|2;jZko5Xs#v$B?L5+)6zmkPDivdN2%j%2L#})6j3~>(-vg{FLBcMIg)xUEulNl z&gNIsYrKq=l_f`fYG`t0W%0V|ak>!YtmtUQHH*o!LAnJ`j>?GBOfG!Tsk*N4cbjQa&z_+3qi(>EH=;$*@WAWNIOf-P^kGQq;8Q0`ci^=@S z-9&MdodoGo8H58N5NEm>N$t)KTt=`@W8XaL@evA94Wz!H z=9*Z#S;zzk|9c7i{Sckd0Nm=b)ZtU`3;&r?z0JYW==#vLI@wER0PrTiz zHF(>RTxcFaB8$uxTk*7`*N(78*cr-)N%Uf`& z>Or~P!fL8Vf`GNJkL=;dP~1%yYH{Po8?Zl)B7uz@&HD?OC(Oh3NuPdP#Z5J~Q$XO{ z(b9= zM97*53^+F8NdlT5e7TnhjYC@_`Kqf?ilhHXQoG%14O2^koz5U65ox+`4b|9gd1;MH zkNYA$JsMYeNu35uR=SpLIib>%8myRejuO~LQEiE2~^-~!|{Zo0$Tf{ zdL;M5TfcvPMJ@6I@aK%{-!zT)D*v2Bd35q-bKqv3o;NRX3+L+B%HD4ZJanOM+VcO= zsmW1#Fer<#A`A$IA`%_$!tPwsP_K%M$7Y6W81)?7)?|hu7lkOHU}Ji9oiZ>0T}wlj*R+qb@jw9Fzj>=cdvCM5nF9Asy4ybE z?e;XUU|I+|M4_mGh2i9&eQDb%#gOv=&NPQkGe~RbM5^Zy_zHfZ4~?GL-o1Mrl5x_8 zXE)B{a}o)Sqd_(ZjJXW81?8;eccF0fOoEmuXM&a3c0Vo@&zqhQ4BGO}M?uw?J21IL zFeWmp-%U}t`nhoe3)KsRh1Z7TrfNQXL-D)}*HdE=6RB;krl~K^(IkCX8zKk9!z>>A zVCnjdJS4uz0^*aWZ|i1!Klozyig-frOS)FU-@!`NMK@^5%+&qUwI_0&&sZ)_W6uLII)NaO6*hKbnF*4d+;yu7T zPJ6TFy($weV+WCvmcwq->&1@9t)Zu6=6RP-5l^jYFY{iI1*bd2T_Nl3aU-$7m9<&X zcUodb!9!j*(7pnz`it&|%~voR7#fa{8ed$!(@4p2lBCu!aUOor)2Fw*xJ^9g1~1Nk zwDqk==|7*FR}-fs76TT)Lm5&*pNIvI#z%IK7iB^uoTLvHahxzZB`$tqCjsp#C3-?# z%PRHNB4O9I0Z9|rwg&Md$Lc=zi>_-8xuc&e*z3kud2Z+$tA`i8?7MXvsei$r&$l*h z`?yGvP?ntc%uEz*2YBFj%A;0WV;->vYTt5MCi=2m8sw>bR8P8r6vqq^l4QUq0C0Fa zI+~=F3;zk~V6;$%=W$^)f4p+zjwDqZ_ksKCIUziOw&J%R$up3e#ni3njwwBKTow%A z#KQGpy(^+cIVF0QMp{crWVuJ$w#Fp$uEj?iHT&^Uh8ciD( z+w9O#`@zA>C@K-B;!{5k zBmzQ~CN>6KsVJwOoSnV$m>u}%GyQZb%0Qv5lv6bKOXj~?-4dOc9Jz0B$MD+=W4E_! zx^)>|&7AtS3w;xh6Ogl+J2;1&8h_*yD-lAQr$FQf=@>BsuwykfHIW0EkqvJR?JM_( z7{%WOowh+P1%XPIIPb{!dgJYct^B_Z1}fd72weX8o54kcuOakYacJG@r3!!PN-gG1 z5ko^5XwZ(kNn}=AxxFu)d>G&3{KxZe+8;p$MP+4fkP7xH{wXe*M_oaY-$V{n_!xJp zu+UUbZ-q>wN5Yqh-7{LMCY`XoDoWKS8@G!rPCjxnlc%SoaZUcxlz}rVE+Zp`h$2=I z2YHXZL`n}sGeQ9y=dkPcNp5e=+M%4J{TUg5!(L+xS8%c5QSe!IIS_lCmzY5j=;kCz z(e93(0e(UDSKTqW`?g3|5HA!o_?5D=Hb7eSj3Jh5sOVkd`P*@3nFTcM?r^i(S0+tY zW4rO${oA{vf)fZB@2$rPFTTLsUN9MIrq*fH`Bfr%+(F$IK+>shH6szx4lq!$&9$ zw;^N$>NW&ZqKYXhEL_yEQ__2l3oX93D`>?V*G?F>Z{a>=bJ=)Fa|`PvJi3|^j|WawJa!PYd-Bm|nrb)sTC zFx*x1HcKU}I|6)W?Y)%)lDrubh^=I%Jx;{CjiR)rC8X6F!7%vh#NMJ&-FL+bL3fBK zLhCCbAv!7wdxfDPpe(nW1C%hTQmWRh*ixMM<|6VuxML>no~8S^Z)$R)+R@|7;%Swj)X=`HmHhvS2xgX8-D)t z2{}0$eNCh$fAWBj17Lf1v`uGw!u3_Thy?En@ytGdr=Z$LfrkRi?&l6r*3&OHlRG|S z6;zvjY};0QarVCLT1e*5GoG6BV^(ngZ`6~~Cg$X9dZ~j+j zY1$aOM7q8yWa#EYQmOEbp&6)v4)X_&xMCxmYO`lzW4rP!W-b%|Hh-bz4}uLWid5Tp zxViV5-=__cH)Efzi6*k#R?YlAmwidMol@D0C7I1 zoIx%0-FDSe`z(*7fD5tN`)~ai8iA8q_w0PFt*wzU@sekXIsD@ve&V9GUFN)8_MN=B z$!1*XZ`lg&AXG7q?5H-JYAk!y=+32#6oLYHf$X=Y&rlx^Xge$L3a{8;JcTkznG`Cy z(6II19jgO@K8%ErlM{{A>XA{k}IDwb&_9D zTK&c~1!bA3M_0cqC9>61qB>&|lWjEGlf+I4k$-z(+5VELG3&Czso#b8G;}(HFsw>O z*^QoiBIkdy`IIg8)cijTL`ZiEg?m@gf}HaV>b;||fj#^uyAm~eii^MgsObsVwG*hC z9_i8C`n{BzivnHfp1rme|M{(fZaar&*DgSdZrgibUwY8wYUC2M`Hv>_wHW?B*1zlAh=j9;`Ltqf zQ(1S6n(@AW#JE*WPbNCf4p&N~n?$sFgdWRslq0K00k@(09Uv6^&X^^;>RYYo@+GWd zY+gu5bw1({uFm`Z$q>aAv{E8Px-jn{J2ji9lw9*ZosTsZ!QAO5*hv3v-mI0K#;P&W zUtgHH7?)3cUbtdoed?h|*Yeh`iZ#WK8i~wJ1<8CXlZ4070`Jug-Wl2*Y!YxlzfE)( zf4?$SHiIYdftF%xYtu2M=c*VF@@~THacpfe7`7zRtCQ^>o z5v7Am<_imlUcc_B&>sAr{bW~_1-p_}i+BCJIf@$JF6k3F{b$eLK!T(@RWsOh1S$a93papPs>+crp*ki8j=2HaYNblU~19haZk#;@p~MUA?Clont+d*#bBK9_f4ta4iQWmHPQ0f@iMxRtrnVu}dB&kO;Dn_8$cRLtaAQ_T zu%IZ!ouIU)CV5&$XAoW137_dGayuecAnTa-x8@`bKxYQ?Vs3o3;f~pdVCmJA31?T= zf5=L&bDdB$Noe@-$TdyQi;nO0+qb{_WBl$-S7QtcUBMA)>EO#adVY^y$ha{bCGEBs zH={p47ceUQQ)h9gSqz^A!+s>AfM<}Ll(Y_&22|<3=?&%=?a^1EoO)%c_i=AQVYm*j z&R~)@&HSMRJN7V&W5)c`bNf}RJ~I}-0BE^b4;@EFJ;duDQ|GdsuB->3eJtfD4T3ZKM z-G>Z>+=QHzUBmK!Gd6}u=|AKEIn2I++QXDs&Tpf7aIPidhpqTCj9PIA1EK)0=e~5G z4^M_IF3WIb3-PPSP&yDaV<%ZsddNFE@ET`gAKc`=>HviVS39y*J-xg%W6>m7ZrsY$ z7}f+$z86jdga@7S`xb|m!myW&c;Ns4XdU{rv-&BA+gP9pB+e(o6#OkNgDji~*ZD?H zBfAFWYM2$0UPt=-VfUe-p&?HQ@dp!v%Fq)9Ee&8O3><0JX8Us*{{3CTJ9O$)OxLHY zfJ__;=eKp9cG#k(_tbS_6Xfqkm;!V9$v+L2_LbV*`P^*MyE8A)v`B#3FqPP_AxI^O z^x*6GNoq=9MMSIJBmvMi$kv6zFS@$={~W#0W4{XQ+nCG0l!kRqf+z1dWs~(**NE5= zW6CKx9>HveaZw7iuchSVzFeuDVu|Z~-QVvH6axzNVvG9U=1W(1Q4xIFXJRrbPU}Jf)0&}CTgjA9?8U(kX3kg*wm#7eFV1QPkzcXq=`lsag zA3q)zUaTDLOOfK_{Yx=!fE4Hxvr9{eMsaC{?6G;u4RKfGA_L#{%SqwatZc8e_XZQ2 zYMHWya6j_8&??VSI`#@6k%g$mv#Su)e8&OvuD0A@+6Yz z`i}1OGcsgJ?g*6N@uzAQ^J|#6_~fngQ$SJ%F?wf%W zAA0=xxZA%FbS~^)?oFhYnP*BosBb6*{SEx`H6?hA{_BbU?A+WqUr4PGVVHGp@x#XH zCK=PdM>BTJ1)3KGwUOIxJCu>2eFLw0sF6&_0tc^oXeKgmY)w^>ON(xwZuq<43N=v}(G*?(e8nI8NA?CNQya6|hHn3G z`H0bhCie)4OTx1uTJ!j%71v2(pn+8fck(pdeR?$iJ#58b=Nkc+Nm(2R*vy@sqV7^G z`zP2T*A)vF&9BbR^_%`{HvNxiTbUhEi0Lii}AjLo!e2e(n7`*E!eu=lJ7$?b=za z^}g@(d7k^Z2iU;kd0QPZTm9z6txd(cY4gO@zArQ~Y!%cRlDJQytANNBEU197OKBrx zV;}+&Ot33E)^4OpE`foAJpNStFLc<=KLnD4MGrSPk|sKF8hjp_+RFql9naO}S%j(M z;_8p_$v?9Us{(D6UQ^0_KY(!^#)S?8mve)n$fez+S_qR?7tB_39zI;Bv2Jd81x}P8No#3oL7)^oG+$U)cucr<%2$GO2>={E zQyj+=@&G_n3z_E-F518N7(5907npctiR+nbrCfebp` zZm@GF>b2GR^E-vrQ)Msx#CgD~{1|wy5R*(S4=3jwC}@D$q4KZc6C%}O+lCNv1g8&9 zdf6sz<>o%<{r5+N;*v!u*;lAcZawZM=aSvD5>xW681)M?GHB)JuPX#*Fstgwg9-VV zu4%dM;X1EW=viU4TQkW>Zi6w93*5>KYv8|95v=I9@Q<(&OCKqBBzz3_iGB24_-9Aj z5h&UOoQ;wI>JS#dWT7?E3k-FS>{d<6{XP=Zd>cyY|Y~&M7y9a?0fr)-~K{knth&j2=HN=b!vu3eYkD zLo~HH*a5S=Qj}!c%tU|ku8a#zJJoMYXwj7&B`zi^>c;mBwrBMN=TFbD9|#YMxd!kj zZFN5F{RwKp2jF04qw~}d-)uyj<7Fgbwpg$U9LY17Gr4`Tn;ke-~lS<9)XFFaCp! zu06#TaiX+E#aaSg6AY1a>6otdl{~;ol}k7t-Va4kZG73Z0`0(4)zb&)YCCrlZJUK) z*X1;&(;X_3VXP$S6LW1+V#B~iNhJ}Ia4w}dl0tcy9T(Nxgg@WL)ntBy<&?gDvFLK# z^u{3Px-?0!)9Gq!%i^cjHPQU#1Dcp4iBCd@O%i@Z7KOWMZx|A0Ep`|;jv$DO6?UmpSq^@?O^-mqbtRJcU}<=CS( zP)*|OL3Mt0nM4W(vh&3d>VP5#!+ z0;NPUGCYhobU-HgU4sPE6+PFfwX2$EeK6eamIY_1w)|EzoH7uzgPOu|w!$c35X*UJ zD`ex2-9E9S;@I{&pCjND>bD<4MESR;>aba|rwP?wa~^2|@lZC_c**ADV-@gp;p#VD zwdxP=+LE@xmL9KUz;=j9U$c~YH6=f6sJ8aL)Y7OuPQ#i3_Q?}%X)FKsyX6wRZdBsR zmFaw-j^MpW?&^8$#Gv*U9=*S_^>gz2NO;7&fM}z0TOT{XUUoX9?VQm86aaLKzCYrQ z=Jg3+``=mNJtYkjKy8s%F1%%7xRxpTOpc$<@bWYGV+3NW$6kQ|Ftf8Q#m8tAH*|f+ z3_gyjrxGo=*ntgn&6)#7-|zBy4kWrenDI6}LskrJ&gopJot?aS2UKf1>6E-cSq6xA zjb9O%!4_4cxiGW8#g6x+ZCCEwCgJo(&q1_o!s@_9wpj%6GbVlp?ZI=rn}9om1;}B5 z=^dS{so1#%>Dsu?zTrZ7k>&)XgOH^Gso6w9*i zPoJdLoI>HVgy|4^g*=N()Gv7RmJDRRvgA;cS|W~@X1g7YOt&&ZgbfTWIeB^SCMSpN zwlsQ<=?b>z$SEh2CgiU%^tm!r{a9c3u3^d-&iSf30E+i7$maF5yS*FZLIF7(RBE;R=q)9HXA6yE}Mv zx7G5`Urif)Rr&1e)SL!D1yHkLUPkL3&)bMDOaaFOgl5v2b7p_#i|;bBslu7`Efz4I zo>;Zl9NfA*-x55zOlgK43x?uxP#XYCVKV|ZZ8RKe7aW#?i)Jq8J=v6J&MXLfA2!$s zycjh|u6>mK`*(W|c+iU=v=j9_O9Q zcBT&DmIk|9rUmMZ3v-0mFo=KJi_`}^dpFQrO1AzIElMYME;`oJ>I%KK{mam{;f$>(++S5(e)wo5g+OkYgT1Y!LfvC zhO^eAHuURoa{`&of-@XGgoKUmu1GN6))`-Me6RMzCB?J(kxhXbW{~3v6j_WQQR0>8 zG;{5~y?=lGyQ3Lsc{(~ePEO*QZJ@;fQ5_^0?G;s3irg`<*@3-m3kFB4D_Bz*+P zLD`U}G*u&8*JF7{SqJt;hSa4dc_0GAPCYUmuTcKtg+}=4l=|XBS#ky5NFe z*zMrPMOJK;@DUVIz#lz+I(C)1;7EZI<>qVnxPUyj z{8PFL99le<&XE0xL?ZI}OFOa77_3gWJ@u>@;Jd0)+vf~{9AMVqrWakooX-<_ zN9wAOobFgcL}G#J{jsBJWg0O`I&ArkCxTb1JIP;eQahqSpM;S6C2k>|QrF*WG-9(2O&1Kiw(Fq&z^xUL>MSnR{BH!0~Z+BTA~;g7q|WK zfDurBR@N}c|6++30NWu(59%Mxc{qsmHxAg?Qc;z7sH-TUaR;%^^T%(Ewx?jXfv{{y z0XHr5+@zj9;Z(%S%SLw}MFS;*bRRL!*uVp^K^l6fvLFmk4Gm>vW#=J~kx6MmQ3H!I z4bv4ihiDIAE{;a*iNWB?`+ z5Y|m}6v*4?pOpDgV3Isa`x+|}+(lRg&>7P+)dd=aWZF4vViE$RbYAif8n{nL(29@8 zrG_63cq14X0I-8N4t*(t7ceen;#Nf^f#W35G?)VezyW3SK_fta0zeAn`wGgzQY5Gt zs>XPHAgaO%44pn`T&+{!x1(J6P1bV+Oh%c3&ach3E(%LZ!n-Ld3i1`SO=)n&RuN)l z3`1pd_Nw8Vds#&JWDuz7$a{l6gQ4cC)}!Lw+&}dkW;l}YTOc1U@9|@BXF%1%#|qkA z(7)^Wh{7!ZS#vVcr)UkKYPAl5LCDKoweUL!#Xc`9i+Z(&c)IXzlaohW%OJ`AGkrOx zhCe$Sa}@*!n2@1Bs3M{jz+*tV82pTPMS?=T0J1h{e|^T4KW1ru%BE-q4Dj^WIyfu? zOx@lrNoN4Id#Y7Y@!&yj5*=z- z+pv@u>2PQb=hj1)pW+LRoJ}#(yyyBb))6#3N;CGGn#VE)QRQ#dD1$bS;=NPrE{qx3 zRBN^pU9n-p^yQbljmWL58ZjLYE`$FKHWN5N0no7c{W>Dwx*?d#Xq0pxUPML-ehO(K zk*9OuL)(J1yj!=r;><+5nc=EpSqR+$@13}tH;Z9by5?{MnvVph9vkc}-?p@@8QmjX z1l-Ttx2e42URzavQqtaeTWwC3jS=D*K%tM??25mlT!4~uW*LMPJlY|LbEC+z1_V_t*aE7BTCm8*(#>D}MNb2h9 zz`PNV3UGrI8&dEQ7g6$YM6B_08U`kDL_cbi-M`=ZiDl@XgbzxaK@-Xg{`T% zkxm397TgJF4^Hfep$>#8%e!|-#ku+V9|24u6b{l<+-dLq7$6%D?eW zz5_hiWAJR<>c2GEh$kD+UODS_>IvEE1a>c)Y9pFA_wWQdmaP6ZsJe_ur;4*q78Zh~ z7SXjd-O-o01@q8U{sw^;Ck(=#kY32ke3PWI_Gs3&L|fml-7OYCcYuZI^~A&k9PZ%) zmvK$uAgJn~tYNzbS($3a2b?Tu{6H~RmO0eu0u>rgDl}y%tBda=6r}d=hkIS(&71pR zsrP6m*}~{~Ny#i6n8EPjUzs3oQ~`1Pmd|r?E;u`D-*|v-3!6s5oV&){8TYA_CJPf2 zhMmLPX-(Xz-ssdF22%!-O(i3uw1eXTkEkMoX+;(6Na`A`{?ARu&|Zn5a=2w7qz)v0S_e1Yl)p z9yR}bT{uWT_;f&9L0(pN;#(B}Dgmw#Z6)^W${nJxq69YE|+{g*PgEp^Oqh1%}Al`U_3KpJyE?xSzkl z%Q;(E9s4k>e1>G0chZ4_FDna$2xM}Tc4YZLuCk1zg*rKK{PDun+B4xHB2MFy7I(W9)& zIPo{qhh*vfMrt!Q)Mzg#&9#vU&=q{IYN5GOIuTnqw!Cq)$@5vYb0KA9Y90us8OHU) z`?uny;P7}%*xYmVfBOStGD2r?`7+kk#CCH)#wbCSU@;+SMcxGJN*H|b^YagR`+IrK z%}oyUGEsE|;~oCIa~>4~kMqHlt^E8f5p_&;*!%QQtIxtBgtG-02%h)_eONDcj39;= zpF_d$#B_dusSX>-T*{+X#mS?zVNd=J z;`~EJX!0*?T|kU0qU>Xu!poNy72UA7y=I-DYh;9t!K+s)Cr`52(!>s+6z*%4r`>y> zO_dK$z35Saq}>ok1J+=<_wlOCD&6~OcReA05>WOC5!!Pvs11wz3uMlz3rXma(@2+g z=P75{ef#o-^VSkAk}pCW)TFo%1+2)6c{+_gbW1rdl|jqbq+*Lp?vaea1KoBAVcB%G z*R=(uZDQZAEfuWvAykce`tC4HWMkwyNiTQTSvvB9mZ5}4y>KcpQsTE#3Xkp{Mi5~qsAX-80{uf3?1GZDDMJCPV zKc0BBcU*dWeCv=aD^KFcMK@U;n!|qg|6`_Wg;oqhmc6(l8{?tne{E=3ac4RF(e!3hce4W$$k+{(dV@7w9>Ac12q2ggpp8RUwZjQle_2=NZ0}-10Vi=LoL@KGAXq42p8wjNd5DBd(~pzrDf%xPuOWPB+0##QOwso zCTK^;<})rAwttwu`+Tp&O*c325DoT@bl=#&FlfmHR(j{`6Rc5ch4kqgo(UM~ZzehI zE-7H&`JZ9!=PurV5m%a14tpinYLTyT#pZ^+ShBS1t*QXITj2@?c*=%|SKy2iD-?o!y|zvH?}i#1jKhNf?rN92 z+1U*=+NCFi9rx^A{Rhj1A7yL5t@C+NkRZX#fT|5+n6hBpv41l&8aDuQABZU}l0?3r zrHdTQFLp(4Qgwl%K5cpQyqug|75FEx-k47fq|{NGU7-VWcYj7{CJBaH^xkrV;etOp zcSuVIWCqgtxgzCjcX55^an_g%?K4Oh!9(ERzc~#$`!58S2-_DVSk*KYErE8P3*rbN zU~vC^tKPDvoFVqylbsvWNGn_Bax?87B(L3uW4zXf+uS7YP!LM>_PoN)X_zYH0VlAu zu?e>}D!7HE$Kt!GicGsN9+_=+GHi`5SeOEyxVN?1IoSH49n^jU-JlYIcZ{(g^o2z+ z@5^wrvWI}Uf`5tpo{td=LeXPfU9I%7>mLcLZ!&aA9a3@tIEIc0L%F_w-CFp}?sfb2m#P3o!)1UwXpCPD z@Qr)@eZ5nO3k@jRK*-?8AihBd1}};;&`w20GG1#$iV#u zVpEmqOv=1-A`_HxWP7UWz-j=Vpb)=fAm@)!Tc`AEc$k&0W@H+ZZce)>DY$hAM8cb| zA&$jR8E)}$_}}O#=NuCzD-(@B$gNL0c12#sG7BM90Qtzu3Tfl;WG9yT5IhSH6MO}q?y0R3IfyLr z>RdU;zi0>>DuPA>`=q2yG@z5OPx`yUf26Z#)UZE>?{X4}Zm{7Q&){E<22jwiP}265%FL$_~JfAf=*{ z2i$n)#MXmuzX-g_&QW3_fq=XvIuRjm+K+Sv0wLe|zQ z`Xw)XOqhxg|CBC*Y0anq>dy2JpdSKATfl&%XJmAhd=NJ}5vSRA+-yM?9(c!h%pN2j zclLbAQjN7(7{((WOGai1XYJ zQQ7%<-GAuPCqe>OH0F(1~;^A zk^T6Wg6Z$Qm!mx5!KboDEtsY=!wdWZWGA-h2c z8Qv3mtdsCpF*5!FF|J5eF zDqe4Xl}U&;|9Opbuxz6;T|XW4m=z$6;mWmt`XmsFh+;&4fs1*1lIjX$s3L5deA~Y^~NfxasP9DO02fTvfr7jK5U2y?F5iTRr5TWKj_jvg+P=4Y=YA zFdYGLv%MXd7`@gCvTs4(OC5@7XDw=>-mq@eE3l(RImF>?p=DU69SY6Ap4H_Z#mQHj z3(h7I>~=uQT92^Qg3!2U9NDL<9RbT7jr;+;kM=;(iMG>>Lv<2@|K69g-N_mcCv>l6 z+WB(JWNpgfO|U+4pRB3_{|p_Nqv-1D(&*p*X~x{=NNcq{E*zI?W`e8NHB_z4+~mnX zQwW}8C$ONjsS4B6fm=e3&&MY;3X6;?%THkD13K;#SwLNb-40hWUO`pvv~T|=99h% z{8yOj#DOomVA=oXtyWV9hfP==kvS+j1RA6OqMjMt0QE~7x~B-MhkCT?_wvnm~M;3$Ri zMu|T#Ujfw45GAi`0wk1oxW5@=yMvMi%L_*z0Rr5Rd27<^{b5Jrf=hHA{;TS+3i z7CnL@3?>yxA@6&7_^&lulmwT?jk{`6&59B|b)Trswf-A#c% z{CWG&7ij~G_ zFYh~e!`dkM9kvM*TWa0__l+h(MuxRTfLr1vH%uoA9EQ0LlDHZNV2|J;^0d0>NxMC^ z*EfXsGJ(F>y0zIQzk7}Y4;~ocxLMlU zzi})9S=9_#Ro4_(N<|_cq}G_`vGh9L>G>IA0YQbNy!=~2TL{aR_IA_1-l4WU#b56N zhV5xTD$wO{`11l{3y9#os=25t*iUZI>o(UQVrf=zx<*0BJy+c9N7q~g<}DZir;ClM zz_OM<{C|14JFUz-pXTD+y=vy@hNSn?#Z-@NuIzzR?0WhTq~4GOQ->T5@SNU+_K7=& zo`yOp(>rx`ahW_-b$R+X4qxz~V22CbONmVtajnlHinUmFZbTR~A$kchFt6Phrd%Ku zAzjyss;^D?>R7@+gvB!?(`a9V?$yTCb(0oP-ZA}lXBnm%y6bveF=|SCtMknVpxBWK zkaq-D(3p7W-}@twfLsqQM6QMs8KW+u&)e3YB_pW=k#1OXezE8qMk6AQ;t4Em*CfMJY*lCXk7X!%@0K*x=?%w z2)zZxWfi;jpa#YtVpYj}^n|iBwDaxx0_W`(OFL7CC!TnQ1fP=9X*=3nJ1PKFQ?>a%^|JI=|X)r!aNM_STu(LR=uMe)e+&4YQ zGBL{7*xSQX<_MvO*3*BfDIP)mWRM-XZIe#3g;{@Xg_H$7Gpznf7Pn+&f9vjEfqot= z>6@=rJlNL;|64Ws)ewR8R zRUcnzA5>m9IbsmI{S_;HumJSF`ucWBsjE9DK1>A6-CW20ExE!l;!@ovYB3ERHr=7M zv8=lPO=Vpscl2o^I5>IBHW#UNqVMS#$$jz!%Dykk=jwc4*GV#+GBiZgZFBiIjyy;Y63GGn%`o4Ydq6VS9xrfe^3!=r_SZU1wXxXiUNzY&hA7)&7V>7G?M zMpw=L6gjaeDE<%@ef;$4fgLxe?8NoDv~$MHK>R1Y2(A~pDY(|f&8ubjXUOxaDFt>6 z&XtSV`32Z+!hL@KaAS37)2oD znnzF(1>E$Ja#)R_XbK$u5}G#xNt&S4T7V9O!qJ_K+1a(7dA^c!p`g+G&P~96)l@8z z(kxSr+!Kh%u&{%%*8DfI7~(2>@*BA<_pc)Y79%{^XD|?+{nKfHbtAFXHz{|618ZKU9e7LNHlanbDgHV>TTFQY z(H;O8JSm2s&5SdtN+$(_Yix?q$AkUy#H8#a3@n|tt=af6oE+g zXi`*l{Hqi(!o<|WLCH(rzpS)=K9Y{@BbFai@%g^03Dy;+5F4OX8o=ocP?sl z;?0G2p5!u*f_wh2Us(RebpH7)l?!jQJ10;?60EnVB2XBiPSElY+1~yb=oA1s;|o^` zGrC8a3HI-EUt9fW##dLyF~}BCaf(tKZYCBrOZ`#eD}5{hh;Y4NXII$y$9#YO z*EAMgdcj+3flqKb>+I~**WV*53LX`(Y-H21scvLp@pN;GzIF}&y^;>12^Ob%`cQTN zc}W*pSYCl@VO=Uyg_6ELP?3|X|4zcVb%WU)%@tZD@{<25fjEH2FYY&dT;_97*W_A# zj)|w{{00+LEQkS@;lF^L;KzLE(8kzFpk45Lotih_qW}b3L1E0b4Db=c6GyNz^S!E) zo}Vwy$z-1teu)F?J|Yv%z#xJQOJ&~1`yKjfeREal2$^BhrU|;tfAT!&zchTq4ZV1(>UI{|=uF zD1Z9&A5=7;VTR|@ZHhQXT(J_X52^zFONX3Wnv1$RIy_qs&EloOtodCI=eD4dw}RgZ zWA{_E`ugAnJ-NMw2#>!0?6$_kd&;b>Q%rTp+cGd{bm6_I4&qr&w|wbf{!S(`;mueK z4`J9BCuN$!X{@iW53DoL=9nV{NND>~w3>@9mUO#V`3(vymLj~K+=Tc%u8Or zb$4WN_lcs?+QvS^P>=^8)&y>qZ#GxUp)mjYWP>FLiABV$BoY2#ZZA8Vb)GbSLUT_YBJ zX#TfcYebm?b)nG(ZVTzFc{|lup5#-SAuq@0pd1RbVMB_PCaCSuyBrqioxaS+46C~* zoqrO9cd;?nfF1i20}H_v&dX!oa4YOCQw2jm84Wif1yfv^8vtI`GuI$}kCpAK3N8U% ztpm&ft;6k-Y&cN@5yAx)oH(o&f!n~wQ+)Ss+B$gq3{TCY!hOVC0!uTn&y0-lH+W(} zctWuF7Ul>H!N-py9QnS8JuGWb9Pk@Fe*6o2N_;n@wx}z%KLIi-JUBEklf$>5nkQu%<(@uvfkL4GqRSixDy3+o$H&_L6N zV6bdyZS6r^E(ahQ3V~o2NE_u4qE;>BxpDjs?`oN#lB1et8X5BN!r?F^Wr+oLTxsEGc&WbM0>B)2)cSmouks5B;Eog zg>3K>j|d1Fu0ndxak zI8Bn*>`5S}%*+IH20OvZ%F6EUvsaEC4tH4G-Pub?j#=hKz#MoLrW-z4zG-cZus&4L zKYh8TmF4xF8uJNIOT-d$o;+a^Vk(e7b5Ck-Dw8eE69e}CM}jA7Q#Q^=Vvp3XPj95p zoIlZWOxP9TtS{P!NzY13j;JbzTOjxlin2ZftVeN4U6Pnl9ILc^JIsG=1bb)ZEU}Vag?sD-2RRw7aOCS8Lu_ys6 z7fw`?cP1G2_#UXT%Gr5+oq-4E;m{q!-<;1MdBu-Sfde)LH^t7E7wia>27UgKY=U*n zsjaFy!)~yo;93+oJYg!sOD`P=O5)k|6XEFAjtPrI_REaD@%ZrN&U$VkEBDhC+4Xl^ zteyTz!|XbzJah(-{_vw=f4Q%Jr=0J zrvyvCCUwP*@LA5?Bqe{v6G;YQJb`3%IAC*WX^A1)AVsT+kJj?-(bDx(GNdOku#=OE z(&y+y^o8Mx&Hq`>ec8#PN{SAjPdY{WJ}vP`;0fvhF{;~Vy8>DL8_q`TzMGwCM`^~@ z1=e2)g3e`*?_X{Q{CY<^@8zI#y`xvc+-N4=;4Bv(pL>~!)senfx-pUTC87x2W0GL1 z>)pP%ahO9spvEsFp%!!1Yf)R@yxp^(_PZ%cggPCcd55J2*3__jiX9} zt#y3#p`|yR2s09`H&m~JKExH+p5JTQ;c&nh5Iq>+hHWLUZ8Az^zXe)w>gz*<@aeL$ zu=1al`neNv+MCb@c8Y{NS%2X}i&?=mJR-3$NF|k|#8r3hE{F}CiI4LAvc6-NRDPEq zanb|2ulDwg@?Z}UpfAYcZTy}YH9D``yTGGHW?${lL{%%fDJjAIKvf~mqR-X%QIN$h zdSwO%ryCJ#t*&jM{?SU)(%e74mOjS(*swO*gg@Rn9U@_b^`GJAzXC0TR)_1! z*V~)tp34Lo`?nbFJR;gn{DVGb9eOpNa35i~>fP^GmK=-ri~q^LwC5VtyTtp7guQgz3%K1(e++8dg|O;x2s|PyN)SR!t{iP)}5~?Wq7s zfK^W)25ub7`)71Qw-GklR<^fD6D1q$Ow%+T0^WcvKVgduA^-78{^UMAQREq-00Z-| zmL-$cTdOsV^v(I9~AwujiB zU{eSu&qkMCPO6*hJq*Zn3Dy>cD}&+z;KKU@X@tK$;qeUE?rg?}U}trHIaM8GO|r51 zV$F&f3uY5&EpeDQnVI$QI8^{}OQ4t=A!!26?{i=RODNm=`ubkJ{B29r#{C z^UM&EE206t=c6|+ymfd2ae1910wbtYuD!NOw>wBCRS<(7Seb@!A2WgdUd zV1m_`()Qbx^Yn8KoLJpH`RBRxjZO zAtE{OeT47BomSuQfl|Z?6dH~JutFzHz^Ld7u%H`U37F}YdlNfQK9&Dza_}|Rz7T49 zPOHFU!b-uGE$P-#H!6-MY;R7um>&}BYqj|0bL(@f{Fgb?XGWgwi5Pg6`$J#Y&ickC zrR!AGLXW5=SZ}s9=bsDf;a8R7XAmIW5TLt0Ei2!fJPQp}-dNru+=9m1pJGDl@tfVq z#B>*&{0{#=9Rxd%>N*eMuNW}N5uo$O<{I;fwx?NHSuorC{(ae}YSxEEVb1)%wij^M z?5HDZ5sZQrlMOuU1tH+^#s(Gt+97%G49sG6H4e3+Bia%A+!luZ!+D6G!6zR2TwmwHU`)dhMT(QYk~J&(0T z@>s03`5sr<3h=y482H;1t)pQb3a1`467#;5Kye`H@bdD)En&e)c$ke4JYHyR{9uuS zy~Gfq=ET-wmALWn1iS`K2(upcULL3e_%6KDl_)^Am~gK7{@6ya7Qmkc^-=DfJLX(T&QBMt^B&Cbyp^6Z_A)7dPrDNEH_A3_LVzQ*nQyo0^uy-t4Aoe zud4LVf|(@^S7(=j27;ZW!$Yqmuub@r-zu|`{byC39MB2MZJ(tompJKa? zn(DB>Y53vOqFXew*cdE0Hz`~7-XHSDV~*)Nb%?Nm@HF)_H}54b7gA$joGmlt8iCH; zANQ`vLwwpFooYBQ@kZ>W7c?<66p7c!($k1tfd>ImG+-2l69O?ES$YKh9Y$o$gT$s6 zMIYqU(j;+&@&R*9H@oD$?wi2?3a)r(*;HQMr$1n=OzhSQBeyDlW68MhTXUYrS|UCF*d$n zlyG-3vGDp|DyZSu)~y%3wPD-f%HSsYd2T9m&hSrkaY7*IC1u(rWsY2i=P-Lzrkz^O zUYwnR55AS?e9w;bq|v<}Jhj_>3u9P+(kc2l#lxZ@8w~o6=I8X>+Q68u9f+i(j^}^y zOr&9AEH0jcW0(?Y`E}aTYq$%72b=~S0r)+`XRf!g>+bbR_3SY9%rz|RM@Unj_50y}Z5@QMjZg;DeKlZ8$+%LbV_CPJP;?L_T(PTj+JxD<6c^yqRw4 zI{T*zZ8|9_edK9>;bl8ZG94^F@0`%m)GW)}?WrrmW+kVhnJp<;*~Ux%SL@0cSD5mB zFU>rU^EwW5+m8EMn4M1fe&v#5($5#*lyo}2_!BEPHisr-83HsN4FVa0k@>Yo>z{$3 z;p%3&!7BupH^M@M|i)JmP8` zUrv8ULZnO>|1{@Is%QKzsre>AC^SLG6jDqq$Gf%qIh4=r^QLSP8`fF4&SJzehzP8DT zLP&>;Z>T^hcovfk0TT=#k_q=XtTRE#n75LYm64eP)&*DIKLM-bt9$(Ba7j%~O#}Y! z4ERgfy+CNZvCbJ{lhq}deG&$A#04i#M7i;bOF;3js#vY`tp5fjR>FPDsbShH6Ci6@>|6RKpaBA7-t{BQb*^EAXT8-Pq0eTRtc~lq6nh7 z`0xRcVL;yoGa1h@Ucn!rm)QIGECL0u#JO*lCqNu&U_9|@Zf>#*vpsu6bgBFY0tBJ@N3Hj1;(dlHds9#H&m#sN(+%_bmiHsy1iEcuS=uB?EM> zq{BMr>sBtC)~O#G%Gd=+G+geF?an;Zja!T>qv30e+f02+x4Fp5If1PFn@M(&+)lZ! z6y{oF_H(zJsX?BSp%mRU-sj4s4tK6|Ntv(rJ##P~JH3)Oz9@M@cLno7G*9AoK`G5* z%JI)~&ZddvO;PnftW-F|U2STfJCxA~u}8fQiL2Tgj)*TaW0k5~Ebn5KCVnBzVKcD#N?%!9^`dj(!Bv~1)scTtRJ-z$ilXO%~HkVZP38+v}36KN( zmmYOIYVF;>$Wg{7m!cIiMa{^e85Fn|RuJt!Wf`Z3?jDcueX#F=dvxt``e;PEh2Mv~ zACB8xsHm=UZ4r+i$cdf6VD&*RJyJxdrs&DzQDwHX@T%BxGtOm;u3=O0bp@t2Db2QM z|ASkviJvLo)%r~$`uES5&aJ=W{Limnow{)TmXMwZTStUsDethryZH-_9#>=Yzwv5x zn!Id1K70Fvr`e^&-!0PLygtMo?e9&0aYN|dWv9Qb#}1qHKM?aRUdZ@;Xg4aovWwj( z$rld1A`YfXtr6=W$DsJN>g+P-)&x3_vWB+{z&FWchdwK@0TA> z&88wU++=mD(ar?YpzpaZ2jaJE29lixqhoZb8u1UJS&_S#5vNJbJcH0@Zi4q;fhJ zv<#fM2d(RQUa-{6TXJy@%vKB?^8D^@01211SbT!fK}3WQ*B%<+nq8V8kG+P-2ktsu%ar{I{&BOd}`pq{lU9BrU zaA{g4o>{(ik)RKN<6)fnqO@S*OU`|}Z_w*P@#}6HfSw&g?U{mXw8%czQkgC~}mgus_yuadKzT!OB z;SS9capXxbS*MIOSH=Ah{Q7(urh4#X*v)k0j>V~IH}oIwoc$MIoZ6N1@uv9d!&_p% z7kZ)xZw?gv-oD;7LWvB}AI+afUx#srR;CnUU*M2w!Fkq`%Zg*mg|q*DK8z^)U?6s| zJSItqF}dpP)v4p0RljuA_9=Zx+5E7o;_=*-?yHh^x*8e5y-}7_;uYTPDT~HB-)`#y zu;z}cw_^YEYgZ}nkBX4-MGTaX7;P#uAljnxNiG#X&mXeT$QBw#>n1f1@-}+cSqD83 zjFXerghtf0jF;=`hDWaAChz9#Piy44M!(@TSoL}NDx%q>S#o2swNdom4)+j&(x;Vi zJB+k4wKaAw1#=~e$xHiA<>RJLnO3z1t{p+=k(OZL_*4}D%cd{2P zhubR8UOq1fvKp*3ov^`jF#cVDs)a?H1XE7qY>=(vz(8=}gJc~pt!_LjV}5o8Ijbg8%y}~oR8%M0M#sjU zQ$}#;wzC^7Y=Zobu-l}X@C$Hs)H>U9EJsI!hnpK=YeE~`-)IgmS#T2EVsLKpNqGXW?{ME(_c$x-gZuZX z3bbe8_wR0VHkH0};&-{&(V(J7Hn2!51W2_U`qcP?+qCMVmpR-1rl%g1Tn)DXTrw5F z7*gJ~))zaGNp|v-h*R>F16-u=9`!j6o6$igOns(BK?E z)SFo1;9WhTIDt@^*lm34%kwrX|2U*hy4oVGQRJ;t@;RB+TZ4=)s3czUdQ(uP9qg0- z0!;r;{;l#A?D^Z;j*##ilkO9fs!16*DnqViXxGuzVSfhwrzM}R9u&*uK@6H4EIt~Y+agF~l3bXcjre_w;dUG>S`H0k=ttU@(s z=kr4ll*q{;4UL)#F;Vso4q;?ujl3#?%r*-J07Vixh^Iy4;Z02uCKX^053`4ueP*=Bbhox*1rrfdPdaobav zUi>QehfDwhDHMn9ZtQg7=XVFYn$Y*qJ*Ou$ayF~zW4Hi{0FMp)x873c_kk>@YVZ6P zMbWh5F_1J5h}ELy{UByWHp#UY`#i2guI>2RNALb zZ3{IlvQmfeT2B+dKmYpm3#iyjyp#ax&7dn5A{YhGBFg{B|GdB1P*pb07P!0M6z#*I-zO%0y` zF+ria#>KHxRReC=uQ}ysR*47d<4$qE11MOXR~S=wOaq{kV8VN+rb2;Dx_ejNe@P}( zyFu*-1~di!sQL#zLfFb1(GKq{pyc2;#G6$jm*(x>{sByW0~{lOZ9t@HojTEW%Rd%l zPV;+)_-aG+e%2G*Dx1rbG6_qn)ukz%5QL2ZM*HWu;JDO4MnQyu^^3#z^7y?oz|#Z3 zMa$23!iY?mKqGVo;*N_m!;jL!$qIj)w!tC>x8m9Xqc6HP+vTF}$%lV#busY8P7G?u z1VQVMFOZz4<}0LLe&hnj#?2Hb3i=WyGU7KdGcHy-8L=zdf=2+VCwyeg&F|@E0m)Np zdy4l0q5~YZ0875aepg$BB=~oJ3C2sm%Ethm!lDUfE<7S4V*mu()FBL7DA*@}T@gdoGbPW{+1p-t0!1jT^p-9T6=)5e<8^IOFH;|RV zm*|8ZI_>UV71Eu|EW0y5UJHc6)=Gp8j}%Z3c6N3klY*hPj*dU?!d2`|Q?$mzBK(%v z1`w(T(-+UdJ4tNDZv$K&g^rdAG2x&RBp(z05gPV85Ra%Xef}Y@n1)F_;&;xc!jE?h zj}C+axw+r*>;v}>0E|bcghw1mp2)*2y*IOdcOvhZi20;?qRM0(y#`=y@7_WL1In^L zrHlY%g4o;lp)RX3K0Uz{ErY1QC{fzzNua?ill-fb0V}Pm-WaSCHMYy@FA+!xT0=rt zM5eoEe|5<{;-Y)@)VqG|72Q^x`T4KR%d}Fhv9Qf(0kc$MI6l zMKCnS)cOLJ=|q?XrXVZM8hq05=rQSV=Y2%DDQ@9Vp0I z(a@^yUA;S{nNez!@LrO%NhRNa zc}vzO+!@eHLG&TK33!5ZmvbGO3?OrQqA(+O=$ygvWWfoH{OiR7q+keZTBja(s}039 z&r38s)V;dbhBG{R`Uq+I-@m5ohrDB|=cN+k6mCjxPs8G&^YdpLBcivZx(5RL%a?qD zQgU*}S$fD?edq>#$>rtjyUWPzJHV6yQc-w$K=qY}vAfj4gZCLegL`+4sG&M`Ty1WGDNQP%2v#t(NxXz32No?>X-u z@YXpUoit{i=YH<{x<1!ufy{GX8GT#@soT5USx+_&UtVqo3M5DQqYSouRVR`L>T;~+ zLGXopmZF3~RtY)NB2lRbUpz7DrJq~(zm2Rbv1u1M6n?Nh5Byr)YOOUv*9nGUV9W|^ zg@CaIeXQx}sWk=8BM>$v3-zc>SWCZAHjdg?a0@`A3u;!GTqE~9`McI2 z*BT&`p4cHeGc08C#MkC@pqFcPlpjO2>?~Zs%=4jQd%pbv6+U=f@OdXZkC}p^Am5h- zYzwv4yH_7qRJeheu$LDtq#MMqQm27Iqtile^G}N*n%7CNs{xN{;PV6soWKX4KC1@m z%e0#ngSTd#WAD6!emErj0?U_5RtM#aEH4-r0TE3U@T3EYUV!z82PqNU>bJZ!99~O? z9C-wwPq36SpU}WibzcL#AU6y0^XOpBu1S^CMPU6_R~I65>ZBN`4#50Eo*Ze z9|n>c#X4m=@3n%((9jS7&=L?;fA8KUuoYU&dgVqM{&)O#W!_7&j0A-pVB3RT>fWPA zPK>>P^SOBM4}CKQ-ii18Uq|gtJO=R?4wBs9v;ZDMSS*+p1W!wx%247^fPlB(TVQDd z;>rKgg`2XxprC_rqb*U_GaV}h!L=SarNf!93d#zF-+c<ai1lmfU*rRq|A+2<6|B3flcEZ?gwNnIR0{t#0yPEO=5#n^^^)7 z+kNH%1OgBnz=I6^_2K>&oz=$Zv;Z0v6uw0>Fh|u$!k|Vzf}$wTo4n*_vzaB$n+(Q{ zj`Cp7m6MfqZ(RZoJ;2~ITPo&G4h?9AA3QjBlf6pC!M3HTX&UTs;MeQd=biX_RVF~8 z2#U`UHyD%=p$ceo^jKO@EC3iBRL3Lrv{^nR-p|+f9C%Z}itN)bP>}&oCM{sO3W{aW ze*<*;CfM9X#ldC(T;D1TPiio6cqbblor+ejt*Dc+{|~NiL~nEe9y)}2yb0$T`2+aRd%NSt-nNaJoTpqjiNi4>D&USf|{u^x*sfE z9i3?4NdM09-KS6a`2e2;DcfKkn(_rK%B_cv@_=J_F*rC&Q56uGu?gcwOW+LJl9C+* z;WGOZJ=ibkrrYkfWl*s907QP2?k*) zIU*u3e{$yAAHekl4>K?kH$Qu$4$v3EUVLX#hr8(M(2bEy9IB|e*u!rCEI#mk0F}<m_+;Zi!SnI^a0d8rRBqJTFT0ziGvn6c!#^$uWg48TD_FOdD|*Iz)p5$CdH#RFrCqW~Y|8_l`~SdX6oV3!pDNRY=tw&9T7 zTpJL&#gio;TgrjkvI{CqNm1rI6-S1Khrx7$uj+h`0w{Ap*6b6XmN<02dsw2|zr2YYJpP0`Hp;9bOh>;aHiStdRjow2*#b+K>gH3);sg$$8t+ zdk2N(HK%#zK&A1DeY8~5xZ(YZ`W9%I!QG#?M|p&np;PiJ?7Yh%DD(EuKEK~&Y+72{ zNeh&PQI)Z+iJiMfc~6@`;^8+#=@OF_n(PY(OowkYwq3ILWy|-de)5mdMA4XB1@Y=+ zgwCz><%8Wbo&6)!Q@&rzgF>tkH9y1ekR}QQoB!@2u04q#iruA3k_K zzphnl>;CcZa8NnN>cRXm+an=ig7Pd6&bhz3^DkAkM*eW<%us!UNrxe?>~q=Y>RoU7 zK)9mzVE4!p!{n5ulh^Tz;-k-3yM&3U7GsZfNquQNHM%a*3wr(dI^=0R#sV zV0qm%6mzfV-zqta|CfUl=6j@YJTwKwRsD7=EWb8mxZmYz5%TD{%BXnJpK^l|h1)^$ zKDr8uxve9r=WD{{tvUI$8G=3&P&0@h@%%;>3iZDJ<9=v9)G(D zKKbYh8#}Gy9dqHwZ*=ax$IlJp@J_zeJ**qpg}~ZVYP`jXNK(5bV`N{t6RBGKXL(EK zKFG?j|GvJ462Ed}r%nem`H2JCdDD`#uv(ES+|ZIZF? zyUa@JJAUeaX(FM(K;!SJ!ls?wiw6A!psnw4FK4F@NlxbWwm&~YUB z>hfDpT|HUX^fc-r>B}?i041yqofrjvhHlucFtQH`%xRGJIWZRC+vO8)c_PYXl|}hH zYGuH32(kwQDXL^5oflCJzCVni7TxfmXb?<8sj_xeHx)IE%+TJIjrwjfp@?%*dFK54tP8Cwm(tAGoo2IuH|NF+W zod3Ola5ew?IH0|!&lCTjm#}3Bb`q+pUl5vi&Z@y?HrUVI{xo_gH2BaAEO4?{##a~IIB)@nhH4i6 zj^sK1`XHRJ3c7TFe+1a`QUl54RWL{er)O6~$YeaGVaMoh4>mhjut+s^ezbiSqa`%AcVUg?StN#)N1Hu6kvI*=y0q@AY)gJ1p zHZ2wgw)0@xbY2JG^gu=f(4C8q4s7rPK&aeLKtQ0L1_n0(MLVVsS{_p?l!cX52;i83 za>WM}4}f!&%f&?}IprWBD5W`63!w`^05NW+H+7EkTfe$X`pnf*|94NrSsx*TanWUf z1s+cZhyx1*+{~kZv4zH#E(W9{Ee8p`{ua`?3|gfxGLLs<$ky-(SA|^Ahxy zbnet6knRHDEf@rD1Km4-E_B}R`b#Gw09r-b`tMhOh(wn^KmPUL@h`yTcsV<}3v@h} zLPJ%A)9Lg10N`zM0r-f3(g5hT=@AtG&583a>i%>K*nk29#Z)C8H6g9YdK7 z3Skw}+(|np`A29ZeuwWqw{B{NC53cH>}}HXVd$a(ki!CC9J=!ZNF%`xfnylFL~GQK z-T$E*Q$Sh(BF*R#$NX;eoJ|}RR4r5V_6rx5z{&xXtkeuTx(}k`AqwcUKvD;) zEL0VEy8^34z($~dC{QWUe;z7yaz6;WyWmewhJsxpe94=hc4t zy90+h-E{%LHNY|&cyrN7a{fw%?kV)_Av*T~OtG0DAj`P_IvTX0zkqAaXS(2U^7tp< zu6zFPZaxrjfqw4OuidWEvzcV9rBOVl+WTHx8ww8!im!mGsetbP_3?p%!)B>4^Wee! zHNf7hN%diiUjrl!;27Y0#p!jH>!as6j>W2PZdafywe$SjYCJ^GBJnw0tH3?-1f4$! zVCn|YU{qCkfEF1HT^E4d?LR6~gE<5Nr|{%K71QHEYx<{74a?nM-US{r7`ON8><}@5 zWAUEcHGp6iRzJ~b{Mvrf7lR?Ct<(Kw066viEwBNnbN>Lf3`{A$0W?ByYEQ+~YKNP9 zAz6YJ5FK&9PSrxPVWmGFv#a%KcS5(#5cB}&*W<=-6;0uMmW@?psM9ULRk|BE82kk< z7YTd>2}1x3e|&K6F@Pi_2r&n~iz#2)e_LnOy)K$>RG3i-?*2!&dIq}y@Zwa60+BZZ z*hI3rl9GrvY(5$7v>=y11^`=tin^x!`SbeUpMSru{R7j03gg4|3P z38P3>rSl~Dd@w!(3LP?5i5^o79^=fhH-Cr!eLn(G0Q&!X=E$EJpeF=RFZiG`f7rHr z%^iQW5W6!jcl%)C*G7E;@cO{`02HKQU{L~y_Q}DAe2Stf@Y@7oZ7=S5r1Tw=VIOH< z-Ur(SFbM)X+IQe^n+q-js8~g*0P(yBnkZmY>0NpCbs{DJxTrt=yYTNPSezF?yAE(< zP|$WYoB%s7Kr$hUU_i$z7`}nnL=sIgn$G(H1wLI#JLt+m0#>=vpTV;T2ICh2*b@tp zYIc4y>3og}*XjnsMnEQ}Q&*lo1x+77G@M#8$8@#v^wVQf4BZbpJ1`xgzZAHDN|WE_ z-^V)oAJtw0z}iAM;kcQEvh6de9*tI6D>J@_?rShWku*~-O!0q_X`XdGLB3gmUkwoI zfX?#Q&!6D*0StV%7hged`WJYcMEdw7Vb;1nf=dYkBj~Ah`*UaLZYKb)0h5AP-B+(v zS^fa@(ry6Jba(6E2k3YjAggt9QK!MhZ3ocq1r}9M35~r0^AZ))D?i`e9tNE7;bFk3 z1eYYCIH0Q*AmX8+`}Exr+$=#451STZ(AA*TU4(|Q^g%;OP#qX>ycLx?dg_=dAet4W zR@+E62+Xo{G`x8Fluk1Ox*`5lL+8U(bI@4d^RovTr(l-^JR;e#uC~LvC@{+bDZ1K* zC^+P}pjS|GO$^_`nJ(eyztdIzVX&W2^Q4jkPWqf5$@Blvgq|3BLlmKp=gZ%{xqWjB z80v*;%DEwW=SB|oFWC?;H+A! zdB*ZT;*X{(TfZIP;nhjS5zumD0Fci8q6tcwSF58G4CwQlz-)p}oDXyACzL0ym49_M zBO-KNiZ%hI12V|gOfjo?lox=T?US|p@^$9uxl16Sr@4_c!Zn^+-bfbl+g zpSU|mD#NKsP;&s1O@Koq>Y3p0>G}ae@sf7}=oQ|pX6t0=U2rzT%Y}XMQ}SxCQMIEoxMLnfE0Z zy~YSXdWD_0O1#5lr_@KzxtSGmzMAXie(?JDt^CEi|CM>45Z1d~|KBRUPwpPLR?|^; z>eillcS#{8HlNj)8AbiQUL}%FgdhZ^+($6*?}S(XTPqlaLV8%vi>&{d2SG%8981sM zEoO*HDUY;*C=~eUHGoC1Mo6x_A@OaUHyA$u$3Fr)fBW8dYlZMLBNdzqhd0*b&d-?a zPT9I&rt;lv)e8TzdvxoYEW};2J*$6r3Wiy!N~iwj?p||;k~nVjhi%s^4qEvh zFgQmd}J|ww- zWhw2&sdQXyF^AwVOwWc$f`*DcQJuK_RK2Yr5h+@-gg+f#%_BhdrulM{6RwI#k|kDD znKTo%a6D6z$N?sE1S;Nqc)SgMn1x#;CVraV9dj;*hot;;)G(0y>2Q>*1;tC?Gd3g;LlnY}hJ}*{ zKjSgX3q(gfA&kH}CIO|PSz{LgsT0j8s5pIM5>n-l3Yl>(7_BIYM#VyL5LvS6bXhON zJw2@cj-1?*WdHTpaOKEX*NkFx5TxD5!Ck=62ZK?FW|(1`+o8B}DMSyXBun`)$lNOV zMP16S8;Sf9dW0EUf#+an!hS}qqF7-Fau2$cUt|EoXO5yEd!UE=%65TJAq5RDwP0f= zB93()B4b?G5%=IuZUP1)3x{DDW~QtVZEfvH!+^!1H%#ncmN-T>o3r&3hLO>{#N&<;R51#?4P`PzuuxJ$rm`)rGpA_FD zsieNgyh~6ta8W{ILqg@L9uWc?2$y`cUaBZuvL_m~qmI^C6X3?4)snMS zkwRY|f{6=PW|)gX>>Okiypp_%pOl0**swQ~5fY>nk%3O}(l~uX#2d&Qfn_XUb_$0` zhZtb|++{;jaCwTle)Vk_!~o$LAYB;L4-dqtQ}I-j+Y(425k!V=*<@)thGLFddkf(Y zL71L`)$I(cq~E0RAm-_aQYJ>uSVC;UWGIs&7x6rkc#joa1m%=q!sn}_I1YIOX(B{~ z_w7w`4&k|pIc%%m%c6^j*a{4bEDp-heVf?Fox#x4w4#rSn1@qQr8&QPiy=_S4YslP?4KrP}M!vcH7h+ag@ zIG(}{yG5hWdMa&D=p;pGnH|Q-%fNdI4c!Tf)!@US6g_c_5FAo+LG(yK3`3|=ffWn} z2O%;T;05^7PX)+6mF!sJy83vfjMN!clJ!gnio*qq8qkwPQ1A%?7rs!CeKe+=Ifov+ zL@QpuXrU&^jEF0M#kimdsQ4ya95?*NbMpej&mD~nx{}kR3|v`tykZQJ7mwhEM#?5( z39)V%D2C%0)>B9c=Czy-iy~kv-Poo`Ak%|-7~Eiq0{SC!GA3i*WF@QS zFkp(LME2nh9MD)3c7*~V7>6S#;ksV^lfyE*)91}$p26Ryj>@bX> z+afx%&O%fLjpejBx$L6y2KJ&=TH;h;5EC7HB0108a-(ow3SW<_w z(NxLMV=m?~$h}l0rXIAbr%Q`)2j_Whb3ymf&@ET=rovy=<3b+=Se4i_s5X+RKT2CG;G zrXZfSN4CMX9BUnr_}3#KurN`woeSs*rQw1$(<|dDQ3dK zs7=bmz>K^#sl@O4iO}HHDbHR%tdvz zpB~OI9|wE4KH7!xIt60U)iZfta0POaTCy3eIa;SDN_@r zKo7GQiZG{1a>A7d%BBkvs5M^jAUR=1SXs`79+lq+GZ}T|S*g$$Ysd|oh>6fC(*S$4 z>Q0fafqPw+gcLS zg9=6?NyN7%qIgakRiDqWLs9~orMeOFiOPt)K`Gv}Ga0=m67ZOgO-@us;}70JZa2K^ zyVx|gjD7tYdylyglcNJEP3mwVxIBb`dppiaa%L#gk`Zx)`icA7)?+(;%Bdid@0Mjb z65A(P8PG`dzJ(&To-~OQImti`pLErU2|DD{C+Q2J^g9wXVkxZLjI>}P;TU4Y zT1877Z$aAJZtBJ|x1D^L)v2^WbvpnNZg zk9_L`aG`h%3mfb>t~=3KldTzb%x6(|SzL!XTa(XB_Q;`jha^@TVfalcE<+9|mTWc6 zeUu=UcG|;FIDsU}jgf~uc`|v;3(7h7_(SpYv@?AeCe#XsL;w1uoTQ38ZV+8gVaO+A zh^0)`ABHkkx?>QPRM_D_Cn^mF3p+yAmxEt#3`+e{$;#`BfXa~t5RQlynM9KM2vOXu zdZ!qKInW%bJ_3AHWt4hsiY^C+0p@C{PfCN_%~?4xk{Ea(OwLEwhnsByQM3~4)BR45 zF#^Sr*jJfgllG3n=b!kFH4vDuTX$ilHP!V52e$J6ep>x04!zYEK z!B$8cxBL{YAM}=^r{6}FmS6If6Uku?5e*sx75F=tiJ7`dS~jIOO_L5z)+olNWCRh_ zSIh%pNX)>Bz={@5g}d)ex#iu*1IEZmbCaO`m#-{)ys-;Ee57NtGaf;dq|h`N(ac;K@3^rg zICec*$J8B45YZ9M!6mS#vLY&mjfK0haJVAe&{sKKK0eiSm~0|((J&0wN?JHhieO*0 zmc4uoMw3mQ$hgNKdh6~t73(LmUYDBlI4$mZ;ui2dqyGOR&)jH%AbjbdI#(>de@B1i zqrg{LQyo^7IVLm*lNs)C?ydY6^1fX)VtG1iL?WgROAYK@ck~HczOna1Lz#<| z%8Mbfe`PrAwk`OOlhcg(p4a4E{42A@Hhds%g<|n&Z7c5ig+T9a%U3qd4hKu|EkV?G z!=XY2kkt^97h=Xia0-+Lp$<>Pgk|_QTB}}})4f+99Uif`%XZ`Dz+Q9go55|N7c-kz zNhZ|ON6^pmTdN+X3ZhWE37-_iTwmY5yVRD<#y*a5mvc4=4>PD+8x$hy_Qic6R?u?S z(>`0YOm3vUSwkIrR+XaP7s2=$bR^Vr1f~kb0>kaG^x#*J`;=cMc^amK zN`f-$C6NVa<;S!TnZ}Q&EojuZ&St%VaIOJbAAN=5l!9114dZVFaw(oUHF9teS5iWa$UK{&+qXqA;u++$Ds_%{pICIL6egxXwfW6m+3s_@GfjbjOZ}2*>YC8Kg!D4uPwH9MA*>F zgnO1XMpz=LR$phcIOZbtk_MTeeWbW~jPY>dIH!I_IZveavN6M${8}nGf`=_Zf6?XL zr=nCoL%&kNAP_d|i0i@PgmjOXlfU!4NcK<5S35HVk~v-a-miR2c>nwG;70hJu&zh0 zL9eB+oJ7Wkiui`aj0L6Vb}DZUx@o>w6e5SzWra4eGhb4i@sltr`{0Th4uHGzI_S=f zSC}8wWn)(982FY~HM;H)G<09uO!}Otq`U+x8WD*}KYn_gFh4pN{^XPnJZPd7>6x}l ze7nM;YA3fjQWY<9GhVwo48B^Sn1>?ge>&E6eGVSqWPUuglU-fkBprFlg-0v-N`U!I zxKqf4oqLQ8yUIcxbNCIK>5vjRR!=Ir5@CDVRZR<3Kp_ z+XuLKzyxp11}eP~(opV+OJ6s?@be`gvJB{1g1Hv}+>0`NkBJ*e1V=&PyN zhU-ghx2Lu%#i=7pt_pq=SqRbW_yN|_O7W@K8uwAZE6q7=EEBNQrRS94^vUKAthZGU z7VbS=FnxA*ZKyA;g-gMAIJ5i2evwmSI&U;#M$a?w3^3mlY_u`eV_59z{ zSiKLgYl>gT@&yz#YM)jtnid*iV`72DU}(xcnT*=+edQ9~Dt+;*-@J}3I98ayu0L`|GHqKnF*lif;b&sDkg&Hh96l@&kQ| z8P%Dw)BWy$0+n}eHy!3%cu*Dk>gJr~lm`uW`-u9QYR|{r>QZyKL$BZE?@5dM2@f$N z0;SJ;UEyNC-%Lgg$L0}~tJJkErG*t%4{S`WB3BC|2+5`jshj-TI{lG>4Y$!hTYuOM z)|(C;6&%+i?mQd*Sa9bl@9ZE}OJME{K`6M`hg+%0H9(}^FE~kUu{*#^g<$9Ms|Xso z(^d%%nobby zA+TB$j~b3i2y56W(=BUI79?ih-CxN&&FcEW{m!zh^*yV`?cc$F%GfJvv6N&3unv_cN+_D4VQ|lUrrXETiV|9(1==b zRokF#i*3t7ZFOT1}?Q zX~jCwLfziKAn#ONE z6fb^(LVWd* zmo}>T(Ajd)__f31?YFkyKR@6nLaEb%7Bk9614WK-`b1QxjrrM2+`2yh4=eDXV^IAq z!bbBA%+>|Xf$zTl6Mz#!MQ-e5cX7w z+aw|`fn8nA3+W}7qU)2>pJbyhSfuDPNiDp+|J_foY$=7o#$?A~rip)i7_MeNK)#yt z{CQ}WPL-O^&)JlO?e@|7d`a=FDdrEQnCqH1Yyt_s=2v;2mnNvQMksOkDhK|~sXKbN z^HR=5(^0<%vXOBRyht3wnNm6;wM zn#@gUhpYHRn(Xzu`w+4V+WP;n7H#rs*UcuVj7=LZi$=-YG&I*|HN?N9iaP%*vE8e0 ztkUmPeafG7Me&H61a{MI#Ck*$Mc~5tVr>myRcB;SvR$8_ZaS^l$d^_3;_i@x4&LWT z;;UWKs`j#dFEpYX=arb6R*~=w9X?uaPubMih&f@i=?n0t?&~iYeLpnLb8B9h8%uVs z-)P{*=@zF~)-(GD@LX5BCoor3otwP}{VPQrwtc|5F5a;y*QPZdH8oIrbJp7BK3cQN6W)EyHpy4<87im;&mg@7W+{LtbTBIIm2Y<> zNPk?DYn|wR05{`h8|s4`SaG?=yvAHP+^+YIHS9T7XUTs5Ds;~X#iHQi(cl|R!l3*U zlCs4EOP`!`{(MA$du}mWXMzu&R}3U3eV8kzF*lH9X&=J9O`Q?-mr7$I%P!1DjT>{w zIMog>-+BhcpQes-J9K@9mBJa}N-^rPAs~?7JTVY${V~yr^+8 z$CLX;1){oTWu!S>vWmsz3*8vPiv<}>V4q4Fgg_G)W+Yv!&oZ*!Fq5if?(ZS@F$phz z?AvVdO$k{oRA%N7QwsUPf8RwyVCU%XA0<}6S+)&f?5M|VdJ+C)gTw697 zdHi6W(W*f7vC^tQXQ55MQ6=Y~M8C{~$Y&)1#4_gnCC&6rHbGQuyno0l%u*i{lYzof zQz@TTwKyni)2+WXi{K49f-=yJ=eqUfx?JK?AV0!fOcFuyh2r5b9`FBkfKI{;l9HFV zjdP3TN|F~!Xob3yhobCM*U^(?0^fZVbG*96>~+5FcP$et(BY$LSqaH8QnLXkzooWp zZkKud6gX41=*L!)ZZD}7HbwIk-)DAb?k^Y{zb);Fg1E7kUeu;}(LK_UXU3XJo_cI= z!V`vAKWH#0KET{s_Z*xi<-<5cAdP;KIeVcCM)z7vdG1&xFRBIk zG~>jd#6Jt(UJ57vv2)X&)RU$py3DTkl?uI!9v>=#5uePX%L^0qEWGjxY(&Bm;!8g0 zoVT}E${7_p?LJ}2jCnbye&&kgfb$4N-p(?_um;b@A%t;R_)hg{xFIRqJZ2hc7>9Ym zBf$E{=q0f`NM765OQj-&0j4W8UG1h@HgLsLb|LB8&JV4dkJys^6OQfd+`dp8Q^WPn zz3@kx%@<4JV(dDmRN}Qr_dAR9VjJ3QS{?-_5l+K_zK+7|g87c0rMY>Frae;SZEQUz zSMAZ>q*3yE^}7`8C+y9!fqSkuk=~{(MfD|XPs!uGW$`4JIRvZ!%XX_=&DWSq8o8lL zJ+~K=IcNsNPE@>U&HAuo<*Ftjb6`EU>lJZqsaa@FFNR_6tKZ8;yQifO-!JBxh*TfH zL@d2>MgH6!D&FLcfRZThkzoC!ReAY33x+|`x7H#xau+%warR6%mXnXN-fglKNw5zg zQ-{LP2l~yI9sPxF>z|<{gP<3N%J8y#FBLAX>$MwPbP}-G$m6qr;(#YG>>S=cF2+C_1CU%%4z#86Er$7t}>aaeec&3MP*+d%RO2?U7nSoJNV@RIx4w1 zgteYIX6`3^Kls4I^;~zrX0~%@wTpc!>-}-WSo|+jJZ}awu9}9+8fEz>D;TwSIM85j zFO|85Ol{F*!<5~PsIdQ>v-!;yiLz<9}A=HH&|SkuaYEG zfikZovo}GIKoer5&?t(a{kVBWG`lc8!MmhDtxTw!k4IWNtC|uutEBz-gn>3@GmYGlaxHL>)656>zkeK zwD8*vi78toR;(dGP4$zYfeW!;xwj_!e0J40tK^FJ6MH}RniKjjl|3oEcw-Rx_VT;R z^5fl~mM=Z?XXZ?A@Au<;n^V!lh4Mk;IOBrYkQjvS_~lEyPB+SrguCh#ytYQaN*tXC zSXSLmb5F7<_{17}PMT{+rZ>TF?{C|&0P+f|2Zvj5!jxl3lj)=y_tdo;X;CcBwgVLP zsrG*ur@B!hL@QNood2L2a-Zk6?Z&}$%8C4Ej8@`zF(huf-4K%zS>y zo^q3XI_3RJxI*>jopUZ?jXyfPZjAd3NFQ{R3%9fFG}wr4&l)Ef>D`EIo-s^8eklYL zG`U1f+mH~KctXU)oHs+F^WCjCwPj20(lsYwUaxv;!w(yCu#83`30^#yytTVqrG5kRX9WQ-W`p)=;-mMmI$TWYv_i1QqyZO_kMIp}k;GX=qZM@=}eQ8|G zA^I}pd{L(h=0pkHI;IHEi{UKYv48NpgaJ8pIK~UrmSl59?CiJDWW}19=kQmI4-Z0m zY7`F%zWY;abXnr#xl7L6x_Irr&?$Y7lf!-tZXe4Q15YxwM6thA|IehG{{f)*1Z_1kN{&b~+EGk7^oEPbyVbb@R&bN|dwl)GQaOEd+Gt52fgwsg*nTkHcx5U;hf| zcoyG9$_UO4`3S`lU8;_pNtj@jjMo=FXLbE&)Oz1ITCayGA(iOgiRcd^R_N(8N9xpd7&uKN}f@@aJ&az zd6M(ftg-@U1#gkPXJCc-`M6EW$1ePWPmG?O8xD*3kEGnX z*U!sT9bbqn?XlqSMM*dlbgwDd@2GuOREPa((sg&*GgxJ9m7u)e>8_~C()rx#QGC>` zL0%#}>9*8YrD22G)Z=aD$5(ZEpGPy^loLCrs3xbrHL$57B<5Mo&_goJ3Z#`;uwU&n zzz8<_`wR<6ZS0bRv*shiKHm4bBFi?rw2?IKgqldm_l;YgoCJ%w{4~C^ra@e4cTmuBT4tzeE@i z0`g5?d&05ENtF=QR~e$DMFZ}x<{mv0^K>GM0bp=t1X8b(%3L(X3tUjf&GBM#c)d!j za&j}=-DC^3S!NHnDOGkko+GX$Cp=`LrrT`O^gF}6wX*m&rZj7Q7L4(2ly=n@$4 zpqgPj<6PmH?hj-a-6yfra8I2Bl5tupsG<&t<={^CI}|H3i&zA|sAKt1vq8CS~Zx zbgX8x7{%Dl$diknNx)N7gr0K?q*;g&njT?D+03ap0UR7j?vYyLS;HQCHhlvq|6Mnlr{DF<;tx^ zSRlc*r|zHz(#o$vag622B^A1DO75eE1@tg1NAwuc16J}nWsprQt;HsXEk3IWyhnWKu4wV7a7!^+Dk@qW}%E9E#W z7EW}!%$6{o_>B^Jd!>bDpBb$e0o&DE*fm?AXFII0%jY+y&deU5hKt^4?6*!g{G<0|)DTCwVuL3Iwc}aVMxvygob?TLM3)ST< zgDLb9Oh2d}-BtX)N19Q}nfK6$oF?-oa|SBMnl~WcVcGc&`qcd7#87;S6_jF+STtDx zw%g?9a$+-tJt-}dHRB91g(TZhE=|F(5`LD1^Pt@DE0Mb2X5lPo zX%Q1R4l#*0TZ4T*4Z%*UKWWiW2wBpDR3L2>ZU(|YD;S2pcwQ`EEh3pDPQgPUs2T;y z`=ucvN3$b)Vu-$epgLCupTq@%^ht|oRtR;J2(iN;#iY0#2BZqa1fk9==%Fx)v~$75 zSXKxLf8LD4^dvyvsVpu7dUz;|nF1(+E(N;m5CMU%y~zcCF3*7>)D*(FAyf}?-}Nb` zhe1ffQ3O{>+j+_jsh{Lv8K8+a0*V!DHas{Ru(w>a%wUO7aKUG`L&{K%@N*B5Ca4)g zZ6HwvXt*?%`K_^@s~6!T7d!HFt`!_UEU5>>Esz}9Aqq*2s?Y?6u@*QSL4y;5Ty$}8 z%UGxg2A@7eJ7gdPnJXFR&AruQM<3mEfb8HA=qr~{Fo+lk(-_7xVo-dvoHq=xxN=z8 zbPNRs7+Pp(g%M)ZgDYV~Fo)Q1QF;WJE-H|s453EKhWt%YNmFWH+V|_7y8AlxU*9%=7-F}N zGqk5*B9GNgX{77qo=^Gvh%vse-O2Y$)S;vSnO9fdIepnZe)d!B9)nV^N9!2>%e}&F zB;{-|D~uAl!y;KqoIhdpM{ss6+3Pi*31@Qh5%rF@o@bA+qBefE@0~!bjBO$7)Ogo^ z!x*4dV}){tD{mA~sNON;l{?jK9&RIhsYPbM&_SU*E}32R=jPazE8bR;laG&1UQ^Um zu$wpe{QLf$XoH*Z8qFJb@*;jzR;*JM?o%o7V7o9~7)9Y0zW(o#ocM=tv;%w3ayBl? z`xt#r%H|+GEXPm%gTd;%Z?5rN>oYKAI{)hZZ4jDlv=qGbC1^5NhE(Pr6IG9OE7==s z{*q~>i|WNb7`nlv@8kyRvzPIYB5uXJM@UuaV!VoY4}5{fic2aJ`JYUyVF7r&^aJJi6L%cdhot+3orwg@Q~}eR{jg>maJ`)D487yz zdPPbCgnCA8jBt##R4R3-zGU3kzVEr;SnW;5o@_9iUy$UsT_)qM)Uh6~ms~dr8x93l ztSCGlWM&)H`h#fZ+Rd{M`;W*|GyGrBQ&<6wUCsY_j)_FC_)*}nvzsY;itfIg(!9@K zvqT;Amrgv4UH7_q()64(_r*cGBW_XG%f@#iJvm6apj|2zuqn%dL6DnJ!YYtGKLWvG zDPOAY7GV0qUWRL#p~xvtV{znND?giBwEL|pPN259n5one+w!aYBNKp}4Y@76imLrz zkg=ne<;i`7A>bi0n=JVH-6&)oZ*po*c{HTd+_Cp2t96yn<5=y?NHd;MGRE}LlXgbS z*z=l*Qwc|$BZJnD8}sXrjq)BF7CE82p#j=`Tk~rQ+jrdwIlsS^5B&v<0PRW^@du*4 zhdWv1(aRAGXUyBS#v(WyuXy05J_Pf6*DQg;I_X3t-zAe-W4?(Ln{Pq$Bwg)vmcgo9 z^<#X9e7E&VyT-}u)*tpB_>}*aHsv4XS}#!^dP>nN>)?%ICed)H^5`T>BdNQS9+eKK z%Q}9>ibgW>yXDMod-vWio`Q%J43HVqH4y#WVMipnPw-Su0cgwcNgAd+XEV4H2mna5 z_vz)rMnFR7ag~Sy+B)DBbduocksQ&!hVJOW9#2!&&{$ertl8-j$N{fl5Q_tGO29M{ zyZ-ic$*o(%SP;_YwD4y6mcw;$)l4@`j=0GdPk?}o*gG|)brD!wnMsIlS|C z$%VjRh$PxpM8gie{p;zn@3kbb3ymOcXNqU<+e+u&Vc_Ip89b|$yJgUG=JG~VyC;|P zommO@CFc2;;HMpwJu%o~-GB@vPS{ME$k&_k{wXqj>{a`A=jZ->Tfz1x?mOojK2mtYOf0U2ez@Rc<@mU7|MvHTu?^|* zkLSO0&FFobGrbjcu*;9?QBav(X_rts@88nuaE`JkqwTJCwEvF6Q`Z@R0G^<`=CY&b z0?EUb1HEUT`6PF>CrjK+@;jNc-xYcKgnU0cp|uVIQ;{mL7ZE{a1XV zZ~Kq_sCtXkeDIIpw9d#A7Fh$vjz!zX=dWtc@T7k=|MU0UAD439-`<(2=ln-1o@L7M zXye~&&Hg^`^~;0815qsRM2ZX^_i?{OW*;!v{#}0EsgCDTn5F8Quq!eR)=xd2NJq`* ziz-On_6~%%0ZS}N$hl3%JBYXHO|HLi z;g7Ksr=%2|z1gO!sa9v+ ze=o9i`?pmRW9L4Xn+Yn@wcG)6UYvW^)zGCnc>ID`~qM8GyuG^{&PjsQB%82mL`%`PkEe*&47>(7E-vv=ayQ zglSWs{P+fBGN!>mZu?dT7@Ix0_Cw(x$P6jb47(HgA#5XS`|aCsVE%q>^Fs7yb#Z`? zmlyqs;!RFY>U&b>QM3uvqd!0Q9|FI&f;ISy@0vg4%85}Cp8a}C6M8tB<1fZ>=e*;M z-qGVr{-xf}fy77$=%6BRUjF?(2>7xnUd1K=H+G;1%Nmj>Gy$H_ATt#xQnvN;8u`3I zVm3%r4g{eWds8PGy`KXU!A}o9bpxeT?wE(ha#zdkLbKcSXip~LaF^HJSAiMU>>mO( z!}9s;Y)izR=U59cuL2srYwK#!Za|I*3|VY_l$-^C<7+_Yo4o(i(wWCY-L-#wNSYQk zZI)7uN@QQ7Y)vRjSt2Pzib7;B`( z%frn1o^ze+I%lr;+hoq)gnjpJz^&1+2!6%Q0XIV74Sg+Ip#d8*vm3oKnhtWgfp?#Q z6CHh$nU;}km0ORm$^%xJXmah32HSilet<{h6Iy7A_Qz_0N%cSDr}=LRC`6GGCMx~C z>izGge7|*S!vXLMdIODIlBK#}ktUROd*)bUDPb#O%#$8T)<;j^-Yo=vpsp>b@H zuqpyYBWq9D#e7jP9Ivj5K^8D>^QG(0Q}AiXINY)1Ld9Kl9GZ#q`&n388kTx{(doP1a-S5KJfN@fG0dw^nRF&32ha1~0eMdvOHK z`C4)leo2;u{sS=gYcar~y1Spfd)V!w4f+5_3&%PE-Zn63d;i{dsC1jH!7yV(W0nf@ zd7TIIysPd1Y)r8Hvff8!qEeV^K#t7VFpq9R5Ycr~^guEblau>_If^HPj#!Y)(Eo>} zk3O$&xy4}akztr=2j!Iap&?jasE=h1gBL=bMvG_ywcK_LO?KFdaHIx4}oM(Zd%@a?&Yt9*c&%E@W5=cKm* z^a2hMkQ@8=F!z2ywEj^3?-j zc=VTo{7tK6O|mc5qcdH;@vz%uFQ_ZdZxSdM+}+*LfsP*CjlN3c*J!B4R#wX_=1HEGmVY^Am_Bj9k1#HFg=2ub@{1HJyFnaI12bCb>km5+e70GA^g zJa2ANcnhFCkY{bqd)Dlze4CrwDp{|aV%F{=*~j}1{jpDK%z$wctaBeqc~JuG%n>rs zkS?GFft@p70(POyfNmDpX8aifVRxPO0|c{E#3`rc0rRYF&fj~L{<>VsH+MU$be_5B zn>tnSe*(U&!8>qXlZ9Hm1_W@ssiGQ!E2lOA{kSf``T-t52cAVDG zSWg=S`LYW#F3iu@Xt*S7D!`Ln{JppgGJEOYK9R+emF3w|ljb)fKJ#_J8j`fo@TuaX zQDRBM3wUg>7^ISf3h)kLS^y!=(#ncPmc75{#8C+HctQw>8^SVPJZ2%NJNP0LP=plW^=qBxH-O&* zvgi#DNEhZPY(d-t*JbVlD4a?dP4EH(Osk_F>lR?bB2Z`*F!cBLlSse^0wo3Z8ywGuSo3zI_YM7NRnA z0`Qx@wP}BSM)0f_-x33R4=_fhD~qLQwL~AHM@ZygR4KUji0w^pSAf_7o91s8r z>SwRlmIqbXlN>>xYMeswA=E@yO-;K2`z1DQL_{91?I4i4W1hx(FMxNU&AzjBhL$-w-0P_K&1}-^Q?UV0*;0*%W1eMM0pyS{nG%o#Ugc;=m zNS%5I@EY+IBk#dV{Q|6}X?XzG%3M{Ly1#C%EC`somqoB=n3|eeSXdx(5|cER_%cCm zhm{5oS)yL^8zh-<7op$TTDp#%_?aFVWTglcz%@&qaI~|tv$8rM?ub7GY8}_^-Npq@ zzX+}X{(o>o0;-BM6ZE)8NK5m7eE!^BFp8px!t}X%zF?Mv%pgilykNhwymZ**H(s`i zhK2@mIA|mQv2cWy7}jc4RdkBSuY2`bTtz))z^#Q!{=9xZi6HJV9pR>nhsIGO9WJEOyPrM~)iQo)I*ggU=;p(XPl4nPl)M2MKu(TxTLvA`5-fxLei%B!?5g;;d(&Df=$R*8G?U{T^5J3>7}&@Xxv;O#4kkQU20z$SL!%B{jaP7;fV|~3aJUOB-SlbQm*?^_km7=H zv=Hty&(`LwxIFOy0ADO+;FopPXUDqmC2}HXz)k#-E^l`SvMww^;9ORS7k1&oPeK)5 zr7$BV8~TWuFSZdd5O=&=@DHJ_^QY_xum@B$(`)1kpdP-QFKgdl)Vb?_yhUX*J2?*c z@v7Y(zYDvTMu`Z5K@q_iV%mb+sPoG7&0Yt9I5Zv$%0fNO2Brk|2nc_sVM{Fo_Yem^ z;1w{hSpy(NWaMJH0W-oKe2oB-K^};XDFtZmL z7UHd$ne~F-iKX^*Am)(sfh<#CBfy?e@MI@xo0!Dbm|--~i4Pzj0cUARGqC-Z)dzAj z@laql1yyb{4XybiC36=PV#kJu35Nvs230Z^`AV%p2@j!M*a#l6AHl;p;3tE`5!2n7 zuIRNejf4^sEj?zC+^}&uabCu}1U5zsl~2a7DLdphb!V2am0%}8Fy(XN-EdTvyw?xB zm;h5(f-K=Mcu-BEr)0DJHL{n4({6%<$wLBh^cSn3qo|4@4w z!$>`W*HZ~StH9f2%57484cR^p=!^i^?Q_5wI#t9cmsyOfk!A5>vFG`6f5nc1S}$?@ zd!B77`{P>w_wmawRg5wNzzX z^|1yvm2cfAOJdXTd9Gc=V)ia=HJ`zQv92O+<3|U7wS*SdOc>>;8WagrXrK-29WZ>n z+Bl+JsCJB}xK{U;+D)ptA3&u7+y|FIMCIw}2N%P$=iWi!BIim~m zkhM%Vh6@Op5?>+#_CRt3M;t=ekW2$AY>{gMd-lo<-0!h#NMxOm)9PiGz>o|YNy5vw%7Kta@H z4Fu;MNd2}y*lIZC-SwDT15BSZ4){~RnGP`RopR%tEU>V-Lz~ErP$sd}J>J0rP3WVg zUr|N#302w(cUt(TQm>_na~bi!W2-5#IP&nbA|8YkOXM}ko)9H)r1CuC z_u$}@r%wq7$`wOkEIY2@KVX6{!igDk@=ByM__XGAtbU(h3>YqeJ=zG{DJrrzkB~>_ zb+|-r;6DS5D}-Z&_Q>XiQ4x$sTKtg<{2pe$Cn%R8+HMdP+)-WIf;>HD=Fu zCMKpD3(E@MKUex<}5Qn5W+262}7BT zq9T|4sd>*%(V)so)w-;^6&C=?wrP)^(&Uv86QfGiw-ha97O`T2K*aX+ozf4<;d6R3h9L4oqZe4gS3bPc z`);}D8=JzUB-PVa%$cFrwT8k}hVN_(|5m*@izQ8>hsO^}8>axrhKsMycz6_Y1^|CF zIn!>NCpZk|6eJp;muco3p-k!O00)|H8*+n0XM1{E)=Mb%K8OavHs^`)zuz-GJL}j` zSXc-wI?#V>E6<2W6u~}094{e~A_-7L0YsprzI@S>j!IW}%1uV98K1KjSQ+&`fw8-Q z9}={G)MDO^9-R`Bl1_C(c>uQlh9`YPIY={z9UEC#>>Gf6_a=AOJlqc)KVgmpS|1gf z9d;C$5Y=8ZBe@MtqK2u%V5+)#6-tq!;fzA~I)&-m2!D`x#G~&#A;&+~*8>rg67AUq zMb9R=agyKoL=~4J_E${$JUlYucUoIp13`{;CN3)4^eLn!Jmk9g4(`ZoRq|$a>M(a&@ET-Unt zV4xG_y%wBO^v>p8jnVvY4YmUarD4MZ;FDhHq847+eu{%c3QTN5ih-GkZ!at^N}aeE zgp9=Y$6K+edf}n$_%>5^WbRe+x>fi#QX*sK!Ka{*A&n`(ffAvYtrl2-Brg^LM4JL?lyS?X3%SDlwdIL%h_7paROcag>y?YM&azm4Y zg$MbcQJnVISEj3|y%4{_!i=m4Wmq|TRgXRO14v@>jpu+30%z5qLaZr-Q&h+(XGgHu93273Li}l*p_Fe@B<|V1@nXcf@D~Xx z8X;LEk?3v2ujGQiHo#O4OCWaP%ZvA-k{gcpZ?NOM{Eq`p)Q!j)u%1hR#3BgSHLOoj z@^D%=jf}ZH{b*%35OWP#1pvm?!MOeXyDrfQr4~dd{UMF|{REjt)fgj?4Z!nVL0ppyYT8$d!+}s^#3}x3O`>Fk zri+V9<%QP}7J%&EC#P*RHbrK0VV$JLKSJp1z&Rw!)+9?t67C&QfIRh@`Gy?WqGYN` z*l%da1z3I*#t)5pg$`F?2@xauEqkD4vO>64JL4^<7hDF-ZEXi(0uUFEw>*pIhHpR> zfCDn%vk34b$lnk5Ybjt#5Dp1=5Ptu*PSIP)Fc%JVYNWof~|{OJ`Q$TFo!n+lbDp$A8@(ZFBYMsMXV#vip0-f!MG(^)~@bGILAuD zFTxOFtiq0543txKcuc?QhSMq-IQTc3=~f_VJ0mEKlef9?ZsZ9NAK)y^@Nr9f`_2ah zANbn%fA4T2*f>R0Wa;PH+S>)TE_2Gc64IRsS5LfBpc`@Oh9m=OgGNkn9023Q5%;)z z9XD*)xN#KRLp!@y+1ZYG+r-PT4!V=Y^UKbA`7nl zsv4oD*7gU3(%ETTWe;?r3z&L9X(Pztq#f3bt}a{lN&rFu9Y>faz|co=1Su^&gCn-q zmKIDkub!P-iUt+OyW|^;6!nm%~2QGIA(;TU(*{ zThYq~z09}eB2b;+3~VvhQ9(*72d8i-IcxsQ)Zn|B{GY9j4Ni8_2)Y|CX8FaAgFP0Oj3 zhKwyXH4As-6=ax9&+#V)iG7o(BRS4rrqg3GhGBk*s#n+F!F0pi5GNS{rZ8R9>AN+} za&Hx^wa<-S-4orO3)R4YTj!4-(PN8Qo5IV70jT%;^!`267~&hsXO~>%j7>~7Q3b=) zq2SPcUOT_7SrW5oIt{dWY!=u%8!u%O>`gq(r#QiFgjBSNgS(xJy7#E~Kz~1HRmkOC zedKUvJ~CsotN&xd=^F)$P?9{87gb$v%$>W!52ZaiQWs%<(={ ztIL7_yJB}!p1(Lr`;r=KOW47LPkjbyQJfV%#%CfH`*LMXV%2kVqSxK+mr2lH`=4)C z>w%3r_Qg@b>or~}KM3-aL~@&pOaU7^s;)tfkbL^=?{5UTvCY|>&8Pc=-y1C~@Pl2R zj+ZaLfG6{y5`Ro=EEYhJ(FT{#$M|=sr*01l9}~LG`h-I3{jKCY?ctQ3kX4kG&@4Fu z8|(ssaU_;FVdWOAOBMe3Hrd7T&H3jA()T0{bT)CWzNjx!xoRL`T12N`;rq*l=Aq@& z%i7NA$K4L!n4)fLIi^e3K6og|qWFT--oQzpV`O;zgv1tRM-zabT=%08Y)mFq#!Qpv9 zhsfD?j79nJiR&t)eu}>RuxG1tSD3mv#NV#2GGt$;L%U=*VMuXRfaM*h9sF58Fo+@X z4Q?57+pj+CwssJTFna5Z?2I^hLI8Of(vsJ*#vsgPB?S>HZ~g^taY znDA|bFj~b>Fv&g6(`;ixNK?FmosQw<{DDCC&{U5v8b-4!+k;Y1RUf~Sm;A%P`PaRn z2D#e1J8e!E?@LyvZxs?`$}~z6h~a4o*waMmb8vHTm_%KGo2$zW(cf_3{7_554dxn^ z)O}l60|gu6b#)!0h8THTD!fu32!$%JZBu1zi4+VKZ&CDmw{?0_*G#r;youR>&wlb; zw*(oI28#XMWJki^nRONC6vFJ*vQPyIe_&6-EzxHOyM}onY6(;;ViP`|k*t^{cm*3f zA}eA;*gJEFA24kYcOL+g(&EOgntI>I*-3`K$oPJ)*E(2WIj!xdfbm1Vkj*kCD+Om= zj6`Bce%eGtGoInNE->}1c)P+XD??t-{Ns{Ex>c#bNKfA=?w1x{96)*u(tn~}+aHv{ z$M)BlIpAgkCDZ+$>XhNWy6`UNHaa$`D;5^P+3DiUi#T#=1dA2t$51K$&AJyjSwSbqhz{k@}- z#u`>puTQ>g}f4_QFwk$layLy z_4qROhG#^LN6s8hoqDXvi|fH+myxq4n&D+55U>%Pyl4MguB4ImH!A!86xz9yRQdLl zeR*(X692QH;hSx*#7QKcQMZl0+QMpKN0@1%&a!yf62>xI26LCP+*E7MaN~x!R@PrV zktgtza-r8niA-^==(|Cu_&Rya%ks-^TSRUoJ@THP%D0dbb?oxwd|_kL=+HO0a-d z9Btxs5Q~}LhjY1teRl_hy=0#%3Fj~=DKY6!$I*?ei&`J^~?k1%6V56HOI1$5XtpLUFkCjLEZ%|Mc2Bhwh( z3AB_Adkl6uv8_soz7#!`dQrQvgl4}KHxz@``}{Ey50&W!$y84&%1&y{u)~6OgV*Us z^W+q!|FPI7nm;i!GUC~AGBQ!Oh}`>PGPB3%qT%3Y1D)Y8s4!LvxoW@p0&`@ zQw_;-3Wj?h#@rjr^Hs53;Cz-W+>)O7Z zJylF`m+{Q4@TKm)`T6_-DWlTE3# zu_~sHHts#HT=PpeO_rr+$kNAd%l;h!WL_N*)+DpC0li%g<{|H8+2x1Q&@Y@B{N zwat#H<GP=?Xitz!1-cOpil6`wS*>pEoPvyR!R zcgcq9-z&Q)?CN+d7xUQs&Jm9i@y!wQm!@8Ij4Dg{&HeqG)iLr>Q@K->LL$kpBF%jj zS`~lkq_S8dJL8>ob&@9rnqQ9z@i|5~Tzbs@Qx^nhlY!=tA2nWvJ2u~3VnOf5S4hZOzBTk8Y7a>g$uHe$6e+X6gOnU;jR*RW^3Y35pU~Er)aA zdi`z<`9k_q7TTuLSCn_(3@yw_dLLDPXu#-7MKnX1yeIwd%p%v@^`vW!9s1^mtURY% zT6aj?u~-?_vJHILkr|>kw!osScdj|ur7$KUrt$LTZ&&l8>H{MDiyr-5T8u4@8NUL2 z@AX;|NkMhs`t3-LF5?x0$;n2IdtW=wT}l0(xg)@o)1X&K>qV=m8Od&ca1?1=--=OU zxODIUEl=+G>|vIb^gg9dEv{*`qdLx07*MuJUU|QF#cV8Z+yA}M1P>FYIU%um*2i-i z{;RjqXg=|{n*C~8OjS;uq-0Ja#lDo8t7=~n6CD)JW6P6e8hfzkHu(>!O#U7J f9ukQ(_iN3uZ0*nwr?({IUnDh^lgb&i^S=KF&SyRZ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 97b05f2..eaef81b 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -137,7 +137,7 @@ PlayerSettings: 16:10: 1 16:9: 1 Others: 1 - bundleVersion: 1.0.1 + bundleVersion: 1.0.2 preloadedAssets: - {fileID: 0} - {fileID: 0} diff --git a/README.md b/README.md index 2f2c3b8..b9f8dc7 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ | Tracking - Head | Toggle On/Off to send out head 6 DoF pose | | Tracking - Controller | Toggle On/Off to parse VR controller's 6 DoF pose and button status in data stream | | Tracking - Hand | Toggle On/Off to parse hand tracking data in data stream | -| Tracking - Body Tracking | Mode dropdown: Off / Body (IOBT) / Motion (PICO only). Body (IOBT) streams 70 upper-body joints from the headset cameras, published as `BodyMeta` — see [Docs/BodyMeta.md](Docs/BodyMeta.md) | +| Tracking - Body Tracking | Mode dropdown: Off / Upper Body (70) / Full Body (84). Streams body joints from the headset cameras, published as `BodyMeta` — see [Docs/BodyMeta.md](Docs/BodyMeta.md). Full Body adds 14 lower-body joints inferred by Generative Legs | | Tracking - Data & Control - Send | Toggle On/Off to sync above selected poses between XR device and robot PC | | Tracking - Data & Control - Switch w/ A Button | Toggle On/Off to rapid pause or resume sync with the right-hand controller button A | | Tracking - Status | Panel to show tracking related information | @@ -39,7 +39,8 @@ - **Pose sync between XR device and robot PC** Transmits pose data from the XR headset to the robot-side PC for robot teleoperation. - **Body tracking on Quest (Meta IOBT)** - Streams 70 upper-body joints inferred from the headset's own cameras — no external trackers. + Streams body joints inferred from the headset's own cameras — no external trackers. Selectable + at runtime: 70 upper-body joints, or 84 with Generative Legs. Wire format and consumer notes: [Docs/BodyMeta.md](Docs/BodyMeta.md). - **Local pose and stereo vision data collection** Synchronously records stereo vision and pose data collected from the XR headset, stored in the device's `/Download` directory.