From c8a94b64087fdfc87f24b51f935cc16f1f35ba08 Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sat, 7 Sep 2024 14:32:13 -0700 Subject: [PATCH 1/5] Skip return to near target state, binary addressables --- ...BehaviorController_Automation_Insertion.cs | 29 ------------------- .../Pinpoint/Probes/ProbeAutomationState.cs | 15 ---------- .../Probes/ProbeAutomationStateManager.cs | 10 ++----- ProjectSettings/ProjectSettings.asset | 26 ++++++++--------- 4 files changed, 15 insertions(+), 65 deletions(-) diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs index c7005280..3994f4bc 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs @@ -162,14 +162,11 @@ await CommunicationManager.Instance.SetDepth( case ProbeAutomationState.AtNearTargetInsert: case ProbeAutomationState.AtPastTarget: case ProbeAutomationState.AtTarget: - case ProbeAutomationState.ExitingToNearTarget: - case ProbeAutomationState.AtNearTargetExit: case ProbeAutomationState.ExitingToDura: case ProbeAutomationState.AtDuraExit: case ProbeAutomationState.ExitingToMargin: case ProbeAutomationState.AtExitMargin: case ProbeAutomationState.ExitingToTargetEntryCoordinate: - case ProbeAutomationState.DrivingToBregma: throw new InvalidOperationException( $"Not a valid driving state: {ProbeAutomationStateManager.ProbeAutomationState}" ); @@ -255,30 +252,6 @@ public async void Exit(ProbeManager targetInsertionProbeManager, float baseSpeed // Handle exiting state. switch (ProbeAutomationStateManager.ProbeAutomationState) { - case ProbeAutomationState.ExitingToNearTarget: - // Exit to near target if not already there. - if ( - GetCurrentDistanceToTarget(targetInsertionProbeManager) - < NEAR_TARGET_DISTANCE - ) - { - var exitToNearTargetResponse = - await CommunicationManager.Instance.SetDepth( - new SetDepthRequest( - ManipulatorID, - targetDepth - NEAR_TARGET_DISTANCE, - baseSpeed - * EXIT_DRIVE_SPEED_MULTIPLIER - * NEAR_TARGET_SPEED_MULTIPLIER - ) - ); - - // Shortcut exit if there was an error. - if (CommunicationManager.HasError(exitToNearTargetResponse.Error)) - return; - } - - break; case ProbeAutomationState.ExitingToDura: // Exit back up to the Dura. var exitToDuraResponse = await CommunicationManager.Instance.SetDepth( @@ -344,10 +317,8 @@ await CommunicationManager.Instance.SetPosition( case ProbeAutomationState.AtPastTarget: case ProbeAutomationState.ReturningToTarget: case ProbeAutomationState.AtTarget: - case ProbeAutomationState.AtNearTargetExit: case ProbeAutomationState.AtDuraExit: case ProbeAutomationState.AtExitMargin: - case ProbeAutomationState.DrivingToBregma: throw new InvalidOperationException( $"Not a valid exit state: {ProbeAutomationStateManager.ProbeAutomationState}" ); diff --git a/Assets/Scripts/Pinpoint/Probes/ProbeAutomationState.cs b/Assets/Scripts/Pinpoint/Probes/ProbeAutomationState.cs index 4019a0de..0add000b 100644 --- a/Assets/Scripts/Pinpoint/Probes/ProbeAutomationState.cs +++ b/Assets/Scripts/Pinpoint/Probes/ProbeAutomationState.cs @@ -60,16 +60,6 @@ public enum ProbeAutomationState /// AtTarget, - /// - /// Driving back up to near target depth (exit drive). - /// - ExitingToNearTarget, - - /// - /// At near target depth (exit drive). Can switch back to normal speed. - /// - AtNearTargetExit, - /// /// Driving back up to the Dura (exit drive). /// @@ -94,10 +84,5 @@ public enum ProbeAutomationState /// Driving back up to the target entry coordinate (exit drive). /// ExitingToTargetEntryCoordinate, - - /// - /// Driving back to Bregma. - /// - DrivingToBregma } } diff --git a/Assets/Scripts/Pinpoint/Probes/ProbeAutomationStateManager.cs b/Assets/Scripts/Pinpoint/Probes/ProbeAutomationStateManager.cs index a3bb8b0b..acefc1ee 100644 --- a/Assets/Scripts/Pinpoint/Probes/ProbeAutomationStateManager.cs +++ b/Assets/Scripts/Pinpoint/Probes/ProbeAutomationStateManager.cs @@ -122,10 +122,8 @@ public void SetToInsertionDrivingState() or ProbeAutomationState.ExitingToDura => ProbeAutomationState.DrivingToNearTarget, - // States for driving to the target. + // States for driving to past target. ProbeAutomationState.AtNearTargetInsert - or ProbeAutomationState.ExitingToNearTarget - or ProbeAutomationState.AtNearTargetExit => ProbeAutomationState.DrivingToPastTarget, // States for returning to the target. @@ -152,14 +150,10 @@ public void SetToExitingDrivingState() // Set state. ProbeAutomationState = ProbeAutomationState switch { - // States for Exiting to near target depth. + // States for Exiting to the Dura. ProbeAutomationState.AtTarget or ProbeAutomationState.ReturningToTarget or ProbeAutomationState.DrivingToPastTarget - => ProbeAutomationState.ExitingToNearTarget, - - // States for Exiting to the Dura. - ProbeAutomationState.AtNearTargetExit or ProbeAutomationState.AtNearTargetInsert or ProbeAutomationState.DrivingToNearTarget => ProbeAutomationState.ExitingToDura, diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 8e478148..82bb3095 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -695,19 +695,19 @@ PlayerSettings: webGLCloseOnQuit: 0 webWasm2023: 0 scriptingDefineSymbols: - Android: ENABLE_JSON_CATALOG - EmbeddedLinux: ENABLE_JSON_CATALOG - LinuxHeadlessSimulation: ENABLE_JSON_CATALOG - Nintendo Switch: ENABLE_JSON_CATALOG - PS4: ENABLE_JSON_CATALOG - QNX: ENABLE_JSON_CATALOG - Server: ENABLE_JSON_CATALOG - Standalone: ENABLE_JSON_CATALOG;ENABLE_HYBRID_RENDERER_V2 - WebGL: ENABLE_JSON_CATALOG;UNITY_DISABLE_AUTOMATIC_SYSTEM_BOOTSTRAP - Windows Store Apps: ENABLE_JSON_CATALOG - XboxOne: ENABLE_JSON_CATALOG - iPhone: ENABLE_JSON_CATALOG - tvOS: ENABLE_JSON_CATALOG + Android: + EmbeddedLinux: + LinuxHeadlessSimulation: + Nintendo Switch: + PS4: + QNX: + Server: + Standalone: ENABLE_HYBRID_RENDERER_V2 + WebGL: UNITY_DISABLE_AUTOMATIC_SYSTEM_BOOTSTRAP + Windows Store Apps: + XboxOne: + iPhone: + tvOS: additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: From 0d539215cc5715e2399d7ad67b3f7766a7fdcc16 Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sat, 7 Sep 2024 14:33:27 -0700 Subject: [PATCH 2/5] Update BrainAtlas --- Assets/Scenes/TrajectoryPlanner.unity | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Assets/Scenes/TrajectoryPlanner.unity b/Assets/Scenes/TrajectoryPlanner.unity index eb6f02e9..724fd7a6 100644 --- a/Assets/Scenes/TrajectoryPlanner.unity +++ b/Assets/Scenes/TrajectoryPlanner.unity @@ -783,6 +783,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5304039299580470460, guid: ee09154d7a7870a419882ff36080d765, type: 3} + propertyPath: _buildVersion + value: 1.5 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] From f05ad55a7fae85c704cb34648f3f011451fe5bee Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sat, 7 Sep 2024 14:54:38 -0700 Subject: [PATCH 3/5] New addressables 2.0 build --- .../AddressableAssetSettings.asset | 7 +++---- .../WebGL/addressables_content_state.bin | Bin 3719 -> 4025 bytes .../Windows/addressables_content_state.bin | Bin 3847 -> 4167 bytes .../WebGL/addressables_content_state.bin | Bin 3719 -> 4025 bytes .../Windows/addressables_content_state.bin | Bin 3847 -> 4167 bytes .../aa/WebGL/AddressablesLink/link.xml | 3 +-- .../aa/WebGL/catalog.bin | Bin 0 -> 5939 bytes .../aa/WebGL/catalog.hash | 1 + .../aa/WebGL/catalog.json | 1 - .../aa/WebGL/settings.json | 2 +- .../aa/Windows/AddressablesLink/link.xml | 3 +-- .../aa/Windows/catalog.bin | Bin 0 -> 5953 bytes .../aa/Windows/catalog.hash | 1 + .../aa/Windows/catalog.json | 1 - .../aa/Windows/settings.json | 2 +- 15 files changed, 9 insertions(+), 12 deletions(-) create mode 100644 Library/com.unity.addressables/aa/WebGL/catalog.bin create mode 100644 Library/com.unity.addressables/aa/WebGL/catalog.hash delete mode 100644 Library/com.unity.addressables/aa/WebGL/catalog.json create mode 100644 Library/com.unity.addressables/aa/Windows/catalog.bin create mode 100644 Library/com.unity.addressables/aa/Windows/catalog.hash delete mode 100644 Library/com.unity.addressables/aa/Windows/catalog.json diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset index 2ce23dd8..42f1d744 100644 --- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset +++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -15,10 +15,9 @@ MonoBehaviour: m_DefaultGroup: eb9eb3c822ec72b468349d4e785d6617 m_currentHash: serializedVersion: 2 - Hash: 00000000000000000000000000000000 + Hash: b3af3a77ece41351bcf4459c8498ca0f m_OptimizeCatalogSize: 0 m_BuildRemoteCatalog: 1 - m_BundleLocalCatalog: 0 m_CatalogRequestsTimeout: 0 m_DisableCatalogUpdateOnStart: 0 m_InternalIdNamingMode: 0 @@ -32,7 +31,7 @@ MonoBehaviour: m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider m_IgnoreUnsupportedFilesInBuild: 0 m_UniqueBundleIds: 0 - m_EnableJsonCatalog: 1 + m_EnableJsonCatalog: 0 m_NonRecursiveBuilding: 0 m_CCDEnabled: 0 m_maxConcurrentWebRequests: 500 @@ -81,7 +80,7 @@ MonoBehaviour: - m_Id: 6e9217891ed892f40b1933afda7ddded m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' - m_Id: 8b0e868bf8565ef4ba5a95e7d57f666c - m_Value: 'https://data.virtualbrainlab.org/PinpointData/1.0.3/[BuildTarget]' + m_Value: 'https://data.virtualbrainlab.org/PinpointData/2.0.0/[BuildTarget]' - m_Id: b28712faecae3244489993d74caf0ba7 m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]' m_ProfileEntryNames: diff --git a/Assets/AddressableAssetsData/WebGL/addressables_content_state.bin b/Assets/AddressableAssetsData/WebGL/addressables_content_state.bin index 76a2fe9791553ae82fc068bb0e3a77d3d81167d3..c13ffa995cb89447d04224f1afc65b4ee2c2a795 100644 GIT binary patch literal 4025 zcmc&%&5s<#72kGt$2;sAhY<4-zQ$k_M3$NAs_Kuj>_~VC1hT{%W5)*)jq2m|Zp%I0 zLwAp5^FIW`A%8$lBnJ)w!~uyMEFmEwAt6OdlzaXFq?{roc&}z>-QtjSmc!PpUR8J3 zd%xeSkN4g#1xrgy-(aJj+WIjR+gHlGy*Yf|xf+^An*y5QFI?VM^~T`0P&av1o@Yb< z+Zb%ligs4R`4VPrt&5Gp_RJKy{T1B2TwR0md^szM6*7O$TbebPSr4}TG-UBE~=faO1o{{ z?w**>xG*an`V$1p!E$^zj5fVtPtr4a{r9v)$=$2Y5j(o1-}?cI`#Ixs$kdP}Lmm!A zI^=0@89%JWjM4IjX%_a$^j}j{c?2ob~-CThWe`{$VmSl z5^E&ZNt_^YFNu>Reu!fIJ``IXYj_EoYF1l#RhN1P4t*#I{_yPAjXy~*<^{a$mT60Z zV}56Ugl2CXdaFjcDQtBeYV>TZ{nZ%jq8LjVr4g3~oHI5{5`ZubQx1lMlgh-yIi3Ff zh#t_Il6Soyqo@zhrMZTex61-zrND8A=QdJVEG+(v6OhO>(rFwnSezmjw5guO12}jq zI6MuIiDgNsvM7sUqipEFMG*&`Xl9sZ<4ILkjji)(+l&RUkV$YXR1q^;3$3|ODYA}5 zq(i%)_#jcFBj+hTgoF3K2SvN9%Myx-o;LgI|h73Y!jFgMje}X)q z;OadX;NZg}SpDwl=i{)!OSCvfQYkBA70D=eaU_Ib3GmcvXN5~LzJCc$lOvQMydzKI z;K(ikkK$}^8)9pX4LQBf`6O@G>A9_MZdS9B9_9eQ))T;)9+K**S1SkmA79Jg zgoh^MD-9sli&Z@@nC6PjgZ{&ntC#S@R%Lau_x=nrDL~g3+g;ex*sJ84tGiGV2)KEz z5>Q37baFLVUH$ptR%t<*N{D_C1l0G=pcovKRsZzxC-39Dd5uhc?`aeR$AsoGbP;1B z!ONx@M3T;Hnz}4YVC7#}Qh!gfd&N?1>{G%jGXQ%g56oZ3O z^MBrX?{7G-S+x62qQ|6K=nA<*s`;PKQ|Hkse|q$1 zaWFV2>)!kI2aGiRKO5BdeuiS>|H2S_jI5p2>4K7#x&6Pv15-Nb?Sp zp;yz~@>tp^lSw83qmK?HZ~+bymc}ypvV(q=DjIBrPI=6ulYawsK=%9RJ-6mdh}Qg) z_Civ#lG!iwkswI=)L% z!<@mQ1c6*6ELZ@mES8o!F)m7!bHV2w^iMnJltnyxOlA(sJ#YW_8H#ru^n}zD=Zb|% z^W-Ut%N=w&27?68mPupH ff$BVrA~wX*PiG({h%8Qm+a2^ZD(kVK?`z)zR3)_l literal 3719 zcmd5;&5ImG6yMg}*m)1pjr296MRa)dnS+DsW>8^~jdQ`&E z97c7ivm@QLk;zi~CTyN7E<=7aA7$AbnSZIVI=0iceXOdWu6oBuY3ADhS1UzcLtdY) zbq#Z9VCP1rH=&#`*a;1z$=436?K-%Vc~Vq+N*ES3tms;2#ii9kyER>}?;Ni|f{hq+RlsysjnBSSji5)n> zdpN}tf0118bWo`Ey56W>?Drjd*1M9H^+;!?)M=h+(<{nL{k1gTDAK%s1sC*vJR#A) z0OqyT#d%bpCqpySgPslU-h(^N6ZLsA*4SCVepcSSoz_l}p+(YPTqN-Ti5(=CNbDr> zAcqNjFQU;oa99>Mk^Ub=#-Z zPfccvD^Q|m1KqrefzGmlblT{E*@)X9kXAFLjIT}P826dbes4@?@nJ;wXgkTf&TbUt z_PJD-@!hsr_z)?ld=^=5B%(rS0wt3Kw3Y_Ao3eO>SkQSkEcW2wb8q`J?7Gf#$cB2O zx=p6pnZCXgoyL3BZ>{ZPG%AaY^eSZ4!0$B+21r(L;WJ}nqa8@eL?VJXRua{{s*B!~?DUK={CeBneb#wH8J(%|UY$icqqt2m8nadP$83kKy3Udwd3b z;8%E*mnV+IMoC}9EYccc2`-E{w~_Tt0+9*f_GNmU9HD5?IPwGzKD!5wY@{1d*D&E8 z2oBCl2?nCr2i$yg0pF-n2@}%7^bnpT?i9ot?oZ+1`aR%2vY8(EJf7~n&-^HKIyBOE z7*kx3M3Gf03YiU@FU^$w)5M;lZ^M57y=2d2m`wJb1u?z>14$xf5GsK&Q7KTu2rCkN z(^K|cGu0V*Zv<6+dZWgQr=s`N z84h08)%x6Uuu|H^;ow|4gkn_h!teD_ei_`kQs-3yvD6Y z80GXa26#&k0arGVRHvLO9NeBfo4ybGhJ*7JAl8YZ92X*E#cFReasI*?oLDWa&L;mK zL?#*N@^rlp6OBoQR9#qyoIt>hYXFZbjhW>IZ(-r(?d{T(GUew*&-1A796-_CDrNn_ z=Rd)9w4$~PAd?y(bQ7D*ZAOmHCFpgc4L@@Uoma6}eEIB`aMQ0-z3}zOH zGPUnN9FK6;qYOrOr*jZRcdNYj!Pj4G;<}bAhe*xDCX#_wOkiv?fptPi6~@W}vx!KY zcMDx1cS!Zxr$?!qA#}<<4f?Y<=x&v>&R+cXCTTWBJoTODP;`~%mWP3rNf0Fhl(LvP zfD3RCu{aF8Us~vYQHsMx=#)7c^usvlZk2ELfAjM@qrxv=Q$cT;5Dcm>cFW{iNRg(Dg@W;&+zJuN)HDFO}m7kb|vq1Y+axl_L zESfZnfOGH17W$zUItAo4t#{`TE6>@nsQ7=K@>PCELZ@mY>XK?GEQOv z<-8wS=x3=~!$!VSz-`b44!T=~>0iIPLBY9&9*~;FknT&cMu81ASSJt!Ad)chZnn^G LP>qNUec$m9shwuO diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin index ba4c1ae7d7310e119c8557de58ea656b82b7a215..52ab9e0fed223f413e8188128a7ab770456665f9 100644 GIT binary patch literal 4167 zcmd5<&5tEj74O3CH{DJ*BO>x4;zKbK9qZk%`nZHKfkp)FkBcCAE&x2Q?Ke# zRc~Nev0_J97N@DV_~}Ji`QiI+ zx2b!m`xkrD!v-4InOEi-v_~H7K=A13>9jNM5d8CX(RBBogW=$0@Z?v&rX|X5UUi8$&?WuRmr&d*m{2j(G0S4XW0}TW zj@I$R>69^AUY-|xi>QxAD1LI-_w(+F$;2bG_-fhq3sc$Flyzln+_VRi{j#1nW!*o6 z6DERoXo9%4$91UTa#{Q4GX~mX9dG-@5nPHk_+x z%L<$E}9U16WUie_JrZqv?9N?W<+Dzr#+YQnvlnyQ*AmE?&~7QDBv$T9$)^IU)x z;FY#%y!3ACUUVj+B_^_?uc3JDwz<|_!HYh0D$~-j)IuhW&$*Q#d6pK|Fy)FgXME+< zedH8vd2s6MIC%TEIRz?nEaSRJiX^q#aSuL81enY)%M6>&n!4#+Th9A#DuHpPz%#BB zW{r`?2&r@MB9)2ZZsqX(<&#`Lp3w=?szT3K2OYzXuRC{$zbjT zqi@^H%U7W4raTT4rrP?H7=g>fIC%e#bD5WO=zBO~Vwlq` zvk4@*VbZfyapWWmA%sshNlYl}1tyQ+;EQ$2#1S8^v^PAJ%qnfH*M(qQ`VMt{Q|tSfUbXG-eaBEQCu0#rq7w~aAP*zZQa&v zda;~Av*_=^=fg#P1^mU<)LjAXnc4ILmUS(-ey^OB{Wd-K?X}%zQPaZ`;OAxrI5R*} zb$7n;aQyMb@>O_XHoepVVm;fm%kpih*xesKT)KP#KkPNmR7dY0Lr*F&?F;=O9BCZY zmEGk-s0jr8vQ~G3;^OhAm^`q~i z7<(p-P~0bs$qX-|VUQ>~y?O47B7=>;VS)dDI!okFT{YDLrqi`ea+%r(Z_>%f3xNNW z#_8;gzK3FbQu2T2`fvY=^9EENCpDYfEKwLBWts`AoR>1uX|5eGSIELgpCJ{ZL#pp; zNnJpvoE*@A(Rv?XZ?Lne|Dgy^sDhK>uifP8lYkr)1`&ytMf2AMfJ4 z0eVJiS_sW}miQuPIbboUon=lY8F+(rAdCJmK>v`I8yl_squ2*@jRPd{-_ysR$1nYn zG;gf@6Ql+#%dw;>EM`%KB`21uHgSp8STKMNP^b_@hzqxfzH1#VVi&nof3hxHZF;gPX{vVVM@{#N-B5W;-)}wq zx1diyXddD$4rS<}h?B_kSQH{5Bn~By5y6Ot*p=6=##dCi2cEaeaB732)T`HEVJ2k0=b!VX9Ol5sZ?=rydJ%%v6v`eMV}}q<+2BnwJ)flbj_9B@`nW1u~2kV~8fy z3w%OIf{|dEG+?AkCJkbUcV)D!9~Hq_w{@Us+;ho`T-c&jUxNQ`n;At3);pK9n`f>r~W3V z%i({z31X@rGJ2!`{#!<^H7)DO0L_xoT2AA NecAlepur1Qegm}va1Q_g diff --git a/Library/com.unity.addressables/WebGL/addressables_content_state.bin b/Library/com.unity.addressables/WebGL/addressables_content_state.bin index 76a2fe9791553ae82fc068bb0e3a77d3d81167d3..c13ffa995cb89447d04224f1afc65b4ee2c2a795 100644 GIT binary patch literal 4025 zcmc&%&5s<#72kGt$2;sAhY<4-zQ$k_M3$NAs_Kuj>_~VC1hT{%W5)*)jq2m|Zp%I0 zLwAp5^FIW`A%8$lBnJ)w!~uyMEFmEwAt6OdlzaXFq?{roc&}z>-QtjSmc!PpUR8J3 zd%xeSkN4g#1xrgy-(aJj+WIjR+gHlGy*Yf|xf+^An*y5QFI?VM^~T`0P&av1o@Yb< z+Zb%ligs4R`4VPrt&5Gp_RJKy{T1B2TwR0md^szM6*7O$TbebPSr4}TG-UBE~=faO1o{{ z?w**>xG*an`V$1p!E$^zj5fVtPtr4a{r9v)$=$2Y5j(o1-}?cI`#Ixs$kdP}Lmm!A zI^=0@89%JWjM4IjX%_a$^j}j{c?2ob~-CThWe`{$VmSl z5^E&ZNt_^YFNu>Reu!fIJ``IXYj_EoYF1l#RhN1P4t*#I{_yPAjXy~*<^{a$mT60Z zV}56Ugl2CXdaFjcDQtBeYV>TZ{nZ%jq8LjVr4g3~oHI5{5`ZubQx1lMlgh-yIi3Ff zh#t_Il6Soyqo@zhrMZTex61-zrND8A=QdJVEG+(v6OhO>(rFwnSezmjw5guO12}jq zI6MuIiDgNsvM7sUqipEFMG*&`Xl9sZ<4ILkjji)(+l&RUkV$YXR1q^;3$3|ODYA}5 zq(i%)_#jcFBj+hTgoF3K2SvN9%Myx-o;LgI|h73Y!jFgMje}X)q z;OadX;NZg}SpDwl=i{)!OSCvfQYkBA70D=eaU_Ib3GmcvXN5~LzJCc$lOvQMydzKI z;K(ikkK$}^8)9pX4LQBf`6O@G>A9_MZdS9B9_9eQ))T;)9+K**S1SkmA79Jg zgoh^MD-9sli&Z@@nC6PjgZ{&ntC#S@R%Lau_x=nrDL~g3+g;ex*sJ84tGiGV2)KEz z5>Q37baFLVUH$ptR%t<*N{D_C1l0G=pcovKRsZzxC-39Dd5uhc?`aeR$AsoGbP;1B z!ONx@M3T;Hnz}4YVC7#}Qh!gfd&N?1>{G%jGXQ%g56oZ3O z^MBrX?{7G-S+x62qQ|6K=nA<*s`;PKQ|Hkse|q$1 zaWFV2>)!kI2aGiRKO5BdeuiS>|H2S_jI5p2>4K7#x&6Pv15-Nb?Sp zp;yz~@>tp^lSw83qmK?HZ~+bymc}ypvV(q=DjIBrPI=6ulYawsK=%9RJ-6mdh}Qg) z_Civ#lG!iwkswI=)L% z!<@mQ1c6*6ELZ@mES8o!F)m7!bHV2w^iMnJltnyxOlA(sJ#YW_8H#ru^n}zD=Zb|% z^W-Ut%N=w&27?68mPupH ff$BVrA~wX*PiG({h%8Qm+a2^ZD(kVK?`z)zR3)_l literal 3719 zcmd5;&5ImG6yMg}*m)1pjr296MRa)dnS+DsW>8^~jdQ`&E z97c7ivm@QLk;zi~CTyN7E<=7aA7$AbnSZIVI=0iceXOdWu6oBuY3ADhS1UzcLtdY) zbq#Z9VCP1rH=&#`*a;1z$=436?K-%Vc~Vq+N*ES3tms;2#ii9kyER>}?;Ni|f{hq+RlsysjnBSSji5)n> zdpN}tf0118bWo`Ey56W>?Drjd*1M9H^+;!?)M=h+(<{nL{k1gTDAK%s1sC*vJR#A) z0OqyT#d%bpCqpySgPslU-h(^N6ZLsA*4SCVepcSSoz_l}p+(YPTqN-Ti5(=CNbDr> zAcqNjFQU;oa99>Mk^Ub=#-Z zPfccvD^Q|m1KqrefzGmlblT{E*@)X9kXAFLjIT}P826dbes4@?@nJ;wXgkTf&TbUt z_PJD-@!hsr_z)?ld=^=5B%(rS0wt3Kw3Y_Ao3eO>SkQSkEcW2wb8q`J?7Gf#$cB2O zx=p6pnZCXgoyL3BZ>{ZPG%AaY^eSZ4!0$B+21r(L;WJ}nqa8@eL?VJXRua{{s*B!~?DUK={CeBneb#wH8J(%|UY$icqqt2m8nadP$83kKy3Udwd3b z;8%E*mnV+IMoC}9EYccc2`-E{w~_Tt0+9*f_GNmU9HD5?IPwGzKD!5wY@{1d*D&E8 z2oBCl2?nCr2i$yg0pF-n2@}%7^bnpT?i9ot?oZ+1`aR%2vY8(EJf7~n&-^HKIyBOE z7*kx3M3Gf03YiU@FU^$w)5M;lZ^M57y=2d2m`wJb1u?z>14$xf5GsK&Q7KTu2rCkN z(^K|cGu0V*Zv<6+dZWgQr=s`N z84h08)%x6Uuu|H^;ow|4gkn_h!teD_ei_`kQs-3yvD6Y z80GXa26#&k0arGVRHvLO9NeBfo4ybGhJ*7JAl8YZ92X*E#cFReasI*?oLDWa&L;mK zL?#*N@^rlp6OBoQR9#qyoIt>hYXFZbjhW>IZ(-r(?d{T(GUew*&-1A796-_CDrNn_ z=Rd)9w4$~PAd?y(bQ7D*ZAOmHCFpgc4L@@Uoma6}eEIB`aMQ0-z3}zOH zGPUnN9FK6;qYOrOr*jZRcdNYj!Pj4G;<}bAhe*xDCX#_wOkiv?fptPi6~@W}vx!KY zcMDx1cS!Zxr$?!qA#}<<4f?Y<=x&v>&R+cXCTTWBJoTODP;`~%mWP3rNf0Fhl(LvP zfD3RCu{aF8Us~vYQHsMx=#)7c^usvlZk2ELfAjM@qrxv=Q$cT;5Dcm>cFW{iNRg(Dg@W;&+zJuN)HDFO}m7kb|vq1Y+axl_L zESfZnfOGH17W$zUItAo4t#{`TE6>@nsQ7=K@>PCELZ@mY>XK?GEQOv z<-8wS=x3=~!$!VSz-`b44!T=~>0iIPLBY9&9*~;FknT&cMu81ASSJt!Ad)chZnn^G LP>qNUec$m9shwuO diff --git a/Library/com.unity.addressables/Windows/addressables_content_state.bin b/Library/com.unity.addressables/Windows/addressables_content_state.bin index ba4c1ae7d7310e119c8557de58ea656b82b7a215..52ab9e0fed223f413e8188128a7ab770456665f9 100644 GIT binary patch literal 4167 zcmd5<&5tEj74O3CH{DJ*BO>x4;zKbK9qZk%`nZHKfkp)FkBcCAE&x2Q?Ke# zRc~Nev0_J97N@DV_~}Ji`QiI+ zx2b!m`xkrD!v-4InOEi-v_~H7K=A13>9jNM5d8CX(RBBogW=$0@Z?v&rX|X5UUi8$&?WuRmr&d*m{2j(G0S4XW0}TW zj@I$R>69^AUY-|xi>QxAD1LI-_w(+F$;2bG_-fhq3sc$Flyzln+_VRi{j#1nW!*o6 z6DERoXo9%4$91UTa#{Q4GX~mX9dG-@5nPHk_+x z%L<$E}9U16WUie_JrZqv?9N?W<+Dzr#+YQnvlnyQ*AmE?&~7QDBv$T9$)^IU)x z;FY#%y!3ACUUVj+B_^_?uc3JDwz<|_!HYh0D$~-j)IuhW&$*Q#d6pK|Fy)FgXME+< zedH8vd2s6MIC%TEIRz?nEaSRJiX^q#aSuL81enY)%M6>&n!4#+Th9A#DuHpPz%#BB zW{r`?2&r@MB9)2ZZsqX(<&#`Lp3w=?szT3K2OYzXuRC{$zbjT zqi@^H%U7W4raTT4rrP?H7=g>fIC%e#bD5WO=zBO~Vwlq` zvk4@*VbZfyapWWmA%sshNlYl}1tyQ+;EQ$2#1S8^v^PAJ%qnfH*M(qQ`VMt{Q|tSfUbXG-eaBEQCu0#rq7w~aAP*zZQa&v zda;~Av*_=^=fg#P1^mU<)LjAXnc4ILmUS(-ey^OB{Wd-K?X}%zQPaZ`;OAxrI5R*} zb$7n;aQyMb@>O_XHoepVVm;fm%kpih*xesKT)KP#KkPNmR7dY0Lr*F&?F;=O9BCZY zmEGk-s0jr8vQ~G3;^OhAm^`q~i z7<(p-P~0bs$qX-|VUQ>~y?O47B7=>;VS)dDI!okFT{YDLrqi`ea+%r(Z_>%f3xNNW z#_8;gzK3FbQu2T2`fvY=^9EENCpDYfEKwLBWts`AoR>1uX|5eGSIELgpCJ{ZL#pp; zNnJpvoE*@A(Rv?XZ?Lne|Dgy^sDhK>uifP8lYkr)1`&ytMf2AMfJ4 z0eVJiS_sW}miQuPIbboUon=lY8F+(rAdCJmK>v`I8yl_squ2*@jRPd{-_ysR$1nYn zG;gf@6Ql+#%dw;>EM`%KB`21uHgSp8STKMNP^b_@hzqxfzH1#VVi&nof3hxHZF;gPX{vVVM@{#N-B5W;-)}wq zx1diyXddD$4rS<}h?B_kSQH{5Bn~By5y6Ot*p=6=##dCi2cEaeaB732)T`HEVJ2k0=b!VX9Ol5sZ?=rydJ%%v6v`eMV}}q<+2BnwJ)flbj_9B@`nW1u~2kV~8fy z3w%OIf{|dEG+?AkCJkbUcV)D!9~Hq_w{@Us+;ho`T-c&jUxNQ`n;At3);pK9n`f>r~W3V z%i({z31X@rGJ2!`{#!<^H7)DO0L_xoT2AA NecAlepur1Qegm}va1Q_g diff --git a/Library/com.unity.addressables/aa/WebGL/AddressablesLink/link.xml b/Library/com.unity.addressables/aa/WebGL/AddressablesLink/link.xml index a83f0e4b..5417fa7e 100644 --- a/Library/com.unity.addressables/aa/WebGL/AddressablesLink/link.xml +++ b/Library/com.unity.addressables/aa/WebGL/AddressablesLink/link.xml @@ -1,7 +1,7 @@ - + @@ -13,7 +13,6 @@ - diff --git a/Library/com.unity.addressables/aa/WebGL/catalog.bin b/Library/com.unity.addressables/aa/WebGL/catalog.bin new file mode 100644 index 0000000000000000000000000000000000000000..2d21405c2005bcec685b5f9de9823a55822a0cdc GIT binary patch literal 5939 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 D!QRwu literal 0 HcmV?d00001 diff --git a/Library/com.unity.addressables/aa/WebGL/catalog.hash b/Library/com.unity.addressables/aa/WebGL/catalog.hash new file mode 100644 index 00000000..aab6014a --- /dev/null +++ b/Library/com.unity.addressables/aa/WebGL/catalog.hash @@ -0,0 +1 @@ +414c16423513281e4f2210a7737f772a \ No newline at end of file diff --git a/Library/com.unity.addressables/aa/WebGL/catalog.json b/Library/com.unity.addressables/aa/WebGL/catalog.json deleted file mode 100644 index ceeaf3ee..00000000 --- a/Library/com.unity.addressables/aa/WebGL/catalog.json +++ /dev/null @@ -1 +0,0 @@ -{"m_LocatorId":"AddressablesMainContentCatalog","m_BuildResultHash":"88c0a6b22e99f0b18b807f68419255e1","m_InstanceProviderData":{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider"},"m_Data":""},"m_SceneProviderData":{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.SceneProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.SceneProvider"},"m_Data":""},"m_ResourceProviderData":[{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.LegacyResourcesProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.LegacyResourcesProvider"},"m_Data":""},{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider"},"m_Data":""},{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider"},"m_Data":""},{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.LegacyResourcesProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.LegacyResourcesProvider"},"m_Data":""},{"m_Id":"UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider","m_ObjectType":{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider"},"m_Data":""}],"m_ProviderIds":["UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider","UnityEngine.ResourceManagement.ResourceProviders.LegacyResourcesProvider","UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider",""],"m_InternalIds":["Assets/AddressableAssets/3D/skull.obj","Assets/AddressableAssets/3D/skull.prefab","Assets/AddressableAssets/ChannelMaps/neuropixels_1.asset","Assets/AddressableAssets/ChannelMaps/neuropixels_2.asset","Assets/AddressableAssets/ChannelMaps/neuropixels_2_1shank.asset","Assets/AddressableAssets/ChannelMaps/pipette.asset","Assets/AddressableAssets/ChannelMaps/ucla_128k.asset","Assets/AddressableAssets/ChannelMaps/ucla_256f.asset","Assets/AddressableAssets/IBL/coverage_indexes.bytes","DebugUICanvas","DebugUIPersistentCanvas","FiraCode-Regular","Fonts & Materials/LiberationSans SDF","Fonts & Materials/LiberationSans SDF - Drop Shadow","Fonts & Materials/LiberationSans SDF - Fallback","Fonts & Materials/LiberationSans SDF - Outline","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/neuropixels_1.asset_5ff32310bc8bade5503f3486222f1095.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/neuropixels_2.asset_aa1431e24ff496caa3b90a2ea2b63650.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/neuropixels_2_1shank.asset_8b9513807aae85ed6722c7c1bfe7b6ed.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/pipette.asset_432edc55ebe781eea2e855da99f035ce.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/ucla_128k.asset_10176da6b51d40cd4f77c99760c4d15b.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/channelmaps_assets_assets/addressableassets/channelmaps/ucla_256f.asset_048aa1beff554693c7299e93b3c3fade.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/iblcoverage_assets_all_5daba40c72c445ca099b1ab7d02103a1.bundle","https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/skull_assets_all_1e79d9107c2b53a1e6b495ffeaa5be2d.bundle","LineBreaking Following Characters","LineBreaking Leading Characters","PerformanceTestRunInfo","Scenes/TrajectoryPlanner","SimpleFileBrowserCanvas","Sprite Assets/EmojiOne","Style Sheets/Default Style Sheet","TMP Settings","UnisavePreferencesFile"],"m_KeyDataString":"OwAAAAAlAAAAQXNzZXRzL0FkZHJlc3NhYmxlQXNzZXRzLzNEL3NrdWxsLm9iagAgAAAANjA0YTVmOGQ3ZDM2ZjRjNGM5NzJhNjljZGE4MTc1YmMAKAAAAEFzc2V0cy9BZGRyZXNzYWJsZUFzc2V0cy8zRC9za3VsbC5wcmVmYWIAIAAAADdiNTkzOTc2NTBhMmVmMjQ3OTU5ZjE2NmYxMDI1NjhjADgAAABBc3NldHMvQWRkcmVzc2FibGVBc3NldHMvQ2hhbm5lbE1hcHMvbmV1cm9waXhlbHNfMS5hc3NldAAgAAAAMWY0MzE4NTQ5Y2UyMWY0NDRhYzAzOTFhMzNkYWUwMmQAOAAAAEFzc2V0cy9BZGRyZXNzYWJsZUFzc2V0cy9DaGFubmVsTWFwcy9uZXVyb3BpeGVsc18yLmFzc2V0ACAAAAA3OGQ3MmE5NDk1YmI5ZGU0ZGI0MzBjNGE3MTI0ZjY3OQA/AAAAQXNzZXRzL0FkZHJlc3NhYmxlQXNzZXRzL0NoYW5uZWxNYXBzL25ldXJvcGl4ZWxzXzJfMXNoYW5rLmFzc2V0ACAAAABkNDZhOGY5MDUyY2IyZjI0MTkzZDllN2Q2NTlmODU4MwAyAAAAQXNzZXRzL0FkZHJlc3NhYmxlQXNzZXRzL0NoYW5uZWxNYXBzL3BpcGV0dGUuYXNzZXQAIAAAADZjNjEwZjFjYjI2YzFmNDRhOThhY2Q4OGI0YmRkNjUwADQAAABBc3NldHMvQWRkcmVzc2FibGVBc3NldHMvQ2hhbm5lbE1hcHMvdWNsYV8xMjhrLmFzc2V0ACAAAAA0NTY0MGQ0ZTVkZjBiM2M0MTljNjYwNWRkMTM4NWE0MwA0AAAAQXNzZXRzL0FkZHJlc3NhYmxlQXNzZXRzL0NoYW5uZWxNYXBzL3VjbGFfMjU2Zi5hc3NldAAgAAAAZDk2OTZmODlmNzIyZDEyNDBiZTRkNGVjODhiNjc2YTQAMwAAAEFzc2V0cy9BZGRyZXNzYWJsZUFzc2V0cy9JQkwvY292ZXJhZ2VfaW5kZXhlcy5ieXRlcwAgAAAAMjEyNGE3NzM2NDBjZDdhNGFiNDkxNzMwYTgwMzA2YTEADQAAAERlYnVnVUlDYW52YXMAIAAAAGNmNmNiZGQ2NzIwODlhODQ3OTZlNTVhMjFmZWQxY2JlABcAAABEZWJ1Z1VJUGVyc2lzdGVudENhbnZhcwAgAAAAZjZiMWEwZmU3NWQ1MDA5NDQ5Y2Y1NWFlNzYyMjBlMmIAEAAAAEZpcmFDb2RlLVJlZ3VsYXIAIAAAAGI4ZDA1MDFjNDY0NzI2OTg4YTRiYjE1MGJhY2E4YmQ5ACQAAABGb250cyAmIE1hdGVyaWFscy9MaWJlcmF0aW9uU2FucyBTREYAIAAAADhmNTg2Mzc4YjRlMTQ0YTk4NTFlN2IzNGQ5Yjc0OGVlADIAAABGb250cyAmIE1hdGVyaWFscy9MaWJlcmF0aW9uU2FucyBTREYgLSBEcm9wIFNoYWRvdwAgAAAAZTczYTU4ZjZlMjc5NGFlN2IxYjdlNTBiN2ZiODExYjAALwAAAEZvbnRzICYgTWF0ZXJpYWxzL0xpYmVyYXRpb25TYW5zIFNERiAtIEZhbGxiYWNrACAAAAAyZTQ5OGQxYzgwOTQ5MTA0NzlkYzNlMWI3NjgzMDZhNAAuAAAARm9udHMgJiBNYXRlcmlhbHMvTGliZXJhdGlvblNhbnMgU0RGIC0gT3V0bGluZQAgAAAANzk0NTllZmVjMTdhNGQwMGEzMjFiZGNjMjdiYmMzODUAcwAAAGNoYW5uZWxtYXBzX2Fzc2V0c19hc3NldHMvYWRkcmVzc2FibGVhc3NldHMvY2hhbm5lbG1hcHMvbmV1cm9waXhlbHNfMS5hc3NldF81ZmYzMjMxMGJjOGJhZGU1NTAzZjM0ODYyMjJmMTA5NS5idW5kbGUAcwAAAGNoYW5uZWxtYXBzX2Fzc2V0c19hc3NldHMvYWRkcmVzc2FibGVhc3NldHMvY2hhbm5lbG1hcHMvbmV1cm9waXhlbHNfMi5hc3NldF9hYTE0MzFlMjRmZjQ5NmNhYTNiOTBhMmVhMmI2MzY1MC5idW5kbGUAegAAAGNoYW5uZWxtYXBzX2Fzc2V0c19hc3NldHMvYWRkcmVzc2FibGVhc3NldHMvY2hhbm5lbG1hcHMvbmV1cm9waXhlbHNfMl8xc2hhbmsuYXNzZXRfOGI5NTEzODA3YWFlODVlZDY3MjJjN2MxYmZlN2I2ZWQuYnVuZGxlAG0AAABjaGFubmVsbWFwc19hc3NldHNfYXNzZXRzL2FkZHJlc3NhYmxlYXNzZXRzL2NoYW5uZWxtYXBzL3BpcGV0dGUuYXNzZXRfNDMyZWRjNTVlYmU3ODFlZWEyZTg1NWRhOTlmMDM1Y2UuYnVuZGxlAG8AAABjaGFubmVsbWFwc19hc3NldHNfYXNzZXRzL2FkZHJlc3NhYmxlYXNzZXRzL2NoYW5uZWxtYXBzL3VjbGFfMTI4ay5hc3NldF8xMDE3NmRhNmI1MWQ0MGNkNGY3N2M5OTc2MGM0ZDE1Yi5idW5kbGUAbwAAAGNoYW5uZWxtYXBzX2Fzc2V0c19hc3NldHMvYWRkcmVzc2FibGVhc3NldHMvY2hhbm5lbG1hcHMvdWNsYV8yNTZmLmFzc2V0XzA0OGFhMWJlZmY1NTQ2OTNjNzI5OWU5M2IzYzNmYWRlLmJ1bmRsZQA+AAAAaWJsY292ZXJhZ2VfYXNzZXRzX2FsbF81ZGFiYTQwYzcyYzQ0NWNhMDk5YjFhYjdkMDIxMDNhMS5idW5kbGUAOAAAAHNrdWxsX2Fzc2V0c19hbGxfMWU3OWQ5MTA3YzJiNTNhMWU2YjQ5NWZmZWFhNWJlMmQuYnVuZGxlACEAAABMaW5lQnJlYWtpbmcgRm9sbG93aW5nIENoYXJhY3RlcnMAIAAAAGZhZGU0MmU4YmM3MTRiMDE4ZmFjNTEzYzA0M2QzMjNiAB8AAABMaW5lQnJlYWtpbmcgTGVhZGluZyBDaGFyYWN0ZXJzACAAAABkODJjMWIzMWM3ZTc0MjM5YmZmMTIyMDU4NTcwN2QyYgAWAAAAUGVyZm9ybWFuY2VUZXN0UnVuSW5mbwAgAAAAZTgzNTc0NDc5M2E1ZWY3NDg4YTg3NTQ1MDkzZmFjNzIAEQAAAFRyYWplY3RvcnlQbGFubmVyACAAAAAwMTc0MmJiNzNkM2ExYjY0NGJmYzFjNzdlNTgxYjZiYwQAAAAAABcAAABTaW1wbGVGaWxlQnJvd3NlckNhbnZhcwAgAAAAOWVhMjYwNmY4ZmRkZWFkNDZhYWJiN2FkYjNkOGQ0MzQAFgAAAFNwcml0ZSBBc3NldHMvRW1vamlPbmUAIAAAAGM0MTAwNWMxMjliYTRkNjY5MTFiNzUyMjlmZDcwYjQ1ACAAAABTdHlsZSBTaGVldHMvRGVmYXVsdCBTdHlsZSBTaGVldAAgAAAAZjk1MmMwODJjYjAzNDUxZGFlZDNlZTk2OGFjNmM2M2UADAAAAFRNUCBTZXR0aW5ncwAgAAAAM2Y1YjVkZmY2N2E5NDIyODlhOWRlZmE0MTZiMjA2ZjMAFgAAAFVuaXNhdmVQcmVmZXJlbmNlc0ZpbGUAIAAAAGFkNmE4ZTY5Nzg0Yzk2ZDQ1OTk5ZmRiNTAwYzY5ODc0","m_BucketDataString":"OwAAAAQAAAADAAAAAAAAAAEAAAACAAAALgAAAAMAAAAAAAAAAQAAAAIAAABTAAAAAQAAAAMAAACAAAAAAQAAAAMAAAClAAAAAQAAAAQAAADiAAAAAQAAAAQAAAAHAQAAAQAAAAUAAABEAQAAAQAAAAUAAABpAQAAAQAAAAYAAACtAQAAAQAAAAYAAADSAQAAAQAAAAcAAAAJAgAAAQAAAAcAAAAuAgAAAQAAAAgAAABnAgAAAQAAAAgAAACMAgAAAQAAAAkAAADFAgAAAQAAAAkAAADqAgAAAQAAAAoAAAAiAwAAAQAAAAoAAABHAwAAAQAAAAsAAABZAwAAAQAAAAsAAAB+AwAAAQAAAAwAAACaAwAAAQAAAAwAAAC/AwAAAwAAAA0AAAAOAAAADwAAANQDAAADAAAADQAAAA4AAAAPAAAA+QMAAAMAAAAQAAAAEQAAABIAAAAiBAAAAwAAABAAAAARAAAAEgAAAEcEAAABAAAAEwAAAH4EAAABAAAAEwAAAKMEAAADAAAAFAAAABUAAAAWAAAA1wQAAAMAAAAUAAAAFQAAABYAAAD8BAAAAQAAABcAAAAvBQAAAQAAABcAAABUBQAAAQAAABgAAADMBQAAAQAAABkAAABEBgAAAQAAABoAAADDBgAAAQAAABsAAAA1BwAAAQAAABwAAACpBwAAAQAAAB0AAAAdCAAAAQAAAB4AAABgCAAAAQAAAB8AAACdCAAAAQAAACAAAADDCAAAAQAAACAAAADoCAAAAQAAACEAAAAMCQAAAQAAACEAAAAxCQAAAQAAACIAAABMCQAAAQAAACIAAABxCQAAAQAAACMAAACHCQAAAQAAACMAAACsCQAAAQAAACMAAACxCQAAAQAAACQAAADNCQAAAQAAACQAAADyCQAAAgAAACUAAAAmAAAADQoAAAIAAAAlAAAAJgAAADIKAAABAAAAJwAAAFcKAAABAAAAJwAAAHwKAAABAAAAKAAAAI0KAAABAAAAKAAAALIKAAABAAAAKQAAAM0KAAABAAAAKQAAAA==","m_EntryDataString":"KgAAAAAAAAAAAAAAJwAAADznXu7/////AAAAAAAAAAAAAAAAAAAAACcAAAA8517u/////wAAAAABAAAAAAAAAAAAAAAnAAAAPOde7v////8AAAAAAgAAAAEAAAAAAAAAJwAAADznXu7/////AgAAAAAAAAACAAAAAAAAACAAAADVfcDz/////wQAAAADAAAAAwAAAAAAAAAhAAAAQ+fRXP////8GAAAAAwAAAAQAAAAAAAAAIgAAAI33yYf/////CAAAAAMAAAAFAAAAAAAAACMAAAA6SWPx/////woAAAADAAAABgAAAAAAAAAkAAAA4byyNf////8MAAAAAwAAAAcAAAAAAAAAJQAAACByWm7/////DgAAAAMAAAAIAAAAAAAAACYAAACeOtM+/////xAAAAAEAAAACQAAAAEAAAD/////AAAAAP////8SAAAAAAAAAAoAAAABAAAA/////wAAAAD/////FAAAAAAAAAALAAAAAQAAAP////8AAAAA/////xYAAAAFAAAACwAAAAEAAAD/////AAAAAP////8WAAAAAQAAAAsAAAABAAAA/////wAAAAD/////FgAAAAYAAAAMAAAAAQAAAP////8AAAAA/////xgAAAAHAAAADAAAAAEAAAD/////AAAAAP////8YAAAAAQAAAAwAAAABAAAA/////wAAAAD/////GAAAAAYAAAANAAAAAQAAAP////8AAAAA/////xoAAAABAAAADgAAAAEAAAD/////AAAAAP////8cAAAABwAAAA4AAAABAAAA/////wAAAAD/////HAAAAAEAAAAOAAAAAQAAAP////8AAAAA/////xwAAAAGAAAADwAAAAEAAAD/////AAAAAP////8eAAAAAQAAABAAAAACAAAA/////wAAAAAAAAAAIAAAAAgAAAARAAAAAgAAAP////8AAAAARwMAACEAAAAIAAAAEgAAAAIAAAD/////AAAAAI4GAAAiAAAACAAAABMAAAACAAAA/////wAAAADRCQAAIwAAAAgAAAAUAAAAAgAAAP////8AAAAAGA0AACQAAAAIAAAAFQAAAAIAAAD/////AAAAAF0QAAAlAAAACAAAABYAAAACAAAA/////wAAAACkEwAAJgAAAAgAAAAXAAAAAgAAAP////8AAAAA8RYAACcAAAAIAAAAGAAAAAEAAAD/////AAAAAP////8oAAAABAAAABkAAAABAAAA/////wAAAAD/////KgAAAAQAAAAaAAAAAQAAAP////8AAAAA/////ywAAAAEAAAAGwAAAAMAAAD/////AAAAAP////8uAAAACQAAABwAAAABAAAA/////wAAAAD/////MQAAAAAAAAAdAAAAAQAAAP////8AAAAA/////zMAAAAKAAAAHQAAAAEAAAD/////AAAAAP////8zAAAAAQAAAB4AAAABAAAA/////wAAAAD/////NQAAAAsAAAAfAAAAAQAAAP////8AAAAA/////zcAAAAMAAAAIAAAAAEAAAD/////AAAAAP////85AAAADQAAAA==","m_ExtraDataString":"B0xVbml0eS5SZXNvdXJjZU1hbmFnZXIsIFZlcnNpb249MC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsSlVuaXR5RW5naW5lLlJlc291cmNlTWFuYWdlbWVudC5SZXNvdXJjZVByb3ZpZGVycy5Bc3NldEJ1bmRsZVJlcXVlc3RPcHRpb25zqgIAAHsAIgBtAF8ASABhAHMAaAAiADoAIgA1AGYAZgAzADIAMwAxADAAYgBjADgAYgBhAGQAZQA1ADUAMAAzAGYAMwA0ADgANgAyADIAMgBmADEAMAA5ADUAIgAsACIAbQBfAEMAcgBjACIAOgAzADMANgA4ADQANAAyADcAMAA3ACwAIgBtAF8AVABpAG0AZQBvAHUAdAAiADoAMAAsACIAbQBfAEMAaAB1AG4AawBlAGQAVAByAGEAbgBzAGYAZQByACIAOgBmAGEAbABzAGUALAAiAG0AXwBSAGUAZABpAHIAZQBjAHQATABpAG0AaQB0ACIAOgAtADEALAAiAG0AXwBSAGUAdAByAHkAQwBvAHUAbgB0ACIAOgAwACwAIgBtAF8AQgB1AG4AZABsAGUATgBhAG0AZQAiADoAIgA5AGEAMgBjADIANgA0AGMANQBmADQANwBmADMAZQA5ADkAYwBhADEANABlADIAMwBlAGQAZQA3ADAAOAA2ADQAIgAsACIAbQBfAEEAcwBzAGUAdABMAG8AYQBkAE0AbwBkAGUAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBTAGkAegBlACIAOgA2ADEANAAyACwAIgBtAF8AVQBzAGUAQwByAGMARgBvAHIAQwBhAGMAaABlAGQAQgB1AG4AZABsAGUAcwAiADoAdAByAHUAZQAsACIAbQBfAFUAcwBlAFUAVwBSAEYAbwByAEwAbwBjAGEAbABCAHUAbgBkAGwAZQBzACIAOgBmAGEAbABzAGUALAAiAG0AXwBDAGwAZQBhAHIATwB0AGgAZQByAEMAYQBjAGgAZQBkAFYAZQByAHMAaQBvAG4AcwBXAGgAZQBuAEwAbwBhAGQAZQBkACIAOgBmAGEAbABzAGUAfQAHTFVuaXR5LlJlc291cmNlTWFuYWdlciwgVmVyc2lvbj0wLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxKVW5pdHlFbmdpbmUuUmVzb3VyY2VNYW5hZ2VtZW50LlJlc291cmNlUHJvdmlkZXJzLkFzc2V0QnVuZGxlUmVxdWVzdE9wdGlvbnOqAgAAewAiAG0AXwBIAGEAcwBoACIAOgAiAGEAYQAxADQAMwAxAGUAMgA0AGYAZgA0ADkANgBjAGEAYQAzAGIAOQAwAGEAMgBlAGEAMgBiADYAMwA2ADUAMAAiACwAIgBtAF8AQwByAGMAIgA6ADEANAA5ADAANAAwADQAMQAyADcALAAiAG0AXwBUAGkAbQBlAG8AdQB0ACIAOgAwACwAIgBtAF8AQwBoAHUAbgBrAGUAZABUAHIAYQBuAHMAZgBlAHIAIgA6AGYAYQBsAHMAZQAsACIAbQBfAFIAZQBkAGkAcgBlAGMAdABMAGkAbQBpAHQAIgA6AC0AMQAsACIAbQBfAFIAZQB0AHIAeQBDAG8AdQBuAHQAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBOAGEAbQBlACIAOgAiADkAMgAyADkAMAAxADcANQBkAGYAOAAwADgAZQBlAGQAMAA5AGMAYgAwAGMAMwA1ADcAZQBkAGEAMgA2ADMAMAAiACwAIgBtAF8AQQBzAHMAZQB0AEwAbwBhAGQATQBvAGQAZQAiADoAMAAsACIAbQBfAEIAdQBuAGQAbABlAFMAaQB6AGUAIgA6ADcANQAyADIALAAiAG0AXwBVAHMAZQBDAHIAYwBGAG8AcgBDAGEAYwBoAGUAZABCAHUAbgBkAGwAZQBzACIAOgB0AHIAdQBlACwAIgBtAF8AVQBzAGUAVQBXAFIARgBvAHIATABvAGMAYQBsAEIAdQBuAGQAbABlAHMAIgA6AGYAYQBsAHMAZQAsACIAbQBfAEMAbABlAGEAcgBPAHQAaABlAHIAQwBhAGMAaABlAGQAVgBlAHIAcwBpAG8AbgBzAFcAaABlAG4ATABvAGEAZABlAGQAIgA6AGYAYQBsAHMAZQB9AAdMVW5pdHkuUmVzb3VyY2VNYW5hZ2VyLCBWZXJzaW9uPTAuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbEpVbml0eUVuZ2luZS5SZXNvdXJjZU1hbmFnZW1lbnQuUmVzb3VyY2VQcm92aWRlcnMuQXNzZXRCdW5kbGVSZXF1ZXN0T3B0aW9uc6YCAAB7ACIAbQBfAEgAYQBzAGgAIgA6ACIAOABiADkANQAxADMAOAAwADcAYQBhAGUAOAA1AGUAZAA2ADcAMgAyAGMANwBjADEAYgBmAGUANwBiADYAZQBkACIALAAiAG0AXwBDAHIAYwAiADoANwA2ADgAOAA0ADcAMgA2ACwAIgBtAF8AVABpAG0AZQBvAHUAdAAiADoAMAAsACIAbQBfAEMAaAB1AG4AawBlAGQAVAByAGEAbgBzAGYAZQByACIAOgBmAGEAbABzAGUALAAiAG0AXwBSAGUAZABpAHIAZQBjAHQATABpAG0AaQB0ACIAOgAtADEALAAiAG0AXwBSAGUAdAByAHkAQwBvAHUAbgB0ACIAOgAwACwAIgBtAF8AQgB1AG4AZABsAGUATgBhAG0AZQAiADoAIgBlADAANwA4AGMAOQAxAGYAYgBmADIAMAA0AGEAMQBjADUAMgBlAGIANQBjADUAOQA5AGIAYQAwADcAZQAyADIAIgAsACIAbQBfAEEAcwBzAGUAdABMAG8AYQBkAE0AbwBkAGUAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBTAGkAegBlACIAOgA3ADQANgAxACwAIgBtAF8AVQBzAGUAQwByAGMARgBvAHIAQwBhAGMAaABlAGQAQgB1AG4AZABsAGUAcwAiADoAdAByAHUAZQAsACIAbQBfAFUAcwBlAFUAVwBSAEYAbwByAEwAbwBjAGEAbABCAHUAbgBkAGwAZQBzACIAOgBmAGEAbABzAGUALAAiAG0AXwBDAGwAZQBhAHIATwB0AGgAZQByAEMAYQBjAGgAZQBkAFYAZQByAHMAaQBvAG4AcwBXAGgAZQBuAEwAbwBhAGQAZQBkACIAOgBmAGEAbABzAGUAfQAHTFVuaXR5LlJlc291cmNlTWFuYWdlciwgVmVyc2lvbj0wLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxKVW5pdHlFbmdpbmUuUmVzb3VyY2VNYW5hZ2VtZW50LlJlc291cmNlUHJvdmlkZXJzLkFzc2V0QnVuZGxlUmVxdWVzdE9wdGlvbnOqAgAAewAiAG0AXwBIAGEAcwBoACIAOgAiADQAMwAyAGUAZABjADUANQBlAGIAZQA3ADgAMQBlAGUAYQAyAGUAOAA1ADUAZABhADkAOQBmADAAMwA1AGMAZQAiACwAIgBtAF8AQwByAGMAIgA6ADIANAA4ADUAMgAzADIAOAA2ADQALAAiAG0AXwBUAGkAbQBlAG8AdQB0ACIAOgAwACwAIgBtAF8AQwBoAHUAbgBrAGUAZABUAHIAYQBuAHMAZgBlAHIAIgA6AGYAYQBsAHMAZQAsACIAbQBfAFIAZQBkAGkAcgBlAGMAdABMAGkAbQBpAHQAIgA6AC0AMQAsACIAbQBfAFIAZQB0AHIAeQBDAG8AdQBuAHQAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBOAGEAbQBlACIAOgAiADQAOQBkADAANQA3ADQANwA0AGQANQAzAGMAZQBjAGUAZQBjADkAYwA4ADIAZQBhADcAYgBkADUANwA5AGQAZAAiACwAIgBtAF8AQQBzAHMAZQB0AEwAbwBhAGQATQBvAGQAZQAiADoAMAAsACIAbQBfAEIAdQBuAGQAbABlAFMAaQB6AGUAIgA6ADIAMwA4ADcALAAiAG0AXwBVAHMAZQBDAHIAYwBGAG8AcgBDAGEAYwBoAGUAZABCAHUAbgBkAGwAZQBzACIAOgB0AHIAdQBlACwAIgBtAF8AVQBzAGUAVQBXAFIARgBvAHIATABvAGMAYQBsAEIAdQBuAGQAbABlAHMAIgA6AGYAYQBsAHMAZQAsACIAbQBfAEMAbABlAGEAcgBPAHQAaABlAHIAQwBhAGMAaABlAGQAVgBlAHIAcwBpAG8AbgBzAFcAaABlAG4ATABvAGEAZABlAGQAIgA6AGYAYQBsAHMAZQB9AAdMVW5pdHkuUmVzb3VyY2VNYW5hZ2VyLCBWZXJzaW9uPTAuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbEpVbml0eUVuZ2luZS5SZXNvdXJjZU1hbmFnZW1lbnQuUmVzb3VyY2VQcm92aWRlcnMuQXNzZXRCdW5kbGVSZXF1ZXN0T3B0aW9uc6gCAAB7ACIAbQBfAEgAYQBzAGgAIgA6ACIAMQAwADEANwA2AGQAYQA2AGIANQAxAGQANAAwAGMAZAA0AGYANwA3AGMAOQA5ADcANgAwAGMANABkADEANQBiACIALAAiAG0AXwBDAHIAYwAiADoAMgA2ADMANAAzADYANQAwADUALAAiAG0AXwBUAGkAbQBlAG8AdQB0ACIAOgAwACwAIgBtAF8AQwBoAHUAbgBrAGUAZABUAHIAYQBuAHMAZgBlAHIAIgA6AGYAYQBsAHMAZQAsACIAbQBfAFIAZQBkAGkAcgBlAGMAdABMAGkAbQBpAHQAIgA6AC0AMQAsACIAbQBfAFIAZQB0AHIAeQBDAG8AdQBuAHQAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBOAGEAbQBlACIAOgAiAGMANAAwAGMAMQA1AGUAYwBiADkAZQBjADYAYQAwADIANgA5ADgAOQAzADYAYwBkAGMAMQAwADQANwA0ADQAOQAiACwAIgBtAF8AQQBzAHMAZQB0AEwAbwBhAGQATQBvAGQAZQAiADoAMAAsACIAbQBfAEIAdQBuAGQAbABlAFMAaQB6AGUAIgA6ADIAMwAxADkALAAiAG0AXwBVAHMAZQBDAHIAYwBGAG8AcgBDAGEAYwBoAGUAZABCAHUAbgBkAGwAZQBzACIAOgB0AHIAdQBlACwAIgBtAF8AVQBzAGUAVQBXAFIARgBvAHIATABvAGMAYQBsAEIAdQBuAGQAbABlAHMAIgA6AGYAYQBsAHMAZQAsACIAbQBfAEMAbABlAGEAcgBPAHQAaABlAHIAQwBhAGMAaABlAGQAVgBlAHIAcwBpAG8AbgBzAFcAaABlAG4ATABvAGEAZABlAGQAIgA6AGYAYQBsAHMAZQB9AAdMVW5pdHkuUmVzb3VyY2VNYW5hZ2VyLCBWZXJzaW9uPTAuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbEpVbml0eUVuZ2luZS5SZXNvdXJjZU1hbmFnZW1lbnQuUmVzb3VyY2VQcm92aWRlcnMuQXNzZXRCdW5kbGVSZXF1ZXN0T3B0aW9uc6oCAAB7ACIAbQBfAEgAYQBzAGgAIgA6ACIAMAA0ADgAYQBhADEAYgBlAGYAZgA1ADUANAA2ADkAMwBjADcAMgA5ADkAZQA5ADMAYgAzAGMAMwBmAGEAZABlACIALAAiAG0AXwBDAHIAYwAiADoAMwA2ADYAMwA0ADQAMAAyADEAMgAsACIAbQBfAFQAaQBtAGUAbwB1AHQAIgA6ADAALAAiAG0AXwBDAGgAdQBuAGsAZQBkAFQAcgBhAG4AcwBmAGUAcgAiADoAZgBhAGwAcwBlACwAIgBtAF8AUgBlAGQAaQByAGUAYwB0AEwAaQBtAGkAdAAiADoALQAxACwAIgBtAF8AUgBlAHQAcgB5AEMAbwB1AG4AdAAiADoAMAAsACIAbQBfAEIAdQBuAGQAbABlAE4AYQBtAGUAIgA6ACIANwA3ADAAOABiADgANgBhADIAZQA4ADQAOAAzADAAZQA1AGMAMQA2ADAAOABhAGYAZQA0ADQAZQAzAGYANgA3ACIALAAiAG0AXwBBAHMAcwBlAHQATABvAGEAZABNAG8AZABlACIAOgAwACwAIgBtAF8AQgB1AG4AZABsAGUAUwBpAHoAZQAiADoAMgA3ADMAOQAsACIAbQBfAFUAcwBlAEMAcgBjAEYAbwByAEMAYQBjAGgAZQBkAEIAdQBuAGQAbABlAHMAIgA6AHQAcgB1AGUALAAiAG0AXwBVAHMAZQBVAFcAUgBGAG8AcgBMAG8AYwBhAGwAQgB1AG4AZABsAGUAcwAiADoAZgBhAGwAcwBlACwAIgBtAF8AQwBsAGUAYQByAE8AdABoAGUAcgBDAGEAYwBoAGUAZABWAGUAcgBzAGkAbwBuAHMAVwBoAGUAbgBMAG8AYQBkAGUAZAAiADoAZgBhAGwAcwBlAH0AB0xVbml0eS5SZXNvdXJjZU1hbmFnZXIsIFZlcnNpb249MC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsSlVuaXR5RW5naW5lLlJlc291cmNlTWFuYWdlbWVudC5SZXNvdXJjZVByb3ZpZGVycy5Bc3NldEJ1bmRsZVJlcXVlc3RPcHRpb25zsAIAAHsAIgBtAF8ASABhAHMAaAAiADoAIgA1AGQAYQBiAGEANAAwAGMANwAyAGMANAA0ADUAYwBhADAAOQA5AGIAMQBhAGIANwBkADAAMgAxADAAMwBhADEAIgAsACIAbQBfAEMAcgBjACIAOgAyADUAOAA0ADEANgAzADAANAAyACwAIgBtAF8AVABpAG0AZQBvAHUAdAAiADoAMAAsACIAbQBfAEMAaAB1AG4AawBlAGQAVAByAGEAbgBzAGYAZQByACIAOgBmAGEAbABzAGUALAAiAG0AXwBSAGUAZABpAHIAZQBjAHQATABpAG0AaQB0ACIAOgAtADEALAAiAG0AXwBSAGUAdAByAHkAQwBvAHUAbgB0ACIAOgAwACwAIgBtAF8AQgB1AG4AZABsAGUATgBhAG0AZQAiADoAIgBkADAAMwBhADIANAAxAGQANQAwADAAMwA3ADYAMwAwAGEAMABlADUANAA5AGMANAA2ADgAOABkAGYAZgA3AGUAIgAsACIAbQBfAEEAcwBzAGUAdABMAG8AYQBkAE0AbwBkAGUAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBTAGkAegBlACIAOgAxADAAOAA1ADMAOAA4ACwAIgBtAF8AVQBzAGUAQwByAGMARgBvAHIAQwBhAGMAaABlAGQAQgB1AG4AZABsAGUAcwAiADoAdAByAHUAZQAsACIAbQBfAFUAcwBlAFUAVwBSAEYAbwByAEwAbwBjAGEAbABCAHUAbgBkAGwAZQBzACIAOgBmAGEAbABzAGUALAAiAG0AXwBDAGwAZQBhAHIATwB0AGgAZQByAEMAYQBjAGgAZQBkAFYAZQByAHMAaQBvAG4AcwBXAGgAZQBuAEwAbwBhAGQAZQBkACIAOgBmAGEAbABzAGUAfQAHTFVuaXR5LlJlc291cmNlTWFuYWdlciwgVmVyc2lvbj0wLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxKVW5pdHlFbmdpbmUuUmVzb3VyY2VNYW5hZ2VtZW50LlJlc291cmNlUHJvdmlkZXJzLkFzc2V0QnVuZGxlUmVxdWVzdE9wdGlvbnOwAgAAewAiAG0AXwBIAGEAcwBoACIAOgAiADEAZQA3ADkAZAA5ADEAMAA3AGMAMgBiADUAMwBhADEAZQA2AGIANAA5ADUAZgBmAGUAYQBhADUAYgBlADIAZAAiACwAIgBtAF8AQwByAGMAIgA6ADIAMAA0ADEANgA5ADIAMwAwADEALAAiAG0AXwBUAGkAbQBlAG8AdQB0ACIAOgAwACwAIgBtAF8AQwBoAHUAbgBrAGUAZABUAHIAYQBuAHMAZgBlAHIAIgA6AGYAYQBsAHMAZQAsACIAbQBfAFIAZQBkAGkAcgBlAGMAdABMAGkAbQBpAHQAIgA6AC0AMQAsACIAbQBfAFIAZQB0AHIAeQBDAG8AdQBuAHQAIgA6ADAALAAiAG0AXwBCAHUAbgBkAGwAZQBOAGEAbQBlACIAOgAiAGIAOABiADcANQA0AGMAOQAwADMANgA3ADIAYgA0AGMAZAAzADMANQA5ADYAOAA5AGMAZQAwAGMAZgAzAGYAZAAiACwAIgBtAF8AQQBzAHMAZQB0AEwAbwBhAGQATQBvAGQAZQAiADoAMAAsACIAbQBfAEIAdQBuAGQAbABlAFMAaQB6AGUAIgA6ADQAMAAzADgAMwAwADgALAAiAG0AXwBVAHMAZQBDAHIAYwBGAG8AcgBDAGEAYwBoAGUAZABCAHUAbgBkAGwAZQBzACIAOgB0AHIAdQBlACwAIgBtAF8AVQBzAGUAVQBXAFIARgBvAHIATABvAGMAYQBsAEIAdQBuAGQAbABlAHMAIgA6AGYAYQBsAHMAZQAsACIAbQBfAEMAbABlAGEAcgBPAHQAaABlAHIAQwBhAGMAaABlAGQAVgBlAHIAcwBpAG8AbgBzAFcAaABlAG4ATABvAGEAZABlAGQAIgA6AGYAYQBsAHMAZQB9AA==","m_resourceTypes":[{"m_AssemblyName":"UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.GameObject"},{"m_AssemblyName":"UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.Material"},{"m_AssemblyName":"UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.Mesh"},{"m_AssemblyName":"pinpoint.scriptableobjects, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"ChannelMapData"},{"m_AssemblyName":"UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.TextAsset"},{"m_AssemblyName":"UnityEngine.TextRenderingModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.Font"},{"m_AssemblyName":"UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.Texture2D"},{"m_AssemblyName":"Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"TMPro.TMP_FontAsset"},{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.IAssetBundleResource"},{"m_AssemblyName":"Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.ResourceManagement.ResourceProviders.SceneInstance"},{"m_AssemblyName":"Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"TMPro.TMP_SpriteAsset"},{"m_AssemblyName":"Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"TMPro.TMP_StyleSheet"},{"m_AssemblyName":"Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"TMPro.TMP_Settings"},{"m_AssemblyName":"Unisave, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"Unisave.Foundation.UnisavePreferences"}],"m_InternalIdPrefixes":[]} \ No newline at end of file diff --git a/Library/com.unity.addressables/aa/WebGL/settings.json b/Library/com.unity.addressables/aa/WebGL/settings.json index 98983ef1..21bfb799 100644 --- a/Library/com.unity.addressables/aa/WebGL/settings.json +++ b/Library/com.unity.addressables/aa/WebGL/settings.json @@ -1 +1 @@ -{"m_buildTarget":"WebGL","m_SettingsHash":"e6004f05e458666ef9c5ad2506d18acb","m_CatalogLocations":[{"m_Keys":["AddressablesMainContentCatalogRemoteHash"],"m_InternalId":"https://data.virtualbrainlab.org/PinpointData/1.0.3/WebGL/catalog_2023.11.30.05.34.01.hash","m_Provider":"UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider","m_Dependencies":[],"m_ResourceType":{"m_AssemblyName":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","m_ClassName":"System.String"},"SerializedData":[7,76,85,110,105,116,121,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,114,44,32,86,101,114,115,105,111,110,61,48,46,48,46,48,46,48,44,32,67,117,108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,110,117,108,108,75,85,110,105,116,121,69,110,103,105,110,101,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,109,101,110,116,46,82,101,115,111,117,114,99,101,80,114,111,118,105,100,101,114,115,46,80,114,111,118,105,100,101,114,76,111,97,100,82,101,113,117,101,115,116,79,112,116,105,111,110,115,50,0,0,0,123,0,34,0,109,0,95,0,73,0,103,0,110,0,111,0,114,0,101,0,70,0,97,0,105,0,108,0,117,0,114,0,101,0,115,0,34,0,58,0,116,0,114,0,117,0,101,0,125,0]},{"m_Keys":["AddressablesMainContentCatalogCacheHash"],"m_InternalId":"{UnityEngine.Application.persistentDataPath}/com.unity.addressables/catalog_2023.11.30.05.34.01.hash","m_Provider":"UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider","m_Dependencies":[],"m_ResourceType":{"m_AssemblyName":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","m_ClassName":"System.String"},"SerializedData":[7,76,85,110,105,116,121,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,114,44,32,86,101,114,115,105,111,110,61,48,46,48,46,48,46,48,44,32,67,117,108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,110,117,108,108,75,85,110,105,116,121,69,110,103,105,110,101,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,109,101,110,116,46,82,101,115,111,117,114,99,101,80,114,111,118,105,100,101,114,115,46,80,114,111,118,105,100,101,114,76,111,97,100,82,101,113,117,101,115,116,79,112,116,105,111,110,115,50,0,0,0,123,0,34,0,109,0,95,0,73,0,103,0,110,0,111,0,114,0,101,0,70,0,97,0,105,0,108,0,117,0,114,0,101,0,115,0,34,0,58,0,116,0,114,0,117,0,101,0,125,0]},{"m_Keys":["AddressablesMainContentCatalog"],"m_InternalId":"{UnityEngine.AddressableAssets.Addressables.RuntimePath}/catalog.json","m_Provider":"UnityEngine.AddressableAssets.ResourceProviders.ContentCatalogProvider","m_Dependencies":["AddressablesMainContentCatalogRemoteHash","AddressablesMainContentCatalogCacheHash"],"m_ResourceType":{"m_AssemblyName":"Unity.Addressables, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.AddressableAssets.ResourceLocators.ContentCatalogData"},"SerializedData":[7,76,85,110,105,116,121,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,114,44,32,86,101,114,115,105,111,110,61,48,46,48,46,48,46,48,44,32,67,117,108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,110,117,108,108,75,85,110,105,116,121,69,110,103,105,110,101,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,109,101,110,116,46,82,101,115,111,117,114,99,101,80,114,111,118,105,100,101,114,115,46,80,114,111,118,105,100,101,114,76,111,97,100,82,101,113,117,101,115,116,79,112,116,105,111,110,115,50,0,0,0,123,0,34,0,109,0,95,0,73,0,103,0,110,0,111,0,114,0,101,0,70,0,97,0,105,0,108,0,117,0,114,0,101,0,115,0,34,0,58,0,116,0,114,0,117,0,101,0,125,0]}],"m_ProfileEvents":false,"m_LogResourceManagerExceptions":true,"m_ExtraInitializationData":[],"m_DisableCatalogUpdateOnStart":false,"m_IsLocalCatalogInBundle":false,"m_CertificateHandlerType":{"m_AssemblyName":"","m_ClassName":""},"m_AddressablesVersion":"1.21.18","m_maxConcurrentWebRequests":500,"m_CatalogRequestsTimeout":0} \ No newline at end of file +{"m_buildTarget":"WebGL","m_SettingsHash":"b3af3a77ece41351bcf4459c8498ca0f","m_CatalogLocations":[{"m_Keys":["AddressablesMainContentCatalogRemoteHash"],"m_InternalId":"https://data.virtualbrainlab.org/PinpointData/2.0.0/WebGL/catalog_2024.09.07.21.38.28.hash","m_Provider":"UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider","m_Dependencies":[],"m_ResourceType":{"m_AssemblyName":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","m_ClassName":"System.String"},"SerializedData":[7,76,85,110,105,116,121,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,114,44,32,86,101,114,115,105,111,110,61,48,46,48,46,48,46,48,44,32,67,117,108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,110,117,108,108,75,85,110,105,116,121,69,110,103,105,110,101,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,109,101,110,116,46,82,101,115,111,117,114,99,101,80,114,111,118,105,100,101,114,115,46,80,114,111,118,105,100,101,114,76,111,97,100,82,101,113,117,101,115,116,79,112,116,105,111,110,115,50,0,0,0,123,0,34,0,109,0,95,0,73,0,103,0,110,0,111,0,114,0,101,0,70,0,97,0,105,0,108,0,117,0,114,0,101,0,115,0,34,0,58,0,116,0,114,0,117,0,101,0,125,0]},{"m_Keys":["AddressablesMainContentCatalogCacheHash"],"m_InternalId":"{UnityEngine.Application.persistentDataPath}/com.unity.addressables/catalog_2024.09.07.21.38.28.hash","m_Provider":"UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider","m_Dependencies":[],"m_ResourceType":{"m_AssemblyName":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","m_ClassName":"System.String"},"SerializedData":[7,76,85,110,105,116,121,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,114,44,32,86,101,114,115,105,111,110,61,48,46,48,46,48,46,48,44,32,67,117,108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,110,117,108,108,75,85,110,105,116,121,69,110,103,105,110,101,46,82,101,115,111,117,114,99,101,77,97,110,97,103,101,109,101,110,116,46,82,101,115,111,117,114,99,101,80,114,111,118,105,100,101,114,115,46,80,114,111,118,105,100,101,114,76,111,97,100,82,101,113,117,101,115,116,79,112,116,105,111,110,115,50,0,0,0,123,0,34,0,109,0,95,0,73,0,103,0,110,0,111,0,114,0,101,0,70,0,97,0,105,0,108,0,117,0,114,0,101,0,115,0,34,0,58,0,116,0,114,0,117,0,101,0,125,0]},{"m_Keys":["AddressablesMainContentCatalogLocalHash"],"m_InternalId":"{UnityEngine.AddressableAssets.Addressables.RuntimePath}/catalog.hash","m_Provider":"UnityEngine.ResourceManagement.ResourceProviders.TextDataProvider","m_Dependencies":[],"m_ResourceType":{"m_AssemblyName":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","m_ClassName":"System.String"},"SerializedData":[]},{"m_Keys":["AddressablesMainContentCatalog"],"m_InternalId":"{UnityEngine.AddressableAssets.Addressables.RuntimePath}/catalog.bin","m_Provider":"UnityEngine.AddressableAssets.ResourceProviders.ContentCatalogProvider","m_Dependencies":["AddressablesMainContentCatalogRemoteHash","AddressablesMainContentCatalogCacheHash","AddressablesMainContentCatalogLocalHash"],"m_ResourceType":{"m_AssemblyName":"Unity.Addressables, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null","m_ClassName":"UnityEngine.AddressableAssets.ResourceLocators.ContentCatalogData"},"SerializedData":[]}],"m_LogResourceManagerExceptions":true,"m_ExtraInitializationData":[],"m_DisableCatalogUpdateOnStart":false,"m_IsLocalCatalogInBundle":false,"m_CertificateHandlerType":{"m_AssemblyName":"","m_ClassName":""},"m_AddressablesVersion":"2.2.2","m_maxConcurrentWebRequests":500,"m_CatalogRequestsTimeout":0} \ No newline at end of file diff --git a/Library/com.unity.addressables/aa/Windows/AddressablesLink/link.xml b/Library/com.unity.addressables/aa/Windows/AddressablesLink/link.xml index a83f0e4b..5417fa7e 100644 --- a/Library/com.unity.addressables/aa/Windows/AddressablesLink/link.xml +++ b/Library/com.unity.addressables/aa/Windows/AddressablesLink/link.xml @@ -1,7 +1,7 @@ - + @@ -13,7 +13,6 @@ - diff --git a/Library/com.unity.addressables/aa/Windows/catalog.bin b/Library/com.unity.addressables/aa/Windows/catalog.bin new file mode 100644 index 0000000000000000000000000000000000000000..7ebeae9a22a005b4571c2bc4990f3c068fbe43ef GIT binary patch literal 5953 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 Date: Sat, 7 Sep 2024 16:01:32 -0700 Subject: [PATCH 4/5] Exits without near target state --- ...viorController_Automation_DuraCalibration.cs | 17 ++++------------- ...orBehaviorController_Automation_Insertion.cs | 10 +++++----- Assets/Scripts/Pinpoint/Probes/ProbeManager.cs | 3 ++- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs index acebe25d..4229641e 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs @@ -15,12 +15,7 @@ public partial class ManipulatorBehaviorController /// /// Record of the manipulator's depth coordinate at the Dura. /// - private float _duraDepth; - - /// - /// Record of the probe's coordinate at the Dura. - /// - private Vector3 _duraCoordinate; + private Vector4 _duraPosition; /// /// Skip passing through the exit margin. @@ -44,7 +39,7 @@ public async Awaitable ResetDuraOffset() var continueWithDuraResetCompletionSource = new AwaitableCompletionSource(); // Alert user if there is not enough space for exit margin. - if (_duraDepth < 1.5f * DURA_MARGIN_DISTANCE) + if (_duraPosition.w < 1.5f * DURA_MARGIN_DISTANCE) { QuestionDialogue.Instance.NewQuestion( "The depth axis is too retracted and does not leave enough space for a safe exit. Are you sure you want to continue (safety measures will be skipped)?" @@ -71,12 +66,8 @@ public async Awaitable ResetDuraOffset() // Reset dura offset. ComputeBrainSurfaceOffset(); - // Wait for computation to complete. - await Awaitable.NextFrameAsync(); - - // Reset Dura offset. - _duraDepth = positionResponse.Position.w; - _duraCoordinate = _probeController.Insertion.APMLDV; + // Save the Dura's position. + _duraPosition = positionResponse.Position; // Log the event. OutputLog.Log( diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs index 3994f4bc..f7f1f703 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs @@ -257,7 +257,7 @@ public async void Exit(ProbeManager targetInsertionProbeManager, float baseSpeed var exitToDuraResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( ManipulatorID, - _duraDepth, + _duraPosition.w, baseSpeed * EXIT_DRIVE_SPEED_MULTIPLIER ) ); @@ -278,7 +278,7 @@ public async void Exit(ProbeManager targetInsertionProbeManager, float baseSpeed var exitToMarginResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( ManipulatorID, - _duraDepth - DURA_MARGIN_DISTANCE, + _duraPosition.w - DURA_MARGIN_DISTANCE, baseSpeed * EXIT_DRIVE_SPEED_MULTIPLIER ) ); @@ -422,8 +422,8 @@ private Vector3 GetOffsetAdjustedTargetCoordinate(ProbeManager targetInsertionPr private float GetTargetDistanceToDura(ProbeManager targetInsertionProbeManager) { return Vector3.Distance( - GetOffsetAdjustedTargetCoordinate(targetInsertionProbeManager), - _duraCoordinate + ConvertInsertionAPMLDVToManipulatorPosition(GetOffsetAdjustedTargetCoordinate(targetInsertionProbeManager)), + _duraPosition ); } @@ -447,7 +447,7 @@ private float GetCurrentDistanceToTarget(ProbeManager targetInsertionProbeManage /// The depth the manipulator needs to drive to reach the target insertion. private float GetTargetDepth(ProbeManager targetInsertionProbeManager) { - return _duraDepth + GetTargetDistanceToDura(targetInsertionProbeManager); + return _duraPosition.w + GetTargetDistanceToDura(targetInsertionProbeManager); } #endregion diff --git a/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs b/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs index 08a45bd9..5ecaf375 100644 --- a/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs +++ b/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs @@ -907,11 +907,12 @@ public void UpdateSurfacePosition() } } - // TODO: Remove useDV and always use depth. + // TODO: Remove useDV and always use depth. Also make synchronous or return a task. /// /// Calculate the entry coordinate on the brain surface, returns coordIdx /// /// Whether the surface should be found along the DV axis or depth axis. + /// This function takes a few frames to complete its calculation. Treat it as asynchronous. /// (entryCoordAtlasIdx, probeInBrain) public (Vector3 entryCoordAtlasIdx, bool probeInBrain) CalculateEntryCoordinate( bool useDV = false From aea37a67ae6980e9e72e52dc7645d7c95cfa4797 Mon Sep 17 00:00:00 2001 From: Kenneth Yang Date: Sat, 7 Sep 2024 18:47:05 -0700 Subject: [PATCH 5/5] Fixed Depth movement --- .../ManipulatorBehaviorController.cs | 182 +++++++++--------- ...orController_Automation_DuraCalibration.cs | 17 +- ...BehaviorController_Automation_Insertion.cs | 27 ++- .../Scripts/Pinpoint/Probes/ProbeManager.cs | 3 +- 4 files changed, 127 insertions(+), 102 deletions(-) diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController.cs index 3d205109..89e74f17 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController.cs @@ -345,104 +345,106 @@ private async void EchoPosition() { // Continue echoing position while enabled and there exists a probe controller. while (enabled && _probeController) - { - // Get manipulator position. - var positionResponse = await CommunicationManager.Instance.GetPosition( - ManipulatorID - ); + await UpdateProbePositionFromManipulator(); + } - // Shortcut exit if there was an error. - if (CommunicationManager.HasError(positionResponse.Error)) - return; + /// + /// Update the probe's position based on the manipulator's position. + /// + private async Awaitable UpdateProbePositionFromManipulator() + { + // Get manipulator position. + var positionResponse = await CommunicationManager.Instance.GetPosition(ManipulatorID); - // Apply zero coordinate offset. - var zeroCoordinateAdjustedManipulatorPosition = - positionResponse.Position - ZeroCoordinateOffset; + // Shortcut exit if there was an error. + if (CommunicationManager.HasError(positionResponse.Error)) + return; - // Convert to coordinate space. - var manipulatorSpacePosition = CoordinateTransform.T2U( - zeroCoordinateAdjustedManipulatorPosition - ); + // Apply zero coordinate offset. + var zeroCoordinateAdjustedManipulatorPosition = + positionResponse.Position - ZeroCoordinateOffset; - // Brain surface adjustment. - var brainSurfaceAdjustment = float.IsNaN(BrainSurfaceOffset) - ? 0 - : BrainSurfaceOffset; - // Apply depth adjustment to manipulator position for non-3 axis manipulators. - if (CoordinateTransform.Prefix != "3lhm") - zeroCoordinateAdjustedManipulatorPosition.w += brainSurfaceAdjustment; - - // Convert to world space. - var zeroCoordinateAdjustedWorldPosition = CoordinateSpace.Space2World( - manipulatorSpacePosition - ); + // Convert to coordinate space. + var manipulatorSpacePosition = CoordinateTransform.T2U( + zeroCoordinateAdjustedManipulatorPosition + ); - // Set probe position (change axes to match probe). - var transformedApmldv = BrainAtlasManager.World2T_Vector( - zeroCoordinateAdjustedWorldPosition - ); + // Brain surface adjustment. + var brainSurfaceAdjustment = float.IsNaN(BrainSurfaceOffset) ? 0 : BrainSurfaceOffset; + // Apply depth adjustment to manipulator position for non-3 axis manipulators. + if (CoordinateTransform.Prefix != "3lhm") + zeroCoordinateAdjustedManipulatorPosition.w += brainSurfaceAdjustment; - // Set probe position. - // For 3-axis manipulators, use depth to adjust brain offset if applying offset on depth. - if (CoordinateTransform.Prefix == "3lhm") - _probeController.SetProbePosition( - new Vector4( - transformedApmldv.x, - transformedApmldv.y, - transformedApmldv.z, - brainSurfaceAdjustment - ) - ); - else - _probeController.SetProbePosition( - new Vector4( - transformedApmldv.x, - transformedApmldv.y, - transformedApmldv.z, - zeroCoordinateAdjustedManipulatorPosition.w - ) - ); - - // Don't log if the last position is the same. - var positionDifference = _lastLoggedManipulatorPosition - positionResponse.Position; - if ( - !(Mathf.Abs(positionDifference.x) > 0.0001) - && !(Mathf.Abs(positionDifference.y) > 0.0001) - && !(Mathf.Abs(positionDifference.z) > 0.0001) - && !(Mathf.Abs(positionDifference.w) > 0.0001) - ) - continue; - - // Log every 4 hz - if (!(Time.time - _lastLoggedTime >= 0.25)) - continue; - - _lastLoggedTime = Time.time; - var tipPos = _probeController.ProbeTipT.position; - - // ["ephys_link", Real time stamp, Manipulator ID, X, Y, Z, W, Phi, Theta, Spin, TipX, TipY, TipZ] - OutputLog.Log( - new[] - { - "ephys_link", - DateTime.Now.ToString(CultureInfo.InvariantCulture), - ManipulatorID, - positionResponse.Position.x.ToString(CultureInfo.InvariantCulture), - positionResponse.Position.y.ToString(CultureInfo.InvariantCulture), - positionResponse.Position.z.ToString(CultureInfo.InvariantCulture), - positionResponse.Position.w.ToString(CultureInfo.InvariantCulture), - _probeController.Insertion.Yaw.ToString(CultureInfo.InvariantCulture), - _probeController.Insertion.Pitch.ToString(CultureInfo.InvariantCulture), - _probeController.Insertion.Roll.ToString(CultureInfo.InvariantCulture), - tipPos.x.ToString(CultureInfo.InvariantCulture), - tipPos.y.ToString(CultureInfo.InvariantCulture), - tipPos.z.ToString(CultureInfo.InvariantCulture) - } + // Convert to world space. + var zeroCoordinateAdjustedWorldPosition = CoordinateSpace.Space2World( + manipulatorSpacePosition + ); + + // Set probe position (change axes to match probe). + var transformedApmldv = BrainAtlasManager.World2T_Vector( + zeroCoordinateAdjustedWorldPosition + ); + + // Set probe position. + // For 3-axis manipulators, use depth to adjust brain offset if applying offset on depth. + if (CoordinateTransform.Prefix == "3lhm") + _probeController.SetProbePosition( + new Vector4( + transformedApmldv.x, + transformedApmldv.y, + transformedApmldv.z, + brainSurfaceAdjustment + ) + ); + else + _probeController.SetProbePosition( + new Vector4( + transformedApmldv.x, + transformedApmldv.y, + transformedApmldv.z, + zeroCoordinateAdjustedManipulatorPosition.w + ) ); - // Update last logged position - _lastLoggedManipulatorPosition = positionResponse.Position; - } + // Don't log if the last position is the same. + var positionDifference = _lastLoggedManipulatorPosition - positionResponse.Position; + if ( + !(Mathf.Abs(positionDifference.x) > 0.0001) + && !(Mathf.Abs(positionDifference.y) > 0.0001) + && !(Mathf.Abs(positionDifference.z) > 0.0001) + && !(Mathf.Abs(positionDifference.w) > 0.0001) + ) + return; + + // Log every 4 hz + if (!(Time.time - _lastLoggedTime >= 0.25)) + return; + + _lastLoggedTime = Time.time; + var tipPos = _probeController.ProbeTipT.position; + + // ["ephys_link", Real time stamp, Manipulator ID, X, Y, Z, W, Phi, Theta, Spin, TipX, TipY, TipZ] + OutputLog.Log( + new[] + { + "ephys_link", + DateTime.Now.ToString(CultureInfo.InvariantCulture), + ManipulatorID, + positionResponse.Position.x.ToString(CultureInfo.InvariantCulture), + positionResponse.Position.y.ToString(CultureInfo.InvariantCulture), + positionResponse.Position.z.ToString(CultureInfo.InvariantCulture), + positionResponse.Position.w.ToString(CultureInfo.InvariantCulture), + _probeController.Insertion.Yaw.ToString(CultureInfo.InvariantCulture), + _probeController.Insertion.Pitch.ToString(CultureInfo.InvariantCulture), + _probeController.Insertion.Roll.ToString(CultureInfo.InvariantCulture), + tipPos.x.ToString(CultureInfo.InvariantCulture), + tipPos.y.ToString(CultureInfo.InvariantCulture), + tipPos.z.ToString(CultureInfo.InvariantCulture) + } + ); + + // Update last logged position + _lastLoggedManipulatorPosition = positionResponse.Position; } #endregion diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs index 4229641e..0ded0617 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_DuraCalibration.cs @@ -13,9 +13,14 @@ public partial class ManipulatorBehaviorController #region Properties /// - /// Record of the manipulator's depth coordinate at the Dura. + /// Record of the manipulator's depth at the Dura. /// - private Vector4 _duraPosition; + private float _duraDepth; + + /// + /// AP, ML, DV coordinate of the Dura. + /// + private Vector3 _duraCoordinate; /// /// Skip passing through the exit margin. @@ -39,7 +44,7 @@ public async Awaitable ResetDuraOffset() var continueWithDuraResetCompletionSource = new AwaitableCompletionSource(); // Alert user if there is not enough space for exit margin. - if (_duraPosition.w < 1.5f * DURA_MARGIN_DISTANCE) + if (_duraDepth < 1.5f * DURA_MARGIN_DISTANCE) { QuestionDialogue.Instance.NewQuestion( "The depth axis is too retracted and does not leave enough space for a safe exit. Are you sure you want to continue (safety measures will be skipped)?" @@ -66,8 +71,12 @@ public async Awaitable ResetDuraOffset() // Reset dura offset. ComputeBrainSurfaceOffset(); + // Force update probe position. + await UpdateProbePositionFromManipulator(); + // Save the Dura's position. - _duraPosition = positionResponse.Position; + _duraDepth = positionResponse.Position.w; + _duraCoordinate = _probeController.Insertion.APMLDV; // Log the event. OutputLog.Log( diff --git a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs index f7f1f703..21ab7cb9 100644 --- a/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs +++ b/Assets/Scripts/Pinpoint/Probes/ManipulatorBehaviorController/ManipulatorBehaviorController_Automation_Insertion.cs @@ -110,6 +110,9 @@ float drivePastDistance > NEAR_TARGET_DISTANCE ) { + print( + $"{ProbeAutomationStateManager.ProbeAutomationState}: Going to {targetDepth - NEAR_TARGET_DISTANCE}" + ); var driveToNearTargetResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( @@ -119,6 +122,8 @@ await CommunicationManager.Instance.SetDepth( ) ); + print($"At {driveToNearTargetResponse.Depth}"); + // Shortcut exit if there was an error. if (CommunicationManager.HasError(driveToNearTargetResponse.Error)) return; @@ -126,6 +131,9 @@ await CommunicationManager.Instance.SetDepth( break; case ProbeAutomationState.DrivingToPastTarget: + print( + $"{ProbeAutomationStateManager.ProbeAutomationState}: Going to {targetDepth + drivePastDistance}" + ); // Drive to past target. var driveToPastTargetResponse = await CommunicationManager.Instance.SetDepth( @@ -136,11 +144,16 @@ await CommunicationManager.Instance.SetDepth( ) ); + print($"At {driveToPastTargetResponse.Depth}"); + // Shortcut exit if there was an error. if (CommunicationManager.HasError(driveToPastTargetResponse.Error)) return; break; case ProbeAutomationState.ReturningToTarget: + print( + $"{ProbeAutomationStateManager.ProbeAutomationState}: Going to {targetDepth}" + ); // Drive up to target. var returnToTargetResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( @@ -150,6 +163,8 @@ await CommunicationManager.Instance.SetDepth( ) ); + print($"At {returnToTargetResponse.Depth}"); + // Shortcut exit if there was an error. if (CommunicationManager.HasError(returnToTargetResponse.Error)) return; @@ -257,7 +272,7 @@ public async void Exit(ProbeManager targetInsertionProbeManager, float baseSpeed var exitToDuraResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( ManipulatorID, - _duraPosition.w, + _duraDepth, baseSpeed * EXIT_DRIVE_SPEED_MULTIPLIER ) ); @@ -278,7 +293,7 @@ public async void Exit(ProbeManager targetInsertionProbeManager, float baseSpeed var exitToMarginResponse = await CommunicationManager.Instance.SetDepth( new SetDepthRequest( ManipulatorID, - _duraPosition.w - DURA_MARGIN_DISTANCE, + _duraDepth - DURA_MARGIN_DISTANCE, baseSpeed * EXIT_DRIVE_SPEED_MULTIPLIER ) ); @@ -422,8 +437,8 @@ private Vector3 GetOffsetAdjustedTargetCoordinate(ProbeManager targetInsertionPr private float GetTargetDistanceToDura(ProbeManager targetInsertionProbeManager) { return Vector3.Distance( - ConvertInsertionAPMLDVToManipulatorPosition(GetOffsetAdjustedTargetCoordinate(targetInsertionProbeManager)), - _duraPosition + GetOffsetAdjustedTargetCoordinate(targetInsertionProbeManager), + _duraCoordinate ); } @@ -431,7 +446,7 @@ private float GetTargetDistanceToDura(ProbeManager targetInsertionProbeManager) /// Compute the current distance to the target insertion. /// /// - /// Distance in mm to the target from the probe. + /// Distance in mm to the target from the probe. NaN on error. private float GetCurrentDistanceToTarget(ProbeManager targetInsertionProbeManager) { return Vector3.Distance( @@ -447,7 +462,7 @@ private float GetCurrentDistanceToTarget(ProbeManager targetInsertionProbeManage /// The depth the manipulator needs to drive to reach the target insertion. private float GetTargetDepth(ProbeManager targetInsertionProbeManager) { - return _duraPosition.w + GetTargetDistanceToDura(targetInsertionProbeManager); + return _duraDepth + GetTargetDistanceToDura(targetInsertionProbeManager); } #endregion diff --git a/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs b/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs index 5ecaf375..08a45bd9 100644 --- a/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs +++ b/Assets/Scripts/Pinpoint/Probes/ProbeManager.cs @@ -907,12 +907,11 @@ public void UpdateSurfacePosition() } } - // TODO: Remove useDV and always use depth. Also make synchronous or return a task. + // TODO: Remove useDV and always use depth. /// /// Calculate the entry coordinate on the brain surface, returns coordIdx /// /// Whether the surface should be found along the DV axis or depth axis. - /// This function takes a few frames to complete its calculation. Treat it as asynchronous. /// (entryCoordAtlasIdx, probeInBrain) public (Vector3 entryCoordAtlasIdx, bool probeInBrain) CalculateEntryCoordinate( bool useDV = false