From 891318680d53c89fa6e7319fd595de218e1e300a Mon Sep 17 00:00:00 2001 From: warlock Date: Wed, 26 Jan 2022 19:10:12 +0530 Subject: [PATCH] Basic Networking done --- Assembly-CSharp-Editor.csproj | 721 +++ Assembly-CSharp.csproj | 1220 ++-- Assets/Fonts.meta | 8 + Assets/Fonts/ARCADECLASSIC.TTF | Bin 0 -> 17296 bytes Assets/Fonts/ARCADECLASSIC.TTF.meta | 22 + Assets/Ignorance.meta | 8 + Assets/Ignorance/Demo.meta | 8 + Assets/Ignorance/Demo/Basic.meta | 8 + .../Demo/Basic/BasicWithIgnorance.unity | 737 +++ .../Demo/Basic/BasicWithIgnorance.unity.meta | 7 + .../Basic/BasicWithIgnoranceSettings.lighting | 63 + .../BasicWithIgnoranceSettings.lighting.meta | 8 + Assets/Ignorance/Demo/PongChamp.meta | 8 + .../Ignorance/Demo/PongChamp/AtariBall.prefab | 188 + .../Demo/PongChamp/AtariBall.prefab.meta | 8 + .../Demo/PongChamp/AtariRacket.prefab | 190 + .../Demo/PongChamp/AtariRacket.prefab.meta | 8 + .../BallMaterial 1.physicsMaterial2D | 11 + .../BallMaterial 1.physicsMaterial2D.meta | 8 + Assets/Ignorance/Demo/PongChamp/Demo.unity | 1164 ++++ .../Ignorance/Demo/PongChamp/Demo.unity.meta | 7 + Assets/Ignorance/Demo/PongChamp/Scripts.meta | 8 + .../Demo/PongChamp/Scripts/AtariPongBall.cs | 67 + .../PongChamp/Scripts/AtariPongBall.cs.meta | 12 + .../Demo/PongChamp/Scripts/AtariPongRacket.cs | 25 + .../PongChamp/Scripts/AtariPongRacket.cs.meta | 12 + .../Demo/PongChamp/Scripts/OnlineTimer.cs | 49 + .../PongChamp/Scripts/OnlineTimer.cs.meta | 11 + .../Demo/PongChamp/TenryuuBall.prefab | 180 + .../Demo/PongChamp/TenryuuBall.prefab.meta | 7 + Assets/Ignorance/Demo/PongChamp/Textures.meta | 8 + .../Demo/PongChamp/Textures/PoutRyuu.png | Bin 0 -> 30056 bytes .../Demo/PongChamp/Textures/PoutRyuu.png.meta | 128 + .../Demo/PongChamp/Textures/Sprites.meta | 8 + .../Demo/PongChamp/Textures/Sprites/Ball.png | Bin 0 -> 2791 bytes .../PongChamp/Textures/Sprites/Ball.png.meta | 88 + .../PongChamp/Textures/Sprites/DottedLine.png | Bin 0 -> 2799 bytes .../Textures/Sprites/DottedLine.png.meta | 88 + .../PongChamp/Textures/Sprites/Racket.png | Bin 0 -> 2800 bytes .../Textures/Sprites/Racket.png.meta | 88 + .../Textures/Sprites/WallHorizontal.png | Bin 0 -> 2796 bytes .../Textures/Sprites/WallHorizontal.png.meta | 88 + .../Textures/Sprites/WallVertical.png | Bin 0 -> 2800 bytes .../Textures/Sprites/WallVertical.png.meta | 88 + .../Demo/PongChamp/Textures/pogchamp.png | Bin 0 -> 129087 bytes .../Demo/PongChamp/Textures/pogchamp.png.meta | 121 + Assets/Mirror.meta | 8 + Assets/Mirror/Authenticators.meta | 8 + .../Authenticators/BasicAuthenticator.cs | 182 + .../Authenticators/BasicAuthenticator.cs.meta | 11 + .../Mirror.Authenticators.asmdef | 14 + .../Mirror.Authenticators.asmdef.meta | 7 + .../Authenticators/TimeoutAuthenticator.cs | 70 + .../TimeoutAuthenticator.cs.meta | 11 + Assets/Mirror/CompilerSymbols.meta | 8 + .../Mirror.CompilerSymbols.asmdef | 14 + .../Mirror.CompilerSymbols.asmdef.meta | 7 + .../CompilerSymbols/PreprocessorDefine.cs | 50 + .../PreprocessorDefine.cs.meta | 11 + Assets/Mirror/Components.meta | 8 + Assets/Mirror/Components/AssemblyInfo.cs | 9 + Assets/Mirror/Components/AssemblyInfo.cs.meta | 11 + Assets/Mirror/Components/Discovery.meta | 8 + .../Components/Discovery/NetworkDiscovery.cs | 114 + .../Discovery/NetworkDiscovery.cs.meta | 11 + .../Discovery/NetworkDiscoveryBase.cs | 385 ++ .../Discovery/NetworkDiscoveryBase.cs.meta | 11 + .../Discovery/NetworkDiscoveryHUD.cs | 132 + .../Discovery/NetworkDiscoveryHUD.cs.meta | 11 + .../Components/Discovery/ServerRequest.cs | 4 + .../Discovery/ServerRequest.cs.meta | 11 + .../Components/Discovery/ServerResponse.cs | 18 + .../Discovery/ServerResponse.cs.meta | 11 + Assets/Mirror/Components/Experimental.meta | 8 + .../Experimental/NetworkLerpRigidbody.cs | 93 + .../Experimental/NetworkLerpRigidbody.cs.meta | 11 + .../Experimental/NetworkRigidbody.cs | 361 ++ .../Experimental/NetworkRigidbody.cs.meta | 11 + .../Experimental/NetworkRigidbody2D.cs | 360 ++ .../Experimental/NetworkRigidbody2D.cs.meta | 11 + .../Experimental/NetworkTransform.cs | 12 + .../Experimental/NetworkTransform.cs.meta | 11 + .../Experimental/NetworkTransformBase.cs | 529 ++ .../Experimental/NetworkTransformBase.cs.meta | 11 + .../Experimental/NetworkTransformChild.cs | 18 + .../NetworkTransformChild.cs.meta | 11 + Assets/Mirror/Components/GUIConsole.cs | 112 + Assets/Mirror/Components/GUIConsole.cs.meta | 11 + .../Mirror/Components/InterestManagement.meta | 8 + .../InterestManagement/Distance.meta | 3 + .../Distance/DistanceInterestManagement.cs | 69 + .../DistanceInterestManagement.cs.meta | 11 + .../DistanceInterestManagementCustomRange.cs | 14 + ...tanceInterestManagementCustomRange.cs.meta | 11 + .../Components/InterestManagement/Match.meta | 3 + .../Match/MatchInterestManagement.cs | 125 + .../Match/MatchInterestManagement.cs.meta | 11 + .../Components/InterestManagement/Scene.meta | 3 + .../Scene/SceneInterestManagement.cs | 109 + .../Scene/SceneInterestManagement.cs.meta | 11 + .../InterestManagement/SpatialHashing.meta | 3 + .../SpatialHashing/Grid2D.cs | 88 + .../SpatialHashing/Grid2D.cs.meta | 11 + .../SpatialHashingInterestManagement.cs | 136 + .../SpatialHashingInterestManagement.cs.meta | 11 + .../Components/Mirror.Components.asmdef | 14 + .../Components/Mirror.Components.asmdef.meta | 7 + Assets/Mirror/Components/NetworkAnimator.cs | 634 +++ .../Mirror/Components/NetworkAnimator.cs.meta | 11 + .../Mirror/Components/NetworkLobbyManager.cs | 18 + .../Components/NetworkLobbyManager.cs.meta | 11 + .../Mirror/Components/NetworkLobbyPlayer.cs | 15 + .../Components/NetworkLobbyPlayer.cs.meta | 11 + Assets/Mirror/Components/NetworkMatch.cs | 11 + Assets/Mirror/Components/NetworkMatch.cs.meta | 11 + .../Mirror/Components/NetworkMatchChecker.cs | 142 + .../Components/NetworkMatchChecker.cs.meta | 11 + .../Mirror/Components/NetworkOwnerChecker.cs | 43 + .../Components/NetworkOwnerChecker.cs.meta | 11 + .../Mirror/Components/NetworkPingDisplay.cs | 33 + .../Components/NetworkPingDisplay.cs.meta | 11 + .../Components/NetworkProximityChecker.cs | 105 + .../NetworkProximityChecker.cs.meta | 11 + .../Mirror/Components/NetworkRoomManager.cs | 699 +++ .../Components/NetworkRoomManager.cs.meta | 11 + Assets/Mirror/Components/NetworkRoomPlayer.cs | 195 + .../Components/NetworkRoomPlayer.cs.meta | 11 + .../Mirror/Components/NetworkSceneChecker.cs | 122 + .../Components/NetworkSceneChecker.cs.meta | 11 + .../Mirror/Components/NetworkTransform2k.meta | 8 + .../NetworkTransform2k/NetworkTransform.cs | 16 + .../NetworkTransform.cs.meta | 11 + .../NetworkTransformBase.cs | 538 ++ .../NetworkTransformBase.cs.meta | 11 + .../NetworkTransformChild.cs | 13 + .../NetworkTransformChild.cs.meta | 11 + .../NetworkTransformSnapshot.cs | 62 + .../NetworkTransformSnapshot.cs.meta | 11 + Assets/Mirror/Editor.meta | 8 + Assets/Mirror/Editor/EditorHelper.cs | 31 + Assets/Mirror/Editor/EditorHelper.cs.meta | 11 + Assets/Mirror/Editor/Empty.meta | 8 + Assets/Mirror/Editor/Empty/LogLevelWindow.cs | 1 + .../Editor/Empty/LogLevelWindow.cs.meta | 11 + Assets/Mirror/Editor/Empty/Logging.meta | 8 + .../Editor/Empty/Logging/LogLevelWindow.cs | 1 + .../Empty/Logging/LogLevelWindow.cs.meta | 11 + .../Editor/Empty/Logging/LogLevelsGUI.cs | 1 + .../Editor/Empty/Logging/LogLevelsGUI.cs.meta | 11 + .../Editor/Empty/Logging/LogSettingsEditor.cs | 1 + .../Empty/Logging/LogSettingsEditor.cs.meta | 11 + .../Empty/Logging/NetworkLogSettingsEditor.cs | 1 + .../Logging/NetworkLogSettingsEditor.cs.meta | 11 + .../Editor/Empty/ScriptableObjectUtility.cs | 1 + .../Empty/ScriptableObjectUtility.cs.meta | 11 + .../Editor/EnterPlayModeSettingsCheck.cs | 74 + .../Editor/EnterPlayModeSettingsCheck.cs.meta | 11 + Assets/Mirror/Editor/InspectorHelper.cs | 76 + Assets/Mirror/Editor/InspectorHelper.cs.meta | 11 + Assets/Mirror/Editor/Mirror.Editor.asmdef | 17 + .../Mirror/Editor/Mirror.Editor.asmdef.meta | 7 + .../Editor/NetworkBehaviourInspector.cs | 186 + .../Editor/NetworkBehaviourInspector.cs.meta | 11 + .../Editor/NetworkInformationPreview.cs | 305 + .../Editor/NetworkInformationPreview.cs.meta | 11 + Assets/Mirror/Editor/NetworkManagerEditor.cs | 108 + .../Editor/NetworkManagerEditor.cs.meta | 11 + .../Mirror/Editor/NetworkScenePostProcess.cs | 108 + .../Editor/NetworkScenePostProcess.cs.meta | 11 + Assets/Mirror/Editor/SceneDrawer.cs | 47 + Assets/Mirror/Editor/SceneDrawer.cs.meta | 11 + .../Mirror/Editor/SyncVarAttributeDrawer.cs | 28 + .../Editor/SyncVarAttributeDrawer.cs.meta | 11 + Assets/Mirror/Editor/Weaver.meta | 8 + Assets/Mirror/Editor/Weaver/AssemblyInfo.cs | 3 + .../Mirror/Editor/Weaver/AssemblyInfo.cs.meta | 11 + .../Editor/Weaver/CompilationFinishedHook.cs | 171 + .../Weaver/CompilationFinishedHook.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Empty.meta | 8 + .../Weaver/Empty/GenericArgumentResolver.cs | 1 + .../Empty/GenericArgumentResolver.cs.meta | 11 + .../Weaver/Empty/MessageClassProcessor.cs | 1 + .../Empty/MessageClassProcessor.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Empty/Program.cs | 1 + .../Editor/Weaver/Empty/Program.cs.meta | 11 + .../Weaver/Empty/SyncDictionaryProcessor.cs | 1 + .../Empty/SyncDictionaryProcessor.cs.meta | 11 + .../Editor/Weaver/Empty/SyncEventProcessor.cs | 1 + .../Weaver/Empty/SyncEventProcessor.cs.meta | 11 + .../Editor/Weaver/Empty/SyncListProcessor.cs | 1 + .../Weaver/Empty/SyncListProcessor.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Extensions.cs | 273 + .../Mirror/Editor/Weaver/Extensions.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Helpers.cs | 16 + Assets/Mirror/Editor/Weaver/Helpers.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Log.cs | 10 + Assets/Mirror/Editor/Weaver/Log.cs.meta | 11 + .../Mirror/Editor/Weaver/Mirror.Weaver.asmdef | 16 + .../Editor/Weaver/Mirror.Weaver.asmdef.meta | 7 + Assets/Mirror/Editor/Weaver/Processors.meta | 8 + .../Weaver/Processors/CommandProcessor.cs | 127 + .../Processors/CommandProcessor.cs.meta | 11 + .../Weaver/Processors/MethodProcessor.cs | 134 + .../Weaver/Processors/MethodProcessor.cs.meta | 11 + .../Processors/MonoBehaviourProcessor.cs | 45 + .../Processors/MonoBehaviourProcessor.cs.meta | 11 + .../Processors/NetworkBehaviourProcessor.cs | 1202 ++++ .../NetworkBehaviourProcessor.cs.meta | 11 + .../Processors/PropertySiteProcessor.cs | 160 + .../Processors/PropertySiteProcessor.cs.meta | 11 + .../Processors/ReaderWriterProcessor.cs | 179 + .../Processors/ReaderWriterProcessor.cs.meta | 11 + .../Editor/Weaver/Processors/RpcProcessor.cs | 106 + .../Weaver/Processors/RpcProcessor.cs.meta | 11 + .../ServerClientAttributeProcessor.cs | 153 + .../ServerClientAttributeProcessor.cs.meta | 11 + .../Processors/SyncObjectInitializer.cs | 47 + .../Processors/SyncObjectInitializer.cs.meta | 11 + .../Weaver/Processors/SyncObjectProcessor.cs | 63 + .../Processors/SyncObjectProcessor.cs.meta | 11 + .../Weaver/Processors/SyncVarProcessor.cs | 472 ++ .../Processors/SyncVarProcessor.cs.meta | 11 + .../Weaver/Processors/TargetRpcProcessor.cs | 141 + .../Processors/TargetRpcProcessor.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Readers.cs | 370 ++ Assets/Mirror/Editor/Weaver/Readers.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Resolvers.cs | 86 + Assets/Mirror/Editor/Weaver/Resolvers.cs.meta | 11 + .../Editor/Weaver/TypeReferenceComparer.cs | 21 + .../Weaver/TypeReferenceComparer.cs.meta | 11 + Assets/Mirror/Editor/Weaver/Weaver.cs | 257 + Assets/Mirror/Editor/Weaver/Weaver.cs.meta | 11 + .../Mirror/Editor/Weaver/WeaverExceptions.cs | 25 + .../Editor/Weaver/WeaverExceptions.cs.meta | 11 + Assets/Mirror/Editor/Weaver/WeaverTypes.cs | 144 + .../Mirror/Editor/Weaver/WeaverTypes.cs.meta | 3 + Assets/Mirror/Editor/Weaver/Writers.cs | 342 ++ Assets/Mirror/Editor/Weaver/Writers.cs.meta | 11 + Assets/Mirror/Examples.meta | 8 + Assets/Mirror/Examples/AdditiveScenes.meta | 8 + .../AdditiveScenes/AnimationControllers.meta | 8 + .../AnimationControllers/Tank.controller | 156 + .../AnimationControllers/Tank.controller.meta | 8 + .../Examples/AdditiveScenes/Materials.meta | 8 + .../AdditiveScenes/Materials/Capsule.mat | 77 + .../AdditiveScenes/Materials/Capsule.mat.meta | 8 + .../AdditiveScenes/Materials/Cube.mat | 77 + .../AdditiveScenes/Materials/Cube.mat.meta | 8 + .../AdditiveScenes/Materials/Cylinder.mat | 77 + .../Materials/Cylinder.mat.meta | 8 + .../AdditiveScenes/Materials/Player.mat | 77 + .../AdditiveScenes/Materials/Player.mat.meta | 8 + .../AdditiveScenes/Materials/Quad.mat | 77 + .../AdditiveScenes/Materials/Quad.mat.meta | 8 + .../AdditiveScenes/Materials/Shelter.mat | 77 + .../AdditiveScenes/Materials/Shelter.mat.meta | 8 + .../AdditiveScenes/Materials/Sphere.mat | 77 + .../AdditiveScenes/Materials/Sphere.mat.meta | 8 + .../AdditiveScenes/Materials/Zone.mat | 78 + .../AdditiveScenes/Materials/Zone.mat.meta | 8 + .../Examples/AdditiveScenes/Prefabs.meta | 8 + .../AdditiveScenes/Prefabs/Capsule.prefab | 163 + .../Prefabs/Capsule.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Cube.prefab | 162 + .../AdditiveScenes/Prefabs/Cube.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Cylinder.prefab | 163 + .../Prefabs/Cylinder.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Player.prefab | 327 ++ .../AdditiveScenes/Prefabs/Player.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Sphere.prefab | 162 + .../AdditiveScenes/Prefabs/Sphere.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Tank.prefab | 599 ++ .../AdditiveScenes/Prefabs/Tank.prefab.meta | 7 + .../AdditiveScenes/Prefabs/Zone.prefab | 60 + .../AdditiveScenes/Prefabs/Zone.prefab.meta | 7 + .../Mirror/Examples/AdditiveScenes/README.md | 24 + .../Examples/AdditiveScenes/README.md.meta | 7 + .../Examples/AdditiveScenes/Scenes.meta | 8 + .../AdditiveScenes/Scenes/MainScene.unity | 2082 +++++++ .../Scenes/MainScene.unity.meta | 7 + .../AdditiveScenes/Scenes/SubScene.unity | 858 +++ .../AdditiveScenes/Scenes/SubScene.unity.meta | 7 + .../Examples/AdditiveScenes/Scripts.meta | 8 + .../Scripts/AdditiveNetworkManager.cs | 63 + .../Scripts/AdditiveNetworkManager.cs.meta | 11 + .../Scripts/PlayerController.cs | 110 + .../Scripts/PlayerController.cs.meta | 11 + .../AdditiveScenes/Scripts/RandomColor.cs | 32 + .../Scripts/RandomColor.cs.meta | 11 + .../Scripts/ShootingTankBehaviour.cs | 59 + .../Scripts/ShootingTankBehaviour.cs.meta | 11 + .../AdditiveScenes/Scripts/ZoneHandler.cs | 39 + .../Scripts/ZoneHandler.cs.meta | 11 + Assets/Mirror/Examples/Basic.meta | 8 + Assets/Mirror/Examples/Basic/Prefabs.meta | 8 + .../Examples/Basic/Prefabs/Player.prefab | 71 + .../Examples/Basic/Prefabs/Player.prefab.meta | 7 + .../Examples/Basic/Prefabs/PlayerUI.prefab | 250 + .../Basic/Prefabs/PlayerUI.prefab.meta | 7 + Assets/Mirror/Examples/Basic/README.md | 16 + Assets/Mirror/Examples/Basic/README.md.meta | 7 + Assets/Mirror/Examples/Basic/Scenes.meta | 8 + .../Examples/Basic/Scenes/Example.unity | 713 +++ .../Examples/Basic/Scenes/Example.unity.meta | 7 + Assets/Mirror/Examples/Basic/Scripts.meta | 8 + .../Examples/Basic/Scripts/BasicNetManager.cs | 44 + .../Basic/Scripts/BasicNetManager.cs.meta | 11 + .../Mirror/Examples/Basic/Scripts/Player.cs | 138 + .../Examples/Basic/Scripts/Player.cs.meta | 11 + .../Mirror/Examples/Basic/Scripts/PlayerUI.cs | 64 + .../Examples/Basic/Scripts/PlayerUI.cs.meta | 11 + Assets/Mirror/Examples/Benchmark.meta | 8 + .../Mirror/Examples/Benchmark/Materials.meta | 8 + .../Examples/Benchmark/Materials/Red.mat | 77 + .../Examples/Benchmark/Materials/Red.mat.meta | 8 + .../Examples/Benchmark/Materials/White.mat | 77 + .../Benchmark/Materials/White.mat.meta | 8 + Assets/Mirror/Examples/Benchmark/Prefabs.meta | 8 + .../Examples/Benchmark/Prefabs/Monster.prefab | 146 + .../Benchmark/Prefabs/Monster.prefab.meta | 7 + .../Examples/Benchmark/Prefabs/Player.prefab | 148 + .../Benchmark/Prefabs/Player.prefab.meta | 7 + Assets/Mirror/Examples/Benchmark/Scenes.meta | 8 + .../Examples/Benchmark/Scenes/Scene.unity | 439 ++ .../Benchmark/Scenes/Scene.unity.meta | 7 + Assets/Mirror/Examples/Benchmark/Scripts.meta | 8 + .../Scripts/BenchmarkNetworkManager.cs | 51 + .../Scripts/BenchmarkNetworkManager.cs.meta | 11 + .../Benchmark/Scripts/MonsterMovement.cs | 54 + .../Benchmark/Scripts/MonsterMovement.cs.meta | 11 + .../Benchmark/Scripts/PlayerMovement.cs | 20 + .../Benchmark/Scripts/PlayerMovement.cs.meta | 11 + Assets/Mirror/Examples/Chat.meta | 8 + Assets/Mirror/Examples/Chat/Prefabs.meta | 8 + .../Examples/Chat/Prefabs/Player.prefab | 64 + .../Examples/Chat/Prefabs/Player.prefab.meta | 7 + Assets/Mirror/Examples/Chat/Scenes.meta | 8 + Assets/Mirror/Examples/Chat/Scenes/Main.unity | 3509 ++++++++++++ .../Examples/Chat/Scenes/Main.unity.meta | 7 + Assets/Mirror/Examples/Chat/Scripts.meta | 8 + .../Chat/Scripts/ChatNetworkManager.cs | 51 + .../Chat/Scripts/ChatNetworkManager.cs.meta | 11 + .../Examples/Chat/Scripts/ChatWindow.cs | 60 + .../Examples/Chat/Scripts/ChatWindow.cs.meta | 11 + Assets/Mirror/Examples/Chat/Scripts/Player.cs | 25 + .../Examples/Chat/Scripts/Player.cs.meta | 11 + Assets/Mirror/Examples/Discovery.meta | 8 + Assets/Mirror/Examples/Discovery/Prefabs.meta | 8 + .../Examples/Discovery/Prefabs/Player.prefab | 110 + .../Discovery/Prefabs/Player.prefab.meta | 7 + Assets/Mirror/Examples/Discovery/Scenes.meta | 8 + .../Examples/Discovery/Scenes/Scene.unity | 731 +++ .../Discovery/Scenes/Scene.unity.meta | 7 + Assets/Mirror/Examples/Mirror.Examples.asmdef | 15 + .../Examples/Mirror.Examples.asmdef.meta | 7 + .../Examples/MultipleAdditiveScenes.meta | 8 + .../MultipleAdditiveScenes/Materials.meta | 8 + .../Materials/Physics.meta | 8 + .../Physics/Icosphere.physicMaterial | 14 + .../Physics/Icosphere.physicMaterial.meta | 8 + .../Materials/Physics/Player.physicMaterial | 14 + .../Physics/Player.physicMaterial.meta | 8 + .../Physics/RoomBounce.physicMaterial | 14 + .../Physics/RoomBounce.physicMaterial.meta | 8 + .../Materials/Render.meta | 8 + .../Materials/Render/PlayArea.mat | 77 + .../Materials/Render/PlayArea.mat.meta | 8 + .../Materials/Render/Player.mat | 77 + .../Materials/Render/Player.mat.meta | 8 + .../Materials/Render/Prize.mat | 77 + .../Materials/Render/Prize.mat.meta | 8 + .../MultipleAdditiveScenes/Models.meta | 8 + .../Models/Icosphere.meta | 8 + .../Models/Icosphere/Icosphere.obj | 119 + .../Models/Icosphere/Icosphere.obj.meta | 134 + .../Models/Icosphere/Icosphere_lods.asset | 361 ++ .../Icosphere/Icosphere_lods.asset.meta | 8 + .../Models/Icosphere/Materials.meta | 8 + .../Models/Icosphere/Materials/Icosphere.mat | 77 + .../Icosphere/Materials/Icosphere.mat.meta | 8 + .../MultipleAdditiveScenes/Prefabs.meta | 8 + .../Prefabs/Icosphere.prefab | 221 + .../Prefabs/Icosphere.prefab.meta | 7 + .../Prefabs/Player.prefab | 349 ++ .../Prefabs/Player.prefab.meta | 8 + .../Prefabs/Prize.prefab | 196 + .../Prefabs/Prize.prefab.meta | 8 + .../Examples/MultipleAdditiveScenes/README.md | 34 + .../MultipleAdditiveScenes/README.md.meta | 7 + .../MultipleAdditiveScenes/Scenes.meta | 8 + .../MultipleAdditiveScenes/Scenes/Game.unity | 735 +++ .../Scenes/Game.unity.meta | 7 + .../MultipleAdditiveScenes/Scenes/Main.unity | 801 +++ .../Scenes/Main.unity.meta | 7 + .../MultipleAdditiveScenes/Scripts.meta | 8 + .../Scripts/MultiSceneNetManager.cs | 146 + .../Scripts/MultiSceneNetManager.cs.meta | 11 + .../Scripts/PhysicsCollision.cs | 44 + .../Scripts/PhysicsCollision.cs.meta | 11 + .../Scripts/PhysicsSimulator.cs | 40 + .../Scripts/PhysicsSimulator.cs.meta | 11 + .../Scripts/PlayerController.cs | 112 + .../Scripts/PlayerController.cs.meta | 11 + .../Scripts/PlayerScore.cs | 30 + .../Scripts/PlayerScore.cs.meta | 11 + .../Scripts/RandomColor.cs | 32 + .../Scripts/RandomColor.cs.meta | 11 + .../MultipleAdditiveScenes/Scripts/Reward.cs | 52 + .../Scripts/Reward.cs.meta | 11 + .../MultipleAdditiveScenes/Scripts/Spawner.cs | 26 + .../Scripts/Spawner.cs.meta | 11 + Assets/Mirror/Examples/MultipleMatches.meta | 8 + .../Examples/MultipleMatches/Prefabs.meta | 8 + .../MultipleMatches/Prefabs/CellGUI.prefab | 144 + .../Prefabs/CellGUI.prefab.meta | 7 + .../Prefabs/MatchController.prefab | 2204 ++++++++ .../Prefabs/MatchController.prefab.meta | 7 + .../MultipleMatches/Prefabs/MatchGUI.prefab | 293 + .../Prefabs/MatchGUI.prefab.meta | 7 + .../Prefabs/MatchPlayer.prefab | 80 + .../Prefabs/MatchPlayer.prefab.meta | 7 + .../MultipleMatches/Prefabs/PlayerGUI.prefab | 182 + .../Prefabs/PlayerGUI.prefab.meta | 7 + .../Mirror/Examples/MultipleMatches/README.md | 9 + .../Examples/MultipleMatches/README.md.meta | 7 + .../Examples/MultipleMatches/Scenes.meta | 8 + .../MultipleMatches/Scenes/Main.unity | 2889 ++++++++++ .../MultipleMatches/Scenes/Main.unity.meta | 7 + .../Examples/MultipleMatches/Scripts.meta | 8 + .../Scripts/CanvasController.cs | 671 +++ .../Scripts/CanvasController.cs.meta | 11 + .../MultipleMatches/Scripts/CellGUI.cs | 46 + .../MultipleMatches/Scripts/CellGUI.cs.meta | 11 + .../Scripts/MatchController.cs | 315 ++ .../Scripts/MatchController.cs.meta | 11 + .../MultipleMatches/Scripts/MatchGUI.cs | 44 + .../MultipleMatches/Scripts/MatchGUI.cs.meta | 11 + .../MultipleMatches/Scripts/MatchMessages.cs | 118 + .../Scripts/MatchMessages.cs.meta | 11 + .../Scripts/MatchNetworkManager.cs | 125 + .../Scripts/MatchNetworkManager.cs.meta | 11 + .../MultipleMatches/Scripts/PlayerGUI.cs | 16 + .../MultipleMatches/Scripts/PlayerGUI.cs.meta | 11 + .../MultipleMatches/Scripts/RoomGUI.cs | 48 + .../MultipleMatches/Scripts/RoomGUI.cs.meta | 11 + Assets/Mirror/Examples/Pong.meta | 8 + .../Examples/Pong/PhysicsMaterials.meta | 8 + .../BallMaterial.physicsMaterial2D | 10 + .../BallMaterial.physicsMaterial2D.meta | 8 + Assets/Mirror/Examples/Pong/Prefabs.meta | 8 + .../Mirror/Examples/Pong/Prefabs/Ball.prefab | 189 + .../Examples/Pong/Prefabs/Ball.prefab.meta | 8 + .../Examples/Pong/Prefabs/Racket.prefab | 189 + .../Examples/Pong/Prefabs/Racket.prefab.meta | 8 + Assets/Mirror/Examples/Pong/Scenes.meta | 8 + .../Mirror/Examples/Pong/Scenes/Scene.unity | 906 +++ .../Examples/Pong/Scenes/Scene.unity.meta | 8 + Assets/Mirror/Examples/Pong/Scripts.meta | 8 + Assets/Mirror/Examples/Pong/Scripts/Ball.cs | 61 + .../Mirror/Examples/Pong/Scripts/Ball.cs.meta | 12 + .../Pong/Scripts/NetworkManagerPong.cs | 40 + .../Pong/Scripts/NetworkManagerPong.cs.meta | 11 + Assets/Mirror/Examples/Pong/Scripts/Player.cs | 19 + .../Examples/Pong/Scripts/Player.cs.meta | 12 + Assets/Mirror/Examples/Pong/Sprites.meta | 8 + Assets/Mirror/Examples/Pong/Sprites/Ball.png | Bin 0 -> 2791 bytes .../Examples/Pong/Sprites/Ball.png.meta | 88 + .../Examples/Pong/Sprites/DottedLine.png | Bin 0 -> 2799 bytes .../Examples/Pong/Sprites/DottedLine.png.meta | 88 + .../Mirror/Examples/Pong/Sprites/Racket.png | Bin 0 -> 2800 bytes .../Examples/Pong/Sprites/Racket.png.meta | 88 + .../Examples/Pong/Sprites/WallHorizontal.png | Bin 0 -> 2796 bytes .../Pong/Sprites/WallHorizontal.png.meta | 88 + .../Examples/Pong/Sprites/WallVertical.png | Bin 0 -> 2800 bytes .../Pong/Sprites/WallVertical.png.meta | 88 + Assets/Mirror/Examples/RigidbodyPhysics.meta | 8 + .../Examples/RigidbodyPhysics/Materials.meta | 8 + .../RigidbodyPhysics/Materials/Blue.mat | 77 + .../RigidbodyPhysics/Materials/Blue.mat.meta | 8 + .../RigidbodyPhysics/Materials/Green.mat | 77 + .../RigidbodyPhysics/Materials/Green.mat.meta | 8 + .../RigidbodyPhysics/Materials/Red.mat | 77 + .../RigidbodyPhysics/Materials/Red.mat.meta | 8 + .../RigidbodyPhysics/PhysicMaterials.meta | 8 + .../PhysicMaterials/Ball.physicMaterial | 14 + .../PhysicMaterials/Ball.physicMaterial.meta | 8 + .../PhysicMaterials/Floor.physicMaterial | 14 + .../PhysicMaterials/Floor.physicMaterial.meta | 8 + .../Examples/RigidbodyPhysics/Prefabs.meta | 8 + .../Prefabs/Empty Player.prefab | 49 + .../Prefabs/Empty Player.prefab.meta | 7 + .../Examples/RigidbodyPhysics/Scenes.meta | 8 + .../RigidbodyPhysics/Scenes/BounceScene.unity | 1404 +++++ .../Scenes/BounceScene.unity.meta | 7 + .../Examples/RigidbodyPhysics/Scripts.meta | 8 + .../RigidbodyPhysics/Scripts/AddForce.cs | 23 + .../RigidbodyPhysics/Scripts/AddForce.cs.meta | 11 + Assets/Mirror/Examples/Room.meta | 8 + Assets/Mirror/Examples/Room/Materials.meta | 8 + .../Examples/Room/Materials/PlayArea.mat | 77 + .../Examples/Room/Materials/PlayArea.mat.meta | 8 + .../Mirror/Examples/Room/Materials/Player.mat | 77 + .../Examples/Room/Materials/Player.mat.meta | 8 + .../Mirror/Examples/Room/Materials/Prize.mat | 77 + .../Examples/Room/Materials/Prize.mat.meta | 8 + .../Examples/Room/Materials/Textures.meta | 8 + .../Room/Materials/Textures/Wall01.tga | Bin 0 -> 1048620 bytes .../Room/Materials/Textures/Wall01.tga.meta | 88 + .../Room/Materials/Textures/Wall01_n.tga | Bin 0 -> 1048620 bytes .../Room/Materials/Textures/Wall01_n.tga.meta | 88 + Assets/Mirror/Examples/Room/Prefabs.meta | 8 + .../Examples/Room/Prefabs/GamePlayer.prefab | 344 ++ .../Room/Prefabs/GamePlayer.prefab.meta | 8 + .../Mirror/Examples/Room/Prefabs/Prize.prefab | 194 + .../Examples/Room/Prefabs/Prize.prefab.meta | 8 + .../Examples/Room/Prefabs/RoomPlayer.prefab | 66 + .../Room/Prefabs/RoomPlayer.prefab.meta | 8 + Assets/Mirror/Examples/Room/README.md | 28 + Assets/Mirror/Examples/Room/README.md.meta | 7 + Assets/Mirror/Examples/Room/Scenes.meta | 8 + .../Examples/Room/Scenes/OfflineScene.unity | 301 + .../Room/Scenes/OfflineScene.unity.meta | 7 + .../Examples/Room/Scenes/OnlineScene.unity | 822 +++ .../Room/Scenes/OnlineScene.unity.meta | 7 + .../Examples/Room/Scenes/RoomScene.unity | 187 + .../Examples/Room/Scenes/RoomScene.unity.meta | 7 + Assets/Mirror/Examples/Room/Scripts.meta | 8 + .../Room/Scripts/NetworkRoomManagerExt.cs | 84 + .../Scripts/NetworkRoomManagerExt.cs.meta | 11 + .../Room/Scripts/NetworkRoomPlayerExt.cs | 30 + .../Room/Scripts/NetworkRoomPlayerExt.cs.meta | 11 + .../Examples/Room/Scripts/PlayerController.cs | 110 + .../Room/Scripts/PlayerController.cs.meta | 11 + .../Examples/Room/Scripts/PlayerScore.cs | 18 + .../Examples/Room/Scripts/PlayerScore.cs.meta | 11 + .../Examples/Room/Scripts/RandomColor.cs | 32 + .../Examples/Room/Scripts/RandomColor.cs.meta | 11 + Assets/Mirror/Examples/Room/Scripts/Reward.cs | 54 + .../Examples/Room/Scripts/Reward.cs.meta | 11 + .../Mirror/Examples/Room/Scripts/Spawner.cs | 23 + .../Examples/Room/Scripts/Spawner.cs.meta | 11 + Assets/Mirror/Examples/Tanks.meta | 8 + Assets/Mirror/Examples/Tanks/Models.meta | 8 + .../Models/(Public Domain) Recon_Tank.meta | 8 + .../(Public Domain) Recon_Tank/BaseColor.png | Bin 0 -> 939498 bytes .../BaseColor.png.meta | 88 + .../Controller.controller | 272 + .../Controller.controller.meta | 8 + .../(Public Domain) Recon_Tank/Emissive.png | Bin 0 -> 80294 bytes .../Emissive.png.meta | 88 + .../(Public Domain) Recon_Tank/Metallic.png | Bin 0 -> 62860 bytes .../Metallic.png.meta | 88 + .../(Public Domain) Recon_Tank/Normal.png | Bin 0 -> 666342 bytes .../Normal.png.meta | 88 + .../Recon_Tank - License.txt | 7 + .../Recon_Tank - License.txt.meta | 7 + .../TankMaterial.mat | 82 + .../TankMaterial.mat.meta | 8 + .../(Public Domain) Recon_Tank/reconTank.fbx | Bin 0 -> 224204 bytes .../reconTank.fbx.meta | 239 + Assets/Mirror/Examples/Tanks/Prefabs.meta | 8 + .../Examples/Tanks/Prefabs/Projectile.prefab | 246 + .../Tanks/Prefabs/Projectile.prefab.meta | 7 + .../Mirror/Examples/Tanks/Prefabs/Tank.prefab | 342 ++ .../Examples/Tanks/Prefabs/Tank.prefab.meta | 8 + Assets/Mirror/Examples/Tanks/Scenes.meta | 8 + .../Mirror/Examples/Tanks/Scenes/Scene.meta | 8 + .../Mirror/Examples/Tanks/Scenes/Scene.unity | 623 +++ .../Examples/Tanks/Scenes/Scene.unity.meta | 7 + .../Examples/Tanks/Scenes/Scene/NavMesh.asset | Bin 0 -> 5444 bytes .../Tanks/Scenes/Scene/NavMesh.asset.meta | 8 + Assets/Mirror/Examples/Tanks/Scripts.meta | 8 + .../Examples/Tanks/Scripts/Projectile.cs | 38 + .../Examples/Tanks/Scripts/Projectile.cs.meta | 11 + Assets/Mirror/Examples/Tanks/Scripts/Tank.cs | 58 + .../Examples/Tanks/Scripts/Tank.cs.meta | 11 + Assets/Mirror/Examples/Tanks/Textures.meta | 8 + ...lic Domain) Dirt Hand Painted Texture.meta | 8 + .../Dirt Hand Painted Texture - License.txt | 5 + ...rt Hand Painted Texture - License.txt.meta | 7 + .../Dirt.mat | 82 + .../Dirt.mat.meta | 8 + .../dirt.png | Bin 0 -> 105829 bytes .../dirt.png.meta | 88 + .../Tanks/Textures/ProjectileMaterial.mat | 77 + .../Textures/ProjectileMaterial.mat.meta | 8 + Assets/Mirror/Icon.meta | 8 + Assets/Mirror/Icon/MirrorIcon.png | Bin 0 -> 138247 bytes Assets/Mirror/Icon/MirrorIcon.png.meta | 110 + Assets/Mirror/Notice.txt | 123 + Assets/Mirror/Notice.txt.meta | 7 + Assets/Mirror/Plugins.meta | 8 + Assets/Mirror/Plugins/Mono.Cecil.meta | 8 + Assets/Mirror/Plugins/Mono.Cecil/License.txt | 25 + .../Plugins/Mono.Cecil/License.txt.meta | 7 + .../Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll | Bin 0 -> 43520 bytes .../Mono.Cecil/Mono.CecilX.Mdb.dll.meta | 92 + .../Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll | Bin 0 -> 87552 bytes .../Mono.Cecil/Mono.CecilX.Pdb.dll.meta | 92 + .../Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll | Bin 0 -> 27648 bytes .../Mono.Cecil/Mono.CecilX.Rocks.dll.meta | 92 + .../Mirror/Plugins/Mono.Cecil/Mono.CecilX.dll | Bin 0 -> 340992 bytes .../Plugins/Mono.Cecil/Mono.CecilX.dll.meta | 94 + Assets/Mirror/Readme.txt | 15 + Assets/Mirror/Readme.txt.meta | 7 + Assets/Mirror/Runtime.meta | 8 + Assets/Mirror/Runtime/AssemblyInfo.cs | 9 + Assets/Mirror/Runtime/AssemblyInfo.cs.meta | 11 + Assets/Mirror/Runtime/Attributes.cs | 85 + Assets/Mirror/Runtime/Attributes.cs.meta | 11 + Assets/Mirror/Runtime/Batching.meta | 8 + Assets/Mirror/Runtime/Batching/Batcher.cs | 97 + .../Mirror/Runtime/Batching/Batcher.cs.meta | 11 + Assets/Mirror/Runtime/Batching/Unbatcher.cs | 140 + .../Mirror/Runtime/Batching/Unbatcher.cs.meta | 11 + Assets/Mirror/Runtime/ClientScene.cs | 95 + Assets/Mirror/Runtime/ClientScene.cs.meta | 11 + Assets/Mirror/Runtime/Compression.cs | 357 ++ Assets/Mirror/Runtime/Compression.cs.meta | 11 + Assets/Mirror/Runtime/Empty.meta | 3 + Assets/Mirror/Runtime/Empty/Cloud.meta | 8 + .../Runtime/Empty/Cloud/ApiConnector.cs | 1 + .../Runtime/Empty/Cloud/ApiConnector.cs.meta | 11 + .../Mirror/Runtime/Empty/Cloud/ApiUpdater.cs | 1 + .../Runtime/Empty/Cloud/ApiUpdater.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Cloud/Ball.cs | 1 + .../Mirror/Runtime/Empty/Cloud/Ball.cs.meta | 11 + .../Mirror/Runtime/Empty/Cloud/BallManager.cs | 1 + .../Runtime/Empty/Cloud/BallManager.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs | 1 + .../Runtime/Empty/Cloud/BaseApi.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Cloud/Events.cs | 1 + .../Mirror/Runtime/Empty/Cloud/Events.cs.meta | 11 + .../Mirror/Runtime/Empty/Cloud/Extensions.cs | 1 + .../Runtime/Empty/Cloud/Extensions.cs.meta | 11 + .../Runtime/Empty/Cloud/ICoroutineRunner.cs | 1 + .../Empty/Cloud/ICoroutineRunner.cs.meta | 11 + .../Runtime/Empty/Cloud/IRequestCreator.cs | 1 + .../Empty/Cloud/IRequestCreator.cs.meta | 11 + .../Runtime/Empty/Cloud/IUnityEqualCheck.cs | 1 + .../Empty/Cloud/IUnityEqualCheck.cs.meta | 11 + .../Empty/Cloud/InstantiateNetworkManager.cs | 1 + .../Cloud/InstantiateNetworkManager.cs.meta | 11 + .../Mirror/Runtime/Empty/Cloud/JsonStructs.cs | 1 + .../Runtime/Empty/Cloud/JsonStructs.cs.meta | 11 + .../Mirror/Runtime/Empty/Cloud/ListServer.cs | 1 + .../Runtime/Empty/Cloud/ListServer.cs.meta | 11 + .../Runtime/Empty/Cloud/ListServerBaseApi.cs | 1 + .../Empty/Cloud/ListServerBaseApi.cs.meta | 11 + .../Empty/Cloud/ListServerClientApi.cs | 1 + .../Empty/Cloud/ListServerClientApi.cs.meta | 11 + .../Runtime/Empty/Cloud/ListServerJson.cs | 1 + .../Empty/Cloud/ListServerJson.cs.meta | 11 + .../Empty/Cloud/ListServerServerApi.cs | 1 + .../Empty/Cloud/ListServerServerApi.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Cloud/Logger.cs | 1 + .../Mirror/Runtime/Empty/Cloud/Logger.cs.meta | 11 + .../Empty/Cloud/NetworkManagerListServer.cs | 1 + .../Cloud/NetworkManagerListServer.cs.meta | 11 + .../Cloud/NetworkManagerListServerPong.cs | 1 + .../NetworkManagerListServerPong.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Cloud/Player.cs | 1 + .../Mirror/Runtime/Empty/Cloud/Player.cs.meta | 11 + .../Empty/Cloud/QuickListServerDebug.cs | 1 + .../Empty/Cloud/QuickListServerDebug.cs.meta | 11 + .../Runtime/Empty/Cloud/QuitButtonHUD.cs | 1 + .../Runtime/Empty/Cloud/QuitButtonHUD.cs.meta | 11 + .../Runtime/Empty/Cloud/RequestCreator.cs | 1 + .../Empty/Cloud/RequestCreator.cs.meta | 11 + .../Runtime/Empty/Cloud/ServerListManager.cs | 1 + .../Empty/Cloud/ServerListManager.cs.meta | 11 + .../Runtime/Empty/Cloud/ServerListUI.cs | 1 + .../Runtime/Empty/Cloud/ServerListUI.cs.meta | 11 + .../Runtime/Empty/Cloud/ServerListUIItem.cs | 1 + .../Empty/Cloud/ServerListUIItem.cs.meta | 11 + .../Runtime/Empty/DotNetCompatibility.cs | 1 + .../Runtime/Empty/DotNetCompatibility.cs.meta | 11 + Assets/Mirror/Runtime/Empty/LogFactory.cs | 1 + .../Mirror/Runtime/Empty/LogFactory.cs.meta | 11 + Assets/Mirror/Runtime/Empty/LogFilter.cs | 1 + Assets/Mirror/Runtime/Empty/LogFilter.cs.meta | 11 + Assets/Mirror/Runtime/Empty/Logging.meta | 8 + .../Empty/Logging/ConsoleColorLogHandler.cs | 1 + .../Logging/ConsoleColorLogHandler.cs.meta | 11 + .../Empty/Logging/EditorLogSettingsLoader.cs | 1 + .../Logging/EditorLogSettingsLoader.cs.meta | 11 + .../Runtime/Empty/Logging/LogFactory.cs | 1 + .../Runtime/Empty/Logging/LogFactory.cs.meta | 11 + .../Runtime/Empty/Logging/LogSettings.cs | 2 + .../Runtime/Empty/Logging/LogSettings.cs.meta | 11 + .../Empty/Logging/NetworkHeadlessLogger.cs | 1 + .../Logging/NetworkHeadlessLogger.cs.meta | 11 + .../Empty/Logging/NetworkLogSettings.cs | 1 + .../Empty/Logging/NetworkLogSettings.cs.meta | 11 + Assets/Mirror/Runtime/Empty/StringHash.cs | 1 + .../Mirror/Runtime/Empty/StringHash.cs.meta | 11 + .../Runtime/ExponentialMovingAverage.cs | 37 + .../Runtime/ExponentialMovingAverage.cs.meta | 11 + Assets/Mirror/Runtime/Extensions.cs | 40 + Assets/Mirror/Runtime/Extensions.cs.meta | 11 + Assets/Mirror/Runtime/InterestManagement.cs | 89 + .../Mirror/Runtime/InterestManagement.cs.meta | 11 + Assets/Mirror/Runtime/LocalConnections.cs | 169 + .../Mirror/Runtime/LocalConnections.cs.meta | 11 + Assets/Mirror/Runtime/Mathd.cs | 22 + Assets/Mirror/Runtime/Mathd.cs.meta | 11 + Assets/Mirror/Runtime/MessagePacking.cs | 127 + Assets/Mirror/Runtime/MessagePacking.cs.meta | 11 + Assets/Mirror/Runtime/Messages.cs | 117 + Assets/Mirror/Runtime/Messages.cs.meta | 11 + Assets/Mirror/Runtime/Mirror.asmdef | 16 + Assets/Mirror/Runtime/Mirror.asmdef.meta | 7 + Assets/Mirror/Runtime/NetworkAuthenticator.cs | 89 + .../Runtime/NetworkAuthenticator.cs.meta | 11 + Assets/Mirror/Runtime/NetworkBehaviour.cs | 679 +++ .../Mirror/Runtime/NetworkBehaviour.cs.meta | 11 + Assets/Mirror/Runtime/NetworkClient.cs | 1425 +++++ Assets/Mirror/Runtime/NetworkClient.cs.meta | 11 + Assets/Mirror/Runtime/NetworkConnection.cs | 284 + .../Mirror/Runtime/NetworkConnection.cs.meta | 11 + .../Runtime/NetworkConnectionToClient.cs | 35 + .../Runtime/NetworkConnectionToClient.cs.meta | 11 + .../Runtime/NetworkConnectionToServer.cs | 24 + .../Runtime/NetworkConnectionToServer.cs.meta | 11 + Assets/Mirror/Runtime/NetworkDiagnostics.cs | 55 + .../Mirror/Runtime/NetworkDiagnostics.cs.meta | 11 + Assets/Mirror/Runtime/NetworkIdentity.cs | 1248 +++++ Assets/Mirror/Runtime/NetworkIdentity.cs.meta | 11 + Assets/Mirror/Runtime/NetworkLoop.cs | 192 + Assets/Mirror/Runtime/NetworkLoop.cs.meta | 11 + Assets/Mirror/Runtime/NetworkManager.cs | 1344 +++++ Assets/Mirror/Runtime/NetworkManager.cs.meta | 11 + Assets/Mirror/Runtime/NetworkManagerHUD.cs | 157 + .../Mirror/Runtime/NetworkManagerHUD.cs.meta | 11 + Assets/Mirror/Runtime/NetworkMessage.cs | 4 + Assets/Mirror/Runtime/NetworkMessage.cs.meta | 11 + Assets/Mirror/Runtime/NetworkReader.cs | 424 ++ Assets/Mirror/Runtime/NetworkReader.cs.meta | 11 + Assets/Mirror/Runtime/NetworkReaderPool.cs | 50 + .../Mirror/Runtime/NetworkReaderPool.cs.meta | 11 + Assets/Mirror/Runtime/NetworkServer.cs | 1672 ++++++ Assets/Mirror/Runtime/NetworkServer.cs.meta | 11 + Assets/Mirror/Runtime/NetworkStartPosition.cs | 21 + .../Runtime/NetworkStartPosition.cs.meta | 11 + Assets/Mirror/Runtime/NetworkTime.cs | 161 + Assets/Mirror/Runtime/NetworkTime.cs.meta | 11 + Assets/Mirror/Runtime/NetworkVisibility.cs | 44 + .../Mirror/Runtime/NetworkVisibility.cs.meta | 11 + Assets/Mirror/Runtime/NetworkWriter.cs | 471 ++ Assets/Mirror/Runtime/NetworkWriter.cs.meta | 11 + Assets/Mirror/Runtime/NetworkWriterPool.cs | 41 + .../Mirror/Runtime/NetworkWriterPool.cs.meta | 11 + Assets/Mirror/Runtime/Pool.cs | 35 + Assets/Mirror/Runtime/Pool.cs.meta | 11 + Assets/Mirror/Runtime/RemoteCallHelper.cs | 152 + .../Mirror/Runtime/RemoteCallHelper.cs.meta | 11 + .../Mirror/Runtime/SnapshotInterpolation.meta | 8 + .../Runtime/SnapshotInterpolation/Snapshot.cs | 20 + .../SnapshotInterpolation/Snapshot.cs.meta | 11 + .../SnapshotInterpolation.cs | 302 + .../SnapshotInterpolation.cs.meta | 11 + Assets/Mirror/Runtime/SyncDictionary.cs | 303 + Assets/Mirror/Runtime/SyncDictionary.cs.meta | 11 + Assets/Mirror/Runtime/SyncList.cs | 419 ++ Assets/Mirror/Runtime/SyncList.cs.meta | 11 + Assets/Mirror/Runtime/SyncObject.cs | 28 + Assets/Mirror/Runtime/SyncObject.cs.meta | 11 + Assets/Mirror/Runtime/SyncSet.cs | 340 ++ Assets/Mirror/Runtime/SyncSet.cs.meta | 11 + Assets/Mirror/Runtime/Transport.meta | 8 + .../Runtime/Transport/FallbackTransport.cs | 178 + .../Transport/FallbackTransport.cs.meta | 11 + .../Mirror/Runtime/Transport/Ignorance.meta | 8 + .../Runtime/Transport/Ignorance/Core.meta | 8 + .../Ignorance/Core/IgnoranceClient.cs | 296 + .../Ignorance/Core/IgnoranceClient.cs.meta | 11 + .../Ignorance/Core/IgnoranceServer.cs | 328 ++ .../Ignorance/Core/IgnoranceServer.cs.meta | 11 + .../Transport/Ignorance/Dependencies.meta | 8 + .../Transport/Ignorance/Dependencies/ENet.cs | 1411 +++++ .../Ignorance/Dependencies/ENet.cs.meta | 11 + .../Runtime/Transport/Ignorance/Editor.meta | 8 + .../Ignorance/Editor/AddScriptingDefine.cs | 83 + .../Editor/AddScriptingDefine.cs.meta | 11 + .../Ignorance/Editor/IgnoranceToolbox.cs | 44 + .../Ignorance/Editor/IgnoranceToolbox.cs.meta | 11 + .../Runtime/Transport/Ignorance/Ignorance.cs | 746 +++ .../Transport/Ignorance/Ignorance.cs.meta | 11 + .../Ignorance/IgnoranceDefinitions.cs | 94 + .../Ignorance/IgnoranceDefinitions.cs.meta | 11 + .../Runtime/Transport/Ignorance/Plugins.meta | 8 + .../Transport/Ignorance/Plugins/Android.meta | 8 + .../Ignorance/Plugins/Android/arm64-v8a.meta | 8 + .../Plugins/Android/arm64-v8a/libenet.so | Bin 0 -> 47024 bytes .../Plugins/Android/arm64-v8a/libenet.so.meta | 111 + .../Plugins/Android/armeabi-v7a.meta | 8 + .../Plugins/Android/armeabi-v7a/libenet.so | Bin 0 -> 42636 bytes .../Android/armeabi-v7a/libenet.so.meta | 106 + .../Ignorance/Plugins/Android/x86.meta | 8 + .../Ignorance/Plugins/Android/x86/libenet.so | Bin 0 -> 50764 bytes .../Plugins/Android/x86/libenet.so.meta | 80 + .../Transport/Ignorance/Plugins/Linux.meta | 8 + .../Ignorance/Plugins/Linux/libenet.so | Bin 0 -> 60144 bytes .../Ignorance/Plugins/Linux/libenet.so.meta | 97 + .../Transport/Ignorance/Plugins/Windows.meta | 8 + .../Ignorance/Plugins/Windows/README.txt | 3 + .../Ignorance/Plugins/Windows/README.txt.meta | 7 + .../Ignorance/Plugins/Windows/enet.dll | Bin 0 -> 124928 bytes .../Ignorance/Plugins/Windows/enet.dll.meta | 111 + .../Transport/Ignorance/Plugins/iOS.meta | 8 + .../Plugins/iOS/libenet-release-arm64.a | Bin 0 -> 164440 bytes .../Plugins/iOS/libenet-release-arm64.a.meta | 80 + .../Plugins/iOS/libenet-release-armv7.a | Bin 0 -> 145208 bytes .../Plugins/iOS/libenet-release-armv7.a.meta | 80 + .../Plugins/iOS/libenet-release-simulator64.a | Bin 0 -> 167208 bytes .../iOS/libenet-release-simulator64.a.meta | 80 + .../Transport/Ignorance/Plugins/macOS.meta | 8 + .../Ignorance/Plugins/macOS/libenet.dylib | Bin 0 -> 53596 bytes .../Plugins/macOS/libenet.dylib.meta | 32 + .../Transport/Ignorance/Plugins/readme.txt | 35 + .../Ignorance/Plugins/readme.txt.meta | 7 + .../Runtime/Transport/Ignorance/version.txt | 1 + .../Transport/Ignorance/version.txt.meta | 7 + Assets/Mirror/Runtime/Transport/KCP.meta | 8 + .../Transport/KCP/MirrorTransport.meta | 8 + .../KCP/MirrorTransport/KcpTransport.cs | 342 ++ .../KCP/MirrorTransport/KcpTransport.cs.meta | 11 + .../Mirror/Runtime/Transport/KCP/kcp2k.meta | 8 + .../Runtime/Transport/KCP/kcp2k/LICENSE | 24 + .../Runtime/Transport/KCP/kcp2k/LICENSE.meta | 7 + .../Runtime/Transport/KCP/kcp2k/VERSION | 94 + .../Runtime/Transport/KCP/kcp2k/VERSION.meta | 7 + .../Transport/KCP/kcp2k/highlevel.meta | 8 + .../KCP/kcp2k/highlevel/KcpChannel.cs | 10 + .../KCP/kcp2k/highlevel/KcpChannel.cs.meta | 3 + .../KCP/kcp2k/highlevel/KcpClient.cs | 120 + .../KCP/kcp2k/highlevel/KcpClient.cs.meta | 3 + .../kcp2k/highlevel/KcpClientConnection.cs | 109 + .../highlevel/KcpClientConnection.cs.meta | 3 + .../KCP/kcp2k/highlevel/KcpConnection.cs | 674 +++ .../KCP/kcp2k/highlevel/KcpConnection.cs.meta | 3 + .../KCP/kcp2k/highlevel/KcpHeader.cs | 19 + .../KCP/kcp2k/highlevel/KcpHeader.cs.meta | 3 + .../KCP/kcp2k/highlevel/KcpServer.cs | 337 ++ .../KCP/kcp2k/highlevel/KcpServer.cs.meta | 3 + .../kcp2k/highlevel/KcpServerConnection.cs | 22 + .../highlevel/KcpServerConnection.cs.meta | 3 + .../Transport/KCP/kcp2k/highlevel/Log.cs | 14 + .../Transport/KCP/kcp2k/highlevel/Log.cs.meta | 11 + .../KCP/kcp2k/highlevel/NonAlloc.meta | 3 + .../NonAlloc/KcpClientConnectionNonAlloc.cs | 24 + .../KcpClientConnectionNonAlloc.cs.meta | 3 + .../highlevel/NonAlloc/KcpClientNonAlloc.cs | 17 + .../NonAlloc/KcpClientNonAlloc.cs.meta | 3 + .../NonAlloc/KcpServerConnectionNonAlloc.cs | 25 + .../KcpServerConnectionNonAlloc.cs.meta | 3 + .../highlevel/NonAlloc/KcpServerNonAlloc.cs | 51 + .../NonAlloc/KcpServerNonAlloc.cs.meta | 3 + .../Runtime/Transport/KCP/kcp2k/kcp.meta | 8 + .../Transport/KCP/kcp2k/kcp/AssemblyInfo.cs | 3 + .../KCP/kcp2k/kcp/AssemblyInfo.cs.meta | 3 + .../Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs | 1042 ++++ .../Transport/KCP/kcp2k/kcp/Kcp.cs.meta | 11 + .../Runtime/Transport/KCP/kcp2k/kcp/Pool.cs | 46 + .../Transport/KCP/kcp2k/kcp/Pool.cs.meta | 11 + .../Transport/KCP/kcp2k/kcp/Segment.cs | 62 + .../Transport/KCP/kcp2k/kcp/Segment.cs.meta | 11 + .../Runtime/Transport/KCP/kcp2k/kcp/Utils.cs | 76 + .../Transport/KCP/kcp2k/kcp/Utils.cs.meta | 11 + .../Runtime/Transport/KCP/kcp2k/kcp2k.asmdef | 15 + .../Transport/KCP/kcp2k/kcp2k.asmdef.meta | 7 + .../Transport/KCP/kcp2k/where-allocation.meta | 8 + .../KCP/kcp2k/where-allocation/LICENSE | 21 + .../KCP/kcp2k/where-allocation/LICENSE.meta | 7 + .../KCP/kcp2k/where-allocation/Scripts.meta | 8 + .../where-allocation/Scripts/AssemblyInfo.cs | 3 + .../Scripts/AssemblyInfo.cs.meta | 3 + .../where-allocation/Scripts/Extensions.cs | 58 + .../Scripts/Extensions.cs.meta | 11 + .../Scripts/IPEndPointNonAlloc.cs | 208 + .../Scripts/IPEndPointNonAlloc.cs.meta | 11 + .../Scripts/where-allocations.asmdef | 13 + .../Scripts/where-allocations.asmdef.meta | 7 + .../KCP/kcp2k/where-allocation/VERSION | 2 + .../KCP/kcp2k/where-allocation/VERSION.meta | 7 + Assets/Mirror/Runtime/Transport/LRM.meta | 8 + .../Runtime/Transport/LRM/BiDictionary.cs | 56 + .../Transport/LRM/BiDictionary.cs.meta | 11 + .../Mirror/Runtime/Transport/LRM/Editor.meta | 8 + .../Transport/LRM/Editor/LRMInspector.cs | 311 ++ .../Transport/LRM/Editor/LRMInspector.cs.meta | 11 + .../Runtime/Transport/LRM/HelpAttribute.cs | 230 + .../Transport/LRM/HelpAttribute.cs.meta | 11 + .../Mirror/Runtime/Transport/LRM/LRM.asmdef | 18 + .../Runtime/Transport/LRM/LRM.asmdef.meta | 7 + .../Transport/LRM/LRMDirectConnectModule.cs | 174 + .../LRM/LRMDirectConnectModule.cs.meta | 11 + .../Mirror/Runtime/Transport/LRM/LRMTools.cs | 198 + .../Runtime/Transport/LRM/LRMTools.cs.meta | 11 + .../Runtime/Transport/LRM/LRMTransport.meta | 8 + .../LRMTransport/LRMTransportDirectConnect.cs | 74 + .../LRMTransportDirectConnect.cs.meta | 11 + .../LRMTransport/LRMTransportNATPuncher.cs | 67 + .../LRMTransportNATPuncher.cs.meta | 11 + .../LRM/LRMTransport/LRMTransportOverrides.cs | 325 ++ .../LRMTransportOverrides.cs.meta | 11 + .../LRM/LRMTransport/LRMTransportRequests.cs | 253 + .../LRMTransport/LRMTransportRequests.cs.meta | 11 + .../LRM/LRMTransport/LRMTransportVariables.cs | 74 + .../LRMTransportVariables.cs.meta | 11 + .../LightReflectiveMirrorTransport.cs | 488 ++ .../LightReflectiveMirrorTransport.cs.meta | 11 + .../Runtime/Transport/LRM/Resources.meta | 8 + .../Runtime/Transport/LRM/Resources/LRM.png | Bin 0 -> 5055 bytes .../Transport/LRM/Resources/LRM.png.meta | 92 + .../Runtime/Transport/LRM/SocketProxy.cs | 68 + .../Runtime/Transport/LRM/SocketProxy.cs.meta | 11 + .../Mirror/Runtime/Transport/LRM/package.json | 9 + .../Runtime/Transport/LRM/package.json.meta | 7 + .../Runtime/Transport/LatencySimulation.cs | 280 + .../Transport/LatencySimulation.cs.meta | 11 + .../Runtime/Transport/MiddlewareTransport.cs | 54 + .../Transport/MiddlewareTransport.cs.meta | 11 + .../Runtime/Transport/MultiplexTransport.cs | 306 + .../Transport/MultiplexTransport.cs.meta | 11 + .../Runtime/Transport/SimpleWebTransport.meta | 8 + .../SimpleWebTransport/AssemblyInfo.cs | 4 + .../SimpleWebTransport/AssemblyInfo.cs.meta | 11 + .../Transport/SimpleWebTransport/Client.meta | 8 + .../Client/SimpleWebClient.cs | 86 + .../Client/SimpleWebClient.cs.meta | 11 + .../SimpleWebTransport/Client/StandAlone.meta | 8 + .../Client/StandAlone/ClientHandshake.cs | 77 + .../Client/StandAlone/ClientHandshake.cs.meta | 11 + .../Client/StandAlone/ClientSslHelper.cs | 47 + .../Client/StandAlone/ClientSslHelper.cs.meta | 11 + .../StandAlone/WebSocketClientStandAlone.cs | 139 + .../WebSocketClientStandAlone.cs.meta | 11 + .../SimpleWebTransport/Client/Webgl.meta | 8 + .../Client/Webgl/SimpleWebJSLib.cs | 34 + .../Client/Webgl/SimpleWebJSLib.cs.meta | 11 + .../Client/Webgl/WebSocketClientWebGl.cs | 99 + .../Client/Webgl/WebSocketClientWebGl.cs.meta | 11 + .../Client/Webgl/plugin.meta | 8 + .../Client/Webgl/plugin/SimpleWeb.jslib | 105 + .../Client/Webgl/plugin/SimpleWeb.jslib.meta | 37 + .../Transport/SimpleWebTransport/Common.meta | 8 + .../SimpleWebTransport/Common/BufferPool.cs | 265 + .../Common/BufferPool.cs.meta | 11 + .../SimpleWebTransport/Common/Connection.cs | 90 + .../Common/Connection.cs.meta | 11 + .../SimpleWebTransport/Common/Constants.cs | 72 + .../Common/Constants.cs.meta | 11 + .../SimpleWebTransport/Common/EventType.cs | 10 + .../Common/EventType.cs.meta | 11 + .../SimpleWebTransport/Common/Log.cs | 115 + .../SimpleWebTransport/Common/Log.cs.meta | 11 + .../SimpleWebTransport/Common/Message.cs | 49 + .../SimpleWebTransport/Common/Message.cs.meta | 11 + .../Common/MessageProcessor.cs | 140 + .../Common/MessageProcessor.cs.meta | 11 + .../SimpleWebTransport/Common/ReadHelper.cs | 132 + .../Common/ReadHelper.cs.meta | 11 + .../SimpleWebTransport/Common/ReceiveLoop.cs | 199 + .../Common/ReceiveLoop.cs.meta | 11 + .../SimpleWebTransport/Common/SendLoop.cs | 207 + .../Common/SendLoop.cs.meta | 11 + .../SimpleWebTransport/Common/TcpConfig.cs | 25 + .../Common/TcpConfig.cs.meta | 11 + .../SimpleWebTransport/Common/Utils.cs | 13 + .../SimpleWebTransport/Common/Utils.cs.meta | 11 + .../Transport/SimpleWebTransport/README.txt | 22 + .../SimpleWebTransport/README.txt.meta | 7 + .../Transport/SimpleWebTransport/Server.meta | 8 + .../Server/ServerHandshake.cs | 149 + .../Server/ServerHandshake.cs.meta | 11 + .../Server/ServerSslHelper.cs | 74 + .../Server/ServerSslHelper.cs.meta | 11 + .../Server/SimpleWebServer.cs | 105 + .../Server/SimpleWebServer.cs.meta | 11 + .../Server/WebSocketServer.cs | 230 + .../Server/WebSocketServer.cs.meta | 11 + .../SimpleWebTransport.asmdef | 14 + .../SimpleWebTransport.asmdef.meta | 7 + .../SimpleWebTransport/SimpleWebTransport.cs | 293 + .../SimpleWebTransport.cs.meta | 11 + .../SimpleWebTransport/SslConfigLoader.cs | 49 + .../SslConfigLoader.cs.meta | 11 + .../Mirror/Runtime/Transport/Telepathy.meta | 8 + .../Transport/Telepathy/Telepathy.meta | 8 + .../Transport/Telepathy/Telepathy/Client.cs | 362 ++ .../Telepathy/Telepathy/Client.cs.meta | 11 + .../Transport/Telepathy/Telepathy/Common.cs | 39 + .../Telepathy/Telepathy/Common.cs.meta | 11 + .../Telepathy/Telepathy/ConnectionState.cs | 35 + .../Telepathy/ConnectionState.cs.meta | 11 + .../Transport/Telepathy/Telepathy/Empty.meta | 8 + .../Telepathy/Telepathy/Empty/Logger.cs | 1 + .../Telepathy/Telepathy/Empty/Logger.cs.meta | 11 + .../Telepathy/Telepathy/Empty/Message.cs | 1 + .../Telepathy/Telepathy/Empty/Message.cs.meta | 11 + .../Telepathy/Telepathy/Empty/SafeQueue.cs | 1 + .../Telepathy/Empty/SafeQueue.cs.meta | 11 + .../Telepathy/Empty/ThreadExtensions.cs | 1 + .../Telepathy/Empty/ThreadExtensions.cs.meta | 11 + .../Telepathy/Telepathy/EventType.cs | 9 + .../Telepathy/Telepathy/EventType.cs.meta | 11 + .../Transport/Telepathy/Telepathy/LICENSE | 21 + .../Telepathy/Telepathy/LICENSE.meta | 7 + .../Transport/Telepathy/Telepathy/Log.cs | 15 + .../Transport/Telepathy/Telepathy/Log.cs.meta | 11 + .../Telepathy/MagnificentReceivePipe.cs | 222 + .../Telepathy/MagnificentReceivePipe.cs.meta | 11 + .../Telepathy/MagnificentSendPipe.cs | 165 + .../Telepathy/MagnificentSendPipe.cs.meta | 11 + .../Telepathy/NetworkStreamExtensions.cs | 67 + .../Telepathy/NetworkStreamExtensions.cs.meta | 11 + .../Transport/Telepathy/Telepathy/Pool.cs | 34 + .../Telepathy/Telepathy/Pool.cs.meta | 11 + .../Transport/Telepathy/Telepathy/Server.cs | 401 ++ .../Telepathy/Telepathy/Server.cs.meta | 11 + .../Telepathy/Telepathy/Telepathy.asmdef | 12 + .../Telepathy/Telepathy/Telepathy.asmdef.meta | 7 + .../Telepathy/Telepathy/ThreadFunctions.cs | 244 + .../Telepathy/ThreadFunctions.cs.meta | 11 + .../Transport/Telepathy/Telepathy/Utils.cs | 23 + .../Telepathy/Telepathy/Utils.cs.meta | 11 + .../Transport/Telepathy/Telepathy/VERSION | 62 + .../Telepathy/Telepathy/VERSION.meta | 7 + .../Transport/Telepathy/TelepathyTransport.cs | 256 + .../Telepathy/TelepathyTransport.cs.meta | 11 + Assets/Mirror/Runtime/Transport/Transport.cs | 201 + .../Runtime/Transport/Transport.cs.meta | 11 + Assets/Mirror/Runtime/Utils.cs | 136 + Assets/Mirror/Runtime/Utils.cs.meta | 11 + Assets/Mirror/Version.txt | 1 + Assets/Mirror/Version.txt.meta | 7 + Assets/Prefabs.meta | 8 + Assets/Prefabs/ServerRow.prefab | 427 ++ Assets/Prefabs/ServerRow.prefab.meta | 7 + Assets/Prefabs/picopark.prefab | 252 + Assets/Prefabs/picopark.prefab.meta | 7 + Assets/Scenes/MainMenu.unity | 4970 +++++++++++++++++ Assets/Scenes/MainMenu.unity.meta | 7 + Assets/Scenes/SampleScene.unity | 187 +- Assets/ScriptTemplates.meta | 8 + ...__Network Manager-NewNetworkManager.cs.txt | 244 + ...work Manager-NewNetworkManager.cs.txt.meta | 7 + ...thenticator-NewNetworkAuthenticator.cs.txt | 90 + ...icator-NewNetworkAuthenticator.cs.txt.meta | 7 + ...twork Behaviour-NewNetworkBehaviour.cs.txt | 61 + ... Behaviour-NewNetworkBehaviour.cs.txt.meta | 7 + ...Management-CustomInterestManagement.cs.txt | 95 + ...ement-CustomInterestManagement.cs.txt.meta | 7 + ... Room Manager-NewNetworkRoomManager.cs.txt | 178 + ... Manager-NewNetworkRoomManager.cs.txt.meta | 7 + ...rk Room Player-NewNetworkRoomPlayer.cs.txt | 107 + ...om Player-NewNetworkRoomPlayer.cs.txt.meta | 7 + ...twork Discovery-NewNetworkDiscovery.cs.txt | 83 + ... Discovery-NewNetworkDiscovery.cs.txt.meta | 7 + ...twork Transform-NewNetworkTransform.cs.txt | 163 + ... Transform-NewNetworkTransform.cs.txt.meta | 7 + Assets/Scripts/MainmenuController.cs | 113 + Assets/Scripts/MainmenuController.cs.meta | 11 + Assets/Scripts/NetPlayer.cs | 25 + Assets/Scripts/NetPlayer.cs.meta | 11 + Assets/Scripts/PlayerController.cs | 15 +- Assets/Scripts/SliderIndicator.cs | 23 + Assets/Scripts/SliderIndicator.cs.meta | 11 + Assets/Scripts/hostNew.cs | 18 + Assets/Scripts/hostNew.cs.meta | 11 + Assets/Scripts/loadingScreen.cs | 103 + Assets/Scripts/loadingScreen.cs.meta | 11 + LRM.csproj | 643 +++ Mirror.Authenticators.csproj | 621 ++ Mirror.CompilerSymbols.csproj | 635 +++ Mirror.Components.csproj | 653 +++ Mirror.Editor.csproj | 659 +++ Mirror.Examples.csproj | 668 +++ Mirror.Weaver.csproj | 670 +++ Mirror.csproj | 723 +++ NanoPark.sln | 109 +- Packages/manifest.json | 2 +- ProjectSettings/EditorBuildSettings.asset | 3 + ProjectSettings/GraphicsSettings.asset | 7 +- ProjectSettings/ProjectSettings.asset | 11 +- SimpleWebTransport.csproj | 645 +++ Telepathy.csproj | 629 +++ Unity.2D.Sprite.Editor.csproj | 669 +++ Unity.2D.Tilemap.Editor.csproj | 670 +++ Unity.CollabProxy.Editor.csproj | 656 +++ Unity.Mirror.CodeGen.csproj | 661 +++ Unity.Rider.Editor.csproj | 653 +++ Unity.TextMeshPro.Editor.csproj | 687 +++ Unity.TextMeshPro.csproj | 669 +++ Unity.Timeline.Editor.csproj | 876 +++ Unity.Timeline.csproj | 683 +++ Unity.VSCode.Editor.csproj | 635 +++ UnityEditor.TestRunner.csproj | 766 +++ UnityEditor.UI.csproj | 669 +++ UnityEngine.TestRunner.csproj | 701 +++ UnityEngine.UI.csproj | 688 +++ kcp2k.csproj | 636 +++ ...ework,Version=v4.7.1.AssemblyAttributes.cs | 4 + ...mbly-CSharp.csproj.AssemblyReference.cache | Bin 0 -> 12052 bytes ...or.Examples.csproj.AssemblyReference.cache | Bin 0 -> 1498 bytes ...ebTransport.csproj.AssemblyReference.cache | Bin 0 -> 6 bytes ...ror.CodeGen.csproj.AssemblyReference.cache | Bin 0 -> 6 bytes ...hPro.Editor.csproj.AssemblyReference.cache | Bin 0 -> 86773 bytes ....TestRunner.csproj.AssemblyReference.cache | Bin 0 -> 136461 bytes where-allocations.csproj | 616 ++ 1111 files changed, 105855 insertions(+), 780 deletions(-) create mode 100644 Assembly-CSharp-Editor.csproj create mode 100644 Assets/Fonts.meta create mode 100644 Assets/Fonts/ARCADECLASSIC.TTF create mode 100644 Assets/Fonts/ARCADECLASSIC.TTF.meta create mode 100644 Assets/Ignorance.meta create mode 100644 Assets/Ignorance/Demo.meta create mode 100644 Assets/Ignorance/Demo/Basic.meta create mode 100644 Assets/Ignorance/Demo/Basic/BasicWithIgnorance.unity create mode 100644 Assets/Ignorance/Demo/Basic/BasicWithIgnorance.unity.meta create mode 100644 Assets/Ignorance/Demo/Basic/BasicWithIgnoranceSettings.lighting create mode 100644 Assets/Ignorance/Demo/Basic/BasicWithIgnoranceSettings.lighting.meta create mode 100644 Assets/Ignorance/Demo/PongChamp.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/AtariBall.prefab create mode 100644 Assets/Ignorance/Demo/PongChamp/AtariBall.prefab.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/AtariRacket.prefab create mode 100644 Assets/Ignorance/Demo/PongChamp/AtariRacket.prefab.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/BallMaterial 1.physicsMaterial2D create mode 100644 Assets/Ignorance/Demo/PongChamp/BallMaterial 1.physicsMaterial2D.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Demo.unity create mode 100644 Assets/Ignorance/Demo/PongChamp/Demo.unity.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/AtariPongBall.cs create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/AtariPongBall.cs.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/AtariPongRacket.cs create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/AtariPongRacket.cs.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/OnlineTimer.cs create mode 100644 Assets/Ignorance/Demo/PongChamp/Scripts/OnlineTimer.cs.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/TenryuuBall.prefab create mode 100644 Assets/Ignorance/Demo/PongChamp/TenryuuBall.prefab.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/PoutRyuu.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/PoutRyuu.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/Ball.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/Ball.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/DottedLine.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/DottedLine.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/Racket.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/Racket.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/WallHorizontal.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/WallHorizontal.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/WallVertical.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/Sprites/WallVertical.png.meta create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/pogchamp.png create mode 100644 Assets/Ignorance/Demo/PongChamp/Textures/pogchamp.png.meta create mode 100644 Assets/Mirror.meta create mode 100644 Assets/Mirror/Authenticators.meta create mode 100644 Assets/Mirror/Authenticators/BasicAuthenticator.cs create mode 100644 Assets/Mirror/Authenticators/BasicAuthenticator.cs.meta create mode 100644 Assets/Mirror/Authenticators/Mirror.Authenticators.asmdef create mode 100644 Assets/Mirror/Authenticators/Mirror.Authenticators.asmdef.meta create mode 100644 Assets/Mirror/Authenticators/TimeoutAuthenticator.cs create mode 100644 Assets/Mirror/Authenticators/TimeoutAuthenticator.cs.meta create mode 100644 Assets/Mirror/CompilerSymbols.meta create mode 100644 Assets/Mirror/CompilerSymbols/Mirror.CompilerSymbols.asmdef create mode 100644 Assets/Mirror/CompilerSymbols/Mirror.CompilerSymbols.asmdef.meta create mode 100644 Assets/Mirror/CompilerSymbols/PreprocessorDefine.cs create mode 100644 Assets/Mirror/CompilerSymbols/PreprocessorDefine.cs.meta create mode 100644 Assets/Mirror/Components.meta create mode 100644 Assets/Mirror/Components/AssemblyInfo.cs create mode 100644 Assets/Mirror/Components/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Components/Discovery.meta create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscovery.cs create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscovery.cs.meta create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscoveryBase.cs create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscoveryBase.cs.meta create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscoveryHUD.cs create mode 100644 Assets/Mirror/Components/Discovery/NetworkDiscoveryHUD.cs.meta create mode 100644 Assets/Mirror/Components/Discovery/ServerRequest.cs create mode 100644 Assets/Mirror/Components/Discovery/ServerRequest.cs.meta create mode 100644 Assets/Mirror/Components/Discovery/ServerResponse.cs create mode 100644 Assets/Mirror/Components/Discovery/ServerResponse.cs.meta create mode 100644 Assets/Mirror/Components/Experimental.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkLerpRigidbody.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkLerpRigidbody.cs.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkRigidbody.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkRigidbody.cs.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkRigidbody2D.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkRigidbody2D.cs.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransform.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransform.cs.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransformBase.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransformBase.cs.meta create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransformChild.cs create mode 100644 Assets/Mirror/Components/Experimental/NetworkTransformChild.cs.meta create mode 100644 Assets/Mirror/Components/GUIConsole.cs create mode 100644 Assets/Mirror/Components/GUIConsole.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Distance.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Distance/DistanceInterestManagement.cs create mode 100644 Assets/Mirror/Components/InterestManagement/Distance/DistanceInterestManagement.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Distance/DistanceInterestManagementCustomRange.cs create mode 100644 Assets/Mirror/Components/InterestManagement/Distance/DistanceInterestManagementCustomRange.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Match.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs create mode 100644 Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Scene.meta create mode 100644 Assets/Mirror/Components/InterestManagement/Scene/SceneInterestManagement.cs create mode 100644 Assets/Mirror/Components/InterestManagement/Scene/SceneInterestManagement.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement/SpatialHashing.meta create mode 100644 Assets/Mirror/Components/InterestManagement/SpatialHashing/Grid2D.cs create mode 100644 Assets/Mirror/Components/InterestManagement/SpatialHashing/Grid2D.cs.meta create mode 100644 Assets/Mirror/Components/InterestManagement/SpatialHashing/SpatialHashingInterestManagement.cs create mode 100644 Assets/Mirror/Components/InterestManagement/SpatialHashing/SpatialHashingInterestManagement.cs.meta create mode 100644 Assets/Mirror/Components/Mirror.Components.asmdef create mode 100644 Assets/Mirror/Components/Mirror.Components.asmdef.meta create mode 100644 Assets/Mirror/Components/NetworkAnimator.cs create mode 100644 Assets/Mirror/Components/NetworkAnimator.cs.meta create mode 100644 Assets/Mirror/Components/NetworkLobbyManager.cs create mode 100644 Assets/Mirror/Components/NetworkLobbyManager.cs.meta create mode 100644 Assets/Mirror/Components/NetworkLobbyPlayer.cs create mode 100644 Assets/Mirror/Components/NetworkLobbyPlayer.cs.meta create mode 100644 Assets/Mirror/Components/NetworkMatch.cs create mode 100644 Assets/Mirror/Components/NetworkMatch.cs.meta create mode 100644 Assets/Mirror/Components/NetworkMatchChecker.cs create mode 100644 Assets/Mirror/Components/NetworkMatchChecker.cs.meta create mode 100644 Assets/Mirror/Components/NetworkOwnerChecker.cs create mode 100644 Assets/Mirror/Components/NetworkOwnerChecker.cs.meta create mode 100644 Assets/Mirror/Components/NetworkPingDisplay.cs create mode 100644 Assets/Mirror/Components/NetworkPingDisplay.cs.meta create mode 100644 Assets/Mirror/Components/NetworkProximityChecker.cs create mode 100644 Assets/Mirror/Components/NetworkProximityChecker.cs.meta create mode 100644 Assets/Mirror/Components/NetworkRoomManager.cs create mode 100644 Assets/Mirror/Components/NetworkRoomManager.cs.meta create mode 100644 Assets/Mirror/Components/NetworkRoomPlayer.cs create mode 100644 Assets/Mirror/Components/NetworkRoomPlayer.cs.meta create mode 100644 Assets/Mirror/Components/NetworkSceneChecker.cs create mode 100644 Assets/Mirror/Components/NetworkSceneChecker.cs.meta create mode 100644 Assets/Mirror/Components/NetworkTransform2k.meta create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransform.cs create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransform.cs.meta create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs.meta create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformChild.cs create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformChild.cs.meta create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformSnapshot.cs create mode 100644 Assets/Mirror/Components/NetworkTransform2k/NetworkTransformSnapshot.cs.meta create mode 100644 Assets/Mirror/Editor.meta create mode 100644 Assets/Mirror/Editor/EditorHelper.cs create mode 100644 Assets/Mirror/Editor/EditorHelper.cs.meta create mode 100644 Assets/Mirror/Editor/Empty.meta create mode 100644 Assets/Mirror/Editor/Empty/LogLevelWindow.cs create mode 100644 Assets/Mirror/Editor/Empty/LogLevelWindow.cs.meta create mode 100644 Assets/Mirror/Editor/Empty/Logging.meta create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogLevelWindow.cs create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogLevelWindow.cs.meta create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogLevelsGUI.cs create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogLevelsGUI.cs.meta create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogSettingsEditor.cs create mode 100644 Assets/Mirror/Editor/Empty/Logging/LogSettingsEditor.cs.meta create mode 100644 Assets/Mirror/Editor/Empty/Logging/NetworkLogSettingsEditor.cs create mode 100644 Assets/Mirror/Editor/Empty/Logging/NetworkLogSettingsEditor.cs.meta create mode 100644 Assets/Mirror/Editor/Empty/ScriptableObjectUtility.cs create mode 100644 Assets/Mirror/Editor/Empty/ScriptableObjectUtility.cs.meta create mode 100644 Assets/Mirror/Editor/EnterPlayModeSettingsCheck.cs create mode 100644 Assets/Mirror/Editor/EnterPlayModeSettingsCheck.cs.meta create mode 100644 Assets/Mirror/Editor/InspectorHelper.cs create mode 100644 Assets/Mirror/Editor/InspectorHelper.cs.meta create mode 100644 Assets/Mirror/Editor/Mirror.Editor.asmdef create mode 100644 Assets/Mirror/Editor/Mirror.Editor.asmdef.meta create mode 100644 Assets/Mirror/Editor/NetworkBehaviourInspector.cs create mode 100644 Assets/Mirror/Editor/NetworkBehaviourInspector.cs.meta create mode 100644 Assets/Mirror/Editor/NetworkInformationPreview.cs create mode 100644 Assets/Mirror/Editor/NetworkInformationPreview.cs.meta create mode 100644 Assets/Mirror/Editor/NetworkManagerEditor.cs create mode 100644 Assets/Mirror/Editor/NetworkManagerEditor.cs.meta create mode 100644 Assets/Mirror/Editor/NetworkScenePostProcess.cs create mode 100644 Assets/Mirror/Editor/NetworkScenePostProcess.cs.meta create mode 100644 Assets/Mirror/Editor/SceneDrawer.cs create mode 100644 Assets/Mirror/Editor/SceneDrawer.cs.meta create mode 100644 Assets/Mirror/Editor/SyncVarAttributeDrawer.cs create mode 100644 Assets/Mirror/Editor/SyncVarAttributeDrawer.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver.meta create mode 100644 Assets/Mirror/Editor/Weaver/AssemblyInfo.cs create mode 100644 Assets/Mirror/Editor/Weaver/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/CompilationFinishedHook.cs create mode 100644 Assets/Mirror/Editor/Weaver/CompilationFinishedHook.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/GenericArgumentResolver.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/GenericArgumentResolver.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/MessageClassProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/MessageClassProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/Program.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/Program.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncDictionaryProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncDictionaryProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncEventProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncEventProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncListProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Empty/SyncListProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Extensions.cs create mode 100644 Assets/Mirror/Editor/Weaver/Extensions.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Helpers.cs create mode 100644 Assets/Mirror/Editor/Weaver/Helpers.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Log.cs create mode 100644 Assets/Mirror/Editor/Weaver/Log.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Mirror.Weaver.asmdef create mode 100644 Assets/Mirror/Editor/Weaver/Mirror.Weaver.asmdef.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/CommandProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/CommandProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/MethodProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/MethodProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/MonoBehaviourProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/MonoBehaviourProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/NetworkBehaviourProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/NetworkBehaviourProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/PropertySiteProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/PropertySiteProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/ReaderWriterProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/ReaderWriterProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/ServerClientAttributeProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/ServerClientAttributeProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncObjectInitializer.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncObjectInitializer.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncObjectProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncObjectProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Processors/TargetRpcProcessor.cs create mode 100644 Assets/Mirror/Editor/Weaver/Processors/TargetRpcProcessor.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Readers.cs create mode 100644 Assets/Mirror/Editor/Weaver/Readers.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Resolvers.cs create mode 100644 Assets/Mirror/Editor/Weaver/Resolvers.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/TypeReferenceComparer.cs create mode 100644 Assets/Mirror/Editor/Weaver/TypeReferenceComparer.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Weaver.cs create mode 100644 Assets/Mirror/Editor/Weaver/Weaver.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/WeaverExceptions.cs create mode 100644 Assets/Mirror/Editor/Weaver/WeaverExceptions.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/WeaverTypes.cs create mode 100644 Assets/Mirror/Editor/Weaver/WeaverTypes.cs.meta create mode 100644 Assets/Mirror/Editor/Weaver/Writers.cs create mode 100644 Assets/Mirror/Editor/Weaver/Writers.cs.meta create mode 100644 Assets/Mirror/Examples.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/AnimationControllers.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/AnimationControllers/Tank.controller create mode 100644 Assets/Mirror/Examples/AdditiveScenes/AnimationControllers/Tank.controller.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Capsule.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Capsule.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Cube.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Cube.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Cylinder.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Cylinder.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Player.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Player.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Quad.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Quad.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Shelter.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Shelter.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Sphere.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Sphere.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Zone.mat create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Materials/Zone.mat.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Capsule.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Capsule.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Cube.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Cube.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Cylinder.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Cylinder.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Sphere.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Sphere.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Tank.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Tank.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Zone.prefab create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Prefabs/Zone.prefab.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/README.md create mode 100644 Assets/Mirror/Examples/AdditiveScenes/README.md.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scenes.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scenes/SubScene.unity create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scenes/SubScene.unity.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/AdditiveNetworkManager.cs create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/AdditiveNetworkManager.cs.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/PlayerController.cs create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/PlayerController.cs.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/RandomColor.cs create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/RandomColor.cs.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/ShootingTankBehaviour.cs create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/ShootingTankBehaviour.cs.meta create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/ZoneHandler.cs create mode 100644 Assets/Mirror/Examples/AdditiveScenes/Scripts/ZoneHandler.cs.meta create mode 100644 Assets/Mirror/Examples/Basic.meta create mode 100644 Assets/Mirror/Examples/Basic/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Basic/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/Basic/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/Basic/Prefabs/PlayerUI.prefab create mode 100644 Assets/Mirror/Examples/Basic/Prefabs/PlayerUI.prefab.meta create mode 100644 Assets/Mirror/Examples/Basic/README.md create mode 100644 Assets/Mirror/Examples/Basic/README.md.meta create mode 100644 Assets/Mirror/Examples/Basic/Scenes.meta create mode 100644 Assets/Mirror/Examples/Basic/Scenes/Example.unity create mode 100644 Assets/Mirror/Examples/Basic/Scenes/Example.unity.meta create mode 100644 Assets/Mirror/Examples/Basic/Scripts.meta create mode 100644 Assets/Mirror/Examples/Basic/Scripts/BasicNetManager.cs create mode 100644 Assets/Mirror/Examples/Basic/Scripts/BasicNetManager.cs.meta create mode 100644 Assets/Mirror/Examples/Basic/Scripts/Player.cs create mode 100644 Assets/Mirror/Examples/Basic/Scripts/Player.cs.meta create mode 100644 Assets/Mirror/Examples/Basic/Scripts/PlayerUI.cs create mode 100644 Assets/Mirror/Examples/Basic/Scripts/PlayerUI.cs.meta create mode 100644 Assets/Mirror/Examples/Benchmark.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Materials.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Materials/Red.mat create mode 100644 Assets/Mirror/Examples/Benchmark/Materials/Red.mat.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Materials/White.mat create mode 100644 Assets/Mirror/Examples/Benchmark/Materials/White.mat.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Prefabs/Monster.prefab create mode 100644 Assets/Mirror/Examples/Benchmark/Prefabs/Monster.prefab.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/Benchmark/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scenes.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scenes/Scene.unity create mode 100644 Assets/Mirror/Examples/Benchmark/Scenes/Scene.unity.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/BenchmarkNetworkManager.cs create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/BenchmarkNetworkManager.cs.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/MonsterMovement.cs create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/MonsterMovement.cs.meta create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/PlayerMovement.cs create mode 100644 Assets/Mirror/Examples/Benchmark/Scripts/PlayerMovement.cs.meta create mode 100644 Assets/Mirror/Examples/Chat.meta create mode 100644 Assets/Mirror/Examples/Chat/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Chat/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/Chat/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/Chat/Scenes.meta create mode 100644 Assets/Mirror/Examples/Chat/Scenes/Main.unity create mode 100644 Assets/Mirror/Examples/Chat/Scenes/Main.unity.meta create mode 100644 Assets/Mirror/Examples/Chat/Scripts.meta create mode 100644 Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs create mode 100644 Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs.meta create mode 100644 Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs create mode 100644 Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs.meta create mode 100644 Assets/Mirror/Examples/Chat/Scripts/Player.cs create mode 100644 Assets/Mirror/Examples/Chat/Scripts/Player.cs.meta create mode 100644 Assets/Mirror/Examples/Discovery.meta create mode 100644 Assets/Mirror/Examples/Discovery/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Discovery/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/Discovery/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/Discovery/Scenes.meta create mode 100644 Assets/Mirror/Examples/Discovery/Scenes/Scene.unity create mode 100644 Assets/Mirror/Examples/Discovery/Scenes/Scene.unity.meta create mode 100644 Assets/Mirror/Examples/Mirror.Examples.asmdef create mode 100644 Assets/Mirror/Examples/Mirror.Examples.asmdef.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/Icosphere.physicMaterial create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/Icosphere.physicMaterial.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/Player.physicMaterial create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/Player.physicMaterial.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/RoomBounce.physicMaterial create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Physics/RoomBounce.physicMaterial.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/PlayArea.mat create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/PlayArea.mat.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/Player.mat create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/Player.mat.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/Prize.mat create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Materials/Render/Prize.mat.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Icosphere.obj create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Icosphere.obj.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Icosphere_lods.asset create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Icosphere_lods.asset.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Materials.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Materials/Icosphere.mat create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Models/Icosphere/Materials/Icosphere.mat.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Icosphere.prefab create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Icosphere.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Player.prefab create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Player.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Prize.prefab create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Prefabs/Prize.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/README.md create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/README.md.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scenes.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scenes/Game.unity create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scenes/Game.unity.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scenes/Main.unity create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scenes/Main.unity.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/MultiSceneNetManager.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/MultiSceneNetManager.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PhysicsCollision.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PhysicsCollision.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PhysicsSimulator.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PhysicsSimulator.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PlayerController.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PlayerController.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PlayerScore.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/PlayerScore.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/RandomColor.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/RandomColor.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/Reward.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/Reward.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/Spawner.cs create mode 100644 Assets/Mirror/Examples/MultipleAdditiveScenes/Scripts/Spawner.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/CellGUI.prefab create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/CellGUI.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchController.prefab create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchController.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchGUI.prefab create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchGUI.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchPlayer.prefab create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/MatchPlayer.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/PlayerGUI.prefab create mode 100644 Assets/Mirror/Examples/MultipleMatches/Prefabs/PlayerGUI.prefab.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/README.md create mode 100644 Assets/Mirror/Examples/MultipleMatches/README.md.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scenes.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scenes/Main.unity create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scenes/Main.unity.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/CanvasController.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/CanvasController.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/CellGUI.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/CellGUI.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchController.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchController.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchGUI.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchGUI.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchMessages.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchMessages.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchNetworkManager.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/MatchNetworkManager.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/PlayerGUI.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/PlayerGUI.cs.meta create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/RoomGUI.cs create mode 100644 Assets/Mirror/Examples/MultipleMatches/Scripts/RoomGUI.cs.meta create mode 100644 Assets/Mirror/Examples/Pong.meta create mode 100644 Assets/Mirror/Examples/Pong/PhysicsMaterials.meta create mode 100644 Assets/Mirror/Examples/Pong/PhysicsMaterials/BallMaterial.physicsMaterial2D create mode 100644 Assets/Mirror/Examples/Pong/PhysicsMaterials/BallMaterial.physicsMaterial2D.meta create mode 100644 Assets/Mirror/Examples/Pong/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Pong/Prefabs/Ball.prefab create mode 100644 Assets/Mirror/Examples/Pong/Prefabs/Ball.prefab.meta create mode 100644 Assets/Mirror/Examples/Pong/Prefabs/Racket.prefab create mode 100644 Assets/Mirror/Examples/Pong/Prefabs/Racket.prefab.meta create mode 100644 Assets/Mirror/Examples/Pong/Scenes.meta create mode 100644 Assets/Mirror/Examples/Pong/Scenes/Scene.unity create mode 100644 Assets/Mirror/Examples/Pong/Scenes/Scene.unity.meta create mode 100644 Assets/Mirror/Examples/Pong/Scripts.meta create mode 100644 Assets/Mirror/Examples/Pong/Scripts/Ball.cs create mode 100644 Assets/Mirror/Examples/Pong/Scripts/Ball.cs.meta create mode 100644 Assets/Mirror/Examples/Pong/Scripts/NetworkManagerPong.cs create mode 100644 Assets/Mirror/Examples/Pong/Scripts/NetworkManagerPong.cs.meta create mode 100644 Assets/Mirror/Examples/Pong/Scripts/Player.cs create mode 100644 Assets/Mirror/Examples/Pong/Scripts/Player.cs.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites/Ball.png create mode 100644 Assets/Mirror/Examples/Pong/Sprites/Ball.png.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites/DottedLine.png create mode 100644 Assets/Mirror/Examples/Pong/Sprites/DottedLine.png.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites/Racket.png create mode 100644 Assets/Mirror/Examples/Pong/Sprites/Racket.png.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites/WallHorizontal.png create mode 100644 Assets/Mirror/Examples/Pong/Sprites/WallHorizontal.png.meta create mode 100644 Assets/Mirror/Examples/Pong/Sprites/WallVertical.png create mode 100644 Assets/Mirror/Examples/Pong/Sprites/WallVertical.png.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Blue.mat create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Blue.mat.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Green.mat create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Green.mat.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Red.mat create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Materials/Red.mat.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/PhysicMaterials.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/PhysicMaterials/Ball.physicMaterial create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/PhysicMaterials/Ball.physicMaterial.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/PhysicMaterials/Floor.physicMaterial create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/PhysicMaterials/Floor.physicMaterial.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Prefabs.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Prefabs/Empty Player.prefab create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Prefabs/Empty Player.prefab.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scenes.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scenes/BounceScene.unity create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scenes/BounceScene.unity.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scripts.meta create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scripts/AddForce.cs create mode 100644 Assets/Mirror/Examples/RigidbodyPhysics/Scripts/AddForce.cs.meta create mode 100644 Assets/Mirror/Examples/Room.meta create mode 100644 Assets/Mirror/Examples/Room/Materials.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/PlayArea.mat create mode 100644 Assets/Mirror/Examples/Room/Materials/PlayArea.mat.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/Player.mat create mode 100644 Assets/Mirror/Examples/Room/Materials/Player.mat.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/Prize.mat create mode 100644 Assets/Mirror/Examples/Room/Materials/Prize.mat.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/Textures.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/Textures/Wall01.tga create mode 100644 Assets/Mirror/Examples/Room/Materials/Textures/Wall01.tga.meta create mode 100644 Assets/Mirror/Examples/Room/Materials/Textures/Wall01_n.tga create mode 100644 Assets/Mirror/Examples/Room/Materials/Textures/Wall01_n.tga.meta create mode 100644 Assets/Mirror/Examples/Room/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Room/Prefabs/GamePlayer.prefab create mode 100644 Assets/Mirror/Examples/Room/Prefabs/GamePlayer.prefab.meta create mode 100644 Assets/Mirror/Examples/Room/Prefabs/Prize.prefab create mode 100644 Assets/Mirror/Examples/Room/Prefabs/Prize.prefab.meta create mode 100644 Assets/Mirror/Examples/Room/Prefabs/RoomPlayer.prefab create mode 100644 Assets/Mirror/Examples/Room/Prefabs/RoomPlayer.prefab.meta create mode 100644 Assets/Mirror/Examples/Room/README.md create mode 100644 Assets/Mirror/Examples/Room/README.md.meta create mode 100644 Assets/Mirror/Examples/Room/Scenes.meta create mode 100644 Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity create mode 100644 Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity.meta create mode 100644 Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity create mode 100644 Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity.meta create mode 100644 Assets/Mirror/Examples/Room/Scenes/RoomScene.unity create mode 100644 Assets/Mirror/Examples/Room/Scenes/RoomScene.unity.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/PlayerController.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/PlayerController.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/RandomColor.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/RandomColor.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/Reward.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/Reward.cs.meta create mode 100644 Assets/Mirror/Examples/Room/Scripts/Spawner.cs create mode 100644 Assets/Mirror/Examples/Room/Scripts/Spawner.cs.meta create mode 100644 Assets/Mirror/Examples/Tanks.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Metallic.png create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Metallic.png.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Normal.png create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Normal.png.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat.meta create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx create mode 100644 Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx.meta create mode 100644 Assets/Mirror/Examples/Tanks/Prefabs.meta create mode 100644 Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab create mode 100644 Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab.meta create mode 100644 Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab create mode 100644 Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scenes.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scenes/Scene.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scenes/Scene.unity create mode 100644 Assets/Mirror/Examples/Tanks/Scenes/Scene.unity.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scenes/Scene/NavMesh.asset create mode 100644 Assets/Mirror/Examples/Tanks/Scenes/Scene/NavMesh.asset.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scripts.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scripts/Projectile.cs create mode 100644 Assets/Mirror/Examples/Tanks/Scripts/Projectile.cs.meta create mode 100644 Assets/Mirror/Examples/Tanks/Scripts/Tank.cs create mode 100644 Assets/Mirror/Examples/Tanks/Scripts/Tank.cs.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/Dirt Hand Painted Texture - License.txt create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/Dirt Hand Painted Texture - License.txt.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/Dirt.mat create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/Dirt.mat.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/dirt.png create mode 100644 Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/dirt.png.meta create mode 100644 Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat create mode 100644 Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat.meta create mode 100644 Assets/Mirror/Icon.meta create mode 100644 Assets/Mirror/Icon/MirrorIcon.png create mode 100644 Assets/Mirror/Icon/MirrorIcon.png.meta create mode 100644 Assets/Mirror/Notice.txt create mode 100644 Assets/Mirror/Notice.txt.meta create mode 100644 Assets/Mirror/Plugins.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/License.txt create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/License.txt.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll.meta create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.dll create mode 100644 Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.dll.meta create mode 100644 Assets/Mirror/Readme.txt create mode 100644 Assets/Mirror/Readme.txt.meta create mode 100644 Assets/Mirror/Runtime.meta create mode 100644 Assets/Mirror/Runtime/AssemblyInfo.cs create mode 100644 Assets/Mirror/Runtime/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Runtime/Attributes.cs create mode 100644 Assets/Mirror/Runtime/Attributes.cs.meta create mode 100644 Assets/Mirror/Runtime/Batching.meta create mode 100644 Assets/Mirror/Runtime/Batching/Batcher.cs create mode 100644 Assets/Mirror/Runtime/Batching/Batcher.cs.meta create mode 100644 Assets/Mirror/Runtime/Batching/Unbatcher.cs create mode 100644 Assets/Mirror/Runtime/Batching/Unbatcher.cs.meta create mode 100644 Assets/Mirror/Runtime/ClientScene.cs create mode 100644 Assets/Mirror/Runtime/ClientScene.cs.meta create mode 100644 Assets/Mirror/Runtime/Compression.cs create mode 100644 Assets/Mirror/Runtime/Compression.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Ball.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Ball.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Events.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Events.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Logger.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Logger.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Player.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/Player.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs create mode 100644 Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs create mode 100644 Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/LogFactory.cs create mode 100644 Assets/Mirror/Runtime/Empty/LogFactory.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/LogFilter.cs create mode 100644 Assets/Mirror/Runtime/Empty/LogFilter.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs create mode 100644 Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs.meta create mode 100644 Assets/Mirror/Runtime/Empty/StringHash.cs create mode 100644 Assets/Mirror/Runtime/Empty/StringHash.cs.meta create mode 100644 Assets/Mirror/Runtime/ExponentialMovingAverage.cs create mode 100644 Assets/Mirror/Runtime/ExponentialMovingAverage.cs.meta create mode 100644 Assets/Mirror/Runtime/Extensions.cs create mode 100644 Assets/Mirror/Runtime/Extensions.cs.meta create mode 100644 Assets/Mirror/Runtime/InterestManagement.cs create mode 100644 Assets/Mirror/Runtime/InterestManagement.cs.meta create mode 100644 Assets/Mirror/Runtime/LocalConnections.cs create mode 100644 Assets/Mirror/Runtime/LocalConnections.cs.meta create mode 100644 Assets/Mirror/Runtime/Mathd.cs create mode 100644 Assets/Mirror/Runtime/Mathd.cs.meta create mode 100644 Assets/Mirror/Runtime/MessagePacking.cs create mode 100644 Assets/Mirror/Runtime/MessagePacking.cs.meta create mode 100644 Assets/Mirror/Runtime/Messages.cs create mode 100644 Assets/Mirror/Runtime/Messages.cs.meta create mode 100644 Assets/Mirror/Runtime/Mirror.asmdef create mode 100644 Assets/Mirror/Runtime/Mirror.asmdef.meta create mode 100644 Assets/Mirror/Runtime/NetworkAuthenticator.cs create mode 100644 Assets/Mirror/Runtime/NetworkAuthenticator.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkBehaviour.cs create mode 100644 Assets/Mirror/Runtime/NetworkBehaviour.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkClient.cs create mode 100644 Assets/Mirror/Runtime/NetworkClient.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkConnection.cs create mode 100644 Assets/Mirror/Runtime/NetworkConnection.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkConnectionToClient.cs create mode 100644 Assets/Mirror/Runtime/NetworkConnectionToClient.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkConnectionToServer.cs create mode 100644 Assets/Mirror/Runtime/NetworkConnectionToServer.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkDiagnostics.cs create mode 100644 Assets/Mirror/Runtime/NetworkDiagnostics.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkIdentity.cs create mode 100644 Assets/Mirror/Runtime/NetworkIdentity.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkLoop.cs create mode 100644 Assets/Mirror/Runtime/NetworkLoop.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkManager.cs create mode 100644 Assets/Mirror/Runtime/NetworkManager.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkManagerHUD.cs create mode 100644 Assets/Mirror/Runtime/NetworkManagerHUD.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkMessage.cs create mode 100644 Assets/Mirror/Runtime/NetworkMessage.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkReader.cs create mode 100644 Assets/Mirror/Runtime/NetworkReader.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkReaderPool.cs create mode 100644 Assets/Mirror/Runtime/NetworkReaderPool.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkServer.cs create mode 100644 Assets/Mirror/Runtime/NetworkServer.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkStartPosition.cs create mode 100644 Assets/Mirror/Runtime/NetworkStartPosition.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkTime.cs create mode 100644 Assets/Mirror/Runtime/NetworkTime.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkVisibility.cs create mode 100644 Assets/Mirror/Runtime/NetworkVisibility.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkWriter.cs create mode 100644 Assets/Mirror/Runtime/NetworkWriter.cs.meta create mode 100644 Assets/Mirror/Runtime/NetworkWriterPool.cs create mode 100644 Assets/Mirror/Runtime/NetworkWriterPool.cs.meta create mode 100644 Assets/Mirror/Runtime/Pool.cs create mode 100644 Assets/Mirror/Runtime/Pool.cs.meta create mode 100644 Assets/Mirror/Runtime/RemoteCallHelper.cs create mode 100644 Assets/Mirror/Runtime/RemoteCallHelper.cs.meta create mode 100644 Assets/Mirror/Runtime/SnapshotInterpolation.meta create mode 100644 Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs create mode 100644 Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs.meta create mode 100644 Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs create mode 100644 Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs.meta create mode 100644 Assets/Mirror/Runtime/SyncDictionary.cs create mode 100644 Assets/Mirror/Runtime/SyncDictionary.cs.meta create mode 100644 Assets/Mirror/Runtime/SyncList.cs create mode 100644 Assets/Mirror/Runtime/SyncList.cs.meta create mode 100644 Assets/Mirror/Runtime/SyncObject.cs create mode 100644 Assets/Mirror/Runtime/SyncObject.cs.meta create mode 100644 Assets/Mirror/Runtime/SyncSet.cs create mode 100644 Assets/Mirror/Runtime/SyncSet.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport.meta create mode 100644 Assets/Mirror/Runtime/Transport/FallbackTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/FallbackTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Core.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Dependencies.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Editor.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux/libenet.so create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux/libenet.so.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Windows.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Windows/README.txt create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Windows/README.txt.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Windows/enet.dll create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Windows/enet.dll.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-arm64.a create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-arm64.a.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt.meta create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/version.txt create mode 100644 Assets/Mirror/Runtime/Transport/Ignorance/version.txt.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/MirrorTransport.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef.meta create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION create mode 100644 Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Editor.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Resources.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png create mode 100644 Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs create mode 100644 Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/LRM/package.json create mode 100644 Assets/Mirror/Runtime/Transport/LRM/package.json.meta create mode 100644 Assets/Mirror/Runtime/Transport/LatencySimulation.cs create mode 100644 Assets/Mirror/Runtime/Transport/LatencySimulation.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/MultiplexTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/MultiplexTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs create mode 100644 Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION.meta create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs create mode 100644 Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs.meta create mode 100644 Assets/Mirror/Runtime/Transport/Transport.cs create mode 100644 Assets/Mirror/Runtime/Transport/Transport.cs.meta create mode 100644 Assets/Mirror/Runtime/Utils.cs create mode 100644 Assets/Mirror/Runtime/Utils.cs.meta create mode 100644 Assets/Mirror/Version.txt create mode 100644 Assets/Mirror/Version.txt.meta create mode 100644 Assets/Prefabs.meta create mode 100644 Assets/Prefabs/ServerRow.prefab create mode 100644 Assets/Prefabs/ServerRow.prefab.meta create mode 100644 Assets/Prefabs/picopark.prefab create mode 100644 Assets/Prefabs/picopark.prefab.meta create mode 100644 Assets/Scenes/MainMenu.unity create mode 100644 Assets/Scenes/MainMenu.unity.meta create mode 100644 Assets/ScriptTemplates.meta create mode 100644 Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt create mode 100644 Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt.meta create mode 100644 Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt create mode 100644 Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt.meta create mode 100644 Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt create mode 100644 Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt.meta create mode 100644 Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt create mode 100644 Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt.meta create mode 100644 Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt create mode 100644 Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt.meta create mode 100644 Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt create mode 100644 Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt.meta create mode 100644 Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt create mode 100644 Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt.meta create mode 100644 Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt create mode 100644 Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt.meta create mode 100644 Assets/Scripts/MainmenuController.cs create mode 100644 Assets/Scripts/MainmenuController.cs.meta create mode 100644 Assets/Scripts/NetPlayer.cs create mode 100644 Assets/Scripts/NetPlayer.cs.meta create mode 100644 Assets/Scripts/SliderIndicator.cs create mode 100644 Assets/Scripts/SliderIndicator.cs.meta create mode 100644 Assets/Scripts/hostNew.cs create mode 100644 Assets/Scripts/hostNew.cs.meta create mode 100644 Assets/Scripts/loadingScreen.cs create mode 100644 Assets/Scripts/loadingScreen.cs.meta create mode 100644 LRM.csproj create mode 100644 Mirror.Authenticators.csproj create mode 100644 Mirror.CompilerSymbols.csproj create mode 100644 Mirror.Components.csproj create mode 100644 Mirror.Editor.csproj create mode 100644 Mirror.Examples.csproj create mode 100644 Mirror.Weaver.csproj create mode 100644 Mirror.csproj create mode 100644 SimpleWebTransport.csproj create mode 100644 Telepathy.csproj create mode 100644 Unity.2D.Sprite.Editor.csproj create mode 100644 Unity.2D.Tilemap.Editor.csproj create mode 100644 Unity.CollabProxy.Editor.csproj create mode 100644 Unity.Mirror.CodeGen.csproj create mode 100644 Unity.Rider.Editor.csproj create mode 100644 Unity.TextMeshPro.Editor.csproj create mode 100644 Unity.TextMeshPro.csproj create mode 100644 Unity.Timeline.Editor.csproj create mode 100644 Unity.Timeline.csproj create mode 100644 Unity.VSCode.Editor.csproj create mode 100644 UnityEditor.TestRunner.csproj create mode 100644 UnityEditor.UI.csproj create mode 100644 UnityEngine.TestRunner.csproj create mode 100644 UnityEngine.UI.csproj create mode 100644 kcp2k.csproj create mode 100644 obj/Debug/.NETFramework,Version=v4.7.1.AssemblyAttributes.cs create mode 100644 obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache create mode 100644 obj/Debug/Mirror.Examples.csproj.AssemblyReference.cache create mode 100644 obj/Debug/SimpleWebTransport.csproj.AssemblyReference.cache create mode 100644 obj/Debug/Unity.Mirror.CodeGen.csproj.AssemblyReference.cache create mode 100644 obj/Debug/Unity.TextMeshPro.Editor.csproj.AssemblyReference.cache create mode 100644 obj/Debug/UnityEngine.TestRunner.csproj.AssemblyReference.cache create mode 100644 where-allocations.csproj diff --git a/Assembly-CSharp-Editor.csproj b/Assembly-CSharp-Editor.csproj new file mode 100644 index 0000000..b80fd4a --- /dev/null +++ b/Assembly-CSharp-Editor.csproj @@ -0,0 +1,721 @@ + + + + latest + + + Debug + AnyCPU + 10.0.20506 + 2.0 + + {b7a43d13-c374-302d-8940-a1f8e530fe4c} + Library + Properties + Assembly-CSharp-Editor + v4.7.1 + 512 + . + + + true + full + false + Temp\bin\Debug\ + DEBUG;TRACE;UNITY_2019_3_0;UNITY_2019_3;UNITY_2019;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_LINUX;UNITY_STANDALONE_LINUX;UNITY_STANDALONE;UNITY_STANDALONE_LINUX_API;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;ENABLE_SPATIALTRACKING;ENABLE_MODULAR_UNITYENGINE_ASSEMBLIES;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_LINUX;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;MIRROR;MIRROR_17_0_OR_NEWER;MIRROR_18_0_OR_NEWER;MIRROR_24_0_OR_NEWER;MIRROR_26_0_OR_NEWER;MIRROR_27_0_OR_NEWER;MIRROR_28_0_OR_NEWER;MIRROR_29_0_OR_NEWER;MIRROR_30_0_OR_NEWER;MIRROR_30_5_2_OR_NEWER;MIRROR_32_1_2_OR_NEWER;MIRROR_32_1_4_OR_NEWER;MIRROR_35_0_OR_NEWER;MIRROR_35_1_OR_NEWER;MIRROR_37_0_OR_NEWER;MIRROR_38_0_OR_NEWER;MIRROR_39_0_OR_NEWER;MIRROR_40_0_OR_NEWER;MIRROR_41_0_OR_NEWER;MIRROR_42_0_OR_NEWER;MIRROR_43_0_OR_NEWER;MIRROR_44_0_OR_NEWER;MIRROR_46_0_OR_NEWER;MIRROR_47_0_OR_NEWER;MIRROR_53_0_OR_NEWER;MIRROR_55_0_OR_NEWER;MIRROR_57_0_OR_NEWER;IGNORANCE;IGNORANCE_1;IGNORANCE_1_4;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;NET_STANDARD_2_0 + prompt + 4 + 0169 + False + + + true + true + false + false + false + + + + + + + + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ARModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UNETModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEditor.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/UnityExtensions/Unity/UnityVR/Editor/UnityEditor.VR.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEditor.Graphs.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/PlaybackEngines/LinuxStandaloneSupport/UnityEditor.LinuxStandalone.Extensions.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Library/PackageCache/com.unity.ext.nunit@1.0.0/net35/unity-custom/nunit.framework.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/mscorlib.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Core.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Runtime.Serialization.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.Linq.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.Vectors.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Net.Http.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Microsoft.CSharp.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/System.Data.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/Microsoft.Win32.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.AppContext.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Concurrent.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.NonGeneric.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Specialized.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Annotations.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.EventBasedAsync.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.TypeConverter.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Console.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Data.Common.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Contracts.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Debug.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.FileVersionInfo.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Process.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.StackTrace.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TextWriterTraceListener.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Tools.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TraceSource.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Drawing.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Dynamic.Runtime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Calendars.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Compression.ZipFile.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.DriveInfo.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Watcher.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.IsolatedStorage.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.MemoryMappedFiles.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Pipes.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.UnmanagedMemoryStream.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Expressions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Parallel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Queryable.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Http.Rtc.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NameResolution.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NetworkInformation.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Ping.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Requests.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Security.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Sockets.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebHeaderCollection.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.Client.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ObjectModel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.ILGeneration.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.Lightweight.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Reader.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.ResourceManager.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Writer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.CompilerServices.VisualC.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Handles.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.RuntimeInformation.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Numerics.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Formatters.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Json.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Xml.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Claims.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Algorithms.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Csp.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Encoding.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.X509Certificates.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Principal.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.SecureString.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Duplex.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Http.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.NetTcp.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Security.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.RegularExpressions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Overlapped.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.Parallel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Thread.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.ThreadPool.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Timer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ValueTuple.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.ReaderWriter.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.XDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlSerializer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/netstandard.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/UnityScript.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/UnityScript.Lang.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/MonoBleedingEdge/lib/mono/unityscript/Boo.Lang.dll + + + + + {794ed552-07b4-f11d-7366-ef1425d6d5d5} + Assembly-CSharp + + + {baa2589a-d157-c0a3-002d-be633f433da7} + UnityEditor.TestRunner + + + {5d672036-b303-8d98-f4db-c977b475c6f2} + UnityEngine.TestRunner + + + {533199e0-035b-b106-d535-d93fe9aeea08} + Unity.Timeline.Editor + + + {7e3a9708-574f-f809-b966-c5b7ec3f91a7} + Mirror.Weaver + + + {0c9389be-bc21-f173-bc53-1836cfd21b9e} + Unity.VSCode.Editor + + + {06d3891d-7e54-0165-ab21-990a195a8ea0} + Mirror.Authenticators + + + {c3fd6ccb-0e34-cb84-f45c-a0a5b5346b75} + Mirror.Components + + + {1d1c4363-d4dc-90d5-4b63-6b3bf57e146b} + Mirror.Examples + + + {1a877a05-c390-8d4f-0281-9c52b1040235} + Mirror.CompilerSymbols + + + {2ba436fb-75e3-28e6-311a-9da88a14fba9} + Unity.TextMeshPro.Editor + + + {1a356b3a-d31e-3350-c514-470dfa96d5c8} + where-allocations + + + {779772c6-608b-44d7-da1a-f2b38bd2f9b6} + UnityEngine.UI + + + {626a637e-6afe-97f0-9fd0-95b0bb04b632} + LRM + + + {5b2d7a62-8e2c-4d7f-06c7-1d15a86edf92} + Unity.Timeline + + + {d9b84d7e-6b8e-4b6f-1f08-0c556ec5fbfc} + Unity.CollabProxy.Editor + + + {6d2f51d2-1ac4-e809-ec4f-893ec41a9c18} + Telepathy + + + {697a9ea7-0789-5e8a-cd1f-a1c0d2c40c50} + Unity.Rider.Editor + + + {0f940bd2-732e-d4ba-3ad8-f7b21201a69b} + Mirror + + + {e236b30d-5074-92cb-40e7-21dea2ea8108} + Unity.2D.Sprite.Editor + + + {44e08a38-511b-ef34-9fbc-6bb7267f9200} + Unity.2D.Tilemap.Editor + + + {011a6312-392b-56be-4e4c-e67f9346e94f} + Mirror.Editor + + + {75dea445-e506-a59d-b73f-38a0add93459} + kcp2k + + + {98dbf456-ac72-bf0b-9024-c3fe345d6428} + SimpleWebTransport + + + {3fefc22c-d458-d273-9057-6267b53e6cc9} + Unity.TextMeshPro + + + {d5284a81-f67c-7e2c-3e13-cdac4bdbd32c} + UnityEditor.UI + + + + + diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 2a47aba..666f0e4 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -2,8 +2,6 @@ latest - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Tools/RoslynScripts - unity_csc.sh Debug @@ -11,7 +9,7 @@ 10.0.20506 2.0 - {52D54E79-B407-1DF1-7366-EF1425D6D5D5} + {794ed552-07b4-f11d-7366-ef1425d6d5d5} Library Properties Assembly-CSharp @@ -24,16 +22,7 @@ full false Temp\bin\Debug\ - DEBUG;TRACE;UNITY_2019_3_0;UNITY_2019_3;UNITY_2019;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_LINUX;UNITY_STANDALONE_LINUX;UNITY_STANDALONE;UNITY_STANDALONE_LINUX_API;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;ENABLE_SPATIALTRACKING;ENABLE_MODULAR_UNITYENGINE_ASSEMBLIES;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_LINUX;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER - prompt - 4 - 0169 - False - - - pdbonly - true - Temp\bin\Release\ + DEBUG;TRACE;UNITY_2019_3_0;UNITY_2019_3;UNITY_2019;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_LINUX;UNITY_STANDALONE_LINUX;UNITY_STANDALONE;UNITY_STANDALONE_LINUX_API;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;ENABLE_SPATIALTRACKING;ENABLE_MODULAR_UNITYENGINE_ASSEMBLIES;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_LINUX;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;MIRROR;MIRROR_17_0_OR_NEWER;MIRROR_18_0_OR_NEWER;MIRROR_24_0_OR_NEWER;MIRROR_26_0_OR_NEWER;MIRROR_27_0_OR_NEWER;MIRROR_28_0_OR_NEWER;MIRROR_29_0_OR_NEWER;MIRROR_30_0_OR_NEWER;MIRROR_30_5_2_OR_NEWER;MIRROR_32_1_2_OR_NEWER;MIRROR_32_1_4_OR_NEWER;MIRROR_35_0_OR_NEWER;MIRROR_35_1_OR_NEWER;MIRROR_37_0_OR_NEWER;MIRROR_38_0_OR_NEWER;MIRROR_39_0_OR_NEWER;MIRROR_40_0_OR_NEWER;MIRROR_41_0_OR_NEWER;MIRROR_42_0_OR_NEWER;MIRROR_43_0_OR_NEWER;MIRROR_44_0_OR_NEWER;MIRROR_46_0_OR_NEWER;MIRROR_47_0_OR_NEWER;MIRROR_53_0_OR_NEWER;MIRROR_55_0_OR_NEWER;MIRROR_57_0_OR_NEWER;IGNORANCE;IGNORANCE_1;IGNORANCE_1_4;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169 @@ -47,571 +36,662 @@ false + + + + + + + + + + + + + + + + + + + + + + - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.dll + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UNETModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEditor.dll + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEditor.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll + + + /media/RocketSpeed/Unity_Projects/NanoPark/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/ref/2.0.0/netstandard.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/Microsoft.Win32.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.AppContext.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Concurrent.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.NonGeneric.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Specialized.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.EventBasedAsync.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.TypeConverter.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Console.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Data.Common.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Contracts.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Debug.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.FileVersionInfo.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Process.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.StackTrace.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TextWriterTraceListener.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Tools.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TraceSource.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Tracing.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Drawing.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Dynamic.Runtime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Calendars.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Compression.ZipFile.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Compression.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.DriveInfo.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Watcher.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.IsolatedStorage.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.MemoryMappedFiles.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Pipes.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.UnmanagedMemoryStream.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Expressions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Parallel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Queryable.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Http.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NameResolution.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NetworkInformation.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Ping.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Requests.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Security.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Sockets.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebHeaderCollection.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.Client.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ObjectModel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Reader.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.ResourceManager.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Writer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.CompilerServices.VisualC.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Handles.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.RuntimeInformation.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Numerics.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Formatters.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Json.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Xml.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Claims.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Algorithms.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Csp.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Encoding.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Primitives.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.X509Certificates.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Principal.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.SecureString.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.Extensions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.RegularExpressions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Overlapped.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.Parallel.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Thread.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.ThreadPool.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Timer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ValueTuple.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.ReaderWriter.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.XDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlDocument.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlSerializer.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/Extensions/2.0.0/System.Numerics.Vectors.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/Extensions/2.0.0/System.Runtime.InteropServices.WindowsRuntime.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.ComponentModel.Composition.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Core.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Data.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Drawing.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.IO.Compression.FileSystem.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Net.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Numerics.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Runtime.Serialization.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.ServiceModel.Web.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Transactions.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Web.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Windows.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.Linq.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.Serialization.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.dll + + + /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/mscorlib.dll - - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.Timeline.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.VSCode.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.TextMeshPro.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/UnityEngine.UI.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.Timeline.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.CollabProxy.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.Rider.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.2D.Sprite.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.2D.Tilemap.Editor.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/Unity.TextMeshPro.dll - - - /media/RocketSpeed/Unity_Projects/NanoPark/Library/ScriptAssemblies/UnityEditor.UI.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UNETModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/ref/2.0.0/netstandard.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/Microsoft.Win32.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.AppContext.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Concurrent.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.NonGeneric.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.Specialized.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Collections.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.EventBasedAsync.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.TypeConverter.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ComponentModel.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Console.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Data.Common.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Contracts.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Debug.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.FileVersionInfo.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Process.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.StackTrace.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TextWriterTraceListener.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Tools.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.TraceSource.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Diagnostics.Tracing.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Drawing.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Dynamic.Runtime.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Calendars.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.Extensions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Globalization.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Compression.ZipFile.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Compression.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.DriveInfo.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.Watcher.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.FileSystem.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.IsolatedStorage.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.MemoryMappedFiles.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.Pipes.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.UnmanagedMemoryStream.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.IO.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Expressions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Parallel.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.Queryable.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Linq.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Http.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NameResolution.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.NetworkInformation.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Ping.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Requests.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Security.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.Sockets.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebHeaderCollection.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.Client.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Net.WebSockets.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ObjectModel.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Extensions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Reflection.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Reader.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.ResourceManager.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Resources.Writer.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.CompilerServices.VisualC.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Extensions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Handles.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.RuntimeInformation.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.InteropServices.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Numerics.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Formatters.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Json.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.Serialization.Xml.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Runtime.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Claims.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Algorithms.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Csp.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Encoding.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.Primitives.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Cryptography.X509Certificates.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.Principal.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Security.SecureString.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.Extensions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.Encoding.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Text.RegularExpressions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Overlapped.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.Parallel.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Tasks.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Thread.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.ThreadPool.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.Timer.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Threading.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.ValueTuple.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.ReaderWriter.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XDocument.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.XDocument.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XPath.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlDocument.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netstandard/System.Xml.XmlSerializer.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/Extensions/2.0.0/System.Numerics.Vectors.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/Extensions/2.0.0/System.Runtime.InteropServices.WindowsRuntime.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.ComponentModel.Composition.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Core.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Data.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Drawing.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.IO.Compression.FileSystem.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Net.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Numerics.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Runtime.Serialization.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.ServiceModel.Web.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Transactions.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Web.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Windows.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.Linq.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.Serialization.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.Xml.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/System.dll - - - /home/warlock/Unity/Hub/Editor/2019.3.0f6/Editor/Data/NetStandard/compat/2.0.0/shims/netfx/mscorlib.dll - + + {533199e0-035b-b106-d535-d93fe9aeea08} + Unity.Timeline.Editor + + + {7e3a9708-574f-f809-b966-c5b7ec3f91a7} + Mirror.Weaver + + + {0c9389be-bc21-f173-bc53-1836cfd21b9e} + Unity.VSCode.Editor + + + {06d3891d-7e54-0165-ab21-990a195a8ea0} + Mirror.Authenticators + + + {c3fd6ccb-0e34-cb84-f45c-a0a5b5346b75} + Mirror.Components + + + {1d1c4363-d4dc-90d5-4b63-6b3bf57e146b} + Mirror.Examples + + + {1a877a05-c390-8d4f-0281-9c52b1040235} + Mirror.CompilerSymbols + + + {2ba436fb-75e3-28e6-311a-9da88a14fba9} + Unity.TextMeshPro.Editor + + + {1a356b3a-d31e-3350-c514-470dfa96d5c8} + where-allocations + + + {779772c6-608b-44d7-da1a-f2b38bd2f9b6} + UnityEngine.UI + + + {626a637e-6afe-97f0-9fd0-95b0bb04b632} + LRM + + + {5b2d7a62-8e2c-4d7f-06c7-1d15a86edf92} + Unity.Timeline + + + {d9b84d7e-6b8e-4b6f-1f08-0c556ec5fbfc} + Unity.CollabProxy.Editor + + + {6d2f51d2-1ac4-e809-ec4f-893ec41a9c18} + Telepathy + + + {697a9ea7-0789-5e8a-cd1f-a1c0d2c40c50} + Unity.Rider.Editor + + + {0f940bd2-732e-d4ba-3ad8-f7b21201a69b} + Mirror + + + {e236b30d-5074-92cb-40e7-21dea2ea8108} + Unity.2D.Sprite.Editor + + + {44e08a38-511b-ef34-9fbc-6bb7267f9200} + Unity.2D.Tilemap.Editor + + + {011a6312-392b-56be-4e4c-e67f9346e94f} + Mirror.Editor + + + {75dea445-e506-a59d-b73f-38a0add93459} + kcp2k + + + {98dbf456-ac72-bf0b-9024-c3fe345d6428} + SimpleWebTransport + + + {3fefc22c-d458-d273-9057-6267b53e6cc9} + Unity.TextMeshPro + + + {d5284a81-f67c-7e2c-3e13-cdac4bdbd32c} + UnityEditor.UI + - EdSt> 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 zΜ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\SXk%MUzjX=o~PMdk0!X4f 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


e(T^& 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

x%)IRmb# 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%0DCZt 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

_-pYn!~#t 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

+ /// This is called on the server when a networked scene finishes loading. + /// + /// Name of the new scene. + public override void OnRoomServerSceneChanged(string sceneName) + { + // spawn the initial batch of Rewards + if (sceneName == GameplayScene) + { + Spawner.InitialSpawn(); + } + } + + /// + /// Called just after GamePlayer object is instantiated and just before it replaces RoomPlayer object. + /// This is the ideal point to pass any data like player name, credentials, tokens, colors, etc. + /// into the GamePlayer object as it is about to enter the Online scene. + /// + /// + /// + /// true unless some code in here decides it needs to abort the replacement + public override bool OnRoomServerSceneLoadedForPlayer(NetworkConnection conn, GameObject roomPlayer, GameObject gamePlayer) + { + PlayerScore playerScore = gamePlayer.GetComponent(); + playerScore.index = roomPlayer.GetComponent().index; + return true; + } + + public override void OnRoomStopClient() + { + base.OnRoomStopClient(); + } + + public override void OnRoomStopServer() + { + base.OnRoomStopServer(); + } + + /* + This code below is to demonstrate how to do a Start button that only appears for the Host player + showStartButton is a local bool that's needed because OnRoomServerPlayersReady is only fired when + all players are ready, but if a player cancels their ready state there's no callback to set it back to false + Therefore, allPlayersReady is used in combination with showStartButton to show/hide the Start button correctly. + Setting showStartButton false when the button is pressed hides it in the game scene since NetworkRoomManager + is set as DontDestroyOnLoad = true. + */ + + bool showStartButton; + + public override void OnRoomServerPlayersReady() + { + // calling the base method calls ServerChangeScene as soon as all players are in Ready state. +#if UNITY_SERVER + base.OnRoomServerPlayersReady(); +#else + showStartButton = true; +#endif + } + + public override void OnGUI() + { + base.OnGUI(); + + if (allPlayersReady && showStartButton && GUI.Button(new Rect(150, 300, 120, 20), "START GAME")) + { + // set to false to hide it in the game scene + showStartButton = false; + + ServerChangeScene(GameplayScene); + } + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs.meta b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs.meta new file mode 100644 index 0000000..d8f5760 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e7d8650c751710349bb9546d1697b9cb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs new file mode 100644 index 0000000..d59e554 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + [AddComponentMenu("")] + public class NetworkRoomPlayerExt : NetworkRoomPlayer + { + public override void OnStartClient() + { + // Debug.LogFormat(LogType.Log, "OnStartClient {0}", SceneManager.GetActiveScene().path); + + base.OnStartClient(); + } + + public override void OnClientEnterRoom() + { + // Debug.LogFormat(LogType.Log, "OnClientEnterRoom {0}", SceneManager.GetActiveScene().path); + } + + public override void OnClientExitRoom() + { + // Debug.LogFormat(LogType.Log, "OnClientExitRoom {0}", SceneManager.GetActiveScene().path); + } + + public override void ReadyStateChanged(bool oldReadyState, bool newReadyState) + { + // Debug.LogFormat(LogType.Log, "ReadyStateChanged {0}", newReadyState); + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs.meta b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs.meta new file mode 100644 index 0000000..8e4d135 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomPlayerExt.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41fc608223969754e817c29908fdb1d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs b/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs new file mode 100644 index 0000000..3455519 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs @@ -0,0 +1,110 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + [RequireComponent(typeof(CapsuleCollider))] + [RequireComponent(typeof(CharacterController))] + [RequireComponent(typeof(NetworkTransform))] + [RequireComponent(typeof(Rigidbody))] + public class PlayerController : NetworkBehaviour + { + public CharacterController characterController; + + void OnValidate() + { + if (characterController == null) + characterController = GetComponent(); + } + + void Start() + { + characterController.enabled = isLocalPlayer; + } + + public override void OnStartLocalPlayer() + { + Camera.main.orthographic = false; + Camera.main.transform.SetParent(transform); + Camera.main.transform.localPosition = new Vector3(0f, 3f, -8f); + Camera.main.transform.localEulerAngles = new Vector3(10f, 0f, 0f); + } + + void OnDisable() + { + if (isLocalPlayer && Camera.main != null) + { + Camera.main.orthographic = true; + Camera.main.transform.SetParent(null); + Camera.main.transform.localPosition = new Vector3(0f, 70f, 0f); + Camera.main.transform.localEulerAngles = new Vector3(90f, 0f, 0f); + } + } + + [Header("Movement Settings")] + public float moveSpeed = 8f; + public float turnSensitivity = 5f; + public float maxTurnSpeed = 150f; + + [Header("Diagnostics")] + public float horizontal; + public float vertical; + public float turn; + public float jumpSpeed; + public bool isGrounded = true; + public bool isFalling; + public Vector3 velocity; + + void Update() + { + if (!isLocalPlayer) + return; + + horizontal = Input.GetAxis("Horizontal"); + vertical = Input.GetAxis("Vertical"); + + // Q and E cancel each other out, reducing the turn to zero + if (Input.GetKey(KeyCode.Q)) + turn = Mathf.MoveTowards(turn, -maxTurnSpeed, turnSensitivity); + if (Input.GetKey(KeyCode.E)) + turn = Mathf.MoveTowards(turn, maxTurnSpeed, turnSensitivity); + if (Input.GetKey(KeyCode.Q) && Input.GetKey(KeyCode.E)) + turn = Mathf.MoveTowards(turn, 0, turnSensitivity); + if (!Input.GetKey(KeyCode.Q) && !Input.GetKey(KeyCode.E)) + turn = Mathf.MoveTowards(turn, 0, turnSensitivity); + + if (isGrounded) + isFalling = false; + + if ((isGrounded || !isFalling) && jumpSpeed < 1f && Input.GetKey(KeyCode.Space)) + { + jumpSpeed = Mathf.Lerp(jumpSpeed, 1f, 0.5f); + } + else if (!isGrounded) + { + isFalling = true; + jumpSpeed = 0; + } + } + + void FixedUpdate() + { + if (!isLocalPlayer || characterController == null) + return; + + transform.Rotate(0f, turn * Time.fixedDeltaTime, 0f); + + Vector3 direction = new Vector3(horizontal, jumpSpeed, vertical); + direction = Vector3.ClampMagnitude(direction, 1f); + direction = transform.TransformDirection(direction); + direction *= moveSpeed; + + if (jumpSpeed > 0) + characterController.Move(direction * Time.fixedDeltaTime); + else + characterController.SimpleMove(direction); + + isGrounded = characterController.isGrounded; + velocity = characterController.velocity; + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs.meta b/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs.meta new file mode 100644 index 0000000..74f8f95 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/PlayerController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24fd13686a451ad498101a604d134e39 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs b/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs new file mode 100644 index 0000000..fdd57de --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + public class PlayerScore : NetworkBehaviour + { + [SyncVar] + public int index; + + [SyncVar] + public uint score; + + void OnGUI() + { + GUI.Box(new Rect(10f + (index * 110), 10f, 100f, 25f), $"P{index}: {score.ToString("0000000")}"); + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs.meta b/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs.meta new file mode 100644 index 0000000..7b1502f --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/PlayerScore.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1ba998ee2eff92a419f4377519caf095 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs b/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs new file mode 100644 index 0000000..68a6a69 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs @@ -0,0 +1,32 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + public class RandomColor : NetworkBehaviour + { + public override void OnStartServer() + { + base.OnStartServer(); + color = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f); + } + + // Color32 packs to 4 bytes + [SyncVar(hook = nameof(SetColor))] + public Color32 color = Color.black; + + // Unity clones the material when GetComponent().material is called + // Cache it here and destroy it in OnDestroy to prevent a memory leak + Material cachedMaterial; + + void SetColor(Color32 _, Color32 newColor) + { + if (cachedMaterial == null) cachedMaterial = GetComponentInChildren().material; + cachedMaterial.color = newColor; + } + + void OnDestroy() + { + Destroy(cachedMaterial); + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs.meta b/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs.meta new file mode 100644 index 0000000..be310a0 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/RandomColor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1e6a8bf08f02e254aa9a52ef0aaa1553 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/Reward.cs b/Assets/Mirror/Examples/Room/Scripts/Reward.cs new file mode 100644 index 0000000..b21e245 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/Reward.cs @@ -0,0 +1,54 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + [RequireComponent(typeof(RandomColor))] + public class Reward : NetworkBehaviour + { + public bool available = true; + public RandomColor randomColor; + + void OnValidate() + { + if (randomColor == null) + randomColor = GetComponent(); + } + + [ServerCallback] + void OnTriggerEnter(Collider other) + { + if (other.gameObject.CompareTag("Player")) + { + ClaimPrize(other.gameObject); + } + } + + // This is called from PlayerController.CmdClaimPrize which is invoked by PlayerController.OnControllerColliderHit + // This only runs on the server + public void ClaimPrize(GameObject player) + { + if (available) + { + // This is a fast switch to prevent two players claiming the prize in a bang-bang close contest for it. + // First hit turns it off, pending the object being destroyed a few frames later. + available = false; + + Color32 color = randomColor.color; + + // calculate the points from the color ... lighter scores higher as the average approaches 255 + // UnityEngine.Color RGB values are float fractions of 255 + uint points = (uint)(((color.r) + (color.g) + (color.b)) / 3); + // Debug.LogFormat(LogType.Log, "Scored {0} points R:{1} G:{2} B:{3}", points, color.r, color.g, color.b); + + // award the points via SyncVar on the PlayerController + player.GetComponent().score += points; + + // spawn a replacement + Spawner.SpawnReward(); + + // destroy this one + NetworkServer.Destroy(gameObject); + } + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/Reward.cs.meta b/Assets/Mirror/Examples/Room/Scripts/Reward.cs.meta new file mode 100644 index 0000000..879bc7d --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/Reward.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a22f9eb8ebad79e47babf4c051a714ee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/Spawner.cs b/Assets/Mirror/Examples/Room/Scripts/Spawner.cs new file mode 100644 index 0000000..dc1d4dc --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/Spawner.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + internal class Spawner + { + internal static void InitialSpawn() + { + if (!NetworkServer.active) return; + + for (int i = 0; i < 10; i++) + SpawnReward(); + } + + internal static void SpawnReward() + { + if (!NetworkServer.active) return; + + Vector3 spawnPosition = new Vector3(Random.Range(-19, 20), 1, Random.Range(-19, 20)); + NetworkServer.Spawn(Object.Instantiate(((NetworkRoomManagerExt)NetworkManager.singleton).rewardPrefab, spawnPosition, Quaternion.identity)); + } + } +} diff --git a/Assets/Mirror/Examples/Room/Scripts/Spawner.cs.meta b/Assets/Mirror/Examples/Room/Scripts/Spawner.cs.meta new file mode 100644 index 0000000..d4103d6 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/Spawner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0bf5c082d04f7ea459fcd30e60b5bd70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks.meta b/Assets/Mirror/Examples/Tanks.meta new file mode 100644 index 0000000..bee4222 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6dc5104926d44c9296aec7699989ac3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models.meta b/Assets/Mirror/Examples/Tanks/Models.meta new file mode 100644 index 0000000..c94259a --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6878aacf12b204d03a94f71e49f9ad60 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank.meta new file mode 100644 index 0000000..93b0075 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8b3e43538fc240feb28e07816c7e733 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd4bee1a09ee33116fd4766157857e238ac497b GIT binary patch literal 939498 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≺_cNzcoF8cN5|<^ zrQ8B*U+7emvvia1=(UGW07JxboeQpsY$pZx{-B{!kYkT4b~n=d3v_Ij_Z@RCS8O^zBy1tR@dm|HQvsb!cVLI5cRbqGNZg~Qh8Tv4LHn$h-x8`gnhAuT5J-&Gq zCW8LTA*4d0S7ppf&M57faMboJy{Wdp+fX-S{Pyts(nt8-ePxFOd{Bm+0UV|*ZupxK zWx7CNv%C)BWIhZ^=SgQMZff)*ePdS*;W@{+@DeCEWvk+C5^jQZ=VjE7jT3GsUe|u=EI0vv26UXZgx9xQ9-K{4 zKzQHP$u!;!XZvkgZd<_*(j5=0y$S_xfGpyT3D&t=N4Z$L!W!CBnij7vHr zU|qPze6Wr*&e;*0Mfv1B_iz^sKr@;9;&k5ir482Iz4*u8XNWJH z;?pf>ZJ`||W~4YnC$?$Mb-Nemhs~Wmbr#Jg_aRj)Zfl!F4B9{J{WiX$H<$#!<{^sK2*A;^_z2#J3*@Xa@lq->ajlJ$JX`{Pwq6wgoAq)pou zpaw~lYew#I0J~3U^uUpwcK_LqP1E6c6v6e*NV(M=)8_ZdYe+mg5>!-n1yMghyT3NLi5`S0E zh1{K3mBwO#Tr@Q?0Oipzq8s0Je4>t)DWNS^eNN}F!8WupXew~6M71-{)$@c;Vtsa6 zwlM(z!n}%^+^_NXOwOL zj^?JFdGfVm`S*p&ks4Wl8=Udei~ZJgX2Z6JarrBRoo#zd>u&MrvRrz)}^+#H*evrwMDLMdL>h5MbV@)Um(kJ{nAI>6Z!uM9$8)ha44FKc@Er8E?s`PxpHZ+z()c5*A_LsrW!1DcQHnH z^>e*j*A{WY1lo^*0srp3&!)-fqKTd0)cD*{R~~^3*&>C$_js=#9ab+ioG<~OD2V}q zII!wVo%LpKq4iR{Xckl0H*iS8Pxea=&!uy9!(azE^e%3QVQ#`xjrfhESJfo;$ zxZ7m`>lm|B{(a)Hk}_@lH$e5UMpnAgq{f+i;(mUQal^w#4(5bC5diwUBg|sVQCDu{ zeNtv<#hZOf19gC8FA6L}AmR1+u_boR7w^l2A8jP4a6v(69qHLTV_e`#!@-;{E|Gx; z5Jz9?a4V0to8Whrmag74P5!&jODm|;Hj`I&fZs3eoMC|Ce}5iH0-<eeLnZJ;>)K zlQtTNyx7Xqib#r&T1Et`;Kcp{49>*;H`EZmoKAoMmB#T3-2}h5s3v|H)Ff|SmCUch ztcL0c`E4`{On;X05`C#=^)3Y(5PDcXMIKvAA}05a7&SIUN}T~qRR(`tg~$$nZ(J74+b+C8NY+HCIfM(j&5JACKmnP)7gGxro*dGZPRk_`t(7^ZcIqJp-Y6ZBE=T^fUZ8_G(dzP#+LcTixXOx^nX&?M{b@Q9($)vIG{PhfPpj`Teo%l$fA zt-Ct=9fRPz5Hki8TeK(7BO!6e!S@q|JLVBt6GE0D*A3yP>}<2C;g?l+BQ)ntOoq6) z>Z&5NQ`yg`N6Y8QJdGDU63Y<{9$WQd;lhjR zpI9WN4kfj>k1FrlI!#dn3%KtoODOy&sEyr6*VkKy*}z&DHTql)@0%%Y%js8lAvFT! z5o}#~cQ9;}XH?(F5KlsEXFN|kKK=m|oT5o2wo={Jj_zpu8|VD+1%^Z$-#pBBkaPEMb7E34C89K}je6=v6gimqN+x|iM|K&ZnL5mn z0kc?jZ~M)c1hh$N>4a&o??K7oT$Xzi}M=}J*u3a54Pgf^h4SwAHCh9R|>TIWqo z@a4Gjl9(gF1yu!qSPlM=qRNCRmdQS=5h4|#hY;;G7eWzO923am(NK4@9Ug1z;MSjd#wZIdP+iS(Ty2% z-0D2xKP}S#Jult|*-=)*&wuH?oNh$4>D=Y3SHDdXDp-O%WK ztk<_L4cbkygZ1>-7AvNH;=Dh*!DXM+L*G)bjVr#9k!Gg`K_(Mod(Es1GRK;(9hOzY zy1_XMmqqJY-g>eq#Ng#DW5}1j_KTJj^*GZgaP#e-CqIu?7W~tVu4b(6CRdKtm;5#w zUYAr?2m~@pkg;dzlq4Ni~CyHSqG3>F96 zM2nP^{TyTGZwHuOvA1+|JRbQ1>V98uHfkeXTTDWHiw0VX)}+++n%&duhppKN;vu;C zCB_9dEPcq-UjqG;7&A+qbiG9OUvv`Vg6_L6KyoibRq(8_wMcaQ!M}6ks z|KAI6pqk)B7P;}?W+5oWUj`q5(?Oux@6V^oy`Q&~2$D0!zYY`O{V^cJEB1ga+F;~4 zqg+wcEv9AN23d1hmE?d@C&d!AJQusC_JXd&;;<&Yp;li_obg>_>m&CPwiPJAsFHSr zlUbnu(UT*7Zg`7&1^qI3CNzma7U=3wA)5|hS`MmROt!m;{k4_ELednU=NCqv>pC)M z`+Q~ta88}2`r)_XU(Rem4oKW6Tf>#cuV3$cK#x3n(WJ(0L`WY84a2| zaH~fuRm{505B8)1mYX5`d$fW`5RT4b^E@JMY4Caa`>O>9xsFySx7bmLSpprWjJx5XVx}robOMiq#40UENQp z3vhyVgs|lDDsWx5->)TOxeEyEn;(4^IR8=K_UEb0&+pfT1so!+Z<*N>&cmBKo~fY@ zjJk80%X2=xm|vRZbxq>?yYLC6n!urP=bh6wbGLZGLJ07F5W}+u1oH!*MC{O`Yp#Fe zyK(Ipv--E;6c$eRZD+H|q^y~IB<@!L66U3wcH;hboas@#_jmhrhf#IOuZGWiXr$0k z0zSh30e;%fg-~PX1K6J4fS?H`_Od)a_)TbjPo?z2lm9$5Z!GGQZ<+!fpR_(Lj;NL^ zBH@RK10BaZ9c$r=Xobnxts~UeRKdopeGg^7he0?q&+?IH52MIOgt5^2=w8axcbI`5 zjvm2~ZP&y5c)+qh&kboaO-Q2l&Ivs}+rbJx`{eC;AQ`SamZEyj6|`*Yh1mDx%Ov`= zL9@$0fy5VIqxGaa^=!|j8&8IjLq)z>u ztHZGR<4mm~UI>H<4t`i3oo1e{k@y570GqR1nm8##u4kzgp^W(-!1?tS%B%q;TaQay zcm^2`h>l-C3iy{#+AX>m?fl&G#Ou5|{$>p6oRmfLI~uCc4Q9TBzirkM1^lu)AUUvVx5`wqNLdjLdg>{(04V z6#I4Ir~+>IYzhQ5Q0J`b{BjThrYIG}tvoP03nQ2ey=IuAGp~#)2_e)*PQvq2<&^#v zJzA$EW->Ysu>K<|fw-RJ`K2B(3xRPPbZS-bmfUih6s^0ClBi>2DocsR9z3f!dt^Dr zqtnH{;&PtaB{X&69(%& zIEg(n10&iGj0wOHI&2gZ?O@=9;C=m0n-O1Za5deK2COAx?5rYRX%xq?A@^>Q>&w94`0x$$Ir_AZ!s$5 z3=|uXP>Gf)FXKsskjBnn?>|$0c2qyBH-F?C@MoBrxOsce&%;6H-XB^BC<4{6Gqo22 z0V;G*~b3I^)X4*{t`*gjtjVFw@$%P}W zw_#JON)8c%`DTz@B&aV)8TNUuj2Em~-(i_Pe&s7aq3dJ%Ir9?Nt!|SK(^|9_W(kqU z_-kReChl{T=cDhvdHM*+sRbnh(F#^QYcyr#B=|Uy=`2$A>+V9e$w|HTFYa!8+X-a< z8Q(Jg`c7&IL>|ioBIkDGQQ;gxt2m{{M;ycGA|hP_Y#iTB9a5m!HG52Biwc~4b)36h`$NFi{>HW-$~~Eq#Ss_DMz!M{vIF@QHW*wy6|~<{_F`E z2N5NU%`(8!D(CIteSQyyNJfuzisL8Pwown?K1F2pKY+Rg^+E%c9+gJWmVn4=xJ-*lBiw&h(DF&Gai&OV%_g<{c zy1wu`JJXY=nZt5F)p|@rGmGef8PgGnS9iO}wV8{G0DZmK1Eg}&%4kD*2APkh*&8&+ zK-qtoz8OOH`wLEuFP@#(EZa0qTZA*9XPvt#CeLJz9WA#Oi)ZvCB=N*z{`wY@cgwSk}U`z%lJs!f0XwbyHNvX05p zD>v+w6ZPctC6ka>lqC$n3wh&Z0PM$muvh6m=?mgL4kGDU{6qj_&kFWih`&4w z21BOq+r>`V+S2^VQqYT0K!cmPCjlP8q%0k#`aIqmK~mW`ibO!UsHDMR%x&BK zvAjbcvfwQt=-bH}wyH1+Vm_ ze7^VwlA(rl2xspFN4>B7+)JIL#qg^iC9fgQnn(-oLH4jZ28OVg(O?<17*_1=elNn> z>;q_}a4U&bRK##j=rra29qGN9Bk>6;hDYI||6DqF^YuOty^mG3_>C6cJdOx}hFjGK zDZt?HuA9X;>WzCer1552g9j2ZgbE&K;g1xG7%wiD{)NNE@DbxLPj*=YSqM;q>A%i% zScwsiBlsvyGbxA0Mf3jr&1<`iD;ROHHPgrtWAf9GdP4$i^SJZR3Bda1=&WvOpSke1 zOB*L4076!lc!)Tp9sKEyNE$>(=5T!*Q(BU~6awo(85s$y7=2lAdHmXogOephT*H1j z?ke>g%iWr6u(q}uo?(Mbl&ocI^8o*UnXLM2g+FrTJ!uDxW8XxWrGu6AcqLL4Vm0|> zir7Hp)$aFI@VI$DlFxQUhnJ zxs>E)>78Fx=_)V?rxA4Q8V#vlVyWHsmFb_sQk9iHx4`g0>?SA9L#N{7N^V1^HnQ|% zRB@B7Q)hc|f7HbLWtZ4vYRC`o^yKg4Iz2iZ1OsSPiowV$4$^&M*T~BPRbt?~$FDp$ zcoY?Jww|srsNw*WqFYPd*(o6<1~vNPExN4uzV^}EJi%JKL5!JjbHMB4MMX|#YT{A; z7-w4-b@;~o3lo9?nR3v7adr{|xn_l!|6m^$^2D5k9Gc~hL&&%W^A2DVZj>>$h6*u# zCkMCx#&V7-^%I~;&FP82+SO?K261wSBJu^V|1MdsZt6W z4)+dj_!GL#qmcHE(lPMw`I(27+SMhamAm8FZUck*Y2(R6dc6J<02%E!vtM0HPEiNLJ==3lodQpFG4d4&sC0v8M;`!^@!+EvG~)awHpnbcs|yYqa!E# zy-mzV(J;x*Rgs=e%(U5Y3-^Q2k44?5JK_Iu{xBM#ISncOM^EGsr2uJc`Y>#&E7c2;@9Ypi zoSC_^x{v!XPNfn0{gq?<`7EV;`EM&e~5z&H3F~C`TwB z;;(0kN6VsRD+`G=e^EL6qGkXdHK7K!__^*}Ev9AMITUC9xK}v1R;$R8nXiNoAr#iY z+QjV8F-#ns857c_z}Pd$u!$|UkKLrJ3!_q+VPg>~6Tz{54>HEfi1CXN00wO1CCd`e zdDfpe%$Gr-Q+I`WE?ZpehQ*R}3hw!v(<+rB2j)G#di{Dnis9tspy#2tN%0Zjp!m-52p;Nh(?RfGlOlmM zR}3Qw@GUR3*!L<2H$t*t#hoRg&)^V9wlmjL705`gQ^w>ZmHp$bW|+k!5qLvPLbcEU zdT}F|FLS?99Ib4T;gV}~&YLNWx6E$~A=K9W6*cp~VTt-u8JyzX67 z4W&UF&1i&D|7sovbL0LZ&3+qZNDsp2{H5md5ms9(>z7@YObtJ>ziaDA6QcPm3aMa`}NGy?Vo4iK2z*k-*mcqj32(SgIY6g zRFPwS+eUzSNx)$AxiAggpxJ}D?DQsKQqGoz}PrnDmMg$Tr8o8=|y`{7x zt4KuL7<$t@=gJm~@A|c6q4&$g)m3j*b9+NpT~kK68G|WHteLK0w6`=zYW$kLj9`4% z!@k1;_7KV?7P4ZGfSZG*Dd2lt}V+1|+_DZ+=T zhS(F82uRRqDqf+Npai}cwForH6;=r>d`Fi(!v`Q7oIXzoxxo73FWPBVF6nLU( z&uMi(HnEEBbBi?6i8pyEA!Ow;X?}fmgPRqOq(L*Y!Q^149g8S`s^*if6i5+Dx?`1n=qtDyi=Rp}d8PRa5H%Zb_Ci%-{A zymOspmu&elksO=se%|o@9=NZ4Oh&(7RV(&+Fpp?Cr%F;ejh-dF5{}A2H!^7luh4VN?GS@gkAwbvLqmBanI)Hd~c!1Hm`HFL5#px6o4 z^`=s35gJtRLnCdr=m^yWkw#S#a^y?R;%$dFmQ?*-EnF(WQI8koj;e6>vfBc-yT=;B zufdI0Vn4oQ*b%9S5{nU^N1vgZWQFrGrHW&iN+X_?Xm0A^c%$=;+V7J4uo%m|gojyg zNdo)mflk-8|LWhtDUjdiN5ZAV6ZB)h_J)VdpB^t$Mqd^NPW{<195Z!BPzFj>AKBtT z`t~jcs7q5uo*%KQ>>A~qsCYam$mw}|8AiEs09DAw!G%uGx!3;=>sO2-KD+a95M@<+d*CfGAbjA# z)`4lUfgZMe%Tv5sRcyXFK1kq%HkYk)s`e8EIJdQI?WG9ywfHW+g#U{(hD(TXdSw4- z6qHYx&YEFk@jjmev4#5#baE*JI)lS)e-<dwljE5)AYySv+H*(4BFIbMK5EL`0KH+A%;rUIBuV{VVpV>8Gd3*IA zuT!77g%nHD6H5MGs1ehkF)Tfh1r##7($EGZ)QbVm~2Mqj(U?Ep4+DfQkN@|LfD*;>>r$_h*xj*usoaJk| z$)O_(n5n6ih7Z8}P`p4_zi0F=G^8jOOH}TkEd3|E+tIX4BU*IWVHW&C3*vz_UniZX zpd@RI5ND;9T0JdQ7rrx{&k33Py7q6~0|e%q8Xu9G01*L++5j#dZD!Z()i77TV-z4W^vIkP5GSlBT;IbZ6l=eeRy+UhGUg|< zNmBCB2cInCky~1uE&{x8=cmqdAN8-h_qVA#0n-KZg@ySE2sm%f&E;X)0cjTUWB1GH zJ!t~@*K$)q#Y*lb-t-X9Jl*~$4;`$b>rH>`!{gmod-vDN8Pdmc79}2(q)Tnt>|n6< zmiJle!w9g~Q+Ml2^0!?}ucL@ff4Hr`%NN6gV3e)3SRA{2gxjF?GHXW{z0k@bKnhkrN2zyG!@-?kqI z&g~sc+=k1&d)4rYU-R!K+2qnyU2gzFw9|NPZfNEGy`!N=49=FV-`A^uqW>UBiuL}T z@m?Vxgc{x5we*!J(R-|vVROX`^&vX*sAIfXaST7dwa9scFHeqFKb^oeABjI7i(Bt_BIc&59#vKSR({-B z-LiZAyEnZ9{2$}$_kc+tg<`M>PXrol2Z)M^Oa<|*yU-8F5IB6&i>V5`EFTLylmRBT zMplkOZc|GG*o9DVHF*ENa zvH$4!4dRcdc-e=xUs@aJnT)rx+x=Y`Zg3LHY2S#N_-=pvSB z7V71rL_!f@6ghJGrJmCHywDSaP6qV}oRj9Se<;piTm5SH~^F+{BNBzY!X@* zTxp z1KVUi)-b^rWBK~RhEiwQM7_v_+p;+Jhpz8wmuM2dPCq{egO7>|BUw0{WUzv&D-HFR z&AHY8kEBS|xK&M-RFKJPwN&_;Cv2Y zVDZacY;Ii4W-%MnhZG<)D%Y@Tf>}#xJ(tMgv%jxTDI63*3t}ND#EJFpI*pQRlo{gc zJrf{O60fxyJm^Yx=iYfu%ysp>Is6~u|H3pb6b})^C&K~zE)2&>Jtd3O;Y)YWHr@{} z*H@1&Cac>2{m>8lcX-|YIdiM|^c?meb9*b0xq+(@|L5FHI1RbHf|Pp>LC0_3%ZEpU zO)V`sNh2^d`f?DKeediQDS^W%%%vJteuxn@Ha{ zce8G@u`e*Bv*55Q5M}%^E1H5Dl2`WW>@}JBiBa$R+*DZ-cGsR>yGP`pgNN*WlF38& zN^Km`Yn!tliJbYeZl11gn;;@>1XcKew-41waM^dDMD7jSL+yl>di;#dtZCFwP|d!R zpYcCqJG+dVv`d~n>USK&6~L~$(Bgw=jP5@@5 zivgooW&5H~$wR*YxAyu4@JO_oCEO9c zV>`YvNB?*cu)}%O%O~nLzP|#1RxIF*DKuU12fw{`%-4R%nHbX=Els4$93HbUcUP5C zGOR$NznyNj`1;phN-6#Ildd0db@g5=TUA}#W2)|J&$W4uJjPtBOW)FrX}+R?`RuOY zrUu|ZL`?BCEkhsLdpVeUBnmM~t)^<;vT-El#?sI=H;vk3aemB8C{4 zLman=*gbs$Z=GOwHy$Phz5kf+y%_jl`~NP!GY;^rAV8}D9>4+Kj>qEwNMSWo{w5Bv zee(S4uf9Cp?vY&`62V+5A)0SRDmdiB)c3vjsm>D+6H(vyP^$JlAY!e}H73`3^ZLbR z977ulRzEQM_r7Kc5|x})g_vuRejM|>)RJGncqw(VI>$hO0Zb4m#%_A~B5lTD9EZyb zuUe;h*bHulM3FfPln~TiPYZ8)2Z$+}Xr2~v2!yGRD?1!9bdiXxDtFPF^}eWxm}qMh zw3(sqXCJdHyzRPS6PTN$=<)W@jRPSK7rR98BoahWFbuz&HwNNs+dxO{~86^O2ia2~R|o_4-+ z7tiWUM`SoRw%Slt1P7-OLP&uFH^i0$6CsFnBPK# z`;CktFtp@b&6yBz?Kg`$AyoBTB}D=R1*qc9tFy|=3qo(6KLBok$V|+*WJQD&+1!ax z!~zo}00UJs1teqwZr!-G#zi?NY^^W&dl#qsX#fue-h=$T6%Pw@&)1=E{M&a~$twTG z`<|Ze8FbLP{@<+u{ttimcYpHJpZ5Lku)pCHkPv}~VbkC!SZz#JbDLVTgQwV=Th4Qr z)@#7qHY{D*4E;sjWi>q>Z+6=&09f)ILM&wt9Eo^dj`MtUuo(I$*Pnmm5Ii~yceh%q zs`kTRX3W$^-hJnIU|7c^LseS~&CeXV6`Ljy12SxW;4C33K{_L>1g0vKObC| z+Uz-+$q%561FBUi%)JAGTl=`G>Sw`v`}|j*J$E%A^irp3$|7AHkTG^0032>!J!U<3 zmB9PMgMa!be|mWNk0-!^0Hlt6k~VM=fR3|m*UDkOISf~8f;;t{s+=d90qizSro|LP zh!3aiclSP~5`fSX{NW6PFAq}GbesuC=^Spzp*4VhQEd;6-I>=Mw=p8CiH06rvMRC|W=;8aB9 z5IF>ni7B9wOvm{283H0>$xDohV_Xf*)`JEHHjJaGGI8qqd7cQ7n1~|<%F}+_j%KE6 zOp1)lJcSUX3iLi)UesKgl{1eUcjFLT>agA3eEs#+^XIixVgmPCYgJ9){kY)}o79Ae zFP>h5H+hz8kzBKsqH5soZcARI)c#_NfZl2>A`>+;1XroZ!OiMv!jvF}T!qcr>cK1q z#;ITrS~G-@9W9FiApmiZQd)0HO3@{^xxX>S*md3b!=a1aX1INQ6LnLycn4C7s`5&8 zYX}X;5CikW!dd|MxBvS8eE0#swFnOk)?Koio135EIbcRJS9d)-b&41>IyNPM!#axw z(H$HRAQue=F>&k|boCB8ONSi*R~iQ@$5llU0wLiFo&lIT6S!luBl>hc^lv}%#~aA3 zYz_RR-0z!LVh2FxkJG2)syJ!}uX_sj8YXF=Ct2g+%=D(pu+UP3Pk==fZ&jfr=Hhf*TLwS+$)B!kR&jtH zk&x=j+&y>ew{LKRmi?F8W4he7b6skA%jC!HcHcdF)(Yd-Uwys3zC^?aQr z;NkZFU3@nj;9Eg}YSuKP_u&9-rfIA#uGhTl2_dh!vUk{rtYbdq48#4h> zOr1Ldk%*{)X;#w|VwO4`CP$|#aWnK?cbu0lL~#cN1Dj8Cy6%9^-c#QkNOT`$>fqhg z1r9x=s3Nr#4Q%S$i|bnJTwp$(`hGxjWH%{duA(ZADwSh54D-!R?0Zoq#-)mv3ML+d z14y+PxT;xIGtgS&5Sar4O086dx1%FSRTVV^Br>h;pd!bc+lwdH%#mY=F%nP+F@$L5 z%W>+rBRDi4dRdlc313B|idC*6!?;;Jb7DB`4;&Z~ZOQ#^R7c)~<9@G>({u!IGhL?B zcIeY^oi<}k!)Du6SsWbuWQ|%B(2Eeab|@gMqBQ^jcTyd9!|m;!0=v0JruGXYGB-7& z7)126f6@KuM{;u;FD@L+&6Z_Wkw$TBXHsijt$yfcNJvO;$bN0lNpXevr-GXV0M;>_ zH+NzR9NQF8=0M0q#JdYKN3hf382e;q%*}Vzh=`cUJp~59vgCX?rcFOjlLLg*U0pwA z#>1;uDxy-VDbi@i6RJ(GUxmQS9AZjw(LJX0ll=eFqw__~=hz(l}A&k4NnyISI zb9!=p`|9T6$(2+I%r07Tu~O8%O!GQw%8gUk4SgG$Ob9V06A`sCPq9nLTx)d)kD(m) z)P=HSYStwLY3P9ikE2O-@SB$}cUPC-hQwWrjw}FRixw?n)m%mTAw|bNL?4D2ImCGV z^l2+Tmu0b1O{=HW#|Qu+^neV2#Gxr$e{=EV*&n`o@r&=}rNRR(VF#>Lna}~W!E3p#o{xTsH$JV{daw6h%jbJ0o*s{fHn$wW0S<8P z-G-0|fkSH90KJrAW<>bS zgV_j_qPCPgt7$1&RG32uu@N+%eiKai?T4N%AlGQWJ#ciqPhPS<&`ebkL25Nu`sY7=8{{rIzkc;9Mt=7B4`WK! ze*EX6u3c93Bh9tm{D|IL`dVk4ZAZY}RGP*Y2@$|eiMUB=5fKOw(9O*?#Mnqm?k?`t z-43@%VbjGlj4?zE@0Q0}zJ*(I7hnARZ~yQoKLvn!J~HB5B?ipuNu3CE%3>CF?+khM zbUCgc%bl3(?J-_%0buq1BLVV^RTr4%JYgcM@f?t*(vDFnJb9Ece?Fq3L+qZp-1Kwx5U z2r=ba2#E+Kms`C-rl(hz@Gj-d0iYZX-Q~N;5&#gARtz!5n7XbDA(os^rz7F^bUZ!* z3`8ng!PKgOhtNsUQ$9IdUW_QUl(Hxo0oGaOBE+1fre(#m6?;drU0tMp)89N1ECj*F}jK?tCko?aL^^&VanrTX0_CDx78)5 z>#No_&LuZ{E^zmG=G~TvkV7jdo3+Ic|qDLQjE_I5II& zAP$7Y#EtGr2x=C)lyCQ&t4mWo-X6A>yH)^%5X{|F=jnBu#p_$eKvF9)Q3!6#T`#pb z(*D&eHwB<7)n0yG`_nLPM5N{%Qb$B($z~d3P_x^c{djSyCZVxMiH+19hRqOmTL&0- zqp6unu0`EVgqT1CLQqpM*TcyW0})^BLQ03%w}CmAYAP|MnhOV>4+k>9E@hEEv1&cd znGpKzD94il5V$NS1>6jsnG<4+B(?1K2LcDJ$1Dg|^Acl3ii;YD&^w@+t0JIFT}qWw z42g*Y2Lg(52>p;^iYdhyR37U0{pG*>-ygUa0RF#!|Ns8^U;JkeKj!<2@W53(5HNY0 z^M$x(>C8wD08UM%2T-*c1T`HIKm)1NV?=XjLUngh4CDYIl8T8sQ3Dge)tX#=%|cdg z@@lvZ&~Pb700OY@#Z%?C9>>#1_y7W|HYY1p`z;>n_q?n}uB9zv9UJu9AYd`^#pUIX ze)2~zUwpmWT{xQ5A}Y%~fBB1F{ON!C=U;#Q%VDztfRy@1_$jq82UBTAH&x0oY|Tuh ziqsfmiv2VnW9&pSQHZfCWm47oI1ihl>w5Jv%@vVuZjL$U*I)noCx7 z=O63r`~AlEfB>kTvwm;$fK3&`w;RkN5vY`0j)z07<;nBsObm^Cjt?6#xtWPpRdF+S zMPOC&YShOkpFahF=1#FJOH65*=W)CnD281>Tt0cyyo0>KvyBm;@9>q?1l#~W? zS-@RYM5UI}KH6HldJ~Qi1E8WJni>)j5TX&sJLI62+J8ZC0=g9 z-A)U|+&zB|fM)jfFMpZFlv3XYkRJ{=yWPi41baWBfA|~u4HX050S9AY##6+yB^$k$@jkEr~oy6SdX##Lp3o*Dk6A{v;?*gHSFly*ipN1;c+S^+3T2u$s z?CMta=6D=8X|wI~X)!hA1o>1Ax~{_z5QquQAf|wT<`Dayfruj^Qev2A1P(wLqeBxJ znv|uM+@%i8Ts1I*nv?>}F(t`41e%XWVpg+Y=Asxv$(ay~8q9O4*&Q~U1a7SX(T&6F z7caYUJD-kunnUP`co<@pY18jKFO?7gPPaGI1rS4|sxFtzFx%7%igxoJ5rm9Q+6REaUDRP8%f1w>a>sV362x!83Mj(}iVMN}%quFbRx zn_lt)e4dWvZfeX7f!r+&$;<%3=bCmSA~OYMZc~4W5L789Boe9aO=x@BNb@1EwNAXb zsKyX#&b-+mA~SEVE<_q;<^3>Te;%dE;r6EMyM7qvX*%w2m^m+bdvST#-!jJr&n`;_ zn^ND`l0%4`;_d6N0YjHk8U`t+VLJ{f$?=q~ulDwwMh$D5xg>Um6Hfb=jsR!&Nqa3a07r5L^xs1SAl^ffe<$+YAa^{+ zoA&=FrGP5J-z9}bL~HMUri=f^ix525JQr72r|EVnClzUQ|CG{?|M-sqoS0RWnM+v^ zvDEDDA_c(xYjj$#Rdv=A5vo>10!8007+Hyjv&y_y<3{IsDqI%()=aE^sAk*>t+t zJm%~`qW*fDuCEcv-RAj(3Cvxj-sR%^{VG(rxOj5^D?JpC#|IuL1|G@(`EK!e5a2j3 z+o68|2T07N>BS$71KhrT`Rwx_{`$)==jA9Oc`hlkg+PR0uC;;zQC#Y=8wNj~LI_|E zj@@>f%QT%PjKQS9-H=WIZf55p?2m^K`z6oAw(qw)09cN1iXw3bfchbiqnJ{y^7_TA z&2|$wAh?#?rOs7D-=~yBZJDOX!N4el`82sHb8yw0{eII$F#$1VsPioG3(4x1v=SDY;Z}15gc&OA!Jm zm1&+DU3kvf&7>>_6k?EE+!PTxh8}g9Ps~AC9k475s1joA5~3sE*mKGA_Oqt|QgWu) znG`U0)#PxRG6wRLLI}n*Ar0yi0=Oh{EedWJBO-B+;0P&#qvk>>=G#}ZTH5VQs!7yR zoX8x_4FSvXNC>;lTHXAo^v(s_j zj7SI~#mto%L<4}hxv3#6rwIUngR0aj;KnJQZuh{TE(f(xnr0`-O$YXK2qf6R8&hC`mOm~7o@P%s$zr)*7e%W`Rq9%>f>}%{}duTFdw8=Z`ZcLPY0RR_e#U}{VV=zs=@01Tk#ofGa5fwqg9!3Rw5{>euSA5rjqGx=Zt z?GqR9owENXyjcwyv6(mjhQr-N)*nx+nurKvym|HN`sq{VHi--UltDu z%sVD`ET=hKtYo%v&Zpr6Erz;3#q(o`cr$EcNbYv})h`dEbe#2KYo_lj_-}63TIE}7 zrw8Kk_`vsq416pO@a=X$DpdpkVhC^#4v?72Hyz#{zyZ=Q0^rLRUrqa0uEHU7k!#7o zWGb~5MAF9c0Z>s+$)*WYET>Z#Iz$YcL8<_gR6&3kBZq+ItU~VFahqa9D|O0YLy}io zro6R#e6RpG-0T5?T#vW=akq7mKu8pUncPC)ECMbnwJbTN*r!mzm*oh3XHqlscHFA_ zd^jv>A;s8-Aq7Xe3L%RiQAG$G0x`7o$N`DO%!m?$xpUFQU4g7*A~Khb=yZETB4$E0 z4#6B^Oxh-c0iKSxgb*BxNC+`k^-_-WTuKgsO)aL>_dOVgnC9gqoVF>|l2;i|oxyE0 zjxqQ&ogxr1MUE!wh@d%ym|a0DIaO0LL1het;5Ewtj>N%C%pJ@`yxEnQ31SE-08g(ZPnZ*ODRB@Hls@ORI$1gPK*F527z6T z2qjkt=xQc5bVG;%fxRcJN-?23AtQj*+Gc)xtximc6r&-jJ0UK|W2rR`eLsxII2})j zplSjh%v0A9QN&1qAx1YhH&H#_?n|wSF?HkdaFUwKa^euKuAf*fr=#X+Dy7B{w#=M@ zR!Ln7AtC}I4coz{IqkOYURA&$rZ~@)m@O|N)znWphrpII#gy~X43XTm*4Tu>{kq*Z? zj;ZEi;MKcXR1AYwGjLN(9U)Wfm($YqgVX}x$5*d5S66nA4d`F}U;oFtOIZ0t5Fp0B z){j<}z8~R%>wmlC(%Az`49~I;fr}UbG$$`nuc8QTY8be= zhzG{D`KuZ?h6xHd0NV%6W86{X_pbuj?LMq4eJ5VuHnHG0D}dh}{1_0=!=B*o>A%hR^tWq=Ngd{CHZw$84^z|b-1oK(Bsk~6cV}f&LEtye zP0zWs!pz-ktsJ=X*xuLNRJBcUxKqs?5BuH4MSF?M>nC&`PSYAtxXvjiRaFsKp*poe z001BWNkl9c3NIoMx%U8&^L)2Z28UYfds41$(@&>k?7J~^ zQtPN9fEf^DC$(}e0KAD7Vlp#~GVCsvCC9EC`wgX`F4O*SxV?G#XMg@LHp37D zap)pJZAK!h-Daqz2Et0fYJfN|3nCV&F_2On0Yxn{_A$+;Y0=6YwuvY83SO!Vfh;ex zD!9eKq80!TYJsrMLPR&m6BFfm(h!I+Fc5Ze*r?fV+%EI<;^m8>kM4n))iK1Bx-|4% zOx<)kB1aa^wU%5W5wU2=rnNHGDhR}kL|m#2T`E=b@zjM7V-%MqFWr#9QPgAVLx@u@ zkTcjiATYQinE+4wLkY{p^^+KbEKBHmUFH}lbZI#p-HjZKK#PJ35O-IXDiUG@kXi%) z(G1wMKr=R^nDY@^5z$j&jT|XTTr^CMM2RD*j zx)4(gV@$KuF!TgK0NuFB(@euaKugU@Yvf3Ms?($tQXoLAA{4?>a+?NAk==u+id0ce zDY{B6rK$!1QEiig&Dpii^E^$*=huC$S_Oa{9bz}C+tt;znz^Aemr}bB#?4S_9X1yZ zpoLYXig5_JEEGZtBxa{lx)_Nm0y~b~u!-FO0NdTR9*>I@K-g|C=lw15Cyl5Fcz5c< zZ!W@J!}a|j#2AxEL0ow`ZQz#~wBg)mh7K}8ie%P0^d<_;y|;0MOj>n-h(Oe|ybcIe zR#`h1B|<|dL~w9-^j22ft<9m01aZHgUiE(bQ&9`>$GGpep6gw*^(OQB9etX!bI$ib zM0p_Q57DF7iQ@0Zn(MD~x9|L0*6!OotHjptX|zc*KOf3AM8@AaN#6eZnO3!QwiyQznNCM$-dAsqg!yx+S8^>!)`PpHM3iBVk_Vo7b;~anp7~RS{_x z69@ord%Qj}TC@Lw@O!@NhExzyN~uloZCE)HnVOr15IBSoBOwN}3OH9us)57hlk55R zb$gxt{^R68B_FPy{?N+Ih(n-Ll`teS8!opFAcu*^K3%@i@7`tqZ$9$Hh=^UcX}_k^ zY42{$cN_rP+^hYouP&Z^_V7x6bHzZ5NBWIE93O=PJO%`~v(vv12S`js-(C4TIKX&u z@vC2bx!sK~U%cQLORa#0fu&Y+2a(u!!**l}yxp|@s!Iuw+`TMi*bJ_qRU3;v4V@O$ zD#*k{;1D37I=JruBT=nYrU5%EK+~Eh0MK0WQbM2DS|=2{VW=udM&#h=X)~CqiImek?6#>-e0kw+ z)8WWn0)%;95MVwWO3r{3yM%cGA|g^VhEz+{S}YeLmQsdc3@L#FqUAi7DuC^@&Pzx! zMqcK5&S0_(1B19)N}Y&+I}>3D&J;o{YOYnA_(Tnv`ji}8RAY>_N)~C>R7ePJ^K>{K z4<<{_uA&A(t81Updo)qy6j)SM9Km9W&M~G)DOsr*f~uyN9FurOl@NOq2}oL(ypXAn zSKHL@x_%hPG0zL74MUK+)u?jJ{<)3pmX2HMsUA(+chUuF#~2o zfHwTn9Gc|?HBWH_W{eC7Km?*KbN6Pi+AgI;;6Uz%E8~Bq*t)xF0|c-cO#)-%Hlib- zwRskRAP>3a;nhyQ&<>${o{{AOg zngCgL<2{7<=!0iwCd1IK*QX~Zzxr#xzOzgwW&}_b1+AN!a5I7;l9$V6-Bj(mjYA&d zoh)_V8uS;GGm3AZpzO@NiJ7<7ej-W+s!~p;vKK@IW{qvADiv{{{o)LX0pR@X_}ZP% z4)&JkH_n(o`{0A4)92JjFxU$r=PaHkF)xEF`aitxWPH7Y*yfOkn`Yd-I_f>N-HM1x z^k21o4x3`t@^~|XJUx87V%7Ui1`57Tji7rq0fv-s?*m-Q0j}u-JbC)z;`|&Dx^C?V z#0&`_M)PESF3u97>X=>CsK{hGAtC{Dgs3pz-;O(_$y4-|)ioomle znyN~%PceE|MKDHnTzQbJdDZn*-2`$;AyhS_NG2JR!BACWR0E7dV3|-w!z!br98bmCMxEIf3>_zhY z;6ox@o_&D;OxR2x0pRlN8aan2&py7_)i;{V+SP;nqwa&-RDb}0*=32c9l$I9s%;#F zw#*6uMgxdZ4M1&E08!X@`Wm7^u@W;WCcy}$8(;ujk^uk!kSHo9W|%kp4n#x{H3PuH zM))oofn~Yt*XXAARZG#-EQgI`H0meDnlgoG-xUaa=! zho(|kT6+hF%kzbZ?Bwc;L|D!_OE%Tw3m9WuEEXrPj-Gt@bTS?{%?Q`;?Ow1eKa1+^ z{kn360$EDQwJnB#b%lt8@an~jN6(%i0UEld0)yDDRUx$t3X|3P{FdELH^QCJF5iqV zD;1}JE~FgMGQ!32dhvOfPj-B^VN}zVy8GgE<61D= ze@joG;5{Y-?~DI)_ddW~ngGTQ0B)ZLP*b`>tuZj?LbqCxYTvJe_XuDj5(gigse)(7 zDfUs#uxiX~JQ+9R34pb$^>{o%=G=B%Rm6fODMnSXEa)8u1T*IeybD#WL(C*i)AU_m zPbQFu<#Oei)BP=IzG@tO@lyaeJ$_{>j(EPmkL*^if28rnC8>nx3A# zVnm7OUE8b15GF-t#mp)n<_CvWU2{&uYUOAU9F67&L)X>KZ0I^Q8&9XtKm8M5Pd@tS zd(2geU5=e8nnFyecCKkg*?Y}Zmu$UWj3!<|hrSb)A!+VY&H~aC?oFl#z?A{iW2c%J zQAO+7j0u-~HpGN*gr4^?X0zH6JRZc|d!Qb-%ttL*E#X+UIJH$0j^ z&I5p{h-dOO5rLrx1T_Uy6A&>(_JIMtqll;qP18V1z<>s-z-S=m9I60TK>}uDh$xM@tDQ>zB@WOQV|4_oQ+V^z=T6eL8R|n zQyq_|lgV`5u420))U#o5b&=*_&80$tsl(h|u>#U{-{h9XP6yVipXc zVi&vCc^|4#?AOkPRciO?-qHmar#6jU%AQm3a*7y=c0l>geO=Cs?Af~ic8!u-$(nid)NCq)L5%WYs zCL}T~oH;~9OhqP0#ESPYZj%itDxe!K%6DhL`T}?SdWy$kkyLW;hi1AVQzz-ysZ zVa|LNZ_^LAiR-1*7mB~CXb}ceDbx#7DQQ88W?styE{=a2{BLa)OqGZ=OI6oElv8e+ zhKOkcz8u|_lH~0l{N2ZM?*h6Hh3xu0Y*e1T^UVHNnx+PTV!3rSaJh_2A0IFM^5QpU zdUABMcW_9AId4TjH|uZgC}+qym0zf;88%G?o0H1wx;C>w z05Fkv)BSzW;kuo_iP3a3laS&jO#kfFXN?boq^55A*b`lEGm{r<1qfRT(B5d&UHV&Q z9z8y&^5Ts%R&TDmpS>bkS@la#Y_Ayff#BEXncHRXONvSZz91qSScs+DVQG?|zgn7S%t70tRjUy@@rMMnUZ zMZu5)kSdt@5V-4xt|#KWT-bQlu;Zf70{{SLTQBOr_4ohbzxY4?(OcK&)ywDiThMPB z7EcTyxK-Q66xCJpda@UXesTJenLzp%pZ^qq5X>$dOv|i)-xR_xkteOFnG=82sn60#LfdVu_4uGa}s6zb8q@;;>$V{BLJ#bOcadOn|% z^A_WJy;?0-IYk3>OfCfPL)Ib2{^(^pbnE@S17gY|-Flga&QybkVTh+EkPYWd!8;iS zmE6pxsyZ4?0I{iSkra@C$+HVpMeI$}G*r^IezupV$xOX-)pQzStea6?jry+t`TzF^ zfWTpNdh#m9xLz&*RB}XQGqrUWV`9=IAYw23XsW?;6&%2KOhIxqnWdD@&rY9w{PASE z7pi)_S|1!fCQ!&(B%5IfRhUe>_O8Y0L2oK@3i=em`8c!iJD#_ z=op}gZ8-y`YQ!jNh?oVyv^3MuVa~>8fIwdIV&=2bp_scd1FjbYDRS{rY z|JUs-@b;hG5ncSVNurnp5MvsUh>(V%XUDu*^O6ZLT^%&JIoK2x_s$ji+wtyc#;%{l z?54BnwH=RJUwzx(5<3;ilCoqo9r`|0m2GB!GoVS9EXfSg5aZB$SCwxK02k-yL^PRB zn8VQbK2(5+M7E&{qU2nKs$H+zZsj~RqcIU7psB*Ut;*HOiklLEokQ3z&s0?#HGSXP z#&{0dvl$c_Y$#UMq|9VlhklqM>OB*9AGoQf007+zazX-Ct(cSOG^XXKeq($0I{Ux# z7oWw<1(e52gvo`nE$dM9f_zKwk$pC^!)( zRMp%xakUc2p1o>D%Sd&(bDW=_>^_ctqdI!4#r0+v-)4BUygm(K(dVP}@t>)vW{oka zNeOJm^Jk`72M87BB-8CV*&$HfeUdhK8k6yhrRnweBB&Dip)ZmLx|BRWM#uH)AN?gqkK3tu>1b|1+e&uUB0aoWn zlZPrJ-;SqGKmPnLev&lI_NUcoIvP*wx{gEtqks2rW6Ed8UxeVA@l*l3^=dMjsM=6D zMo`t9MO3ql*KxS7C*}@L_&%}k3F-G&6jL?p_D#O#V23o{crqRqen zY$)ruAL>^q4En{(pTGM~2nhg-iSIV6zx}(iJ8T00psM4^I7^gb4gyfsRUvDMY5`C|5pAPi1ZZGtdY{wn z0x{lLiBG9?lT;Qfo^67{a`F=qouAv@ez_DSi!o%(VBkHgsu`$A&Y2LMb4Wx0F)NAy zKu-DU$nwe2tJ@E?>z7YH_@o=!jp4ep?7b2$+P-{p-=);}YTXT67EqJ)a_GN>@&5kl zi!Yd+NY-UX(*|JE#)Su^uV+_m4Q@#ZzVT$>THK`x5JsceZuK-%0)U(P0JU@drqF{v zREwi8hLr2z*)y9aGj@#3VwOe3GN7txj>$mDRJ#_NQO>dJfC*EKqr5}P1nRxHuNnubM00JQs0TNU0`yr(uWZrx= zam(c(BH9gIO9*j@hTM!Nd5D_Q&<{x@r{sJ%c>0m|K7@d68~aXjH^e-2>#BY{EI;c` zvtgwY2{m}lS)3y^efj(+N61~faE=@k5;_ihdyftuKNX3vmCF6v(5+6w=zeyG?*)fX zK9uW9?f>rI{9hu5M3rZgVSRqo)Qzadz8~U{(_kt-)L@!Z@dCK|%2xMqQ{>2Q43K1JF3Bn+3rGU2aJ?{GHY8P7|qA4bUZA}(bA=xgz1b}iA zL($!=As`kPU;x<6{%+mJzGJv!@a~-7(bRW5_1(1UJ5zw(RJ_@Bb#8pYR%dhj^1Hl8 zraS0?GQlOQhwC9Kecz@OQ;In!Q9*>o`Jx%s2yp!BtPIw=0CO(MQFd02P2OkI$xu z`}uq^di)3x(J|&!IEzPLJ|E9!-& zr5S+E6D-!qY~xFph5-QVJ%04^)u#YZqJM0At2_XJ2)r}L4DOr~+>{J_MFOCA=>y!o z2~gy8Ztnxs_2l!P|5@LyBZH{bfR6r~k_%~KN*H*9Oz3cU1~h!CZu9E4@aI%T6f z_W-`;Gx8RsyESM^u)huYckF+9_vn8c-fae3VJl+DyrH|4@!pN;+qU4Xs#_O`*ZV=Y zLM$`g7BRnW<8>o)igD;;8btDPajs@fQ`Jq#DYA3(gM$aOL@rlh)fBZ9m2s9%*){!~t2&Yw>%ffONmd0bHVXChElIEUJ~aUV{JKly z1^^69MApa0@#GArqs_GZsNOY$F8=UdrFh<&5?oFOz7gEF2_S%Qb01(d8uwlM`Op6} z_UpoA1I^3j$}v_|4LKRJ3k+Q{f~>JyubIg??v|aeYnGe`NQe$gx(k+KOftki$3z4%>@?7-YD)NWMtOr~OXG5cEz^t5$_(p}VV zhJ;kQ%4k%=cmo71YM!NSP_|`4AOs|40VFdmjQ`>Wqj4&g$V<`UlW>Jrdj|5rJ)b7d4`_l#E&W>yhmDladQ!LHt2XwRFV8SmHw z000oZF$Wl3srBB3oO2bL#o}00s-`MBmHZyEA_F7k~O*_T#)`c0`0tqoRbw#5+1pI?6ZvuoeAsWw^={gqaLs-l6KV(=yg*U)?3M2Y?ZE}Erg5YsR| zJUEZ%8-3*qKlZN`_aY9xN4&KUaCbSN!zUjezkCi?`T%V|EY7}M9>0{-fe``aoG>_5 z6GT8H1c#7K*>UPxA&Om(i1nz(Pyzd47(B<6)Hjv$-psO^QeZBx001BWNkl$;m0v;)9PK*bH%wZ+wX6Yz9a~W%zBY zmyTQY6)5T|Ojx|Vi)0U$U;Yi4!KPT4a{2yY`AUBYa3aCG$EI^FBljT))uFYW?`>+ZF2p;Iq$u{_)3ezdx2#X!ohtM5V&Zk|w^0NaolV!`Z@o;t? z=94Qv8#gb`SC%U5QUV8eY7D-2+)EA!0A9X)!B^%1VoGUPgDE--u3}<|rji-ZS3!Y@ zL#P9Khv#kTJ9MmBLluZfk;p6#1DN$Ropn%D@B8=9(jqA!A-R;G(%r(+9ZN_`EQ&~X zD+o(>r!oVoYDu6Mjl&xa@G(>_Fz63mDyepoz> z6ZMiCPkTZNlH}7lhN^D|k&vhNS*kd{L>Iy7d8mPa&*gOT21>sJw~ihU8Bn9B#ye;4 z%kH~(bLOk>Xj{FAtxQ{a;CoibW3`S~+1+pUL10?T%3bG(3WsTK$~S@hAl>*7yaON6 z4En)KG_b8Gjh5el5Tm^Gz1KC#v3m0pfajGa1ejJ^J}i9B?Hkv3`SYnZ?vpmBJsb;o zki`r9a1$@w@C;UMD5qt9NQ(M6f!1%lAct3mc&sx#n0FBmA6mhMe(cyX41P;j;-3({ z$taKoRjA!S_|nTuM>CidR+Gjy&sLL!^qjcJplB-X@B0Ab3u|Cd8Q=51g~IcXpXf(w z&0^1DQV;;Q1~&-Zre>)=W`=$M7VPM(?0c+$w8Nn)hrl-;pCYPkG4e7h$ftk(6!9n) zqhFAFa(%qqms+(L3pa~6dDypAioxUsKO-yO^^)MsxWX&7V||z#?c~aJ7N4cEmpdJp zvgpG_S8?LwiFO;qm=wl7E<_RLDK&^4P1pZN*W?pnzAX;g{2^)s%t_CWXp@|rZ-1z> z>^ryEhg5om@ruo>qD%cPTI14OhIjn>hBr3))q8ELG&W<2{+qdZ93%FKM6Rj4S1xZ- zjE~@fY4$=yC%kE&xQ-FyzVd`?o>LGF!d zBgBJIcBYZF=jy`3T@(nsA!Tb=QhT3iv%@ygfwr#An|BKPpHJV75*N9iTc>bznF?FAi) zRYFp}>XQug9G?jr=hknd%5sGo)|x&C@$9w6f)W!xXnf!*z5r>S@!MXU&iMOUrtZ&l#is<`*mMtv&-wFzutrRmsw~(0cN- zO1zD7=TZfzqy`6{xUO-j+wIz6Kq7i%POmj`7*^otLG-p`IB%1wY1G_7ZWR4+!R@C z?V52SrwIj6|DL~V>Jut8A5|N;{|vsKWq#$s!#}MZyoiS+34%ifyQ%O6mwxPj-^L~R zQo1U4#>MhVR(own(hk+Q79&hxkxcbz+ZSSzlg%LEtyeaw&TKUJqwDm}5ys~pI)7_$~y^<+d%H>j3eqtOP)KpLqNBB>dHm+LM=q9s&!SvoDluH$X}%dNyr#yWj$v%Sf#0lsA3 z1@*s8{rLISMZa*6Zf3C~XME~&j*gg?$6}>vZpAkyYL{!OCfW{;Ktb>%ZD-FqbGU6} z!PrfKKj3;MYGOx2-n;MRGbtg41s0X;++iW5W@Hj9&~~>$C+UTykW;o*o3T=2X;D)H z{I2%J@65?q&0A_2EhmVaO&lrdTvAPuH=INE9f`v}f@PuexB)*4Xa78g9B~fZ4y{zE z2Mt)EQF*5uk?fi|AQ_F14YgN0x%YQIH6_)o6KJ)%6k%r=E5U@_E0j%QNJ)lkAV`5! zjGFnSzaRc9otnV(C=;ihLXtq6Ro6mq02nq%ym8CW?ayFURf#8Tt4BDXr(tTrf`0K2 zZWA@4>@Kf4J9*NqD-}Cu!b{alpe;J;$EiMW5Ovj(!1~z#Q|x9&*dMR8 z%afp98oT8c#f|Cl`png7#k1pXPy4@gOb9d*b2hZsf>D$;;=5gOLEpbBtNo5;YU;t~ zTO|V;NH$>J8N*8= z9gvA|P6X`p5s_&q7mnJtFsI||lYdu;{y|oix@k3Q6?md{fIMOO2u<&QHu+&2S@l&}o>w|PfXCy&Y3H|I_Z&56lZ z)|ZPk1-`g<1+dko5m7Q{Q(>hhv)Z*CtZJ{2`p?5pR405UEvQc=aavSx3FcSjA?$JL;Bm2}a)8yn&)WtO-0FtykD-w_t!Y(m)@ z29e3|!K#u_ZFyk*@^N)nXF zL@UchAm&qe+oKoN#5sMyXi4EVXGxwNFI%+_Y#I&EU_*IvxMl8JLt*R1cw{!^9w>f2+lKYro+S2F_MkfBnJGQvKAuBDXQ=b{=iw zs8O`z-AW51vc<*1`|B^wd)w4n;6!AZsUHilDFAG5;-SeO<_}W(FHb=FDB#xtOxHd@_bnh8YS9nh*q~$Y4x| zfw9h)Yf!->!^Js2CT$G@H6aPCSb@juCpUc@j4J*6^L?r2lWU`oiBI)=8hy7hWTHBo z|Eh{dW$gI)KQ3Q2i_70t{N?>K8KYp;t09oOIOitCJ;MeRQq6dSBRY8qf{EV?v7Y6*FLcsentr?N$&cw#MqK?_&`??X@`^Z)M^&Mt z?}HANrRV+imEH1d&EaBP-?@_)A2dgrU4u&zgG8GXe$U-py##VIK9c?x)SX{y^s6|1 zq)!`lOVHIY4TH)ffS+Okx{pf>$5~pz?)!;Kr5G&^UlN9&2RQn^aU64-^+u+ON@)NSZVtQRl^#d(wA~uCfB1351*1= zKOopGWm(Ye9`e||$yP!^h%#!YZT&VpusemzcC4jf%H8UP9*y0 z+s^uMco!f>4Fb&VsGCTi;mSCS;tyJ!zq|0JaCgt%pL;0Xcg_HAd)n#32U;$HHUX<6lpRPuKExH`gE-!+5#FlHFMfKXM8pc1wDDl zu^QL{))N$pQRPlQeoX&g5KUN2S{$MeVl+{qf*Qt}(pBo5%rk z&xlc6;-I4a3QkeVSxrhSPhYAqcnB6;ZQsvnm|s+GNHiV(<+3JSV% z5a^rvu03L0(kGG8qL?`htxXNebBaJ()RKKtI^MI7!&rGR=h4vYg(LY~l9~nlMD1>P z72&=^=$AHZzA^H!K5P0h606vKAW!K}0CQce*w|gKx_?lu5Xg=J-iaOnTKhQO#ys4j zsXmhRS+B$M*q~=ae{I*=Xu{U1OetiuEvwpiYZwthyc=tjxf2wdSomt%z3Yig%s!hF zi0*lf-nAyFS{|K=9s6R=j8&wj)RXpaTD}aE?25q^Bte8aZiWV+pQ`l-ckWY>)Ywxz zTkn|?XveIZ=qT%%&bha(?)O^H8d1AfOPOMEeV%ISDDkk%g@&P{r!gz~!vmf#Os7Ks zHMt{?9*((}{Byx}p}Y}qnT7%0@bzc|Vj7_5yD_)MZZW9P!yjSy;pYCHrFh$4a>>&J znR|5LNEP|74V@yd?wipm-q9J4f=|OQM`4>DQFyCeK`C zd8Q$#a-kQY-cNLdDMQ**B#e|&@$l*-Ow}&A*p7zmtHpeEVy`x1V>DYzg*1PixLin$ z{66ABAAO~}+S2FJk0-fb?WR1yef+`&&i_%(y#_?fl@ZP9GU!TOoZ^-vQ*2R>Hm-|- zO4F-{xL<{7db-2&?tO}^OVRpS+*BS;=J1pG3E5L??9QwLc!x6vr*~ce+M4h z|6M?|5;L*Ph~%1ui3dl?4Jt;;qU8kmkvD_VsB>HC>lH@~849kKG6r&}gHmU zl0dR=Juagjmlg*MdX6LYMITvP*#6SYH?#X3eeLYM`X~5Yd%kOsb(i(cpw)uX2fpuc z()SS+eI#h3155|mVtRgH=^b$U2@S>7$S4<^_59i>DKsQX*@yain)Y_yjq8UJuu>dh zZc^y>>BZ}Jh>J`PvtQAyTK%vfi=HS83w$GCcRpPi43hco+iy2#rf#U_DDg;GUiyV8 zY7$EZQWbhF6+-y=_Eu+I9{3C^?{*Q({YIja%U+_U7NjM7VOQUjWkKS+A~Ju#Y;spk zp8zoCyHXas0n>zicc2-|&$OK~AQ_sj|FtZ)G&MALc2S%EVX<|9zTx|4gzvn=<;00fPlzSUP0j^on#nUT>6Z-Pke&dU@PS zy`jX1&7GpW0;|O5$R`?*Hb`NL_-N)Qq@~nKQs!fBYF#jx?bG?pji$Z~L}zqkG>8#H zd6MM6e`^$L$v1v2KBjc2{q>Fe`tE52WHb(0%nf|T*UMu#PU>R4Z2`&D(+b7`V$QhycZI(=))FGp|(y7ZL zs4H<)WMa#_hEbIG^Cz4HND_JdNoGmso9`%t=+?8VfLdcNIbDk6Cq(TA?!#pg^`Vsp zf|P#4qFeJ-2J2qichgreotua(gJ3jB#Xc+mE~kjsWpA-J!RbV)hSX6}CN!an?ZM5b zCY>z*R;6%vhYM+Ef%VOdiz;+1drd~cmE=ReGc>qMW=1Jkv8ZsoF?-nmWSnKbY9?d) zqB*SO-nad6WyL=|+Ab8ZnbwEmuNBYlJ(Uc@OV{oK?BU8?9w&56#nb4et~6@#iop)c zBeJ@Zn$LCEvIcsE3qan8NfxQpa-f18ngXNol;h#!T7>NW$9hH$Z@G#>I(gDR z!|(h)>H7to{z@MlS#!nGVgoO#1I#9qxO4MKAb=Fn%t6X8&cX@%YS)m?@)q;xY=#e- ztVHy^#pg}n^*-(f@re2TdCb6tnaqj*<=!H;qX207uHPUx;Bsf6AThvQb|3MNAk=%C zG}{&%0!s_Nvb?tjRu=E9%s3_Z288%QZ?8tQz6I(X=ICZL^M+!uvlP zzxwyLp^kWwyyQPvd2cBtZ8q`T$t{|V|!o-Ugy89 z*JQ*pY;Qlf-z|KqiH6Ay5CV`FjFO&mH$0_ci|(Mu9h+Y)%b{71^|}Gh=7yT z?)H`T4^1!16}SAU0qW50%4)j?vdMDX#n{m4SVbh$<%{A|q4-niAEr{1j~GenX=UT_ z2ROpzbIvyukk<)|114{!-P|uO-*va%PNBBk0vspC=c)s}yv|pXzYGx*n>TyCFUG@% zaS&#*|NH#&;NtP!3zm|mg6yAXOnT4{LVp51#6jid`y80B8ab)kQckKwSs^?S{x>mS zA;065G^<}&J{J|2vWdNmC6Y(B3>oaT#H9fi=i95)JTptd2?r!)@Glg`XOHV4wz`lX zLPVcFATpCablz~2iWhhP5}{XOz%`+q(C~W*CCT^{@;b-={GmWI5ChMiE%OT=5aduz zf1qA_g#1DcvIeuUai)yG@mMlE8-@-}Zma`|aCnK-`CDvm_X>#3$0{GuE*0qyqOJUO zv$%#;DQi3X6O`PyH57eHXxOx8PJGtW>2-S}d)lBU*>8!1f|$@mU2Myr0ZPN#F(3cX z$f`vo7lxn(byqM}h{*aW4+SjKi+4VGAisO*lZxe_c?nr+c4B!anXfU3#Mnqh`^ZE!u`N7UYa9i znvNCRv4`Flitf7nPlvGL2i4kT+DTkh;2#oPRd{={ewA({q3tl8Xdgh)bY?^u0(MEE zTlSFuJp3;{oNh@s`r!IHlG`jmD#xFvC6@Ok(3SMq?}$?W8+c$=#VO)-`Qqf^re{8c z=_2M(+XK?{vTaS{EpAZleTHSnrxzFpY`Zu?P2LDF6Z%n`GXLE}MFNqveri7T@1s+j zH)>m(^vL`Yi#6dk5? z((NG{a1TfQu5X8n{nxCOtKFK9of`~+$HuMx2e5YOpU%!t^#>-brB0F=G}++{LTj4? zBRR~gFWet8wXljwlvz}U?IM)i`DLj{`H`;sD%teTFZ^1ZHyqxDzMzjsFebdM&f+S` z1b@%SD1BE=$H@3!63G+LUNPy!&Eune;Otd}>v-kd9`V%|9->NG&NlroPqm@pBtU%W ze9rt${ZeMCJ9FW)Lo(OtxiO?`ZL2L%j8MSY?TL<{V`$B)v*3i{87#bss;vKE|Hq|E zSso->E^0dvLsI{P+aZG>^V`>7g-UAD&(=j_VNsp-kxN9%XV_a_Cka{`8e;shvf?sHh@`4OA$v z@+hmT*kys|d0z-)Cy%(F^}%dxug=tD4HT-ZAvYHb)8!f9sFYoB7EX`43!u9Ft|f!I z3cQzoNJR~y0HD*I>(xYQs5u+Z+Qt1`zr3m{J6UkkYpOpfgA{{Ic`>4j92Q*)7h~Ic z$$AoF|0&csD9C$2O`+@Df|;jIbaH-TU4?g~#yFy>MWzCmO+v;<( z(wl2yvzW=r6aHbv4!siOK(oJYW@fC#+=rQT7RF&P1V@o9$x@F@=I!Q!^j~ggYDWkP zI38nYE;~C5Ub;PCc<5uOJC^DGZtQg3&dlZ+;L?%fe=u|QL4p(U&7gJk6&61v|ND_2 zo?6uRuj-Vm%+U^nNgZ09i{;rh*LFCd6; zl3HaT1uG=NkkbKfD3Haa5KE+z5d^c;XBr~9lAjprx$zSWxorm{V~KK1A2vq&8fO>% z*Gd)9K82lzBLPCT&X;=blHvb|7ihGRFU7-(dF8>S5}W;*T~uQ{=g!+C?Rs&B&>;(@ zpANp@XWgqD7?OI>zxj}~ZXEKG`~UL-NazmoRr)j7nB4rB{8Ld?VuzCUb^MQ6Ii)bX z@ASE;y?ZQt@CRaWzcNGi%4r&xXsd1I%d!hg`>Xa`r62H%I686-EqCften(KE`AVC~Va@NxVMliDxhfc-F zZgC9sz)CW=c5ry}skJ_Isb+066xj0)E`A7zg8mT+tYZk%i8yPSdrKoGOODimm~GDp ze|rReF73BmxS}uv+O9~?CT{7bTe$6n=T6^2-Z)v{{D5ouBw1O}1_c3xl*%L9ZI5C1(2)9E4PvuNuB%bU0+RIyiIl!W z_B|_si)__osxJr(*9#PrJgi6aciRo$P52N3t+!!;jQLBCyHkPZ$XwpDDf57vQTAM( z(Q#uUkV9qF)xzVNrc_Uvb53pFHaVxqrgo7haur`gMX#yb191+Yjo2&QH4 zt1~G@EY9O;8NNBa_+!kaOGC}kqw@Z@jvxH07_*0&xz2d_dweD01ovkERNEs8zq5LfR+*q1iKhn2}yHZ%w{C+FaE1Imk z7XG=muZ+9?_fS;1cb~HAvscBNX>>mS)S|5VIr?~r;^~auZ&RM}P~Uv^EW?*zt%-nR zGP6Li^4||8xgLi-i$S2Ntvw`N{|wT4SR&qyq~dYb&wS>R=-CL44KF(q1LtsWZV}V} zV306*liJl(KVvaG;lflD1v{`8f_=~bNCnS6`;M4H55q`yO?u+H&t#HG+A4f`fp>uq zN2pHJc`JPkb#6UDL*`JV*agEerWARO-$`!Ep6Rs^qoYUz`0ET4TIIjS^&Jei7*X4( z;{dy<;p8EP>k+1&nI#q?=2Bj^b8@y-AFyzQqOlXj3;$yx426qPRD5dYZRSh= z3Vk3LDM7qq*=_V+7#|h|1~}A19{YOz-|dq(Y-Fi&oOSyNV&7Lx};tC@UOkl4LDUBP|9*kWR5kk&HP8GY-$54Lm z>+=p%LUum`;@Bz6I`4W7mmE4Dt>y#o*-QJZ551L&mUj3+iWgPtm&oGU4Gcbgc`!pT ze0cL9u_`A^+Hbk(sT6#@Oz)yybNq>}+)`Eo2(sy4>p7gPlXW&+pT!S|vB^f+e#*wj z&Lrec{cYw8;Xf;<074AY;mrMT#ObV>Lawe1PLPp(M4?6`la=u753#70-dwjI014?d zohi@i?MkPWoO6>Zf3|>~PxBX}yEl4gDF?SUjtg$Jiv^BQ#s`J(maNHQ`t1hAMXGn- ztr@_63M^t0Yc8tH+;6y;$D#wJQ;*YPkGklxEqAEmZtNoI0hk9C<}*> z7m!U1l>0|{oa4ER&OmQk_sI@#r;YfYR^;cd#!m9w!QGB&7)*kIA+b$Z8ETp*h?~$cl4^N z;(Fkxq0p3p<0NKM%+7)Cc4V8{*phAs5y5yAH6c+rJvx4zX*k00uzhCKI4Fm5xZ5#% zAfZSmWAfPjs~Q4WhlL5#4^W2D+;s8j@dJFonC)r$*eAi4mND^EZ|ylrgVYvfMj$AU ztt|$Db4io+l@BVNwbpMM8|v<_d!>E2Xs?)*ILLDG0pMr)5E1KFX5=nQM7EiUsfpi1 zcj{Iwy`2V{s^{j!LGgBIGFe)z8e`J^m zcClh>ZT2P=&z9SPQaaSLhF zH6TTwr|19RvQQ`*s$vwyx*OE0#{h`u_Pnhbe z&^d$9f^fU^JxF?4yvqam5K3QG)pNVw-n}+O${cGH2rzc+ob1wy7K3+b!_{^frw$ZX zOEXGBB?hr%Z1<2OQmBtVb|1fmhC0Hh<_~(US60~hQ-YtoTs)Kp7$%5`hw*yU9WXL-D+)s(K?lFNQQ;^q+Xtea>{+KVr;{N>oHa{K=&B@jd2=A3l z*Kca7Gpv|`E@VmiP1k%@;XoG(ti@Jxapg({oc5yjZA-krmi16Av75l5v|&el&F6im zDSz$<0J0v$`EBtO>I|Wvp+;C;{(o5S+pT~t~#>VR6qg7u6%gF z(eePHa}>JpNv^C~ummBVC_|{i{jq?0enPMKXxEm2Yd6;os!u_q-Mkw0zU!5>-S!zc zN#32keE{QezUY%wQl1ct1v8Hq#)F3@S|VnSYj#q~twj0dM>J$}$9F+mQyjLxb#%DE zqv9aQKbDRV7!JO>g`9x9matmde|W%tT$Cjqy0%}PO7{s<-uu$85dob{|+6O0n-@o}Ba`mmkval{tf$Ehbmh(NTZ*yjUG6HAv&K)it<8?WQC*-OG7 zXv*||d==zX)xPmrAXSG`RP#Q!(MTDhr)_CcF*Vp^$d$FW^l&SDw()B&;N&duv7|Zz z=HcyJZBoG&NyX67<&DR5-(C+qe7GnOHnP8);|7*tflkRceYyAOYTIqc$JHfG?(Jsk z-wywDn%5rgRT!V4q3e3OC~iUPrYWb(bvZ%*wXq8_t0LXnR%KGvuuxrHNI;mC$F<~x z&IBdxm*T6B@ATy3j`grbCdkGGy81pM)5pf74a_7;rozT<;4lQjsOyA{c%>#tG zn(@e=jX=UyFiG7fvj!DnCjePlFAp9WNJcGuo61$$Q!~(H1O(iCD?i_`{OL$@BImYu z$M`ew*YuLD)Cw(s%&lv$Wq9%}1x3;Dm^Q^}1b zy)VrlV8%Y$?Y|19i9=v*ef7Kx7{HPrXLf;CJNTiC2{WtcQw6k|33&Bd($>T8c^o_r zx7Dzn>fS^vg|-tQCf@FRFE$az*J|L>cb>NYfk@qRrwMFYlKS$x^3t8NXkGUivxvd}63o^T(;c2h?L@>YI=7cISS+3D8q8m|Xj>d^dspuJ=1^ z*wkU;C%`Etjn|f<`hn-suR5n{q{YWO_{LxjN(O|Kl^h8Ssy)t^2x|kj#&ndwS zpBF*Y%dRSzf{ZyeFduvR`$6xU(BE-Oq*7k(ebQ4UvBy0iU$zs7b)NCnHO9)ma4^> zy_BAh9cWqEXQrX`x?Gyuv%=|#W^H?8F^bsOC)WL_J6toYD=Oq}fh%+t5^e6|OrPBjws$pi81+mS?~}!TmXhc;?qL$18u2~2aUs17qpkO*=f#q~ zqpMhRYei%a@{gJMm|YR#W|dD$qIcj`_Q=2m;qW_#)d5;xcEZZp_TeDQW2ZKuCy|;p)4~8&7S}RmISqL02L}cd=+uQD)v|LuxW}05Z ze=Qg3L4J+`z_x!Yb!7kgoU4DL1PC`b6x6Qwp6aPDITMz=mf*{WxJVZkHU?QB+kPj%_+kB67zksd;k?sD+Cy#a&=&ai=d zqoDzm5V-KcP6VZHC+W#=+EwsEFoc7kGAhkJ?(^9-EFCR**Qr*o&^w+;? z)P|sLmr$9~HwLIT0FSux#!yuf`ikCSV_$2`(8BHBQQO^mKZROYdhC8kT6XYEj0DtZ zxMTpB&Y#3k5vn&=DOc4EeFt?NVpLh(K^<4jsv@BHXfMwKNkJP7cPr?ttKXI`!_;9d`9 zNiLBk8f`Iszq6Nt3H@=C;dwZ{GQU3=3GnG38>WnGMa{KZZEo1zWST$RYNEOWH?zdu z0VfC`qlWM}wttXoLzndi&OtSHP_|zHr-#fXbJXTlSgTx+IIpF*0e82-+KV*Xm2f;5 zqCRQHGCYL6;n9_cA0k45TfEmkSf~VrRvqY`aAvvSvVXlFz1(|AC$%3$x6$7H%L*4Z zTp#{TQ^`?eqplHkgbvXP$)j{sM5OuojVsv7bblZk1HO+8MH4g6uD}Jtj|JwLCietC zb00lODA#9KpbySFEZ|?%kOs4x9hfdnm!0)E{!EixPO!LrpQR8(WDsEcx|vDOFC}hh zbkpP7nK_hMw$b8k@4(f~B7)1p@uZ+Q|E0`e-ZP009HrJ+L26J*2VtGdMN(2iBXU*j z)$$vW{pl(QsVSf#CG>H+ET*0+sE7q_p%ByOOGzj0f$Z*YBtf9hfxOg(647n%uJ!I;u=t(|10+nG&L>A~9AOZzzk%XRhuXjMo)(mI$fU zGQ`~c4|}achyBUAd(baVPVYsxW6J~a(2e*j`^E0S$EwE*N7N-fe_K_{^~L(ND72-- z{togW%nz1rv%8GDw|9OF3eTuHs7;NDO53{$h6%au*BVS6c1Ij$u0Sb*l#_T)oHQ=) z$&|xR#*qXTtLK`{z7DyYy6*Q{^t}ZM*L4!`S-OEh@on4|?jPgCQI72OE@1=j<)rmI z@%P9me8tvs10H8g)d~3jH_GuUcpR2Uqij2Q#z*wm$3*xVt*Wny8CA~{&or0(Rw&0% zXBWE@L0K`{cjM%Sy2r(r51QV0Iq%;xdkAhIbc^kB4XI>;Y_Gk=|?A=09|{&y}d; zZHL}rdlE+*Cj#qQw^yg*fFj!q|caA@}S15Aqc206Iv$lLqQdKh{^*qL(!7s2$ zvgs)!$Ci#tpB2~^jYe+gfBB4)1i_KUz6EO6jbHQE{uQ+bY+IV%*{#Uh1Q~_|#W~Tc zR;j3wR$mIJJ6JJR6|;74D1IKR)A~jNHyIl*i#vVtyRoU)c zY~K2`nCv?W4cQsFz+i&W>T9xCm_w}N&||3rgBg_RqAUz zj{$f5@3{FW;eRU-u*dhk0gb$Rl)N6*3|usoa*XuzNdwcbea6(a$_J~!Ia0Mo{NYSk zU&+O*g>*( zcldm@LjS_3xr@Ah5w;hre7@67ZpP5DR6uksd9@)$i=Pei@OO9j2p|f3Nuy3ka;2Fg zM9gr0_s~_Kigty!hp_fqX+-PW!n&9W02@ee z!kCiBuNYruPO>5epqeV5H!aWhOMh){YGo>kJduBTWJU}E^6uV6ZLOgHg%&;c{DozB z;!RYX@w%N=f;ZPWKa_JuVw8GgIpJa1)$d2HXLS?w$I&4pVyy6?&Y4wg~qV4xa@x<)|=+6P*C+d$vw z(2|yE)NDc%MErK>dU+|YY;J16MvyB-9)Y0gcGnCLF64_Ua(LIZkNGf%CSI23zepso zVw3INr>$}43CbK|%wOasg{Pg3U(MW=C4IAFlb1UN6hh!BNQ}1bwWa$_23c)PYIcJv z5^%o$nPOx&btwhMfh7lPe9^+t6fwi&?~FI-G~CHipkx##Z%HAfZpk$A?@U3i5|{kI zQNWD>F};7rmHCw%ldM)^XBv>QF(&=!Eop4vKJ8d(GhcgDzv)B zxo+lCo#Ik1qP^&~8dcNNWLykJ;yg96asrW(gNa8S6Zgk#C)`ud@1JCoQzez;_+3YG zaA9sSVN93+KdNkm6?x)PU)huh2LD=cSo-X^ z@M<+GJiRRJcS<`)q$3dan{YP%4d66zoNksm!&~o~Ktx+((QA+5KWJGzz=X)aB7Kf2mt+<)4N$T)@dyJ}(2 zul($cXNP<8+@yp56ZSMtH=uHkPv>-kWnOMo}RCoJ0mX z@jON`c+$5Y17M~5Pe^y|+uQ`H`)Qc9J{Z`m@ofeku%T2Ge-C&AJE^DB*e zZ)Wxz9_-z?FtkyETPJIcikURsE?!&jG|dmnknj<~M_|FW81D*%2C>I(Jq#6_aYeLm zuI87zH~J4_19Vo$_Bd8FbRaS;&6u(&0<>2jQDy+%4|^tQkSqrriPU^wiWYqeo*ZQc zVR-nnVf3!kf@GG67hM+w?)>|$%%`9nMigxfscBA$n`RM+4*D6WWVxr zZM{k-mkw4iiN$=0#ABz3Z(3+HqWdpQW`FPp{8BCk3z@DM_8JbTvE=U=sg?btVD5iN zi>Oh5HP`aFV2&dQ+mUB|)IzQ3l9t*Piw*01EiRiKLhz-%n{!%3WAm z{=F$9$H2t2nyNXdYu+LGz4t4njQ`b_vyh?xj%qpsa!H;T`ny4+Il^hY6zkz|4w+iI zG`!n+Vo|TdFo92&q^wv+A_9xQ@}A~V!wb3PS!%+H!!pacGsOVev$w(uZE^uQZRh0O4Dd$9 zCv9iL4<4SFiV-N}6BMTO_OOp*$@U$ns*TC1RS|5Dt3QKuTp&CjvPY{p&^3|6nz;!d zf0IQv#k`{ftmP*E>rkDJg-h7fl{b}bBsN*G&h4G}aueG_;0Qhg*8{QQ@n+oygjva zb+6y++39dnBlCUZCA^vMQ`#g7)>T#B-PU<7a~!kQgfrGaG=>#K<(k6#1Q03yKH|PX z;N1Mf^G<-MS&8?j&Z(c!+~H*zISbKS6>5*ntg*N-0;EwXCs7a{38Ka>y4i|tbLkQ0 z>pn)fK$xGVO>>#QOw}vJKD1|Js>6#pB7(2SEB5>Q-XAo6H##A>?|hJxkUvs<3C;y|pyM}&Y5hPF6iQ9F`38j88E7LrC1 zo;Kw6p9zcui%oYC)aQMa*6yZ;NkSv8Zl!+#r=K7hw8#9b^K*`~dZe=@s>nK?>8cM( z|BR--0e|jbo2o|-@29uOr(ZEvIUWC!iWtOTE)>4P@>m~WmEo02&>QE!=mztA+js$M zeyd_C$-GXgEY{Qkk(3%j-7!c0{V;o+c2`qeUFKq@J`t6LLDJByf5D{xJIN&K>sspX z7kF5}_&K`q34h9(ON&|THfgJ#Q-Jq9`h4Hz1a9V)ZxRF9vD|cDTbKw;&8Moo3sVwq zuAK}7WxF^$F`r`uw~s?zGRP_!0<7VU{$^Pqex~=<8f({1fAq&J^W{5Mn^30#+B2V4 z%#=-X60`*V(96h(Kf4J|;zf7E`C3)7r zoJ1eC)ODKRN`r7JD}r`&32&dr1VU&Ea8# zsWpRPaZEmS9czT%#KGAbcFWJsD||r8>o#yu(&Ta|IP9oCn@r2GY|W{OWp@+Wmwe|3 z%bi&_K9DH|tskj4-fXaN|M6VL&w5(w2NoKD_Nc&T)Wuh5_vtqdnzR$kW-JRuJCCaaMw3VEiuE48wy zuy?SJ2h&gvdO1$(n15%1(gVmcs@HZ1u;-{+&e;cy>CI8c^Gt#BEWvF$0R zkIb@}#Cgt&WO@bO%(vo%IxSY0CFlF|v3OYQn+#iV$nKMrRa(yd#yP&;y&Xf2Fi3fk zU>H!D92dWva3@&Vv~yEK$|v6q@euT{(_$Q_sj|Gp;26ly&drwIy|*rqGM9Ref7GB7OhD&b;b z1G5wZSRI4a>Ac@DyoMOdf`qBNKF`qJ`8)8XGp}z}x^Dpz~$MfvE_&2kY zqNpU;U44@S=BqD;J1=2JO>6#^n)u^3m~BQc{@|Yoe#77VKue z;xPt2WMKp`U9tp$q*EfAe9JLT}|G4Jl%+l_sd}U78V@ zH5IE`Zq*XGmx^q`Pt zPc(@N>=9u@rO4wNqob{@n&}d^g7K4K_m)0oEeu<1G7AKNx}w-L2uItW$Cg#x^T2Qf zkPV3Ad$k^Caf1BGlHX#!GR265OW$KA&qmL~_FD967j+~REp0Jzl5 z{Y}i^pB4>Xm8?E5&jWM2R*8jn!0a4LpD4&M;xQqVMqd}HQ2+vxFeEVnY7EciHLnyg ztm7lj@z4e#$)4?>Wruo+76CD1hAYa(sul++AGeGb1P{ype}#o7YwiYKy{VUyUNUnm z{cAtzLcn3etgCxD(s*v>IYmtWKn3*tKLEc#K)=i1llQ_Lg2yo@L}KPykWz^F(2Ql? zGD4coCM|V+z7{FGY^O%b-IJ&OM?X6Hv`#gH!ymRpiC?eyo{PGw7iDMmO9EL$v{{CFDLAy0k^ux?ahQ8&dE9g5i7;mqEfY)5Im%hDH$&U_O}2ti00;mKiKdn* zXaGgjls20j8cJErtT!md7&(Tig^?;)E@}ql5EtQgQ|5CI2Hie;?@}&^6bMxf%zR7z zHs@^2G%@!|kwwi#Ga!upE)6?kk6@@JX->JYvu)ow>s|1wrHCiBl*itq7^p!Sl8Pc4 zf{~+P-!qarD=MDId57c3-ZS|Me8vvJ7H3fg71Pc2h|V#nh~+G{8{<5A8rm=vfXO+B7m+tN zR{&6_G|jvEK>@K8dGP4tlwr5I0HctC8M1-QcID5qO7K2%AW`L?@&QU2!h=3DO6o_!L0X2i){^GAA|5@G6 zq=<8*R%WwVx4S{f2Dr~@)y~DEzH1THjW3s{dO!J+aw&3njvTXx1fXC&8>{5=}vrvI_S%J=bA8`CW*@@cyf5D&i07O`@cKf_ z(zk+h)3x-$@afwa{!HNW^I!eqKUOhHP5>6_8q|n+wV0a$9K2Ei5%7f&ziKLZK@#u* z&41ud^nchmd>A6o6kAUT1^{^NR6teVz`GXT_So4mA!#mCp$Uo5bTYF%)hF)k+Hs!o zd?O7!t?)J<{=vQ`W}dh-08l@Ch=}9GWjsGq)mT-CID7O+N|`-4H#1c|fA9c_wojfm zvo?vw5F9h|J*W5S$}}A z{^MVU5FUN}$uIxrFG37xHV*mAU;o|m{38Hr7YpxwzwdqUIVCNnZfZ5mX`F%v0Q13b zF2>N*A_ib#9CP2#*Q?-MQ^jQ)%24O3Y&Up@1PD8)D+;49zhf+j}>^9>hSPX%-UGjmD!1;<9`+ese zJ4a^L^-0AdV{q)NR*kMMFAbDDOF5h<0F*3dMubcN2BBHnFw``vT009j+vE_(q@rfR zA=0Q?`ZSJGM3?iZ24I+SiIJr!7)ZfUt*PBO79t!vK?J~Dk};WctZFLeKv!qgc0W3% z;9XMN_gTQ02nh@bLB(Wy`M6!K(UGKG>U;7PSm^sy#ZVHUW3rr0lo<X{=obZja)1DZh*UC-;ywub_u>X>p?)vN~ISBvHO=H`N#CMp*@ zDn-Ur?9^1=Ox4cU&8|z#R75Vm{_-@6OxC(08iPAcZvY?$2LOcVJ?)1=h%vZQWMccE z8Znz{(SwYO2vt+p?Lbutv{#gbV4-TS@+QR4R#n&c>*cxi*Y7sqy-Eapvgk(w1Uq=e z5Q@UVorAzJ=5nV=Lb`M;gahJ3$S7U)|Tt zRYji>G8~44qoS9HkQDENjt)0=cP%*e3%UL0p=R(_2l9b{W`@W5z~rP9&(GlKuA{2n z`{DA^pPx_3)MPYS|mji8lS5FZ4bZLukbqqd8eJ3T5+IA zA{3a=aVaIGTtrGyG-JTnv;Yum$|Hr=nVE@-0Ta|QAW~6D3e@+=oRfwS%x1P9#K?@R zcD1aUD!R?h<(SIZ!%tL-W52ulx@{_ORq8idY;$$l?>ja6sti^961l9<^rW<>Cg zW^J5YWXDv7u>cqp14lp&Kml+70+zt}7_yqRb=(grXI-sg)x`a7K*XGdP1PW0^`1PE z58hO&$_+yaRGOv|v3@fUA~W{;jcM6klY$Q+)a`5$W8Yn&B{SRZhTvJ%0->o9;W&zO z1V!sAm})-?GqtrZMGe3+XV6>((L7jHN6Wa+1O}q!35=-gQt%uCiz*R?s%hJ{nXeq{ zldrzIxb6{9MAyq&1-^bd)bpBC>H9KuLL8GK!jMWsG_`aP)hc)sOQ|5CnhC&=u!&f- z?7FOaGuL`P)0J%UBH8CHMNV}UWN1BTPNQjx(BjP^0SXGs8Fu3ff zS2{WJwc?VsWePBnh+w|yoKjevF zUwOYPg^6Og^+Ea1g=Zl959+S`d=M1&~|0C-2a7Xwf; z5slGJMU3g{N?E<<;9V&qYO!j7D2?N`+nOX|a%`0dB5MgbWgqKdw|!^9pyQY4@R-32 zP>cYGfNA3Wn<}UQ;glgYxD}M0O7dn$WsBW4`neSY*gvTmK^i~2dG_mIs^+|(VkHq_ zqL&3sC1+yJIjczBG%4l!$Or;}qn#)sy(Nj{KExQt4{zoJIhUk^zA32Em9T z5*!-`7zZ%$-i^bEM1UYo#i~knU;<6&c(o)X0P`-`RCG8vfgW`f$MYwf?e)H&EuOCm zo-PP}&n6FV5B=61(p~|{2~-S#0D}*VV2mmXYPl39h)iP^1sg{tN6xz#*WO{yCFhJ~ z1adG*H&vx%Va{E@IC}tK`MMBc$%zzW)r7hp`~BHRpNo|FtiHK?A~F_0Lh@vB`Ow8W zr}6Uf7t7_+IdYDhwk5=zGNB>6TuRe4((hBwan|RIhz(8{0dfqIZ4kID8FP^`=@yCtfB>Kx?l+)i7(@V! zP()pD9;}XTEaDUqFa}q(3m}iGv1wPU^T%KRPK5*GFc<^5z+XSv5}}$hI#UHRne5aQ z*&`87`C~|yicEn%A@r$~LIl8$n%dp$hPn!lAc?u?@=&~^*|G-c9n&(U0kdp5_`Ar zdI*$MZ?^k9j427T?)E8qHwB|Ha4PCNd*^Z~`#w$cmLft(T{pG>rHF{mmNkf#tf>?? z<;a5*wHTZf1%$HCYL>gCU{g;k5vwa-SI)+gOPaXjRpgw7nT9a|AQ5i61ZG8av+WS~ z`Qoy!TQh6wP>R;kLj|hP4@rdfnwf~1O3}-!@oZgPTwRLDG(5+^*Ec;eR#l9FZ>}$y zQPos|nLP72<|(O7h(j(!m~xr1LqbvYJ}#E)%g0?2AwuU^)J)AWtCmSfGa0_>(R~B~ z98*=fTn=Tq$tHDjmqG*uLqJt4qK;`I5#_80mraFiQbq3^uU50J2VXUnuc8mJuCa=n ztBc+BlXkvJySTpU#L8FD*4=iaMtyhFa0`JI0h}WQ^~_9pD4q{om9BgK+eCfe`RvQ0{|WEa zd3V}^qMAAON+bn!B00STh#2mh?HqB)Jl|dZPE)^IFmoy8km@!NRRB2j6`A%5Pi%g@ zGY2?1fgV4|UN8ch9v9!%0P)%yNK!c5S~oYaTyDO89K5T}&H!K>#t;J{w(FIa9EW}= zwjI-IvAj6;g{hj`h}_IVRSyP4K!m%mzMlQ~6M$nYm1B$K6YfeTCRZgjqsb4lBYnZ5tpryYV9aBnzfV*x41i4mXtfI%*gw`Mr03HAVMgac* z*?aRQ$&Djl(65L9kePKiNl~LGY2NP4KHE3;Y`^~}S=*gMGdf6icO7{Eh{N6YkH{)E z$tFcMDT%W-Zf$MdRha-12_XFV9RLlJLjY(oN^1&W z0FWXFp{6$MMgYQj37aT|-EwWl;GJ;X$_%>fi?(K)DF8zV4DMZh$N`Xm2y3yMU;Os! za+{mYhu5VjGpZUscUwDUe`$*A3J5|})c_!?Ig$V*~HAAxNo;iH9hy851C4 zI~79cQk&b|Wow4u;8xa^&=Hwq@Itk=agfNSpavL2++17$lA1|OB!b}DbU9>ZnYKH# zdV1J{gkg6P$HBpa1eI3r_lLLlPY?ICsW6r5NkjpxYN^VBsyd0Uxz0;*hZv|-%jVmy zNT7Mn{gJbta*7fn4?`e=<6KH-&IA?KymR+~;^ zP&E!=w@taUT6JCwpkm|{q@w214s&+%7-hSOk53CTr6_7PA0O3h9H(4LEAv@253n_5 zCN=B8)&5*PD=#}h*Ylx{vxTNMP07rLB;84)REa{{>?BPPvtzEWUbDS@=(X_`}^t zXBO%AO(I`#Utdk=Uf>Ns@)+O#{`Ws}3q6W!{2=*o647}LOhDX91{MUAW^ouOgx%HU z{tthuF{nA1a|njc&4wuwKy)a~%e-9O-opEGqwTnbA1<)?-Pu0?JpSqTSD*f1w!^!D zM3DsmP|+DW@*cY4{_9XcOZ!ZXaW7HzGT#t6&0{PtJBc{-l$S8rb3J-j)qf*#&}QB+;khIm2TZf``S zJm>N5Zf@k~9{)RKK$q~MUb+``efx0n@yA~qSJ=aYq(t)lfqY*%!=?T7dY$x>is$~w z5ESU?9eAw{fUeD%xz->e>_~PI;%Tm}R!N44k?~ZVm>EEuKHa~Wc9&%4Zse#nyScg( zk*RYST3wOk`sNk0$T*ql&E2g$@oE1yZFX1JufmWV{PF&69LBoLyUV*Yq;;N21OU+e z=Jtk=3=Bw+g2Yglb=XV~ufIs!?Pjwf=F|QFh(NT=$J60yo%gL}00$7Ld7d)@mfE?D zs0wRt=Dr!@=3=a;!hTY<5E!7qxwchM%X1MS9-;=zr6J<&?WW~+IIUOGEsw#8++588 z{Ni>80By-cL_-qr-km2xZ*`e75+D&_$T@d3g|NgxW`0^~PqgN>q$J*zJrSDv?(WlR zvoT3l=2Ea#RYd?81}R11tTYZWNU4npwY26gOo*rsz(|IrG&dNA;OIsf!d8T+A`M}F zb8vHWh)hk5nYNpVh);+0ayK-!T2%msG0bz5fosvbt0{$coDB)JxIEiF2%)OAW@@gg z+^~{1bpRyy!(j!&YCa^^T6deYuE%vLxk1&7%{YV<{mFzwilPk&>3qW@5_4dJAjIOP zW-wiBm`OrtC37mo1W3e$=0w!0)pFYJAI*#j&(HwEUe!nx5t)e0z2~Opew+&tO+y%V z>2QBi163P_FfUEjW8kKm#-#fN5OZ$pS}!iA!(mw-3lVL%Dd(D^98aY+L-IZ^Z)ykt z%px2_m}$F7hqKEB000x#ri3^SaU5jY4PGq`A?NzEpNVK3!n#&>*iL~jZ(~X%GGgl7 zupn%vYiSqTw5WGWT>vaa%{&C|P#i+6RZs5S+inolZR^X2VL`%r^+`3@1Ds@VHUfT#v)-g!1=9pU5V zU+vA|3(*(g9kTB?cJY0m_~-5Y=dS=Z+ucvQ!S_luzH96X0EqZ^|Ls>V7?tM&z`w0+ zdM0Il`%X(KKfV?H6GpK%r5~)=rS26xB6+JwSabGTWVmTf#fU^NfBA_4y#3-$P`!VA zyt}+X1d9ynPpxdWoB6Q6xw>k-cMb3*v-X4H&u0HUe&qOth-)dQr^EF}ckb@?EDqa; z8ebnDy&E01u3vSK_+E$e?$v@sLmCXMmRd>yf@vJFZxY`V(A&?5-y)%lKb!>of#L37 zeD?Wfy8%RI0>IVmrJ!#Q4}5h60QjX$5CA~B+?B`2cy-lU>&1gDi^cf(^!V!TZiopG z<2zUH_1&wst^n}*&3{DXL7)Q6F%J8K4nxT$4GD<)@pyMwJ(mGz>t7-g4*dnV+x4kJ zpBudFg>SAM06&zL(?ZDLzAnc& zU579r5tz4HQyK|ry8UQAJ`I~`9Fo??%yvA+iwi>}Km!;zqnpR=)(~%Ay;8GQ>(lEu zm$x^_{P@Ke^Kv>qeqK&{a0968VG-svtE#D*>N!s(L^Ts3&$^bzgsLvWXa=Oc{hybT zrU)E#S<^Q85k%h2vc7X4sMaj15w7F+o?J`gdm6zguUB)Gfkr$PHR&rYS6ry#mG$ccq*+ds=VE#Qdczz zpva8EULBbL0Go-hsR=o(1vewO>uHrCQqwSv0O0OnNKh3CT5ZgPW?IYRvgGBo+or=Y zBT`CCh^B@N&5RkBY$H&b|gT7objbgyA|cUDy>x$Z7U zAfBI2wQ4WqO6!&pD1ln*>YrTaEKHlLao#V>QdR9m0m96QakouPZ5ks`!dRec5MGH& zHFv+c-UwqU8WIgtaNzs%D@d$rr7D60VyVrZTP;2PMFbHMrXW1eH3l}b6s0x~f%rV=_B3o-J=JQ2*woBi z&r9u@JWy3@D@?fEL?R4`XeX~sQP47>)?DV(A*3O%YisSWzmIW@;iEJRSv3eZ)ep`< zzN?2y2x@2fI0x{qenr@aB44JUe%AeYukz0aV31~$lx2MShIY8xL>wYdi&-WQXo>XT$^@LK_ODJ*2t{-vwTQij$O8f z5Qh|++B{cg%B6(B-ESC~o?ibxe)=2POt!W>KLX;AWV=aguDUh~m;(2{`!IxgE(o~W z#5F4-4nruVnOX>(#+Z*w5Z0z7r7inhtu{>w2Vjh{+oWZ!gczfQz-m@XBSH}g2+h#w3sX1psnxt=SMfO&4f} z3t(=o57JPkrIOliv!5x@zvxg1wV4P$ad98-r0MkCm60r0p#iaR*xbJ;!k@(Mw^<5Mm!+^a!$faYrM`@=F0kqJ+89g-jbGc_||I?fpYg$bR4 zfSE%xh|HaD=78u3FioLr%hqb+5X}8_$}F_QAp~LW?Q?q>NDC7YYVkGKAqrGI%_T({ zqL`Hw10o=EjL^zSZ5!j(yb)2)+F#vnm$fvtVUUhd>7MR6Ka(_=v>6gMwJzMW-6l0J zrPZpB_iwCun#PzCwp!gwZA9memYLUP0MK7NSzxAIS`6Hw^0iuV6(&H^dLl$&3W4XR zB?Qvu%ye}*E^94C`>+TRYx59rx)^nBr5v`G7dN+8+U)-AoBPlHxi(|QAxTqnt4~j_ zfAgE)?zS70B*OEDBBH-b1*rFl)byFOi=8au(8nKeHt{*P>K)%f?Y~s(A9h&&OcwtC zNBmjZ<&TfnntVf9{2Sdh?A@ntzWtrX>z7|yYb`u)^K?88XQiN@SM2ZK#`ps=?^eoc zKIbA5^0G!S5_$FU$B1NRY{3HJQPvaCqK)}4t^(;j5JOMa&^y&PE4DeY=;5$ClUw8swW<+GFpM3f$ zJl`YzhcB<`cSI>gRiEo9?mbaNnD5`FPd^=p;dKA7xw+1V({|kC)|OK3@QBaqKlzze z!a*FV)~d__upxyQr5IX+5vt)J(9Se~^8~=owBIucoB8ZI^e#O>o3b!`XEpWHM%sL< z`fxrS-~Df^@AcvS+eBU#tp&jqw4oqzEsY7C#NEA%C75YbA`Bt6+S=)WgsoOjvE>qD zP;GTNB5_`hX6At9_2+4vKKa#eKl_h=IUOH|aX0R+mihSkAAgs|;i%@dNQ!2V#_bos z|9@32#MJ6(OhLx$?X=n5-f;-iW&?Is$0-H?Tpu3O^%eAW*;>g32y@Qb6jWur zjB;7m#~>}2nsXb6z*7M8!9vb0*A|21(n>YA*3tH=9s@b}{{C=rHFZNEAOYF{R3HUa zVFDS*ZQO8KPy5{5VMw7db=4PbUR9ZDZ5q-bBIei}mo>Y&xpxRP6M46-MBGft42b+R z7gFoLs!e-!(aeS4SrHoLpo9FAEPFLuN3YSOha6GQ@l)@)g8pSiSVSG#d7m5G|#W*X+DAi%m` zO0`m3uO~NCB*I*DNHPwXbBjS%t;M2>_U&l-AFDirn2BQWQiuo{BJSHZkYc)B&K@mUBabH*d|s zvCAnq5PF_Z(-1JQAk?a=CPKozQG{v94Zsj_Gld}uAo7^T#HYv4)8>vtyngkIvK){5H{E+X2n9ia`udAM=G@Y- z0f7C(+Yfu<$#-XT?k+5SZ99Yh{asmZG=IhreBI6WN3Agq&$^1;TkL0-cK)#VD-;0V zmJEFpEYuI?YiASzYi%MDLU;id=XHH40G>^SKl}(E{`jXq|Dq3yqCWr&)WDm8m}4!) zTsD&tRR%FguKf3*hnX+mCK&u{yk9=kU{MEodUk^n5rW+a}y4ef;pdZ-H?QLsK zRck3oGz{PIJp@S z+Q7^az-c#jq~~+a-zNY)cTz;G_m9Ic$-~<+Oz#c>_y>Ug|Kjnr+Q1(k{#Hlw%`kwR zvk zEbhpi54xV#(*q(tJw9Gu-K249t?n+bRn30+-`lzvqSlPUh$tz7yX9;lLM=Xy?d|=L z61tz3WxBq;1ba|5gwtVPa;@W!XF^B-2*3+40;nl=v(ltfmCT9d406=rq)`1`H9uP~h-1<6=0pK*(6qyJg_p2~A z_1ZKDI{*_cYv~|$0O$flrY7NR4Ys=&TWQDRI*q~1g=v4x;}~jflElv@%7dEcToFNt z5HLk{f*{bA!!!(O*yiOl1Odlfn;KSw5XHdV6~WyV+}WiOcyj_b1|ej^TBL`39SaKVutpw9LuetZXZHO{Wfe8=Ctg3{t zu09T7x{LroM71>lWTH}Ai~?W)3?LzHIN&%;PmF!C(NRp@$*x0J%xo>%jfYRClA?$} zDVmbhW?g&E%|*^|GABd_g$`5oAY5uwbwumeq?s>k8HdoccU%AfN^N}}vMdb=x~X=l z%2C|CHjjZfQ*3I-Qzk|LFf|eGlAwNWsWXrwf|g^`aXZEB-5sGHk4F)DeB94VyS<(e zT1r8LTWvCYAjn+4yUmV>t(}V){07PQ%+C7;|MzRN=O3TFe{3;D?lcFfaW655N0x6c7Re-rU{QQhH5jX8bMai)C5Haf~sQoRMg=dwIC{ zS;XLb#Mh=zs+vnaolesSLAfR zgg7!YxIf-ME~n$K{_!6GU~_l-@=jF+b3;fm0AO=Bvo$|Azsva_1UL|%)CizxGejgL zX7{gQDW8V`W@KilYKVw(eHqvJDW&+166nu7{3o)y`$;07j@ne+fXA9M0?;((Qsa=^ z0SuU2!9<|sWtkTT4vdeFPk=Cvo01ndJ)Vx!=9B`QD!u(RGDAV7q&0N3S|OKrk@cautKxoC>qTdLTdx*gOU z403KERvAJyUTZ1MLU2cHY9a7AgyUSa*=7^Xyo>$609Mru0Rep+L#rm6tBaeDhZN_h zr&quD?djq7s(xBp&TY3HP|eJiwT8e!hzQNV?W{mRgstgm&K=b=3}K!#s1>zpP-`P5 z!j2$9M0j!Pb@SGAS-h#2(f|ROQ>5K?K!p8aZKb6lY^DSvVm48%RdcPX6ogK5CZb$Q zZ??GmG{syhBBmrMh?-UN%^2sU-k-|tggV^>1c?z2Ph~l^+R~6HY$*=zZlwXCM+_be zea)qny1Bjp@Tyw&%hJ}sSG5xfce&M14Upvs}*SCj=fMsah^A2ARf?Qh;0=n3r&C>sP{iA`F>?A|t=&GCPJvhwo6Y?GF zDxtb_hyI+?NQ9Se;MwyR!5zPCrTH=IkN@~h{A_~$@;KKQn&t}tp#RqaUcMevWnm(5 zDEd5<=x%%nFpNWt=TaL0n0d3^0KmE|Ip?eE>z-x&r9a3A$1=|syFXtC$CMr!q^hGE zk}hkIfKgVrz^R!rGngGtGcgYoFtQ1Bdi1c}L=L>!x&a_UQd(DYk0M00mGH+ezToiZ z6Ph87A8KOof$`F1=MZ#lZbr=TRfgzG#AnSP389t(&)1SR?GC;lZ~#Qy>N1Yw#nokP zMW2CEdCf8QE~z6RAvzHmowdSVxV~TC=ezWPzfN?Z(pUDl%*!y2_{?GeguB0ck7ENO zh7e3`z276Vsv5vBq!;Oi<>it=;FPASRhyRLArMP_I)uyfg*`2K9usug=u`Hcm>asG znV}K^vk0ZSB}mJ~2!wc9s~M;&t+~s* z%Q&_6c`a3FMW7IbB@xo=&;Nu7hS*9*qR;>MhyBBAW+Etgtw0!JU>dB|`S{doDYcB- zi(1RNELSYxfJ7Hpmu5O_wwv9>>3B@zlyfO13)8x;+U#nG^SX|$X&TmLS#oZ*#vz~~ za122tusQ;Vnrj?3szW3Q^I6K#%$96|D1?C6nuWlv>6)7`4JmX}st_cX zX67+Uo{OqOAY1dY*3IR(o-z@M(3+b$5I}9pZQt@t+@N?v=Xe< zU~_ftC~32creU09+)7NYiU?Zka>&eFESph~xI7-i6kBU+%Oz(gcQ@uJK>#^kOw8;= zYi?l}1tF%%9ayMTK(%TpA;uJkX_6A|s||w?Vyim4BS2FF@SfiTKrYSQU%x$#Nn+%Z zTP{t6N^K!fkT9>637fjEtu;kNHb8(FnR$rgCWQFrl8i%;aRXi?3X`5r5JETV_U#l;b6GP2 zz%)v&TI<=YSA=qIh$=#6(A18nLPToT;Ynx9+vi1qiB5B7A`t?I-gFTn3S{O&WM=DX zeZVyiv6Ob4O9xPmgBW^2O@TvT07z2=eJQXF03nDjW!zqX)#GUy$8o#a3VI5+hT-wy z&2HKmdMQOeR7*|t+tDfF@eJ-kKs@t+U&Ogz#61z;aix5Z=Ffixq#rI;^Nsj3l<3aj zEID^3K&>^!h(vByn|3SmXI&=k-NSb_?dJZR+kMIMj4AatW5)%3)AZ{5$Nuy0rTzaS zqiG9&PE=&G*?e;I(P97gcswEbC^8JGsitXyXQ3Md-&|~=k4PPc!>R5zR+M+&EWNW812bC&IYhu-}hT?>erRh5}a zDX0D3!Ef$f!Sj^qWq|O5B%#bS4Fe(`569pC?%#g#-+p0gwN?_YwZhp0fDoO~o!QMg zt(7_};5`+eKd^{qMJQKfc)p2 z{R2Sy26O3e7`L}~Wb1KW5I{m?LPO*bVz91xXM~DG#O@km8n;(LPB2ueWV&D*_ zX#&@r*RnjNaf^sTx~#Cwi?4P6_D#+U)W!@kNK<_}KPTZ_jb7{}A(GCEIQ#P|{q{HDcmeJj`7Bz2#YMvs`OYMtJA25n==jjrmF&$5N zJEf*%x zfK;2NBwn=3S%N}qX66m73q+P`oLdk==uY82FQrrsfx1GaI#JpPb7B~VA-FE3HQ?s# zX0|^pfxKvT_tqo^Hzx*(1cItfb8cE|t?OEZK!gbe(6p*4L#Zq>q%oyf)z-toZQWgc zbeyx+YR-rKaX!u^A5#EhS=WXH;}A=2wW=_wIuoiv3S#c9>2WSFLkPSb<7qC42w=4u z0+xDKb6PV_qa05a33pf1ykG8LzmAb>Q!`)J?gR`mNbg}1p$IY&pMK9_HVqaxcW`1h zvvppEaX_Lz4UiyawysO>Jk1_nqzy9+-{KNkc{w`&$L53fr8G8SR-(7zY3h3o)v)1|`2+sai@x6WY4&WJv zA*J-S7a(FS<>Bp{>)X4p`U8Axm>B>P6Eh3QxY<12KTgBd?d@GFWf%ul>&gO1=mzeN zMA&gb&#o(9kH5u3XS%%sfbsSwuLTL2Ib80ZX*OO;2_d{&7ad-|-MzZ)FF-dL2I1ixr03_Okj5qjTx9HIzg6bAxOKm=U@z^ZC)!qmk> zm$gh&>deb7CEe9>YE=XTJol#%Kx&_bTtRVzAR0IV&u!~Tb3Y!#atXcC0$CM=OKoc^8rZ@ z3#R1S$aSq{yW8*(++4M3bzKX&MZqTI)<7HL&{{j4mcS&!0Kg(djIHK;n#Q1YcB^Iv zdH(D_{`u9-rqs6NHVr|9O0_lDd8r`~6AnpIl>Kq-$WlZk1a~KdraBIxH3dX7?Hc?< zxMl_Sd8tGgguG~qVOiU{HYQTFAxUjEjiIR#lA5<>rRa7u2opxe+PWN*s$E=cVjLa0 zmemUE-@J|6bh!UKZBiFTsLcXmQ?FHr)LRS=K;~VphX63801&3pTGLz%9G0aZVoEWj z4HDda{ONo=)S8#$BQrI%mmx6XxdQaFNT#3VINiI(k(wbwZPs;x9H5JA#K1)GtZ|1a zvYV&v1waGPXWuaV2a27k;OJebm|}&$_Nel!jql*PPd7 znQ!jy0DzDHfQUkjho`3yf;N>P02SWZ!L;3|HdW>4{Ppa4Z6bP!$fN{x186QA`^Fe5%tzp8J>&JuYMZ%>Z9kc7|-1)>A0#FfrOM|zcK0Y z(XOrlVE5`4UZ6_MWLB~_GgQcq{4A?qpC>{b0}}^^7^IkSQxNIXT|O?l9bZV&g#6{1 zLG+h%0(g2ngiY*2fp2O6{M@4b1)X3muRi_+5vT3ewAETq$D@~Zd;7{_01BmKm}gB% z)#^Muiz=2{WKbq@({)*hnN%@IEo*BPz+1z&Uwk%=p*4%aPRDs(3INmwuwvIs8HPYC zx#1Ye!Jpn9Q{-WYJ<&&iQd>$P2m@eiy4enSDf3#0h#A~HZ9?~%V#d}~%|);^?^e5g zlQIAxKBD%}bufq}r}N`t{YTkC=I#m&A5BJifjE-MTEb*-%@G5~8S? zs;4Lb(3&|wRVBpRo6XaH=~5;LbUbAMEJZJNLl9nbeLAccAp?bgc0s-X03ZNKL_t); z)6?$qs?}n7CRBGvb^-uEHwPjx?R7=1iUdKpsdYU~5vtYNVZ8uEgwrW6r4e`ADco+; z(|+}?z>JupoR$Irgt*zn7?FjRrK;Jo+V*x>j>j|zra=bDiC!Fh+Eh>I=T`3! za9-*#2o>FJhqn)NF13`_{gq46QuKfs5xTcp2$D-p;p~|;q@ZTC8Xyot7aDT+XD)RU z3AO67mafv%)Vme#I0RbJ6j|2dk+G)<4DPg)!+l%Oab$wIoa(MfC zKAZ@_ivj>5EK6|@Ik!@^)VA9UrD|&q?n9DkOvG49iwMhFT03X<=FSL!-15v4$}&rg zW{oAdHbRVn+u5(cyOgRMj6>|~xDZ&F`xXBDE7>12GsPgwQjl=FO+k2BOU_Nr$3ZYj zosVXg#t2-XREP`^!Ai^R_TyiMlpgOtpQc?YF4HvcpB^3_&}R&GdHD%)AZGa?LWu9i zcXcbf5P+GP_vS@EN6*vu_v45EE8Y|Qon7H?gg@I&eEIkDuMprohx*zZ#%b#Rjxm-P zm($TynMF;}kr0__cX4q%9AZk$!X!=W%MN-T(^_-$VH`SwfQ3b*izIY}!;d=+f4y)s zd><}WIWQ4I5V6xN932pe+qy&!#3U?X$#`*bVc@xt#3;enIw&qN4l(9=L4)hN zS5q1YP+RMRONsbxK&joh{ox+L@B3&Uc-Ng9!e_XM8ZlZo??4P8ylBYwbRnkH=RYr1 zUkLG?O@WB)F0Xz7&D5dRHXo0iK7y(fk3 zu1R`Jh5W53*Q0)0Q?dnP&9{BqDYnzy#4lzb^Fo*5-@&2FPvQN)70P(Xc{g+IC1ib#}Zk`YBUQ3N}=w-mqwt6q?{I@=Y zFN0AG;qqeF%IZYG3@m77-Pxl1fT}lx<6$4tFl{ccZf@tNw?m56z>t8bm1-i^iZ;vh zad&geG43B9LyYbgV_Me*jt@<(_dfshhyReYdHmuF6w%f=2q3P@YO2F98o)6ox}Lxb z62&l7bu-Obms|iK2F^vBmLP2I+s)L}RQ33jW8g7`{_r8h)>Hzg81_$d*bXr;F@dn2 zxwa4lYl9%P+opLbIk(!>&DXWEkX7$c3V?1_ORY6;>OObsXRR$p@n&YOIDGW0Uk<~x zp5_o^DfzQ6{s84oij<~pIRNoM4!@P!^y#n;Nth``8i#nAv$3ZrQ5Xr=wG2_xZa6-i zYEvR=O+yH4u0%A9n^O0vxnyy()8QUlW^Qgk4B#eRP)M~k<*wRJ2pt)L=;k5NveZLS z0%!M!x5pq{0n9-NYi&$)IAlW1Rf%v&Qd{fGdoy3wHjSa9YecA2Jw3iX9S=2yg#%gn z{Ik~pHY9FketN6Ia5@~^9TA2hI8d8s+-`+P5DBf+vgXp71qQ86&X-eL=G@dCA0O1T zHTBk1jfqHz01dt86-+daBFrJsoBN|Xbj(a?N=&_IM1-z`G$c0nAdG}51w=1Zg~=V3 zwGJtWU@6K(%i224qZBJ8cP2Cd65$Y~)V7)8vesURHr2c?2(TVzW)4ZTxjRUh!gM8J z?D(wx{^|7aCoL;8@({eV5LlAzALjdqnFt+V4D#@_0C+AE(gX5&@@>9Q8neB2)pX^6P47=(u;%UX#DkN^n0QKT`+yp}HGBTTuds;QAM#UMf2 zxlIJXh|5yq^(F){^8gTp=cfg`y#6T1)|+2?=y<4x6;=e91j`Y}zP{qbLh zIHqx!=f`C^jOogqQkp*Oi6`H!wf&6u$N!JLH|vt*I?e=bxr;9mk&&6T0U$(yY96&( zYRyac|Njg9Fe6RtP)ida2^1=~i16huW;PEuGOGX(AgYFx(5Gp2>Qq){hKIX{yI)(r z#U9sOIM3dn($e#g`Ee=!Nq3w6qvE{^02Kvn6QXZr|Ltoc!tVee3;^48=Yx07?e>@K z93n`rJ_JClxrkKfy$_+5(p+w&R#6QhwD%AdCVu_p>ld$Hz+0ii^UM_Sd)eMU!KmvJ zexEa!F)t`Sgbm{F=GD1iqSe4V+;oE&xT@5TZcWQ+!C?a-dglpA$H4%D8X_L2^?DeO zH+S7QSgoP!6v)78F7Ef;0$ulk_vi145Bdn6GJjK1QvfqlAVQ*VRTN#{A(D!ItCD#q z3&*bS&U~N8gOytG_i2efg{m&ooO1%i+t*+3F1O?M;`4v~w@*L&OXr+wb7!GErx3mK z!2m>skeWfkcV+-hjQHQ_YHV=0cX!|s;;e1&ROC^s2N1E|-Mh!^Ki%BM>nk|d?izz5 z6-HR6hxKtBq>r#OHI0N-VHRV6=$tlHMF4=OdHcBpXr69oy^Zr3Lco?#v8oo!wHEIK z5xrZ>{iNbB9si?u;cW!pS22&x%|R*qXNW=`afb#~JOD3iw ziY2iRwJI_Bz9%AL=R?S)^uthcZY3@lv}AO*zs_l`Lto~pHmiYk@iEpa$Gg`thR;9$ z*ZtMAhx^-FN{F%Vy5L;rU5L?C%W^M$0+>#Bh%j^^m&!zID#Um?&1QCeIp$Ifz%jevTy#Kaxq`vrwC*;Y zih|^!4-M*EMb%_Yby-Vm^T*)l)}JoY1koK+BUS*hV`@P82Kz~={L41pQvRoWfon1)SPTd{HOpTV>Ji-*G-Gn1vXX*6GlzyzXF z^{fJ^YNZxtY9&fL8wN0RE@f?Ohn%Y^uxldAn3l;qMzo8|ATl#st!97@H7%!PMuG$`;aPB-K0*az~PdB%-sAe$oNJx^VR76x5Ev2F=2!M|D(G*$9RLwae#1K6;t`}gf z+Gx}4CcBUsJLR9y&ZJ+7;WnGccK zmz=8PF1mRwriKJy8oQy3E~TXbfgE!#wGcrO^pV|rt^x4fwBgU${|`s4`A7e*A;Ob{-#cXhJfi>AjJ~CS z(ma6Dy2cm*AcRm#Zdh&SJu?Fs5t*@>tn=bykSbMbDVd$CQUSnJyMAK;&VQp^X&WIT z)elqwdh_|`AMmRG|B-8s-_c(}=L0|%E71`#B5s3Ua)PQDL!WbDW;N)CdOUUrfP}!J z_U5<0`{c8~bjYmgFE4-l`4>O``KNVRC_Q7&MCZNtKxAoJs{m+Ta~K99HmS81=L0j>QgccrCorki zL`q3>OASjECdced>M~6!t?P8~aac~rZnKRs0^odlsCoI_7r!!905pmFXD^5C&J7zs zj;2}&)A7hLlv1W?a)H$ln96d>sd9`pXF?=)TCzx1tq9O{0l~xw3<2GCbI}bEVKsxa zCNS4BJkGXl`Ow7U{d(>e~(4FLemAQwTv<7qX3;9U&R@5bd}%0=3x))GWSNU1ci zoQOKdUFVx4(rH@3#D`9GfyeOz5jsZi-I_|b**Hfzmr`e8pQrnhCPYI5Gpkh*fQWKY zCMc=q)U3@UbluhUN5jRHlADij=6M-+*J`}GxIl8t=>e&xR1txY)^u_{#BS?Ad>D}W zl5$B?DP~N8uvS9^$54r4WD#h*XGCb(-q3}Vs}EkP43X1RYSk*zo?u;cBCQbvO)OQ! zyeA^BYPm=ZZoBV6Ohs?*=2~SOIxC8V7u){!er9e4$^39!V{n)IUe)^D82Vj^12C(p zNCqI4>Ye7(96Dz7xl~4yl+3UTjv$B>RU-sH#KyP?o>CTOLd5;m3y?+XdYW^Lz8PRK zbFJn*-QUk4xcI2T(0V?ts##JsHRpJmbKkj~1qs!xRtLpKo+<3NHtqHp}&xcx+2t|PiV{kG0J<;p0j|Mgj(aeacR&{pfyO&&3D&r7D zwUnv`l0;OcA;bt%p3Q&>*JbTHFQV(ZFxD&xIkjPweW=sa4=vkf2ngE1KW`bSZx`ct z^8O!KT>s1vhQ9k=U(9bs^H+W%@V!d_IG@L+zVsa$fQWqk<(Ch4w}1cN{yRHoX2-*W zhUwvQn!{C^Y569Et&=Tm2t39*(`pefJ{p=I( z{X88u+YKQRb?dq|S0HkP%+0Y30BS8nOhk4zBYcnZ@V+OF&OT@+q9XOld8=VT-n~P? zK$hb&2SfnGuOZo78WX_qx&_J+QHEG9WjY0 zJ33bY07wk`-B}!|(Sech>I#tv@pyB$dv?w2up}@z-rilkd_lpxk6yj=#P|u_#rW@v zublz=u{d%YZnwGiSULZiKMMSh#5kVqU1GFadCAA<} zDP@_CrDSH5DkV(_1(3)Gwgo^=_h0U=UY!ni^XXt_fUb&IEy|>(4|i|C3IP-aL?gnk z>&TEpAi%qahcCbQ;^OiW7dxJ&w60Vz!~ozJs#;!-E3%K?JHmCHq-J>3Au*u9o)Ahs zAv2&K`f*7GF}DQTJM%HFSj<3Fhd$IQW;D&I6Gg()lv-nGUTO?{%4u0~9CS$q07W&I zN^(}+F(4mejDgs%(*qNEN6T7>keNy@L@1(XXtkNB)ioocDU>WVm!b)ENojE;oBamZ z>$=7<0D{gL(1>_hvttsq&F=F0)pMZnBBBDuRtenC9XfZN>=X0EGxIc3ta{H^YHxE?snLHf|ySsM?yEe=U+3C_?O1 zN?MkhSLaB`2&gPZ1*vTV28Fl^_C*)dcDt0t;I6kIbJLFc%NH8L(U8IHM{_iN75 z>Z>mDnrhC{MHd|x5d<`Y!!Zs0d1R!b22e_6rd%`xr)s6v%@F&}uc?Tba|~4)l0F1R zM8}v*!V||l=CvH!5HE6=C+EcDG@d;DFw?#m}y;W z46gY=@1K3@K^>w2_S>D9a;;zjsLMJXOR1tw;)WTgQvzUSJ|0h-fvb5lB`Xv{PFYkD zv8tll@pvjl*pXuffEc(|RkPrzR4i3(&2ihM)7q+?QflyQX6stCSsFVswNfP)sa2oI zGokl+DLGd}Vx%RPcIC8UNknrwlevfJ9u8~hKCr|1Ln=T3@PzbfVn2FLLEl|Kp1$*a z+xb5|`v-uAw*PT)&MoF?3Lz5nQ`H5AkFbm1Q&XjN{rJ;Qeelf?pmlcBvcCG+&+cz; znVt8+05;n#AdTbrE3r>M`zy61QUE||W#>dC_WjF`UL6l_=kkd7#jk(;$)}&Tq23?k zeEhqHd^5*L$4NjOk~uWM$gU4TRXy{R3L~OXab6>v2%%fne6_uB-a!^-@}~EvlS#dp z=IETHb=81~;QU&J@m=ev4{`hYG4ZV$<43)uRz#YQhwbH6Gmt&E_&#zEu|LBuX=F{}%_18cD#b-n~48wFh zt|?oDAq0BVUU1GgB10)jY9V?LWZn9nSaV{hQbko&OjJSjIKkMP8JLA>%0u7GBd2K^ zH)AdCT*XwHb961KJ*ri!sftu$Cc(1K#KdH3j!{H& z7d)}sUVXH=xFp07yTikSNbScB5T%?EaTs@=37FILu-QNFhHc;V+pDWSMs%+0hi5Ne zJ>1=y0h&5S$ENF)fwp5r4p0)P0#QntkkJLOs%okNAa=Utu!+IX({Y(jATydZ@=vV- zV5d37;NRSyh)5MSV`xT*$0>VU<(>rgZo>r%NA8OSy zKR8BaQiBGcXkFFz5wt$H4^6Efk!U*J*OE6Ed!~S(#_TDJraCXBN|{pIzV|Md8iNbo zao}#elBBs7H=mZ}FhAU`%ZxZ#8r;QxTISQ~q0xnr*^tAqb3`)Tw@kF81%aemQz*`* zHU%MsGaw!jMOBg^;5hnqt@BbMfe}=*D(V2b;3XOni6{{?wsaRABA({dC_Hh~J-Q+y z>LAP$+hpp(1%i_AA;|;aWfJVp*JdOU|CdBDdHWksfOUN z2{l3(F4VFbh*ng^7`RkLH0PWd5P^5jJD!d=C1+;pqL->E3m`0OeI#>hYwdeSedlwQ z_Te@%Hv;;=?U21EGl<>+*t}%bhCX@=B@s13SgQblDwsj3?HcB0$VG@Ty5QZiX6IO? zE~k6nZ7;5_%~aHOmoL|~zPX(plYtSoPP`%#Gl|+b1Xb%h$Vm>zyIkt@@J6bb=`z{4 zz3@H&)FJY;n0H8oM*dO!CcYRk&c!HUkS*q$Cr(6*rXHjQe^hCf+mlyrA zmQpq68biE$eK0^GY>vpH5Qv&HyQ)>u7@R72M+jgBB6c_>x12E}rRX&05S*FiA|bFT zpyL=E60U1G9EF*YK5&lu2UgI>W#e1_7}z)ZHh1Ac7rV#(F?e)_;zyM8|8|i}-t4Z<|Iq_>8(2=x`M~tmoS@`HPRVT|3Zf&L z6<9SX#2B~3i0nXNNvj{XC8yy1!|C`B|M(C6Fur*H;^hEYN;O(f(?@^t+4@N6bi`nP z4BGD>BiMN)+Fo6^X7(er%*^CH8R`H4ruyoWpS>3zOhlwedv`))=YIV!|N80Af4QpR!Y$1x5)0x~%ye!Av!F5Ww4he+>rHRkf;VR!%lmew;P*{qb} z=0!IH)KU&7w;gL2K&1I?5ur*o#r$vz`)zqRhW!NwL_{mO!S#8~4lx~$237%gT_-i` z<1WeL7kOUDJI&dMid7SH+wpvsPc!Z|Z?pe*H~@%rynEO`yTZ5OnYl_`Zf?UzA06M^ zc&7g95&%@?Cv_JS{)Ctbr{is17eY3Gw5;e@X2IYIiJS`rXy!mG5j%$lrWF*MTB0?_e95p@l5O|&o z5}u|E0QV1zXd@R|ebn@H&Z#L94dam31<`VTR8cfDfDk&9T&rxxu2$)SZ}`pW@H%#X zfnYV4e(WQRj+~Y?@v=S~mi2*|&9o}1=zbryN?uE;_ukXGRy3cdE!$1Zb)8N} zlNw_rV$@P;6%!~b24?lGl$LqtN|jm#5UL0mRFN3myi_`mD6N_q zv#Oy%Q3Jqb%`tdl>Kv46&e3s7s%8pG0J%1yOb8x8pc*&=0P1`?uJ9-&nM=*3;)-4L z&NKKvkP$G)o}C9X1BAeod0EzF&M6CmAwtRkfM>^7Yk&^xq64VR=-8DiL>Rl!cdk?o z;}$>|jiM_{+3qgN{Q*r?m5CZ{LrrUzMlK2gYSmT|nKTW4TvKJnKAvgT^OBw8TBX%a zZ2&?@wF-G|J^q|464ojJ96Z%(Oz0dj5w@GivlbD#kJdRCh+@-TxOx?KB^__SM1*Bo z%*-|61Ve+fSzBEvG$per$%*hr#&}y-H@+?JusBeMDDR%~JxTX<4P# zW{_8^c*le)qRa>Ygy@+1==xo^99C5jwcuIRQm$R+a~5XmJ9nIN=dtfRb#6T-5tXWy zgbAAbYs%sY=Q*oVDMCzy7$bw(vP!8E123f#p{TBlq+BnrUOc~i`T4*6=ZCS@L|Mn(1*xX#uqt{VVhH{A+M)gW^DmNA zQTXJOPj{Q$Fmx%Wwd%9WeGJ3#?%p?dCsDIMmA>HzK!9pp!=s}AlSypr96u3GetgjT z(@B?UUYB)U7S)ynjPvo>b^X<|X8<%$(`Fn^^jH7%Pygk={yicPlhpby>$PnsgrF*q zD4h2=5A{6@0JSEPWB|a9ZMSKA5H7aoNS%Q$Y!qaE_*aj-^AQbY|@YDZlAM;1FGZa0s<$mb!zqZSY$(%{d877+n3 zW)7jN%gH-uX1nLt0C2du+g)Ea{MCD%ia%+5z&Ptq7tSbv<&qdQM&IW9HJ7l7WL8rp zFf(!>Dh=FSm(yHJV#Zo>h@IA|fSOZ?k-ZO$S-?z~u^+dpdi(k-Ky*kHhny1N+4iU# zhUIk6wj$wtyd}pjY=?0}J{CnoWFI{uDu4lXLtR&6QjzsE?JlqLx`uIE(h4e_<5Lk+ zWXHo8O3vB9RK0gd;DcA`5GQ6-1>e*g)kI2&W9T{;UD{X7`7+^_|4*;h4I> zq7BDSG5C4T&f&b2*ty^s5N_{g0C0}Iqf&(l)?C5Rdu|V|Fzn~)bUI1vVi92z)0CQ+ zi2<9`BcZkJ7(iZ6B}M?0>=7vRqZy?i!qcItcSzW28<2G zJ}<=#He+yuUyo~#UXa4rv1>i=sv?@pvgQzoAbQeeSgFNJwROw5TFYoGC%@wh-evH*plnJSeN-|2BnIcIVSI^ik?pS+)q@E!5Kiqdev&) zu>mY=R>PEw8PqCj78peV43Ll+z3%{B$#YH>06Y^>Q|>_`cqAt{@I;=$j5=>XQs?!) z_M3~?MHTTe64~=tuhP1#DP8U3vQ}hIRyW)6aGaR*UY>yC001BWNkl07aZ{S z$q)}Wx0~zB@#3OU@7lnZi9i0?&tAOx=*_;HHN`HD<46Rt z>xnq$(sg~U#W_ZBO-;Y~x(_F_vPcx3a zH8~=9`tyzC`f*~{o`|@LC?NqLlcDaO_#uxkV&^sZv6>pqwSf8NFpT!-x(?@A2qGep z0V2}r_F@0x8UUAhjxn}R&^ZqPHgtzKx0f$p06?oU^h4=lf1)V)$HOE4UF-*EwGiRD#YFz-Ub7sQUkadn!4UmXvS&P-w zMPI6@3KIfRdp;n58mMZF+>q$da8p)Fmf(3=N`s=c4nrG~0f2YjlL|r==t9^(`$Y4U z)_GnM0I1q#2)RgWB&*807UzfvMWpLoUQRb9cimPEhOr-pKBv-+W63!}AYGx@{MC=E@+jfWJssfGiqh=wH88Fjk40jI;G1el^F&KMp~H=UUg!ThkS zNeJ!D>$|4Wno=DG-$gD(XwIq{gHLmgn+~8_5+q&L0z}=wrK}}QEg2P&lxrbuK=$UV zF!a7uY{2yPd_4DN)DT%jYCU(#naBVM(OS#AbK|&KwL2Y=^weB9hu#BNn@#0hnTfg% zfI(JZl%=Ryo>HnlmmEV70#Cq9XkJk^2wlN?|UYgmTGG4lbsi6`lmTp=UGMDDI%oJ zMSu6^B%RX|Og5sJSj{iP44N)NEPXdIzAe%Fx)bXie1a$w}tjmF=gn4 zAhkRSwEy7-{B%0Su5*rwu$B_LeqH8TE4#CQhYx6~Qfr8@>v{tSrARl3Rzx%dQF-jD zTGK8dqOObmFifYT58=Zsjjw-%SJZdI087b6tZIPPu>;13B)yrHV_r8wN%6 zOlXENfC_j|A=)xK6)^}Q#$nr!8)7CRKxiH0-St)Dc2-c6YG$Tl0IF&ZZ|~j=!#0En zW~F5B10ck{i)x$QXCLqPhEPR3^LDobfXmHR&F*f$1_D5RbNgivC`DY1b4@OERfI(6 zG%<2MJPf!rlP(K`bO{Laa zst}A72m#55{T2^L-0z?8fGTqF{OZkbzq)7;AR+*mZtlAM77^9->999v z2+&UjmexYvLm}-?9^>|6Uhch_AsJ&aYtvCG8O==50a*y8O3Imu?%uostC!DT&Bvv# z3lWNp4|lJ}?H;VwvP!86G@tG_7tg(8CiLS*p1nLh+|0+X4KmL2?uw@q1n<9obEB%> zF%hcKa=Zc6t{=v6R8vASGZ%uDN-;Qq!+R7FWuz^r-e5)m?b z9G3ZbJSA1zT|P6BHCGjJp{(=Fgr#I1_his_!Ay}rwVn-?6u@*zwTb_5yW0q>Xdq6d zE~&JX-9793%_cGjAAIO?t)ehqT#714s&xT?wA?$GOSZ!y6|=^jt$My&N)@SsgbvOS zx>~E$I&QXkn)+e5dhr)`uYWD5kK$v{R$T*dM7cB_pR=Q|h@Pg503yx8{M=mWq6^-g z<~%ReGq)e983L@Sj(spNCQA7{B2KAr5jXU12xUsK4_f8f)c{1VUmx%+K4!tYoGJpu z;FEv>7lE;NbzUGksg;=Wnn2aqte9h<=$xaRC$-kVf;E*=bzT4g#vz=hydA@v+bMWL zzz|)^wN^nuW&_EmQ>v<}dbWX5Gqa{_-$kxfPjhyTQmP>^Ah!8HDLRgRO%jI1CSl?j9CZTh=0C&8wc7m}xu4Tm{UM!Qq$=$JBSO?KUWc;L=h~#|4;TbO=PH zifFS&ZY$XB-Hd1=)<>!$=~Rb4Q2ALD?a29#*QT7djI z&wUp)7oMhEt989H=hLyfyz(Is5vbnZeZ{Jk&`gpR2e2F-ifHhRRTXMQW`wPe@&Ry+ z53>RQ097PHw5Ptds!qp=iM7sRyLZfmXUI(zTgv8w&s zKmY3IzxV|ruIo~A9yg=&9uYzewTg&5X8-4%I6q-b)fC>d26$gWHa^mBzd3Y6MCd;5 zAM=CrIAyuH>#z2Y;}x@hd}3LgH`fh-sQJ`6HpNP)NL_ap+M1`+`AvzTs+p}NBawO6 z9tKGyIM?k41F+o|4oBGU5rLSQ7!fa?U5iw1^)0}7eJLV@yx!bie)8$N$MsX20DQ23 z-Jc?In!&6T6<7hya&aN3C=!{d64g>g)dxo$h{?NsUY7O|m|3j`Tw=eKTIcDwoNi*j z@%{Gs^Ph!bSl5M|&pA6EyKxTy%kg$i`Ed93M)otDtv1b!T(4yKj zN$^v@QhZy1{!-gdz6zbXu1MA2)7jP@us}h!6xzsg7xy&q|0ysA4|EGB5r0 zWyz)6Y}a{-f%g|1CRpaxquqY}`83J2Bsp=TbuC@zYSlGW13Tje$u(Jp z<>45&LtPhp^s#Gc%Pe28M_^*Dm;Z$yKcHcVXBfy4}T& z+2xdEunsW>t`&}lJCl_NPg7n~jlre0AR&VxIVK3+dCx1?5YWu3TJT(RsyS<^1lo_g z-L?JpaNiG`w4BVKaU=i$0aB{_>#-NRxt+K%VcfaW>$jb()j5K|Dc6*1TNg@cbTV~J z^HS!eoL2{g!znpOOn91B15g9+U6s6~(gn}1QP0WD459CXb96kdpq0t*FLrOf`i*|5 zpSq*(Z$LJfur*gIY`N(VZR^i@|M$jwbW9NuQc8#zLJ03TJQFhj-rn3?U0;7U`v-ug zo@S;uuU}t1e{QA?h+<%>qAIP9ch2)!BWMAD*T4Bq$+-!INGXU=YyE%!$N&AG|L$)? zZ0~L)L5>+gMYM|Z-b$7XXsYC62m+W>2~1X{jSfY@8Q9|#a^J^X zi&b{Um!pcP4bdG^X6GD}V^?Ycm1R13CJAdqFz-!` ziPk!yR9H{StcTmBR&svaZIC%O9Wm$N{;nW-_M~b)Rt0t*17fMA)Gqd^lrVOkX9aTa zFRb(-851HCEz27Ft_fVW1eXXm+pY6nP1(o{Qd+(DfcW+rGgy}ekzx!#{z^7gz;6^0 z>$2Rwd9zF>KzjM=lbllQy4PQR)%86ynHmz^-rST@UcP!|Z7>7;^nhx4xaoPs{Jz&z zcu%wRr}oEFOt<&r)gGSwzYym)H`Q$S{MqKk^Y3oqbaT78zB(Vgfjr#9cDI}+Kt&)z zEM;lG`R41d+84k0>%UQeWH2yO^OOfLu<`N&oAj@}#Tnt@C`9h+s#a;H-EEi66p>E1 zw|?wpzx&p_NPjZK^cFuUfAO*39PV!vP?|FmnSzR#Rzr5d@mh+Csp>d(l;e1Xz85jS>yW7H`ZcA){arr{>*=ma-Rxi1o8Kbj!|j&_CZbJ< z-Bbxd0H(wJ{`yrz!Z-}ex^|l_7%nNN`Lr%+o{sZ88|XY8QB(<*=_q+d4mqv0BvDPv z(J>znjj#wJ+929ZkA(Bo?;#n~Q;I8kMc_rdnYZrsW&=37QO+(ka7)-?oYnCNdfA+ls?-%{-Bb zrm6t8tOf`oM1}nT`BeI#g(qPR`tDKPpkJFhj6%`gX3i>wMZ`^ z2HtIA-??0*@vUn$X7r9qt)^AgD8%_RTTOO$B1ZrZ01zqw0!S56HD)FfFe73_6NNx- zniBv}M(-IAkJFm7guq>N0BB}oA4-)t?zJX>`Rr)`plaT8aGZ-YiTW6Vn)SoB>wKuuxbDVQ6RZsh z+~JhG$8H$5yY0B!mRf@6*bmMJB>LU|`sd~Nx`9!dsaDyH5vr{zkAo+`C07-#)yBbt z8WECFdt!Idou=%V;5_frW<61>hTxc~l!}PnF*B}fEmhm1>6n>G&B!3-)(eAS?6it8 zd&dvQhh-5$e)aKR-Q9foVNX2w0}U8-AgYAYoTtnlfvA7R_rGWO_rz7lbLI{9&NyIQ z)~@fbz8_B0xt)@q!c1X<|+aJ9K5fYOlz(bP(?(9$(akI_a#?H zSPi`6&O0DpU^VAK)yLk47_2J$4`}CCdvDZ)nGx}3cOkVPk(m#trvd-427w*Qg7p;gu9OO0h7Lioimf4MC4{_={59`5e%@9u7I z-u&(O_lUT=xB!5|;lM=WcJmI+=uA7ZCpWJ5nL~Uxp?}{Pul9C4;&%Hq78stry%~=; zw*)X=Up;;2G5ZHQp1{=YFY~g-7;DK4uvW##+GhV~8?0u67?`rC?-|VO;Y1f3y+82f z#p5W}W|1v`?Y52`0JO$`xx4e1m+&~OxOo1&l)S8ysxCLT{nO6;lo-GO;D4W8_kUEd zkG>yrS_6VA0wCr}U}A)7j5c;5g|N;uJMQ{1crQireG1Vtny9IY_kMSIxz1BfsjN#k zZvXk8{^9z?$ArzJ&4JnTkNPsh`^8$@JXS2F-4 z=R6`RLank^O{J6~sxXYZyv`wXIi#-g{}+j?&&&LiXvjO=qja_ zDxwy;Zp|4Crup@_**<^qLOB9LnwOmObhsA+X7jO&!-lPNy*F?%#(BvCj7Wf#OEtvJ z)m7I;6FD9Z)4ci+d>0G}5q*gL#dcixX?|#@y;OPj>XZ97zab_Of%EJPn?4K^Iq&xu z`(YfV+9QGM#R|`n8(T8H57>=jGVU8VMW#*-=9TY3og> z5n;~KcT_}5Jv$pTt1JLeQ|CCJRuS#Tc(|LZSP1_gd+*X?$(f|-+2y;q`|)#&h|DBe ztg5c+9?eQiZKS`Xr2zc~0b1%`2+$7@1PBmDo7oH?4Fq&g--=a5GBe|L&hguKF*7YZ zBFW+u*`3i{(`ifk4?iQ6atqbNEo(VT+(<3SW(ex-eIja&B;3sft%sg$bnqz zLL;T9fv7sbWnQ}NHqCR}U!|OlT)%()*)M+;Jd@RVx_tS?-=r*U_D_HDZfZMXVN-hLtTbScF)U0hNb#-;C@VJrZ^42Z~%Obro-^Gt+o z6NW5IG)?6R*MK+|$+?<$BDPNSm!&k(8NiZi(>P-6Ls)V}Fi|a45W$QQaY;2AFLTbh zmZE?lWqO>X-yH0pz;*Z`6EIo@Lp6Rn_kQy@|Ec@`xcWHztbLQuDk98J`{fv;s(#C?}CA*%oW-~YR>zy1xWplU*F%*-*B3aDeE?XouxlKziYOAJL*frT^)Ou8wl%XD!~Nae)zuX~dvDi{ z9~s_!`UwC?t$_Fg$ADT3A%7=J*g1!YA;x~Uy}G%%efR$7zx>7R``b64ezMv2yTiWU zZh!a1Z-4!7{^IoTNJL<;(vl7I4?O^;sw?Z}zc7+2-#>(_<8*i5eXGk~>+$wJc;D@} zm)ra8&6PYn00JML+IoDxYC;TknaQA-AyIl({(M-rAWnaG_#qAc>2+Dv)N0yYeJd#bTep`VL%EOK%=}5q`OtJ5BG8&@R)VVN zAORAS)?l+EnxO?~I@ztk}5Nb_n zyqq3)hu6hdHCU!eRa}T7{gNJhaEOQ;MO1}iy9H!Z6@yv}F+&Tr6l^;)Tjr%!DWwdL zU+0_vY_L_bC?y-1J-5w8O)#R6)eNOiT0} zEM=)VYfZIQU^dWn8Jx?zeV?+#fYUUQi-ee~m`S_oYN?Dy%nA@3s=+$| zXQ=HfV#~-be*aOV(zzwO=LXZ4-aos5%3%Wd*flYoYOpxQmf?B9}b8ZoR6Qp+1Apw z?U(z*-~ZMBqh?IFw(n-<9Rq@h5y1-N^?}NBQu4aPiD8w>;F_Z>PYHsy8V1&jcMTWW z?b^Hh(G12Zub1Yu6lT&4O_ck`i4Zq!Sg(8{LWH&r<+3=c#URvzga95i0}wpjEdxNt z7(i;y6#xmbRB56&vk=@96B#i$R<*7Pr(prJoCO1T&+}4!h&ksuRYZJzJT28Z=h5ov z;XNWU;gTyBXd*Z&&W9@Ve0iv46WbO*462E4_Z_6lh)o;S0z#E4F*-!_-id-#Bf`Fm zsYvj&>7w&77oDb|%z3}-M0B1@zX^aKqJYRQEYoROuJ-#qI|pEw#}hi1T12!?lY;ea zJpB6Co86Jn5OA}*Ugl+-=Iw5~+4ajf&zIk}8=uC+MBa1GVkWhgX&6H^_RrVOsX+60Zij*7|zkX@Rsg=pf^)o zLA(Y2ko5oKnjrmas7?2e>YL|fgg03+`soBnwhB%r_<^2@#gjGS8raMT1u&uviAKquV25+ z1Msr^U;~{*I_6qRXrh$jiJPw5bnV^UeXaHNn@`U7x7(Z7x9{E^j>qA2I^4V(&*u=M zBbukNX`BD{zxnU}*Z=Krgg``aN!GQ9h)CYin6i*p)DS`_Wz3}lAX-4lwhDYZ(Dycs#Xze;O_Uq1Nhsh;3`^YEB-5DqwWp zsSi$o#DG73GW~+=UP2;fQ$-+l#0KPOnWh-ya31>IE;g;2F=E?w#7xY?W8hReE8(`0I=!%cGEOX-0iM&PKT?*8u}Y!ym|eq?YiMI z9IviKWxL-2*xEFF=vUYFWgY*6y)eW0#TBlO0Pvr8{{V2fdHUe?<_ZA#cpUHU;P$>l z!|Ut(@DPqiFjEmALNuz~B`P?)KeVM3q{IXuaH=Z&!u)x;lQ2 ziGErN<-9`eZEfIIw%{spF)(rwk=Qr2j=?h`43|s4S+wXfWk7Ju-cv3@h^i&0xujAf zZ~CnOm1>S~NoCE8Wapgs#$?*E4_>sWsVOmWh-I8=nw%ra8e`{Nh+RjBODaSN2J2?h zF^SkGzxa#8@v3d3fdRU}q*5>Ucgs8}k(rfT2t);T`)gHOrfJjfu5MmAW=FP6OVc)l zL`>s65l*$r{o}+$3U0cbO-jE%VeZ;M001BWNklxx7VLUQ9?}AmAwbFW*Ww{VqDCuikjNvWmdJe@uf)0FfTQ<8|1Levxv4$7{;YOz9+)fiHiuU z1$<5HnpE@xW*cHYM-1y#voRY0WJ1#eghfFq!C>&uvoU36T`$~--H|3TH*x1g19 zWbYnMV<{TLx~w)paJ~cd(_)`B4OVlF&ncB!(m3Rt!9+!C&cvJT;ku4fcia1Wv!hB~qZZX*x82qyH@m~W=#t9$?zhfy z%DGhY9vtJgkA!#`)4UY#*f~00zp7=Jmz0wrVZVuH)*I8d8Cgq2*LBlsXOE5dj%prWJkoJLFv&wuRUEo;TY~zw2$42&;`tZrb*Eb;XYR z!|pOXG+hG-pZ((VZ_XHqv1vY-Ap7k$=a(QmWcs)e)(^#mS}O*Rh|W7T==)w&kJr~o zL`3_WS731c>Wxa>U*DV`ACA}8!!XR#*l)LHR+jYY=96@OcM`nvC}yZ?O{@k!gffl< zBqmBstSHroSVTdUJok_4_`&1uq_>rm@VV;(@YXP6eR4csb>Q&3k&T%a= zPxGdKa;AnDy?5Va0V4kV&wlyC-(~$(S?Aeiwl2QboqmXMv)#7+h8VmHo4)^l|HFSE zc0}}NfBx&$`A$sTrUL-eRV?s9)%x@^5R=+7dxYp^2g?`NAD#VwUv0i6)eFZXtRkpk zpcq|BinOFGf7pjNZ3_S$NG^p4s*65&L&W_S&KLM*`L><_)C|?MJs!$FpW(-ULCv84UZ>AD5bdIrB*ZS+7>7PZZ4-=L|9b^0I)(8 znW@eh0Gwk&Py_u|vO5ut!w_QJZnn{pSzeafL|hf#j!BVR3^iv$KmtOTrWAv#Rn<6l zEr^=d*u+{&h%vHj+Gcn-HBGE$T8qwUCFPspaDH%%h!~sROjWCv)b3sl4{z7+s84`- zPG(Tv!ch)5MF4-dDc){@dRo=vNW-Msqrcy-@VE^3UB4@3nTE?ajA@x(fA+I&yD3t0N?Hp%;n;1p z$F7rpHCqi8IadRF{j*=q!+AR2uAyD1=-0SbT%j?lN>$W*R(;YDO-r6rL4cLAQ;IMn zGpAg}DR+%Do%cVR@7srOqpB?>M$wunT57LSvx?d(gi>1tu{SlVN{m{yXKRbSN6b>x z2pT&@)rh_FvDcID56>TvAFjOa`+i;LdA`r%Fz=ZQ7cSjQtatj;WAB{jl5d{7or>?t zoUgQRjB4N{eyTuP3n=jX8!@m*@R8(iS?tX!6Uy<^zP)MwL9JSBLKyhx`ALG`}geo&JfKrN3PY-Z>d6;46gsjilaoxfJd>Y+$S;0ij1WJss577VWU8jZD zcmL3gdS-uincC^iQQ*fK@p2-iF#NBg>o7>X3qWZkXabG$7)@k`*foG zuI9$zJctRlmO&2!l&%4c$XSSi7 zetYRSDX(!`_K5fd{m)tNaL;2A>iiIycUD)5#&g zngmc3vl6lpDuo+2Z<+kM7cU@+3c*(JWC>F3lopN>(92VSgBHzbv12BS8+ z*VXbnUuf_b52J(Eua}lv(u3a~J6#MKFZk=~mO(dDJ8!b_yO`17l$3yA|7oYzo`ac2 zet>Vt{bJX&6N@AlX1V|RRGT_vsGd zly&(zPs}9gw)Z=rq(Mmft2|U`{@&(A_`@6UXA5m70|Z1+8Ct)RrEv>7721a!q)=6o zE4eF7`(m%B$DXv_{)L9oFdxI01dy=U{H|+V5plYQgCu(d0C9HdoMT;7{S`(>;wW(? zq#c_Lce8YW=kYW;<=h5TVEZ3UN|aMG&7u8DGf{}=_p?Jh_ zQe@iH!He?L(c72zfEAniR(8ApuH9LuNg|E8h;_yF_L!^75H?0>ckbx%q7Q_$`x{@? zo7hbL)=-P)`9ea&OI!daM`q|DmEolXL6E-H{&!08(V^4*$^E}9KBlB0Sq{r@N00*t zYg#<%FzBbPOhed<*yWvzlV!bSUes8mNI73K4+{5`qY=vP3QJnk#R4Al zzOWFbf#C&@3WKup()$kO^z0M7;QZYhEOPeCa^cQDu~@vM9ly9>&j#8b_wV}_RgL|cA5X(n7T;*)te8{8 zO3GR7F#JqdEYs3tmrZb?j>(sylFE>Z%C^i#GB;)EyVD;V%?rT;iq{Dk$y zjh?*f*{Dao0Dymxa=sBIBh$?Njc#O+11{uw$NqW#!0H}*Eqh@9a) z`MmEJt-sF_l4#zGdUtq9Mi;>$Uu{il5e6l9(!0m#%2!B3RP9?CL!RUgts`oYjatNT`JUWvMz|JhH0D z>pA1h965F!z`Q}~k2ktGEgMSS5&0!jg({ddHCA?@-wVWqWqeI33{5R^2u)^GiWv@x z99P#KlJPP<0j0E?1%JfQM+5Dy^qMDmgb<%4T6c z6!U!)=o8%Eawi#4-Q^>hDrqx@OV@Ow@<>)$q62j-A2i#Vz^U7^_CFCSt^8p5jJMfc z8??K46)P#j#gR6NESu4s)aN3zCCh959hQ}E!&CT2gTLr@;#c0@pyjLXf}*6zG3f*0 zP@mL(KBqrLoucLU}_?qYlg@Eu;yFN4+0G|_h=1yt}LHxe^vDo zKE7(4SaWaHgYL``!x4`C|j7$v{*_YqgjNSmtL2 z`G2^9j@(Pj-gVweY`my2kaj-#ug<*V>dM9Hzh`li(q`tQDijrEPz^QAvWv&K_#|42 zJ5OY!1OJADj6pU|!>HJ0_#2!?7xPa)qrW zmgE1lMc0KUC+Qq*d?LcH)dV3mQkOvkqNPe5mp&&s-Q+a_JTKk@d*m&m?x0D;g!H2) zlG~K!_D#hoA11=WGu~cpKohN;mp7=yRmdG4F+{%5-qm?S><$)z>(;^&Yc&&wY^<>bi4f>_XSJNuD`dx5ICV4nRIJIy=#zVYYq05 zPTsw zcDe8>eM0rbM@D8#(NOcL=1CmZaC-HiKJaLsp48qj|1?gWxVIa( zzW`7t8*A%`NS3P||T$|q}A0D;;XolJ{NdV44m zXNzmc*DRW{R5`~>lHDAonhPx3S0!< z;$eSfrpuX4N^8v?!gbItilkjxw*YEOF5VZT8oaUTpIUUJ#)BcdE11dUl5=T}8UKs9)dw@|P*+K9Ynt2Jl{ ztOsep zdvhy1Vf`pG5i^fklzaU#1eq?!NR0@=|8S@G?0nO942!lu!aQsls{FTeQr>wmjfsdA*?o(^fI7i+R2m7w!0wMV}E3t#A{ZLL_WZ5r&-(ml8$ihyzuPE>Y`wJjtbm< z7`1finu*zFp?%ruFwX8fsH`kb+DM8qF{ntj_KeLG2qB{T$w+KK(E)9zP}7feo&2$L ze(IaiG@VNsx2KNY!rssUHe1>{hJ*1ZCJtX>iMnqyWbPdMS_faG3Zj;!F0YvZr8o4X zdKaMdz93|<*JnY+xcrP)RzkP+qf0oDgpnKW=DzBVxBrV=lDa3H^))3_FV&6kkC=2p zth)<~^Xq*&EGBL9=nQ@`WMkrGfsS1FA$b4>VpV zN*&Vxrl&r??phfs-}pCrvz^*sR@S&B#~cB#;Nc=&m&m00QY*^YodpLQu~;O|8m zvbO2l;XiY=EK-5pDx)g3_U`!WoV=HBtI}(w3Hdq~vGn}lxz@hPByB4-ME(9tZQF$- zvcIfscxMM#^J3Ip;=EEGrbn4S0|mj?`y(~ItgHvVZz*R1>NtOZoP$QTaOy^N^EJIj z*9sB}z(_3&wF2x8lZHzSvimf!{|&#TO_a{v)xq`ql!aAowaR&4%&V||W$N4ceor@$ zPM80lq%(FZ-t=41d~cEEn(p9gK$9kelFY>OUV%PF6C74sS+Mwa^1n2U$T_vd#WUjl zZmbNdaoGHMwTIj5zm11BEiC}7})47Z}v6<7`3Z^)H2%JGkMMeM#8Wk_C2h)3jKJy$ zgPOqU#ES4e?l8zt|C?X9;N4gI3zWqk#^Lq@vG(Z#dGJj>+S!U170Dw+Zr_OSrKQ+)bA-rLTsSdhwpJxkDmC@*6|CI zd84I90{YDOJCX1s@6Pk48!xlpVrH70Bcjq&u*{v^YnHCBH96G$WQNG{!98l<3_R^O zP0Pa6%0?n_yymm_dP;W^;^V6go)KCeiWp>)pZc@?Agx#LWZ!75_?1?Bo0AJy&iJae zc%xoXXd?@fW?OcagyhkK|Q@;w(RmcRH9C;x;&B2yrBMy%oiNRO>adU_3B6?}Z|F2~=)0#Lj<&M7|Q z5eVFggx*CK_-&kD?Gf7ZRf_>uKi6y`bEL#F=Z|0*ud8qt`9B?HU=C8}49}LV6y3wm zJ;z5+T*5K0mMxNqfik<|q<{}6nQqL(!ziKHuPze97tiHyR`*@aHA-8O#QOW19^K52 z1|9!gywR$dYhYDU^Tho8V3cJIj!8(>;K*D4F5W;;c`E?7EP&5{>B(76GOG*bB+$Zy zBSLYd(cS0mlS7g)TuGEj-HG#0`4>%!rXSPEzi)tP&Wmn;T0S@$+V$1$FsIryvG6Y2 z+$x^E(K-58%aAS}xUZx4K+p6mFhV%kO(*9j^_`liw!o9)&9%M&1-(k;pUw8}Jg0Pi z_W*Wy%$DTOF2@f6+Znrj|E4hV5DKC+F5gNBk@%D290#e~2mJPRv*nPsK7X-$!l8)0 z_7b&Uz0N&v;a*{Wn%{TC`FWE+ebtXDb5ubzJb29Kafm*O{YX-yF;u&FEVvKtv>>V0 zp6bLWIM;o2QQX|`IlXyx(s}KGAkg!InieCdb8cUr2F^|`KEI~oXqJszt{$fKXGN!e zcAq}t;Rhas8jcOEZnvMvB_*~~Won(UoLn|h0ngait<58X)psi6ZuXxLt)FS4<}deW zSgC;hKUXA3PH}NB#B}Bk@g+y+753dXK4f^F3M@t`Vm`os@AxVv2I=0Ru-M(&Y9Im@ zCAnU^$=w^x%v_Eb76HDweUz11koCmIBGR+%&usl(Ui)qKdlFkHk&^kR7~wMRDQrKo zMMBiQ7E&R~NV%-FgSN&orzVHFg(k}C6P75@c}d5e@nSBXntU(75vYs=5#H2PdT7*X8x$=asARkJKoC) ztyH1UrAP{ye4>7ec^sf6rb1etM;1Z`sHlciSCT{sN1{>7TI80NNBJnz2944GY`z`+ks)~`8g_9*pDeg z@6g5b`Hjn_!76}WI0E`NQ^!AduuSH#l$&ObSZ=NLl(2PABTD&}h`ApW&!+hAo zvQjV`y6(<-IxQcX{;3BFKqs>vd)Eh})R z`4A{+XtA4sskQq$YCG!(*p%QS0;GD!3ueEsU$%UcTbeW}b z5m!6OCrGc<2N^An>huQ6pB+S9GL&-7J3*;mxjPR&YR6H1dy(aQvHa|PCgxvS#xgya zzf^8vK3Oak63G%G@#PtGDntfn*RHn)Q6hM7-GwiYt8VhuBj=ql-YrSS$d6xn8}z+% z(jtY-1$q@z0z>ROf^QmPQolaF*A4n1XBP85ygN0%5tWm4(l0w< zf=R-Sm$Q2BWZe~=U)&T7ebYdhB2}c#aIE`%BhEG=U3#u)obR&8zia4}mG! zNEwl79V29}BJ3KgJ_+GeVUS6NW9Qw{U-x@=45M`&KOsUt2>7L=U4o9!2w#)k2;C1- zwxr^xYxZ&SmI}ehxbpKWOAq-scrG7di|O#Fq$Ju{%kk7;LQnb|V zAHypq3d1}ge4;3a$=a>%-WdHRL&HPgPWg_G_Ta_FFGYX$j^*m{BHyIOjWtw4>?PTJ zBI+p+0)64_KHDBzFzQBGBBHmf{R1-om6MfKW{;)8G^M7fz~H1fI6n2LVK4^Rk|!wx0rm*$6oPZ-L(b)-L*8y#RnmnMei{%D?cu#x%c~=-ZAr zTSo?m5J;I#!YLVUaa~PY(QIE7p*Q2rJ((R*y9G*!*$|s?!vUn!pylt+>!{}C+1HDR zLV5@U+fkT7-^7kt;@ZIzLp!ZtI$>U_7Bo@NjOCBN@!bKy!OS_VrVcdy{$e`fPc?AI-`>eTD{zC{rPBT4Z!iBKt~%l-*kO;b;1 zG!d{uC^%u0lA=mJ?CIOkFOqcmcDP);a>R09UPyz(@Q8-Z z|7QVumi^EUi!NoLEd4KcJSrRS`%-L*dWsbP*{kdyYR_mO#G|}3uevD?e+&I^C7>I( zYG^@ePswg8yH~EX+Cz>NhjX}a58Lan`rr)KkBuh3*@OLZ1!!rCZ8&j+D~nv*;|Ph- zCv~5xl@ro4yfZN-9tOy7t*R=XNIzEXAy?yRBc4v~oZpF=5~1B22b^5~m5^eod!j36 zoDJlPwCx^rpFAo-Y5;Yc9`v@Fuc@IWIzKw1@lMShUa`e?)3s>o)=KPoL7u^TMo~aS z;Zb&a$JNWcht#3jJZVU}etBKO+^tFONufkleDHz9gAdRO{4u9JHw z>6Z!|)*^TWV;{)8DdJgm7W%#G?i6VVXn(dMDU{sPEO=P*5<27A zo9&6=cTKmGj-@}@V_;m`gAI*5k!;^#@I8%DW_ zM4!dsT9Ov!JTs02zVCfs7-(5Effy*BGthT_o`eC!tB zqhSudp29tnk`WD4%5I=*xMQ~DE#i9;*j^i!+2LaC+IDX{LyOIrzf`CtOFbv}#`h$d zclZAE(P1;T&t8|!8f{Ku4E3xTvd_S&QD)&I%B*QK-5C3ph&DA#klr5xa45>?3_PNm z599mc?HZ3SX$WKBpp6EuuoXqg~^z!FNN9fy%{=O&gj%SooYYjj+nJM*Hetsj* zhdSicpSD{6vgD#g!5JCWXd{ox1w7vThUcKk-lt0LYyv)rVJQSdGy6=#IrA+3%9f>j za9Rc8aQe)c4-}#p-cW^*Q98r^GP6bDN*7D)t$~$SV@Qk%wIE%f&V`cD=vOM8f^icu zU!;}Oa(2F7DY+2(763uAT@Hd9?{*;!o}_s>4Ybg_9NbEv)*oD2v&AlJWkehV^rO>x zg~hdm?C~p8154Czp&rPvbrKvr_7ffy*|#KO!o5E5&(VR+9BBDG#8Y^ zjk^@lNsNf`qGZ-J&2@OTqaViZ9WnOb(0=tSixn--{`ZHBBEooPn2w3jDj!T-o1|yV zO|Z>%>$2+6x{gFXgE&Bk8n9xpa5=I)&tDT3i=B#L#zQg->XS(t0--RTXlp*`R68~B z5aICZ;e-C(Z1YzK_fasjK@oEaQ`G$Jp%s*zgui=%vaB@mzTg)<&l}+U)z6TeKd?oa z*kEMtCfmE7`T3#5*B~CTM?`ruOuCqsF|lnEQUE-9pPI7V!AE?AnOO9;IR7mCd*ccE z;{bOb(m0jQYM4ivjmXX4qaqL9ifUD-iZdc*W6PWm3i7q1x-BGX#oe^y^AOx`7Xph? zb#B5W4fwy?=+-f&3xkGzw18rml3c{C&epJzD>c zR(S(rz*kzxgF>rRS*yF;zIDjvsd8)O*PGn-6L=!$5Sk>e`G@krFyHumK0pIRisv(( z-Q4`xz2`HnN}d0p0?DiVl)*5|~u+?|I_i`$Ru29YH<2 zAo3$6`;4HRk3(jl<}vbftD$9+hi@g!#rH5h9J@Ztnb@7LiR@;3L<)PmltR?>;@l-t z1Tf_1Q*xq={-yb2Cr`~J{WPP3hcm0Ya^=!e%!Sd&+AJ>`CWi{^W9;M)QK>(2Chg4} zb(nd}lcc+sQ)j7&q6lm3@&0tO&XwMQC^&5=m*A$7zd8YDXbk|M;>JCoX;0TzdZP$d0ag4|#>u`NEa@X`nNFC%A7WLp^Yr0nx8iHeD?qvg zA}$1HEaFZ|EXv^>VxV3b;us(PvF$M~GCq=At3Xa-PlNa^a8*03*=bw_Vxxzp++$`f zBL+-b+bp7udw$s85_@KJn50y;b}zxFCcA&!?@6JMhn;^y!CfS`%OnTX>!G%VtCS(> zevX!h8s4`x6*8BZ8aN$2p*ILwn-99VxH-B>`%dNDjykNN|21EfUToQJnrbqQeRO|b zG7C!}>v-|E6dVvdOvNob2FP{>BGy;ycibMhks~F(=w;l7X4?u?_qF&*0Ir%~;&Alm zEQihoN^7gvnky{QC**0RN)2l*Dl)k`5fS(UZKdfl$>NM!zuSnn%IR`D&z9*h=WXmaT|{bai-@!Y_6G)lD)Q9|=i z#8DU8pB4QfF{AE#rk=`SgK9Qj5y1f3^UI;-AelV-53pFvimd+UisVX#h>=1Xk~H-V z0y%%U@tVB`efe_x=|Fj6;cy1m>YNiwVA|w;&OLDXNnrMn*s6@lpd_MXGvCm&VoHg# z|0*gyKwC6|?6EQZQ&D$~h2-+0<+WcT|Ji=_k0XmD;u*`=KZTH9`XAqXKlpl==xQnM zh6K1?+Pi)PI6i+4?Eg#+mSJ{DHS`&+a?b&PU~PvTb9v;{i>!Y9=d>AJHMJ1gm!*-i zx#q#z=v)_brZoH)Vz_!sL8Hs)@=A+LcYxDk z{pUBp(W6U&Z{yayM$beak1MXMHj##uZIuz&@xxmqFx~H0(Z@{oZl!wT5Ou5%;;lPT zU6Fm358x`Zu$IN**H1~Co)Oh6LClyJQKbfeKsWSvLsqv2ue!|xp(JfX*PS4@&bno{ zi|w^iiuGlUX~T_O*2qwwh9o&LvayPV-y}IP19W4L;mH|wA0LNTZ#eM({*ZhZSQR_f zq5{amP2bQ%39^FGJQW^;3QShGi|<#mD@B-DuW>=We_JN&q)K3!nOLbf)5%_M_v>y`ATI& zlUULox{`$8O|1VTe-IjdWu|oK`3pk|EYu)nH@^&Kh5s5Onz(pg6?amlRf{~r+G?RX z^r6Z)l2Hsi_;H^7!$w0x?uUvB3;{DpxPV&WeVizJm^UQ_UTiAS+EG%X$2DEBUncir z$D?0~Ss%yc!dm=OZ7`mi615{L#)FUiCfu+Qa7U(ppoJXZGd^v~y^-@q*|OcZ=cqv6 zIeC+woxRQtd7FI4LZa>nnXbpxTd1W$NUg}Nh9GR@a2xf^VYhtiIM<=?L1v?c0#EUb z?MR~aw1&NZGO4`qNx*`}<_B*$xv->_$S0|ho^PsMCC2v>M=m(!kBM9Cb!wQYsNQK9q9q#*~#Yqj7_Z9T<vX?VhfqnxR}MTVXuRxaopYu^Qf*Tm;1 zVdjw+S1~EE!FV@0w!PiX((`p&t@Rv6k2bOn<0qt*NlR9Awg&*1K@4EAgjXhB4ghdsq-dGa-+aJT&J zj!AFF|NDfjm@>qB(ip|BoO(BK<5(gZi$rNfJa`V*cS-iq)bC%CB_s15eA4?oQ%zp~ zr3_l!Qes^3+vlZHp~+O{h|JSGsn;w2kmf``m@~8FXrUmeD0kFCf8|DoS7(cJD;lVX zE$$(q$?TpSxmQ|hw4=cjr4RR7Xv#FDZC|TNiHdnsZ{7gqIbDb#(|qOFum)kr@&09J zfYO)3-mKkgeydFRSPG%tPO$47$a$A(IU3HxKYhdd>MF3=KP)~F>F&$~OsXKFEe+W|Y){!NQ>v z2O?&*kje6~cghyrh;F90=-Qe3&wu$CaK2KfN=jr4UlA|%vVAawJ}L5P+6RNZW;)BF zpGimqkJwqgj3^)H3|>GWSE4wS98q2Ub!1zHQx6}@pe+jcj<)D4(TyiXBl6g#X#h^m z7P38cnz}q>^sz2BY{t3OnIVwqu8Z7Fwuk;;{(Ih#7V5zDj36ydFr>dbB0T=L3@vd) zeBU^-{8*aW;XL+N1h;mN(r}Ia#~In=fL>Rk*%u7Wm;6E4ktG=f(w2 zh3}5IGBHBgC1D6uOGQCsv`2=DHwDY6q>JN?CcbjJcaEKG=?~3^_PpGPC0M9%-kr)J@>|VU69;ujl>tqS zmwAqwc3r*bRg966I@)Q!W20*7oh2J~5?+_xS5vUz{wr+Y{TH9fc!aLsd_&F7;Hr`^ z(CfzxAN=kz&5^<@CxN8N#xJNj6zYpv<6e=&z8R;Rl7qSw39BFb0rxphso?^~KQ(`e zGV)DTXsKHg=X4!csZ~uhNPd>2}T_z;#W%IGWR{gv!v@m^@&yxd~cs{Vn zYQ>N%KYLu!Wa!gWCD5ZvpvZ373Xa{q;1j|$LqKdX;&`nKL=A8uCjNpcWxzE2HXW(GeBZ#^;YDBmU-_CriDC)-0M#CVF)E6I&`PK2=T| zr(mrB+^+_27)PSgUt%Qzq3Wz>9NHc)Nn!4>4)jXp&^|oJjx+PcR79rjD3>`p)h{6r za?7)wce>@A98M-D0ormUdYwmxES$=Mxd-_Kep1lFzQ9qx88O+I?aPF&6>MUUP5@oK+Hi=tf&Os8X)|Cg+%o%mfZ?P+|7 z_#g~Vh5vY-&7o7;>n)uX%jVthLAGZ^F#$??QlWY2Lp^3r%@#vEC`A;q@;a;QL%W|b z$>ryR2>I(#?{?ylMk9XOm79@&*CP%=RuXjQm07!wRP>YqBFC{PePNGb*c*x&;ZlW| zx17s)A8i)=72mLtzXVub3N*Oak=iG`+(%#p8R(Hm|yBzn9{xO zrWHQq$h7BGO^Qib+cSXrK(@$Yv86`~qmR?qsu$p~M|9sdcXz(1w0|Ue@!v`C`yZ*D zr|)x$F;}H;ja?+>KQwUi4m)RX8g*2H?jh~F*+oU=Uf-LRH?8g;*c{jiA?7u zWuPlS^0V#e0!zx!)%V%|2#Aoj#ft9m>85`>ReZVU*Qa0a(*%!D(-v63@SYnN9S^$* zp_s|dHj=P)fIM`0$GdERs>wx(7ev;d)67RlPbj};g@w_=VI;dThBmJSnb4pKV!#bjbzN}_vCk-eDdSH=^qx}9+RH!ger zwf0w0rh9D;=SNFR&a4q#&9hF~cx5H`M5NXtQ5U=&EyZs|R#@PcMTsn7(YCJ0+tmMJ z_bc-I@MDPz)B6bWaNM#f|1FSua-m?@A3vXiVYtl5*ON9o)wGAilB38J4X^K1S6VrO zSG#MQXG1{^K}Tl{odo>V=u*JmtMzHa^>?pbk1iQF$hb`iDyh_)!~V=T39=G!bfS(p zY4Y+sF4pnEV}?5F@6=MFUJKL2sZ8U%qN{CoASO}40$Y`Bl%!1pWNpcrnN7h4G zV$5TBp?#}M+kf?Br++!RXq+z6u1FL*=R&*B0=6%56W;tarzws=aR)fPP$BT$y^X3qv#8(5+vZwL#%4ohfo*@JKCB}{@8AA ze?s!FU;FRADNPX)?SCUl9a30m;&8+faJ{kTk|R$Na)ClsZZ)E^sg@#wU#t1$JR$kx z=(BCNA8pm$4gcP&J z?!u{n)oUWq$JszrHIKITE$5D&#}te1b$^1M&o78;TEU_8FZ;glu$dP=Sz#6zZZLum z35oJcm|0#l%>GCuoV{)X=r{z~onW7MyHvN%O`gAX=70D3N+O$W{X&!ZTKu1FgJ|W3 z6~7&QSD!uwseYQ)m$Wx@MaCxL2F&5z@tHy5xjF;r_+E>ITdwGz)K-hM`A86Ps8^ZU z+2af{t5}W+smKt$qpQI#cxhKJ={B_q5CW-PF?!RFkMFD5@n;KQx$QLPwW#)M8$nkw zaRrk$xb#F8$WjDV!vS+oqB?y#%8vqeFJN7U9ba1F2 zbRN@3fqU(*3V6LAuD#GIe87#b0hQwG5i4m1li&J#+L1=dLG#l6S{Op=rN|cd68cc| zub)h6R)+J4#|t@`%QgAySJQHNVB!o5ybOK1#~YJ`zOS|>z6`XCy&#@O^`1GQ@L)BHoytr#fHXd zww>H|ld5SsU%)Pdtf=KqQ1I2irCs`jDk)k2vq%EjD3D%}ag+g!(84rjJD_B=Nrk4Z zc+Brp@f4~Tz)&OjjMqAYTUyY_nmfW#?j3}hm}uZ9 zMlwe@j-1gdf|)ZHQDR`UXSQM@(Et3NklM;Pe-O|8bo-CSrM%!5{X?EMmhvUWn6RY5 zjl{Lf^V$Bg6w_>iY*av$M&#doYOrIdVAQsZaG{?F?cOI|Azf@0Wjr-J$8?2P-(Bj@ z{1k*v2zS1}c8{}Cs?+c4mVXtvs`E52rR{0xAK5m`yruv4%Wn2h%8s}jcRZOkWlA4P zasP#c9|RnuUy^6kfmTg`_%*NtS1Vc5bRRBTEu`RLlgQ2(!sGePvJly&4Nwp0H&+wLENe}Go;K1d! zH^+`ow>T-<8EkR)C2dLSv@VEgkrb7DN%-nVSB9}+j;#`MJkAtvefxWhs%?4v#D{iV zUul8svRUEd_G^tlxesV=%qZHTFD|Bmzkhr_wYsA>1bIxG3=-`TCa2 zR#v)nw0Bd*4b9J+A0BrK9m@2%tP<|RiXb9UAueJCFLb=>XRVL3)Pd80w1Ow=yjbMR zo`R64(1b%VR3mM}%u!(!h`8(R-HADH;JZUr29jYmo;fzy>m$pWv0ETvTpJ^C$)+Ox z=}Ky6b7yC#Kb~y3wd2MEF@QjPkKE2Gv8&L+luls|7_o%b>5et)cA!w5j4fNJNA#ss zS90~(%>QQrrhi{H(OGb=QKfR8F9|QoicR~U7(D$IJWBmny6(n>w8{X7kplCiA&KhR zy@<^u$23;>TBb5=!H>B~(qdnsc8Gv*(yRPGnUtl7Fs<7FnGmb?Nc01u(UXWWhEd?} z>6-J!_6MWU2VFiqg%f|gwocOIub=gf+Lvf5!8X4r)ub4&@sK_c6B0He|Kla$mB&F} zz>A-7k-+#GH8T!Wdi{|Yza0TLrIjKTrxia=5O}rU-LD$fz>xgV>Xjz97xNQE6)_k? zR*#7`q!;5UqmB7yC9qx2so)v2@Rh0bu1cqKDAw_EDePTN_)w;xJeAY41~b$7YFj04 zJ>A)QUAV4OD>RynCv|6XvS%k#EPFs1WJy)CV|INgU*Ojod?bkcm!{}iI8n$@J@%Ht z=sU#gz|t}MB(_-U_8uJcy=B-I!`ra3AwzX?FZWQyhE+gdqUc9AGsuE@lFFR*mo2@1xX1Y%F@ zbJWoUs&{P?XG?sR4()#vn;UN&MmnlJ#C7niZ6ObtX#vtv52VvpyDg|9aWICe_)~h? zLv~4SFeljv3~(_Egc-LlLkPhZ3~W8j#Jn#$Rd06eW5XUu((za z9A)lOWkN38S84v4n*4xZ(>b1|%Om^)hF*+(ILl^L0x&N93U6M~BwZ%j(iPKVj z#As!NXK-`;r-@%J_n2$<-EAYehg`jM<&`S-lVLLlJ#v=7h|#>X=C&%Fig<2bGPO#M z&$kS1HmPi!-{}!Di$$LlUtG97d|)j?*yX+7e+Ohej9(2RG9prVbX8hVc@J+AU~x#X zf(>dg-b+i5H$*+d+*Q4Tl?~WvZ%g*coi=05i4+!3hARgKdY!Q0Go-Jf-;>H|e)srE zvT6JZWMFwY?Gmwz^5VIE-+ZzZ39_OP(Kdf)8!W>(hOzw7nXr8$`}CWR{1vWP$ANzj z9^%K^DNE`*7;@Q1ZGmbzTVJgrKxYIyE(0qTpVb}+1RKxYEHcSI>yDRyHYoGYXQ{)l z{TOn;r;z7!7cnS`Jc0K;=d@TXc{&iUsa!GZOvHL?GFj&3>R$#o6A`b4Li-0}%2t}n zseM=-26>*K{G`on4Lq|osS>>un@;fQj*I;H&nKhiZH^f#1cTF|4YpCLkPShsND2lo z!ReiNZjYU@=PB_)Qt_^=#ff!z0f`YAtz;!icx7+f2mK)>4b0mmJV;^2y9}z)4CZD94w)R$yBgG0QcxX}K#>V)sC~zgo<`7XFRUh5;aAcqzb!w-Z}hu+JX zKdr^5TH0kqpq_JxHLN75WD|U*U==phed?LERIbc^)%AkJQl`G5N2C24?mT|?NA7|c zN@us?f*v=(M?ySr*6>Y1KmMjU(2KrhB&lX z7D4I0QmuuvI)<*_6#>1cT4iy=B}AY{ z)(s;5@^An1YPGtYPC2IC^(IYe98NBf58SQWPyY6AEKAcjn5z%&a{GGo{COTHEwbuX z#$*7_2i|bKTmWDZvfMxW#fy)B*|f1~S~IPAim?>{c7CukyUM)D>E*o)bZ|9L{d=$^NyExl4DBaK}3&vj7^IW+Uw_e9FS>Ymt9V`!%Q|4hfcWvxeTL9ecua6J+J}mkwGe^aU8z<{L{bvPyff^ z{=q;Q>~uQcy?G_ISRDc2eE;flcoSnEg4HRq>#Necc8r<@!YUfQli(S2*SU23@?3N( zCTeQdI1;tR4{o!H(_C_?-t%%64O4Oq-t#c#>0GyK?AE)@`o@JO1mCZ=I%kRziO>h% zw6TpU>YY>3(6nGCfIb8}okH;Jy3^t4w;S&r6H3lNm~v5d>+SXa`euFoY&d@C1mHah z9s-F7;v>E6T_5wuO4k34B>mrrZ`1(4{oQ{D0LT9Qk|s}UfTu$M0C+kF2%-6hzx%I? zXc_@NfA*{UhcD;1HW}ZDrs==^$6CJX4(_kM*4Jd`7QFbM`icMgp*eluxmC`moaTU7 z%^act_~1>{_dNsHI1UCb_@-@v8IH#!8uvQ{G_ZxJ2LR=CR-&LLQk-|L7HV1q=vM1I z4d3(4KTiClS#JpbbUeoJlW z|L4Pby?Y;IZgX>;k7u{)m`H0y#Ogi36Z+MY|EXw&Jd-2m9H*MQpsE_aqw0&!bNA@W zHlHqSyCNhx9O>#2xl|5ETCWzNnDODz?RVbCIgQ@^8Q86#I^^f%1ngr!%_LQrXq>Be zj>t5Zl8ew=){s>4D0%kbnh~nzrI8hgLJVloI`+;ZQZ@6A(=fK{mEY|Fz&l^1mYi+4 z06X>^uJ>k8N}Y#GtwJSR)9yCwyYpFH2rf{+icK_woU*B5Xj;=mK+}kAkIr-7(=hlL zT+aKO=WV|Nm1!PhjITfcqmS)oz3p~uc8(mM4~JmXu6@DFEA4$~YW6lYn=@Ip?*CcP{wQY*xeZSd^%g;=<|G>wdezTvN$S zAaQ6wx_GR0o<}>Mj}rha zN;|ch8FSI=L@rg7}1ahxva zMUcmNKMluuFyE{;n{@~=r|gK?c?FnHW81dF`Q&`aSwy5vNlG$9@GMg1%i-|Qu2x$l zr=`sETuTLmGCrK{U$F}%Cje+$M&NF}OX;Ld=+w5UH9G;+#qhu5Em&LWsfhFeS7ANau%pa-M+z>iKl9Qq5p}^|BJzVW>IJ zpnd4wYPIURlG8Yxo#T`Xky8}|*za$M`Ps{lW7B-`$A1EV5S#PqG@lNa;Y_HamWK0! zjwGU7gix8&s`a(Z<8Vn?n8~V!z|4*vRMC{{Wk{@sgk~aY0ZBZkT&Gmq#+9l}co~z* z$MNT_p5mv0FjyNFs;_xQp#|Dm!_$Sjqf@~ z#7xL;8i(<6ivVZP-SssAO7_M#Y)|NC{n}G_p4(VBEBv3mbLZ=ngD+v zPhj!7`>-AT-z=8A|7k39`KM*T(;>jOpDr7}o8~u7-!`jXeDb#daK7B9G+!=9QQ2>w z!}i&myU(7E0-h$3Puu@bv;Xgl*gUo&f3}r?fxXA-NYn(ei{UcQ8E{J=q8tJcIYQiS z>M%Ba_ek^FZX*Dgo$nu3*ZW62Mb4pZWEhg_qaPJBIaVTKHvL}PV^N{MT)FatE}&BK zI9#^-{nIOWY3bEc*tun}plW8CQ;zYgX7gsdF@W(h%+vJj#fuoDfvNl;C7GphhzN`N zb;&+@bDrij5fXX?gp!k*mQq3pfM^Dexn@~!x2x5f**#M0-l~w{GHgb)pI*%-e2)R} zyD&4W3E(>lfcfr0O}m@xrHU|BWJ2e(Rwq?d=J~O7@19_COe+I0gP92d0L1O8o(8x1 zX1Ts({{R4h-F~~AiEjT`r5x`bw%2=+M?iPC-vNMgK4|k-n4J9ZF!>p+2yKYWG$PLP z1S$X=Lz|>Zp0yUMf@nnSfQUI?&fRuPq)JfCtQOaH05FQ~kkd4~&B`uA=vqSrvnoPF zrUrn%>n_LRdbceAyyQ|bIIq-qA;!$i>`5yUI56*nXIHHf5dfB4)q9DpH^tbbIoDz2 z;3MHLfBl^FvZ_vNc5_-a~9nT88UZJKU69|6F}P)m+&>tpY{ zH&dv9KGrfLkuxbNhv;&en2=-ZG^{sUAN+8>gcylYrHtou+xlso)QU$U!kjB2)GDPa zp_{Y%rf<5QT?DXNGjWWuxm*say4yeVv1K2K+spX^V5+r(D=8V`csk5Xq3Kde^>B2~ zfz%>qP(tk1o9&B_e|7gdoG%acGl@+zoR5rk8gdAZnHFWwT1CxjnqA~MRc7>#=2XpK zk-GPuo9N7p3CGi922~d*zjm!#ehvUGUdU#)>Vt?a5^8O9qE5|%=Xn~5u|=C3Zm*sH`N3Iar>j)5F7RvyMI#=a-%d*D+8nl|0h@tIs8;u3y(YkEe4f^Dqn| zy3Ax^y9O|1Cp8b}13Px?N}jXx!Fxs#%S5yYr%rRedHHJu(J}#e-}o|*dA?K&Db0(< zC^0QFTQitbMMNO0;+$)%u`?_=d1SC!N+G1S+ji@X_l>G%(2}#JbZ%B$YtCu99Q)Pg z_;9Z(Z;Ly9{pz!(?XRD|kXm2<>hBJBZ^q%_a=asAfXqa>R3cnTk)=veGm&yQN$`}5 zGU2KZ<5bLm+1e)DJ&a5^&BY-^@A}pcQvo&qPY9kA4FHDNi}ikFJl1wdOBg{T>ltKL5?}bZchQ z+iAdew*Q~TH`@Q-&KZ85l|V_;`#0#XZ_=BTa&pXSI*7F%ROBtF9oxQtYkr3afC%S@ zqb;u@f|&w1@7!){r9jH4l8I3j!KP`L^81fQYCaUM2LS6A&p+&qK7?)fW-hy^e>%UM zR0e=KXA#LM_p5$c+ZM9dG>%>0UEN%($TUsP@!NNON0`0!GcjG9eHR^2W^URhHc?b+ zEh@sq=*i4#EmAAQ2mm7DoQrMaykEqB9{28@syROXXWrAi_^D%lI5hhm08IA}-%0V9 zACApiw#HILm>B?S&IQ0!qQN`hGV`kDALBznSD&?GVRzfHlf-l3Fqj!xH5hBVd4Tm>U z6RSQ&0a!^>tqLMlN+{U?P3w3{wJHGgA($4?qEqGI zYMz@mY87%E+OA)(Op4azomW6mIXoOgcNLl@r?C%>4^5gTMAIscsfv0Rv2#t+cB@q> zi_RG3dAyuXT`&23CEx zJQ1P@*kZ)tuxM0Y$VM4YDL91@d=t~x)Z!i=h*s!O*U5mOQX z=vtqP2(4mIOblotw&Y{K-flMA^?K9weVKDyuTsucOjSjt0j-9rK)k zNW{{70VwDlI~pDiV2X(IoB%DClE-7)`h2eJ+ui;Oi4h^EbiDt<`)DAhHI1jdFtQMs z(0fW*4bb_(-h;HN!ic_SK)!nZ@ifh8JZe4yug&aydQh|VY9HDz&AIo%IV@EjndDgt z8#}EfcI&oZH*KS$NQ+gS0sGVKD`L)7Plwx*XCK?~GMN@6uBA@HNj6u`dm{GiiFqC- z$DB(+u%y)h2$2a(5y!MF?J3pZxfH1)^hn^QajrJoIF<#{MudPUYUiQYBDbtqz^qE} zOhhRQfTbiNN`xV_vE78GVdu<@1MT~((DX=6h@B4ss;H>cGN+`cW87?pGYT?jSLNp`5ZncSfUqrn3WgMHfEh1~P;CJtTe zLVBtP^2Mv)|Hr@iFHPHh`q^)fr>{iuzpwrOjqLyZu~Y&-hcY0K=RZkKMMP#y>QSp1 zkaJV1?W!?Y?h=oQ8W-*Kxvq8jZn!NXp`Re*=q16G{g1t9WfbYn^9~)d!YOPhu zBXkNd&8c5)mjmAv6FGn`R!Trfn8#K`j-L9lMlL+qPfrFd_ndfUwe^ zoAtiGP2TKx`TikX?Yrx%?<7SvZww4@=jB5QBH6)T*i?Z-+(m{8iP8W_NQ! zfK{~_6qsP$0zf{T-KLiz!Ma_3&AUC+<3Qc!9Vue-9RNEVY6dFgl`kw==0}9xlVY3eEur??tP_Kt8lx@3jgbG|?lF_fm60 zhtnvc8I{iuwd?XQVRQ&s!PS&=$)#p9sVT*_Lqz-k*?Y4lIj$^C?3{B~caJ3(0A!IY zR#$hAX-xB~cl`!E=#R@}GLuG9cUM;z2_Uyve7X0YMGu|{B*7JA6`P~!V+J#%XM{(j zFW1lVEmhKXqryJK^YN%C*cfxJZQYM zH0kjL+~qc697(QRe3bM0s!aea9W6Hw@EA-JOaRems!*~Qh9_d zh!`To=n#;lA_9x%6wYJG{U&vT^U-;?oKBQ|8uk~LSAEWD*n|*Ud|7Q5K@kg zl-bC|F11=7?rv)-!**}2LX4(sC(t3{{_6Vv?iit#8aBH2j>C2l~4 zPsan7G3DOKBf2h!X<}6all1_K8WE0TRn@$?JluZmeH?asazSMFA=h@C&i5DBpXJX! ztLIY_6EpPr;q9M)_vJr`VLhE(*VS5dnU{Go240TN#cq31o3t`Jw3Pc{*d*1IB7kf2 zqM%Ji@5ANG&tmi{Jf05Zyc&@6!|oEye2n)uucza!*{Z$qC}HG@0D;^iY?PjinGumi zRv!Z*EL9MoRF1*r~$vz)`ms``#2fsE*bBgD=AI_I21fRMP(&e3+a zkNvLe`gnYB4pMB>-0$|x%{hk{hV5QN4Gl~Wceh-tb1rXon1ci2dD>iF z-rw9_Z?}fnYMW{!pOk1Ee-RTc5X{jBc%JWGtP$)3Y|knr_-<8wwjI@0iQ-i) z_dnu&eCHg1<-3OfB0}U;E$7YYeE<9{i0cS|*7l#OBH`V`>%Crm{@LHFY5T!0b^K;} z`V$|}-yR73$`U}+c>F18A*w9PLWt-*qX3bQ{pobtY&Z6lSLw>=H4tVZ2Z#jtsJ2eX z=Q$vHfNJ1|&YW}1ECvL8J^}wYjH)ra@b87gHW4wk$E)K>R%gAnz4zXG025K?T+Vsz z-#h2LS5x&Ns0bnvIWzsHBY~MgYo)cy+(c!a9;^!pb6v_9Ln5TLJ=t%zt<_oqW)JAs-Du6QCx?KFpN2LSP63jnn39`}Xs_KM91dNM{>+x+XV_Ag(UsXbXY zeAJ)+tHs~KDC1{GjA^Qs0Et`}dQ%mHoKg@GfEE(EY5)ZZ5KJZX2}Kri>fA*Pm^-Tl zL-sym3iCKe05unOdr=)OFVvKofrS7$cVEX!k?>V>F@ zS)0zamihF62oJYk5g>W*V@F`L;_kpy42TRMc-P9TqNa*uA%3#Cc-d_>Dtfqm!*wpD zEX!N+4otW#4|g}ruuNxfeYfA4nu4XF>q?cFv5gN82O__U$ouH~-M;Gwn`exXODUzc zWtyjHJl|#(=fcCy*D5WiR3<3P6oPMMdGpmjt5l>AV=D7WRlKL|Ce2F|H4zEH$3OtS zR&nGmFS>`rG%p;Z2ZYvSyGckWs;$Wi(OJxfE|Q~ZDu`%?&QVIv5gGW){(70mX*|@* zYA}tb)NMB@0YDr!0AQ-#JFS&#sR)hLdk1FdT*|2wLR2DRZr(cpbB>0gZ?&o@Gq;K% z`00F>#&-|5-NW9@KmiaPc~3NK`guImWj0|2ATyz+(!g}H-MJ7bhNUd)GM#dY{(3&% z^<5t$2oQn^SK-=91E3JSLzwGQm+|;;OGF_!=9!xy;xx@fNQf!<6;3EDrbtAHIG^s- z%sF%+TwY#pUi^MpN}eY!Q(b0su2wO^!`G+oL!lY0E!?4z{caZ zy1KqrQ!qdk0I(+$+eg@s8L!#D@Z+bf;8!qoDBQ~GS*x(w?1&tOD9qqsJfE4xxv2VB zJ*wzhKYW;oKVHory>#$LIy9Rpk^4T)rS2Iwz*K*VD5^5oaYU8M;!sotpX?X9^u8KA zDw8KdqToR_Y`c1#R=LkL!dTjn=rrlJ2LMFcUJPw6!>~Qx-0oj~zy`zh-27$>0QXxe z032dKs3P9EX&OU}Ap~o}W{S>%8*-}4Y|dB>)?q$3A`D=Ya5iniP>V+wGj*E{7?3wAOJ~3K~%iAZnHr^ z=5{(fjHg5HdVg_AHG+3sS(w+fTtIcHwCQM7(lKbIsv|>W0_Plyq?ANZ)M{xalNofI zOHnB2Sz0|G9zu*U_pKH(jol`9UFtF+o=(x~iCLWoR`Vgp+zp!{_&7~t@c#0}tL??* zI-^4h2J)%e(~dmz!Ha*X_5?xzpj$^&QvZQ>tZgF?b5ilv^`}*7$s$oO8}QVJ*`l z!ey!bX1|_C1wpgg8u;KtkFHNK_~4cz3eW{=K+e06VkwR5(i(5J+ty006;uIev+Yjf zOb(W%it0SKe%Jy!Y7Izh8PCT95yj{bQJQ-1c9*Znd6RZN-lphSWS*Ib%q->JDCBN) zy#2Rsdwu!h)BV*IB6?;dcf3DR+yQ_X@^q3qI!Bi;Ka+VZ-gzHl3U>bM z`S=DgY%X7d5i>_q>^ff;06O2iDbopbiNTG>I{-jJV*s$6d_j{ou8DgHF6Dl^-Q2$U zO3gy>L|7_^;8?@}yr&d>sq6wpM-3qc*H{hAuj4f}W?g9^DS2kuZMws8o=bb0fhYi& zS*i%K7Y5cI0C8Ru_jFg7+~7BA|Hp`m3L};`txYC@0i!H@8;o{yX^o z+Qk>8b<4Z$ACwJdM)(YPU?%YGN9KR0CBX;r?KuETd-o#?_uXcUi+1tTVw$I) ze&wXi_U6rB2n-CG>aNS^J&VK?%*=UjfCPqw1~A^=Z>}!D08{}9)#C24I^uEks@Qin zO%@^%Rh2~ay_A}7g$VzE3&&qQR853itE#$=lGfZBAFmK2N2A>g}L>^Cgt3Pfyi|o-rwHdzrFeL z@Bdh8snv@#HFe&Z*)lKQ`;^|B#XeTFAAe=mW%;PrlXq|&fIgs5O&`!2V|xyQcbmq2{)Bqb$BuY(`Wlv1ai)rz^Q4MI;*na&6Vq=HzNiout|soVAc_@DpF>3paa$RUIX($X(!zY76RTEh)jR63iL*Wuq`t%mCK7>pKLP&JX51_ymMGyIPqjgkZI4 zs|xO0T290-fnx|kzWGeqQ8TdmGVLafS-82~S@U&h?+uU?!^XH&6OUw!dK zZDP`PS1*?H{XCc4r|aK+*7u#FBLGM6`m1d>Y%Z>^gZJ|^nsT25Uc55pIvp_Nd76#7 z>rbz@{Qw~?)9h#t`wIjIrVn>-SDQIRoZB3Htq%5K7G0glN@edTMGxA1ytue}aXQ?^=t_}Qm}n_&B>|Vpj>tPQv+a;d6-OAO2Y_0I z2wRi2kZ>dnzzpPj;+Y6rE4EtTsome-?$M)<`~CjzW>K?E^1*|ufT5Ua<;HHFzQQp0 z;0bLzbci$`A6T^YJpclzkI8$_!mTzI8OMo$Hy79QTy&W*1Y-&PFyyWqhIty5$fJ*` z2bCC;i{00M{->X};`txwU9tKQu(l7~rr5r_bNL+AWA?rnSnpf4_4NIK=hw3o_P8F1HfLfQb%t&NlBJ#{Eb&bdN{|BR)R_ip4NYGkUldH>5H^ap=okbYn zaRTrQ+yB3QG+w&Rj}V%l2RaI9Y={UR@VqQeMSSdsetI}`yR9q5x(-(77evq%?~Y)G zg!OoG-f`pDcQ%d)pt*x-+@w@n6Vv`#w)#_|v|mF9eI?qqR$6On0stalpzEY#6=@)P z-)?`d@o#2C)b+V6g&YBZnJ)9>yc3nRrnjdd001B$A+7j<_0bAuA_@TH$b+wKxw-l3 z>gv4`Qv3SlPIuDVk2g!tI?Lr`PxMH!Y0-nb4))Op)E zZW}j)o0rqW9XDQ<=KMP6H|Kpw>2!Cyy}Clg>--6TnA-i#ty<10)Y1^ZOkK{w`FY`P3s4x1yq;+6|jlOR2}Zn-WsL-Cg9K5MdtA zb_Pcja$29wo;aD%y43%U7SIZV2SaqYGg@cfA4Shzhaa?sR|IZMKfwpa1nwA*RFq&1SdXY&N^gYbnbzjul{;CnQV#=HlgN zwJg%+)?|Bm4Q4*XVYiPdjW=({R*yGt4T)Pta+epoySrOqMMM#s&TrifbvfL>`AWd2 z+|}_koo;2aUPd5R&Vt~(!&a2i$Z@lql3 zhU9(lPJJj<3Dh}K1n0tXI1JnU&s*_+7=-X6DL6jzgx4(pdDq_n@V#)*dvY-T#5Vtb zWd9$`0aRrec2`%Q0KhxM|0-4a+^zXpAb#ukkEf$3JMRs}RNuV$*AVi>{sjOmW#VU< z=x-G-@L`l`{8&CH0*aa^6tiO35vWh32Gf+cTVUo8oq-{g^OSa51w%kO9nm@NdY>~d zC2a-+!0i^z$W%ixkr)C1Nd24Wn*U<_4=}e{3v*Lb1TY_*0V0x_BAGc=L|oDT^t|WY zY9%6CZCpZF+wX!zkCrzGkN?boz|3e}MRlDEz~gh5O%;L{0s~#9sg${tlv2LGxxKi$ zoTvGGI^~>#&uCy^!eVMEch3Ot@Pupo=xF8RCIE1#{$l66A8*F(tC!vf=e*nR2Ecaz z5H2r%`kri6=s1tyqe&rXK6?RpN5ygd`yRiKp)>^mQAR|t_ucyC$@WXe>V^maZRUK@ z6A?YJIOf~?;reR4xf@6a@z;b3{z$}>)U35u#xcZH zmj%5yHS^BY5J*hDPg5!8otc`NvH*Y}IRqa_s&Xw*XReEpqY#~lfvMSee;;EoGzz%P ziz&luLg>9pBP6UdxlI$L`(+l1eb>ejbFwOC%3M*wkf2m?j$1pQ#{Jc$h=v%C$5YB_ zd$B(sj*{~E^e}AtQW`m*y3OU)HL6W@>4)Lf?_N3YYpW()Yi*6MFE6Vp5^e`HB2_gt z@{szDf=2+WZCR=rlL){nIOPzm)CM7E4+fgH+t{*mZag2%I0Ogipww1bgv&fvbj~?! z3a01-nu1x^#nY((;N9y##o-0IK}Du<8V|SU!worFJF=@pRb^rqK0Cn#@a8wHTb5^*J2J<#;-6z#%y@W)|%L7LiBbxtW61=7V1qD%W0v_kMLxFH2EXb7Z3PxBxRatkV=?EL`P$ z=(r&uigaCfynl!}wbsVdvEOX_?S28oIToPHFLse~T54T^1PrpDAAQ%sK%XqI`9ARy; z&Z`|_ZCuJDyGcZMo46FNMS^$NpZ?+U<*Q-Xm}#x8W6sGD@H9^k5688;YzF6X5s5Vj z7=XdUaaomoR!~{a8+BwV^l#FW(nxgs1vOignx#}g3_T`EhV9Ho{+DHm54tcsh>Dp$g)zR#=g?|O)dh+^cQ zD}t0l_-R9cUnt#Z%&pc%R2~uGPeURAP}6nQTSHYvIL5H%lwIG0ne)Dl_PZ@Bi)(s;X-DH*a_Q3l|($|M2jj z!ZCNs0#C&EC-nc%xk_1noSgkUunWdjP5riStvo`UPN#hRB3yphZYg*7>51&Ss{TJa zA}T7PVmZll*0ux$o91?Zx7$7Lr_>KTI@A;h93blEeQmI2|8Sn&lMJX6A-B?hA146a z^(6qT*+1Vu_{)n`cKV$d(dEnQpJMm%>&0(Llave@AbY<8f!(74g*oq?_goe=G|-f? z0;(v2m8F#09Jk;@1elpwO%4Y`8m_JofK9D61@pl-Z6bmIZJvD!L}#ffXpLnren z&YuB%3?h}fB(IT-?(H#Ho}hfkr178yUYFI>o={8()aV>kcKXHE`&&gs^E0-xqI?}22*t*b}5r{UG83e z`e{s^7^(3d7hE`nJaA^zxA>}T21?N)AG9H<0J1(u9T5Dj)8dC116-U%m zRMZ7e2r=dcWGd0Cplhr30}BGIu%E_4gap{7fQTV@GXu&gcR6=ChKtMVS_3u+Z+`Rs3I=o%goR-3C9q1peh%E+BF1XZ@3!#5GpWhLSQwkjav%@WG0G0IFCyVq0|HVE_dAzuWa8J-wSVD0|`mLk{vR7GZMVJp^ph`DWt@%x@RUIG zLlYw6@py9{?>~9@B_bKfe-rKh)9LW@-l%3CA&?7b%{velwJ`K`nvJlOCFP9KFUM2r zG8&fJf_L>iqJeaIIgh#TeDrDtX8v0T%f^Lv$Cz^NobyEX#UK7?rXj@U{CJ)$gud@T;I}*mzW?B#7>XZv1WlSdkGkEg z2S?SsSGVa~tInO6vbTuZ0p*spE?PuV{Lri<--INK~sD18ho@@Kib&sUcK;Gf16;dHXA&ATt`!!LHD z`|HJT2#o~Lz)V^Nmm`u10ibglleVge-g`r=wKg_BoHkb%tV#riuq?Cq=7|i=d15sH zSf3K@83gZwkK64QfBe5D7djs!K7qLruX*`=^Ep@lwp~&{)a@Y(Z#?*Du?2CW=Pt480 z5Xs(%njn#xjipaggjv++=eD%c_Iv2{( z5s_HjZcAC_X)Nc_^*ti_;8V)XtfGcwK*9N#5;>Zui9*Qz=IvMiBFx^A^P%eoX2D14 z>2bSk?)R^T%}`324u`()zxvCc z%d*UqaGCmH_wtj^H(jTfSB_jO=hN{H3|t^WbPf<5v)0NXAnW9}`(b}IO=qqrN9Y_G zLf-{uZLF)!S&DvHnsdl3MCd)8k9XHEKNAFQOPL=^Y4eB(*moi4a6ZG$>p$tsFJkm+ znETCkyAy7rDrTOj)s|ua)!23GSSF@4kJETMHfC?y?{K_YD=5RKI%t&sP_}bKZyW*JP&tErtL*oqu);LjdYr ztxZ-PMns=GE(Jx5Fm=5l5Mt;v`M8|USqQ0fU8k*CsV>H4nqh*?{u?+7pOgH8#_A8( z0KeQUX?5BXeH85h(iNbO&$IP4K|~|x#_{aD3n3st2th?^V^uky&-?vF%FoTD-si#3 zuDC~g0o8S7GgUz!$+?vJR?9da0bnV!frSvgCqxV}oDN53jw$UgE^Dg@=!jM`;BP8g z0f32q!~y>Sz2omaXgQEP`M;PxRy0mk-74BZPfsmX8&BsDeae||9ne|1yZ8H@$RjIS z0YpU%v`G80l=mTru0lLXE{!J*CV0xJ|@>+U&fHU4{OUm zzY`vPin&YI*H-{=JRElW{cp;9OMaTA^sf_j8BgaUQUDx$NGZqVbi$Z?=nSBgVxS>J zA5y>Bi!m5DQxDeleIOhKozv2ond>x$K~k3upo|N7XQt=lA@%)cze_nmE45WbV6Lhv zwZvh2@yTbREMipaGLGcQ8(?sN=#WU7Gi@metEu{>i1%iQ%REXG1!e=(Zpfd1@wp3e z6_sSOhll&~@kjt6M(17ZJ7DRDK}u!jVYl-!m{4og&gMgOM98A0GOm*Th{OK6E=#w)*j--TeC1jbL@c#jrJQqj zdN?SzR%UQa6br&n8~ zHW8K8auH6)Q|^b|cI!h7K9p(MTI@ znHde4Or~i9L?2TtWtr#Seg1jwx@B2(6|Z28LwEV=(#%-6oTnU9?mDh*nU_|p^L~GE zdHwQLIgi0$x__9tssWbi-w8r2wdzoQ`+% zbWr>++uhFR{&=`AWkIX8@ovZfz``NsQqRV!ax|GyWuDH6 zM7^iRN`%4p+l##;mr@+ZIYq~Lm$#wJGuLG$!|nIo;W*EyH{trr#)ZmKW6WJ&N_7rG zx6NH&Y7ya;aG+|;l5z$_W(G3_oR+z@M$UuNJ(=T~DBBD7$&fe8pr>1BV*M=bwVNm1aNn;ElIIt7~ z1ZS(BR|qix&)LvyNDb_V;hi+lxAZYTs5jRi*AWw`3K%GX)+UXGCHN%T#`BR|-EJ-r$vFpr+x>o> zO@)|p?(mWAx2jk^`+%pu*)KdSKN_lP*4}0RUPVa2I` z!<(D!^#!w-iK?0k2p2G71+%fWtMl1C@x^0)kMr5}eQVsf3PA840I-h$@EqeALI6M_ z2je0xAmH)#E_m;e-WA66;TSKTRED0UTAvMSek)Ib3x~zu*;#;1qfXTM1)|@`50p$iZKu&BZb^4 zHz(|giZ}1#JWbtZsM9fQw{SiS;9MJuW<)3jVq99a#Z5~2LQZ$ z@#52$FW9@&*Kb+mJdSCz0RU7xP3I824>6URh7M~Tt}cAnIYg-~M1Q)uV`i7Gu>w{lAOJ~3K~&u8qt2MxO1M+AFJ zh(uu4nmmphg>&v(DX+i!b6w6CFFrwSotqzy)juv#cDTJssf)w*BK9hJ^9ELhQzCGV z04(Ogqlu~+ACE^zM&!k;6z+0hSp^d4cwW52X<-#j$(vb--S+ZTNF6Z~VwsL)%kg|7 z^0ld%wDverXVw%oq!cLtS=G*CZB4uvQF9*mFaOXDdubJs2n7tLxvj9SH(&qTJWbrDvYan3Uz(KQq_Hq- zPTmau@=yQA-~W&QQ`h$)I9Zm5`arZ>;JtHLE7w+X?gOF^&PU%t zYRh7xwJtseP`SUo&%=O#DMvu;`kt3!DkfT(TWzH*eNQ1~QRVuP47aE7-zRhp00_X} zT%12Z_9Gas;D3AM0fPad*`o#!82~G-uhe(CpWjfX`O)}IC!;?jevX9U_lKFO@H-qW z62-JidD;hT$ww4|@OORzGpnVrRKV!`Us;>-`t#3k|Lx!YD!V#8-2K8moNwR7w>PL-2?sBDIwFJm7bOFEds9I9UIWS~PzUt5Mo{hE1m;>yX4$Ma7BN z^XS3VR`}tRt}fx`1}-lUQ5DxC)?aK}Yec9ja(}OzUR1oJ%G{KR$Za;=QvtBd?|odN z*(A~tvVn@eyBU|`=!yKM0|3_rB6QA+$@cOB5q8&?&V6Gsj~BalASpxx06ZKvYNeF$ zgC1wUa;)y=zmXWn^GY)Wu1lS~iivIZJ2jx-frV>xF?#2Mcj4+GGQ70G>%NaP$j zbdIF8Q)M3$5s502tF@K!;5_LQqC9xVqTZ9LiHJ{w_aTO$D))Cc^LUQImCEmY$_bH0 zHoG0OmReRNpH=HqgqLZY&$p^}`}Lo^Cr7kGbov}-1LtU&#`AenQHOYO{R;I`${dn^ zcsPxxhtO?P&McrR)9IEFRRgy%CGS10AjXH|YzC*X#x#hG>lX{b#h63tENTX8%QTP8 z5s7l}5uIaR*6-hUu{CK;xBJcqPe?9MjFB860#;rBc4*>r3NghLLyB>`Y2#ABmT?+S z$19j0Kr`BY9u?MrRALeNur{(_s;q6y{`u!jOhyBIHvXs7s`pO1$SqXM~@E?#}M;ilZUETv2$HHDm_kI~JgO{ZIURIw*QGy_#LFy~g4 zChGeAGTl#eQ8gf+hAoBYk)1D&W|a!s3<9~BVmO~>FlI&~_(-ir4_&vFCQ|Bt*kYm($T z*2H`{=fskcOI39PAUUJCcBOfdNoIP{|9{f6^q{e8c1JUp1W5qhU0Y_xayEC@Lu6G~ zH$adLG%jHrH$$N-DCX_rKPp^o+V1n3Zc|q z6?^a1R;?Fn0_OVLLQmG=SSt&7Eu|rcc#+&aC@4t}Go#eW&^Ei)V{mI=3CIBZO z3#{r$%eEd%2?#HzJa_r^(U26sf3B zOAG)9hw)-44o3AlDc}0}P$t;Bu=oS@m$Rr05!K6%uKj#CswHLmkmY>RMlwj zcOtXdRQPk40qZIo-C0P-2uYHXHW;G`aYGG_A2~*Zb^rV~^%2=c{jnw|tlU8@ClCPe zQv_)e-`s&+QVb1VVkYCgF{PxuSUtN6FACnG0r0b`AdiD*q>LF&Zw?nT;9Bqka=#aOZ^64t($?j%x}%4Ap^jW)qf5uwI&td)7WG zA?Pu5Xor)s(P&*5{2U$5gYCXGIH#}|#pBDVN5ppXqg#q9D z;{I!Z4ETMa`f?9k{?aE_vki$6d2yO&yaP>%(5E~?5Oo~-zp@Sa8br<~K zSNzo}*2r}MEBV9kaxvpicAe9B*2s?|%kr(hvvVxazeHwIRYl)I zf4woZ#B?`ukq9bYUoSIBKM4&lAX^QJ9Yy1td~5Hy$hOU9AS(4N=Klp%&5}~s$e6$g zRq@e_4U;|%UVM{X^x5oqtfIQAR|sci2v1ox;?(h$2|K+6i`pJ&Ox$_x2+mV z3ohl^#|Y992Sbo@GIG&TCrub1SX~mi6Q=Fg$*x*00u&%*7ouD&0pPyf0jap z(104t=9t6*%kU_Mf>+)l&AEqZK+jnyX_;Wf(`qLS;^$JBSxEMY(EENEnlCgwB-qA6 z$tQ@g)^Uy6?CM?eQtsJ4M51E5+-um0z-5qBTV1^t!DLx^T2L zb-uaR<*$Z&7oj75n%6ru8lrAh6n^k!$K|j&@jFcs_7s&SJv&znAdQ=3r#vxz z|J9dWUm9k&vxRJV)(Tf#^e@|YJBbUOZmi#rN;^H{)6AL3YD@CSU6hi^N2sPbYj~Lo zpE-d0i=otUld+=px~xP`zW(RQIF7iEOPo{Z40MbIlz%59DJehMy@cZ9?OaG}T8cA7 z=Gn8W-OXg>|9XEY{~&7rnZSOmB%O{6+z?csw1+?(_@Y+P%aD3&=i;{Q)$NF*drwt< zf}sXNN|E@pEvS=+2(u}yD&~74Avq7sktavAzuQhfHbiL-+P2nN&5|w8X1IO-i}g*L zIzQ((zP$w7BAhF5HGAkTKogy(Z(`@gQ``(lR_SUcOx`Rj8D?no~oYN@sGpzJAK56>Qyviq(27v7Cywmu?ly( za89?U{-?b;@6ZIz2!E!)G-#a?>2Az0@7G{!iu$kKJM{Bazq#_>2&orWCpJ|Kl)n1?M zrQ^b$7G^%X*z?4)c|&OlyCiRnq(-ySHLy57G6k_}Nyg<+QMwI0Hk_nP8-WBDJePDY zv;Y()aGM!^9rJ5co#e`Ff@qrJ9(ok;;JLB+7GM`G9{Hrn{KjD>LH%W7y{#QIjRb38 zV@_=C+~RZMysNDPGBQEqpPYH;_5u(9(93$*LdT4(5L)>B7^yLy?h9-EeGwKaBJeCZ zzI91n2!`FKx4$?JBOXtj;B%)*zNN!G!5~hV;Bt5(=RND{k+C#}ll5?q#dfrrYg1?c z-qQL~W9W=e0_Y1{-`Sopg{16=(jP8o+HzC5dqL=W;R-qL!KjD&C3hi;CDR@aY+0a} z{aZJ$-X>Qbn$C`S6%y*G7)k>&s*gIbm+%%&9^Y7#E=81HFZLf?sYAS-$ozrc4C#kMpROW0_a?gD;Td0(bTV@^g9OeCrxa>f06>`b3*O-Aw z)b3|2UtIoiksaNeB;DFErQr@=tg7lSoU7^U^{{2UZ*gebZ^!E!?K2XCQ|Vs@Bz$*E z>)87q$jxP6OBX#q0pX#&f8eb%xH?q4EW52y572bE$}h_@OBwz9OEbFjLtbAI zVw+))V*rvI{K)Uu(?MI`6C~lV zS>@f83kU$3b%K;*yXP^Iv*Ajwe#(}#Wfju^%n@!O>ZOqFk4xSO ztCxie0EnE94tUZ8svf--UZYI|a4aS;clI^9)d?LeK1=Ltu#=M{e*CnSXl%xhLJ5!q z*$`|RwKJm0Q zsDz!{kd>vk(Q{tOwYmPfFZn&@j4y9vs$8IL+|9jP*NMVtdM3PVfQ~=Mqqw;##O)is zNhtP{HUqStm5PF8%CF#wj%I7Si&7YB$Phr^FIz)~h`!9pZFovH7M>mlt;#j`$hNL@ zVTL_k`RoP|AZwE1;FAig9v{X*b%X)5&}jx&tElN@4|y@6KP-uZa*DhYSxjBkcUe(Z zmBQ{uBaJaf{$2LNd$UH#8H`2pvZXNTTAA13@-9!lTDulhyOsuUz2!i~6x?SG4(_%^%p#m)-R>59X=aiu#vkQDStE8egB3 zTabI0oqNNakt{iJ?}heFNH0c@hr6X9+0G?p>@)n?`;VfeHu9$07N%Ky#gQ4RJdUGD zo-TH>t~e~J#{)Rau$7SqRsY`P z7xuiT<};DK4h8MYaYkfS7QBT}X((sF}f<^ojM@v6@Itrm42G3J>pfbEDaFv;@^c=jAw?_x#2dFwS=6 z_14uA24qdri93tUCcayLy0##%eizq$oc|6q->@WwSSWnZSR?-<;%@8VKR}!t*GHjC|SZG}$8ww#MT*i4eU;I#T71!;d@=0E4@803T!FSb`i z&>(eG^{cC~kpAN~(NR^INR$RE*{Q!yzIxj^+52sp4MfO&ona_y144%Ev#$wR597{oh!~BO zYG=xCZ551Upz;*A$3{f5e;GJ|ZuW`RVS6gFm|nUSrI_O8Bg7|k&fS2qv?QaqN%;$t zKww5`u0WG$Y-GS`S6pyn+}u`-$$7Vne&y%i>;DuPV?TdUfMrww;@#haXFomL zi?%o@p9@gepd0MnJ3ox-jXC>5~D$OHFRUV%?Gq5M1sLiTl?3=}g+?@(-WnNHSx-9>iw)-TLe+cU9ve+rA2gy>hDz zE*@3DK?riOvZ49FWxI0gDx*F6&a~gcUg^e5+Xqkk3g1n1p<~^K;6X!y;&easzz*;&5WrgRT3kKnJgpr`p9Hw2iUBsHWNw#e5^0-LkA*spc!(}zpxkd$q%)GO!>vaY!al<&S1V}^C`!jd^cgf}^#zQ~U!%h|?Bt|eT^c1NLz zuR`gj18Af($$1;opW250O_bIUR-TZ*$v9P~{Q!m;ZVtB>{}F_&#(RuQF~#{XsN82a zgBQ+)muBz+4((PO1f=Zyy9T zo|Idd$~CoNf<7*hSLE8{Q6*8XUicXjD&2&P+wP%c(?0m7U4DF{A*XvTqCf$zGdW8o z19L2*c+@@X;@(RTj3TeEC*HMPJ6B%ioemjSMy0Q2Ie9If{7m(Id7>_U__O>ET$e57 z%Q#v(b}P(_QFD%>|#~ke#Z8!Tx)!lBd@R!8n^J!ku#|kmo4w? zLq6#Eaz|;GHx3#aPAk*b*xr^kZ=a=p`e~P5Lqkc&U+bQ|TjIGuY#I=TxOk*}1C1lC zJ<&IQ)^BJo_h$|WQi7mP4YRi>7=ytDR%5Mjk7-FINT<=zG8l3jb#m`MLAh2sO4;O#*gKLOW0x1u59)kMrWX#_>RRS7U^pZSwStZ~Ns(HD3Jr z63mu|@%^_&8-SLiwhZ%BOk|)G)ss%*KEwK!W1lzK!&-z~P zhmb5|T`lwJ6Tdcs^#n90!ubPKs~3A;+_V4_g~(Rko>CNNyf_q-N-5MVLBeL*+`2PpU*c2eUO;EAL}<*F9N!> zhgOV!WQ-&3FiUo3J2wh~>mC6O8kRd~L%Oe<_T-gnc8ccXox-7I5;BTIlN3$XL+!6S5;498=&|2w zH8#k(X=Q`Cu?%Iwcj4+{vO&E+U;E@$C+_U*xT+VtJn<=nV*binqCS)VOdNz6yLKSa z;djy*0M>O)TJ#huyP>rFxTl`-LL~nXn;fZ@9P3bA-Ti$;R##~2FZ}L<{KzhRk#z$r zApgm&Zy-j46yWOu!?%iF32Fdi9JAJJV!>elW)!loxAU)2eTqMi5nX`+V(?0HOsc#Nn|ene?{dcyvbpF}`e-c;nCEJWh*gyHS%%A_;hG;_r-(l``t#6`dU?NhlE2yIhtJkW2Z>HNc3c&a>=>d?LeoA2r^I?uzxg+B(n%@_@;AeM^7r)aaJRkoT`6k-fb7`tdGxV*LDS z_C^}tza{I%zRkiI2?e8WS>ptE{P10@mg7S_mjszkpc8M81BRr8-_I}= z3f>elmw{ZWC65}x zz>h!e|Kw|a*B8jkgfzglFg~Oce7JsC26cgcA?i1#X@iQfJJ5U3XopN6^O=y}y)OKp z{(B1sW;d2k!N;GRQ$FR^jhX9^#ya@wK+)>AxM4=Q7`wl+HBC1iXbWMLKfMc^$}+*P z#TP;r5*-2knIEz_zI@*&tAEXnZ)&zcH==JWI+#>EM(uK$;0_PRkscg*`5RW2-=`zg zqyoz^*xe$*1~y+es9YuMD$T=S!}TzW{+%5Wqnmt6I4yJAI&%0z0orMl-r$(f_GcW;V}3gP7ap#7br{nn5w$AAr!{f zT&$*B#iqrXqP}w@{7wzKvx^|^U3LM8EFf3#bADYN?GITtm`spb0fB5$opnqnp;rh7 zD$hQjwQR<1#V6I}8#FmViZ?#(XbHJ;ABt2g69(5iZ;71)tPQEe>13&1fpl5FSkTA21CV~-m}CP<`OBJqhs^g1P9tw6QM7JX^pT?Cw*57 zjY$X5k@)be*wkI#l`O_MoF97dCfCXbpb_B$(Ii9$&NT-LmG?%kHB7BKLuT{Psx^5M+sD*I`H)N-7zttSECX!QOuEH{q^aIeq{Y;$3BX? zYg}sJyFf-sIoszZJ#hywY3x%xqxil#EVR8XWGX)yUj$B0ClSR+j!cKmTMprhA#A9L zoYXe@U=Yme4cWbWYkv>=n|*#PMH8H!95#bvjQl8xlOeW^VAvw)8}dI0zc8)5#4d$< zBkU&)qxL<`zeOcgfqeHjwKiYDywo^Z0fA^u*sVIhd8qK!Hh>z9oTafy=E|s@6IQCS zhL%3k8MCrE07I#avMKJi%=|83UUOT>d~B1OPb-sBhzK^kVG1Z&ZO3}_z4kX2lC$PG zVT}_rNF|Jb^21%1D0PQyek_n^jPr4Eh46w$^YoOGC8)jI9J>9*Yn6PX-G3bto*8}ZzR9Hun6dtJNLW&PPiE)RMoI_${`L^?gi;$qQg~YO@PYXs zJk5c22YURtMZ869$DB@%6Y{HD3bI@Ek_Yz}-@T0|%^Pa@p&e@ZDYI6dw@r1EfNt%g zcXCsK%Pj@79zX9<=Cvs5P8Tzhybh%Woj00Navn@4Ndy39EPY{<=2YdLvJ z=LusKs9aGZHTB5e-|!KrNq!)c;yxY5s6%P$`BEFwTU;Fz zMX~9_!&>O4NA+K2=4dPaTWTHZUfO@jV1)csrfhnNdY~z?cHBerV#HkI+c(A+;sw85 zH|Ea|2#-v(@_CJTONA-rTv#Z`0b0Zndfh(s>Bxx+*jnX8!-j%=#@a%+J@aNL=Z0 z;ga=t#)a>FydQHOA@@{gc$rFYUe;E8YD`~jJ<3Cyw=iK-4cI@{#u8~_c;3209s~aC zMopY=wx3a@2K>*#XCEEKty1dHM*(Pi199l?;j~*)y^j9enG5YPr+853v0^x|8{QBR zy?O+(mXUtv{I0ulvIEfmlfjLaI&7iw$4eo$urRJB`tg|B^z_f1)kIx}IPLp8t_Mw#{<4c=nfXyPPh>c$5kC;VxYwH~)OL`HVT~vA&D=qiQr}Uibc? z-P&oGZqjhm-nq3wYRk!savSLbce|S$qse#ac>pYCmqnUGb0hl~&Q zt2LikH7+~;C$Mp$oUl?9&2LcN*GP`@N#Dg{&ym^4khD7YF_4y70AzOZ-)K-@OdKU& zwa$BsMp%7qsEgZJH!U5hIwZwk@ooE(_FzWX_VH}Jht>Swn-aE%E1l-9^X#9C*N#1q zcc^JdIzJTP(Qnn%EDN##K+c_L=Fjjcg`UtM2!t{T!_Q+9Y?TR5G4%|l`x?X@n-@r# zEO6Jq9=w}x_~UPu93b}0_p@LLuhNU&{96~j2;WC^?g5A{09k6kh0NrU<*U9etv=-x zFrWg#7<2q+6RW2FiM&=$W8PQkh?2}g|v^35Z^gnDj31B{HWCq}WRuxZpE7U$jZh4B0!aX{A;O^0W zMSH5oOqAOAy4q~l?pra;UE1Sk$9qMYg1C*#aZjNHt|SVTM=#SblU~N5Sg_W-ujkzO zsvmpE&^@RpD_Ef?oZ{^XiSzz_aIWCjed&x?iF&6hPj8^?%h0SqoVUf+yEi6-oNl|g zX^!Lm@bhb>Qc+A8jKlg)x67jE-=dsT3H5tEEq5SCjbu`DnLNC_zP%SqA%O=*&R~Zo zFX1z4fJMUNQj>|7!Ci)brFBWQN-Vcsk9=EZZWC5~+Fh_}rZF(#z%Q~pl28*|U(Ko2 z_h$Mq?8K;0_jr8P^7@}2vAVMA_vz^dw);ab-uR^B{i07HyF~oh=*5ehrSP`xiePS* zmHgx>C1XUTO^LIQ#Z--?nUM0o7>#(FzltNuxs^8{@zBZ#=luf>7VgASEsVFdnaFge z(O0RLqSMJXH{Hr_@V!L8uJ-2?SDL8#FtZpWCiY);K6*4ry|LdbO-81P=_v#_@MimP z-PP!=ReF zz2oKomy6J5_J_n+ZZ&jzpfK?%VfuDcNv) zusT^1Lafk0==!fcd&lGsY)qDuECBU=7vx?1-=>1m^j;|Ewq42o)$V(FJLh6mGbYlg z-cM6Q~lA=5V#Wx#V*E~HePFXq6TiVQ7VE$YSk%8z z=zlZK#tztI_6_4^J+Qp#HXj&(l19uU-ExP7V)JTSd@PY1Xn z2l^@6R2FNPQA@5#NOK00g#HYk>c%Fr=P=NzEH)H&+0bx#|NYkB1y=mg1->QfX{5Rc z#UI231KR?b<5!ls++;+ff}^CYsDMFZv_gEfPBk>p_(@}Sre!k|o>LH&CZ6bGBCdHH zs^>g^Qm7L$uduaW-g$O4^0yRFz{@+h3ILoPCRHzlnCtI^3D5Fp{`_xj&rj;aCBnYI zzVGVqMC>_5)}Ol4&ao+l-k(0DNmdEeTZb(4&m{ZdKYHIV-0$0&H^tWdrTiFoORNEe zoxPdy>05K+1`S|Uy9$L>Sd+fX99NzapgmSP!t62ydg*LAG#P&H-}2olHx*HwZcE{s zi;x&>EDp%>ur8ob_K}B50BAJz_fAj)4B%S$XaY#^w}RHm4eR7maWlIM88qF=80QnK zX~)|3oqv(4c6AIXa-3Mc<6w-KlL{h+w0I+{vAljcxVwh9K$~jUG^6>OPtjRM_ni|T zpvgW_RIhH=_u|`zCh<>FYRR<3G6Thg(Cb!tcR*aiG97PK#HuW$U{0Eqjd+N9j_mNgI%vL@aJPE9?cM0fSQMkH2UiC_oaRor zgt@D*@~>6zX)(Xsj8ZLpKt_H?BYCfA#c<8%+O^QcLDB@}qo}$ZLt{NaDJy2h43?5M z#Uy0UodNQp!DD0DZ}{GGw7)fz(fYMVgr~xS_C#j7jIUk`Z|CcH47#+v%p~g&`%Ws^ zZ9ENqH33s7ddvR?fCLpLbl(qX6QuTccL6!`OX5M3{NThVo>frusl>mGr3AgK&CEj6I9JT93WL($CMw%g+AYo4-y;s+wy*)cgFS z@Vr;2R?33%9{pvANx7Wny?yytA&rk8ijr4$4#ATVDehRRr?aU|58pvwOUm!H-PHzB z0ZU<`RX;-2Ep4H<(vokeo@}ywT587$!KQAiP)&^m+}5;l;s?t_`Wz3^d=>%|J|c6i z*Q0!hVp1NgK?9#&O}^J_`C0ftB`;74B~T^sNEF;A8=a^mVyfVUsLZ}8pFMm-t6#vQ zuV8;)G@iui5TuPprDwzS1udMG%d*0V(-KQ^-c&^Z#e1}BNFjy+gdt%>#48-eIufs{Vq}|FFtQCak$?2ML zW$(^oHPn&TE6pzfykG4z$@*(v0{RR+kowf~H#vla?<_8w%0r&jKa{!Km3sXQN8RwN zr$*;L@lJ;258qPEC8~1YJn#2dFf<$!2DJCSZ!8q1c#`!dj*Sr%@R+}KKmndo?rDMg z0hM7Bbb>&>-cKXi3ou=+O}%!YUOnG_Ida`U!2UlELVl;?2N-B9zx;bdOL>eW0yDm^ zS^{t=UA8Pw2O}NJJZ6HkIx34*C$Ji6;g^B{Tpo zw%r8W^o8`snI-d*Nlx=6)6@}?ux>jo3vhtM{VsA-7m=jWg3R_e#XRRdyrK8KE6RTxqOnb0_ODb5AX~ z;HDkUFVdxWt`AAMhe`3fHUL9vlJRtlq;CEl{nkJZJg->os;aS!g~M>sR3cKDtQ${% zfZdW79fPDCW|8%!(u9PR>M5=K*X4ADbKfYcmeLP z6janiv(m*;sR*4FF3gomdnFHrHVBZ}Y;INAU8ptN$G+Gcb_P_o?-S9K;wAt!(m8X9=e1m_}e%AscDIkx>SSGBFi zsc9HIO=BB)lN>@={$taF%cNzL=2Nl5k$eVtPW;)SqRJy^Ei6#(cf0U|jquw7rMMr* z-oo1ydO6kJbnk%PM_WN?{o6vYI!_|hYp)GdL8jLz4Dogl6#TAK#+#14TJ=Png`YYf z6u$uhm^m~Jsmg{K?6SK7ZgaPq(dqbnU_VQEOQ(2M>Ar8#AcfBxR#OvX6pc z7K9h7Pf~M$D1y~3v((Gu$)vB@usX!oGtmklpGVS;IVBZ9OB80YF(JFGp}q{aD#lrV zl^UJSXhaEB)Z2qV={36D9}`q%l&aw)ur`egw>u`khgZTCybKNOsuk9Qq6ra^m*17> zm&?*mfU0!18QoZ)bQCcsiItN+KB2#= z?s*cTiN1yQkqNI56Xk@|mNF#=nc-~dpMEz_OinT}#Mw|z*Xhwcm!Mu&J_D+sR>qk5 zX2xV>NCD2~O#$ty$5%0krruaxZJkc`IlXzf%%-f#=zlW-v5}m4LgVWmt*_nFSY;m{ zEi1XdFkcAl=fV{loWB_Ti3J(Q?7FQm-kMs`#T>ZlRf-7z^P;89TXisb#Hz8kdBwPH zb`yZtHZ%#pZ`ZA1;qkZ7{YBI-uSY}I2W40Ag6C5Kg!5o@=U$g^z~^3lsW#gVYkYJz zsU3YW6>^Gu+eUpVin!K2eEhLrmygs`189(wNBQ=Z-Jm>mWwN2PxpB|E{ck*WurTjW z>wZ4eda>Q;P?~d~^q;zk8w+oPBRF8?<5stCsk;W-mmadp)*0)A$2@dw*DYpX=xKp>D(DqiUk>r|xX>zSAb)4hE`1&0{SGD~Qo6*Rz`>4(xWM*b433v_J zt@^UfcJ?oNWWC^cFsoF{sO_isBAn;h^+hM?r^o0!{^$HVv89 zjsAOjz1|b3559%UC82|o#?1e{QS#Qh3yg=h^ft!&cuiI6q-r3;R{jI81#WwvKmH*=dybvsRsPOLK52?-!gi1{>Qd!;- z3woDZ`23NOzy>8szz9X0JhsK0VD`=~@^do^>i!;$?}S@BSlfIAefcjtF*H`ajI`+Q zysd!5D8yP&IfX3aT<;C#O0kON-RS1?0JANlrPY&a>yq84Ul%&F>ck6gXJky)k)KV5 zIxMy>MIb=7WB>@nv}72ugPd$9gxNJzY!E~5^3(M+7q#OtMwtFp+F`5QZ@ZcUk(RU} zZ%sPW)?0bf5wn?$4~?E-e_xmNoOorf8~&iQ?G^?@vjLh@YGQ8By+XVu&_3hG*VhRx z#Q!4i`b1bi(KLspfSUbIh#)H+fXj!+Az4O6R*84sy-pd^W4yD9Ur&GFO(l_Eo1Gi@ z%qRf*`@XyesRJb}X&hW)5I}3t1Y{pOw++2M59+~}>zO8gGrILI?!EcK@vhjHv( zDDwTweq)yWIs{+gZ*riXml1^OVVfvoCj%k(5J0v0fuL)OLLsZ;=guYIukTY;fg* zl@ur(zCam9!$jM-_j|i{Epry6vXXmy%YZME0^ptoD0<7&1fZuKATCKCUcp9UmJEZE zwdE;}d*$HMa8}v7TAoZ4D!R-5;$kE?DR49IOf_wq^f%-TTiR`Q2BJmPVjbhGQvwHO z3Rjhp2c=xo;bSV1N^}r5$NUt2lh&MGz;=1Z3@%p40g_M{SPUN5L=VAV85h&)& zp0MO*UtitiISS|UL~J8hcb>QSn(WwZPj7;!CCI!Ar&IHuO8 z9gWHp`K!+VJ2~T#-VoiHt;ppBSaoa&$$d}(0C`Lc_ndwA^8Qts@RA)x|Ker3?|uS? zQ)Y7T1$K#j{7ZH7x?wUmquOw#mFM4u*EHC-es;e269qsVDR*gYAeC#a)`Dk>L)f@S zc4Id`{Fx{`6%nr4EVBU0qLqUH@3kx7jO7*VP0eHu;eogg4gN{nZ4-C0Ne6NOq&V+& z3B{1$9NKyNM`s)Kue=~>b%V?=$zd{>7+%mO+H-;vEY0tcd#zd;=Z?fWWAB2M%ADfi zR&*9JwF&i7ufB={GTHS#1)+r0u{mMXP#Pm0I=Mfk ziudg%;F2F>kVis}BEwB>s&qYG?E~d-ShTaC2;t$Z)?Y$H)ds||WoaUH8lD|M4FFG| z|G3f*$h>54d}LQeJM~&@J>SW1_m?8Ns{IH;%EIEW15eHaLr8|H8Xpal#G^OgQyaIg zHkd&p)8+;R6DPn;uH*;O(T6|rd0v(icA(Y4rOP6T7-p^PT+0??{ATj`NhSE{VGK&u zSSieSsyS&dT)6JGYGS`zE*P~E2v1`FP~VvUb6a{tJF2}$ZMm-jHk|lV3SsT7BbAW< zUVo(1gubV_>W?6`lLztbU3{`vo7A5fM9Pb<8ItR}rTr10!s%NZ!b2b+>32z>dL>K7 zow4E*!X{Uvll>D-)C^?6%htV7gk0v0RGWplqt2Q)cMV7JexK$`@pI^(AjLWksXC5| zw$zv`LuWmj$EWKR! zA_?EUJCfrR(|!VetRqt#D%zWx3ukh$6iH>5n7(Sq`LmCahZo~{efCFm6@pd(zABQm z_huTSXMm&;YBpOYEaE6JR%kRF*+(@b5kp!eR%>_wOA)U!SXY*4luI6v8O-!-B&V*@ z_w@WN9;Vv}Pf^FU|Ms9xyTMqOk)s>jEp24!M`+bvGq3-)Ov#sA|!wf6*{_{ zOkZzZ!v6|+lSF=S?q|PY`s@(CZYxPy&%9qkV@4&lV7sK3MF{7q3G}q^Y{8FiUx29G zy`}qZJ*`aOb@%F9UbCm)>M*CgKKy(Y+tBMt0^yBVEya(V^P1~$(^A!P7Sxt~8Zmt^ zo%o{*y*PF)&7ps{yKN1E(LGC-*NWV;_VsqLhY~xtPHsoXh8sEu&qo42(-M8Rs3>DS zfCp+jiD$rf7Ft5K5$;HqFGQd7Bz7lB8JV-;oK*!Sis)&cjN-xZkMqVJVg%_n)n@H_ zpB7lokrdthep0S0M}qBcm-S9a=pTzQPR*~N;G=;sE-RZ25WXh+LNW)xzdoMWDmAz_ zKJ8}G{r;$vKR@a7o3aeDyf-iddDS@bs+1Ys$6xPz|V;~PhG(P7TSE^7QFTT*Z zym)|^TYsErY-xJ*tjt-v8bwH@FTpD~B5C3xLd$%7Td(-QS$He#RLK^Nn0^UDuhBxJ z#ThbxA}0|%B2?W17dY6>NiHbh1{tqU>Dzh0od#&USP?*m^{q{CBMcs)+pJa=L#-UK|pDBIH z%h{G^aMBf}`8MtY86~ofw?|H(f79(sqZy!XKVX8#8H-Vfrt6g%%?LHIo3DN z(F>&IB6hu@{F(kIUyDPzwJ+N@sFP?TCOxCzgcwsle`jVNqjL#C}CqVy7GmSU?XL3)88ViB?`7fYHp`PPE z6Vxj=aaE0y-6YBB`s(Ol(FCIqjusft{=pfnxtUqE;pE2uIj5 zc75a}ZtH5*)b(tye(r~L;PTxsI}#c@3MwI`z!MUyD_S3WFe=e|`lp!&ATI;o6MA@q zv77Mvj5A7Lymxt7>iR~}`|H}akZXWsS}5S)i3FZP>T!79$SVNA+iI?iJQBc%&qP+X zlrS`7moKtRVh@9eCiG-(^5-FLR@k=gn`8SUA?qWbo;N~iTW+SK2G@rQ%w1+v8V_RY zXKAi&-JYHfi8?v)IyHs|lR;a;3yF?Tf2sj2Jm}jRUcNXBT3-4U!3+AvQ}S9|$id>xh>>sSBM^CbC%a2wYU+{p9qIh^z*=*)KCVyk3#+*03 zVlU(-Tb~3VZhA|!TI58b{?V5z7G5ngxk+95?79N_5{(j(%%KjpYrW|B4)q#cS`ijG z22BltrN-|kso$^o_3yO_4us<=7&!nP?MeUL1-!Mbfo0DyDzg;_63%}2G&eH&wQM{T z3LYCuyValVF`_hYlzL;}oIdxpLP>I+hmRAr+k#;W*$g#xS_zhJRPmFujJa8$vBynY zleQa3b#lH=P*79XPp{3}bpI9ktJVxzM_LOIl3rMqux(Ipbl*p{&G;+-AwcVyzPQCM z`BHlqo^SqFG+brAbN=MNpm}X(vU{R(|0p8Gt8!e0ve1FImXm7r} z=<<0`Gc@;Zwp;REk7Ltt(`N^?1tf7{--UMlPGVE~@4*@$9*e^&=ai|uA1hN2hE;k~ z`3k6U2D8vVBMEWI7IlW6J5KBtuS~(_uNTc{L6b_iVOsyvbYv-U3Xv3|;rAe>x5na= z(g50ia@6xxnswsGDeTHBCT4$srQ}pSgi!11?Xvfm>zd8Z0a>O};+zx3LF}4x8NX5x z$W-Xz-}7hQ|NVx3eXaQdcetAbaEw;kErvUT@yxG4o(sE5m4`v@u0Oq}w~E*Om`N<4 ze7xqjWm1>IUXt-86~0?ra`XJTLAmvOP#~IML;B~@M*No``K$ZXWx>mNHy<(6j^(P62O%VxY3(sv(>%FYW{=bcDYkuy8{ehd5vTiBp!)Fk5i4QM((vwONRdb#&z zrI`?RayY&(OA9DSLC9tJH|?aj3nUl(rB#;+Y8HS za!KQ2@Nj=X#_?bsSLRL1Vm-EvjR^YyElOhW4<%OAI&vyi3kt9WFMBHxxrx;u4HNO9 z!^9_p&jCieQ?bW?H9Q+DmYefcdAnt=KG9rHSaphG;l%oST)J(Zn86;kAG#5)pVT@` zF$?|s-@%Ic(f)W51~kE>hWn?nV%OrF zFM7q#qEFPGA!7ky+gE*dWwFPY(0wLk{hq=TeeuYPfnBTOlX{CA4&EOmJe1;K3~b9h zyp7Kt!IXUWyxJNA7~SgHlu!^}{l}5br6G`S!iydcwIuayS>Wkw&eRX4!?@&;dp_7B z3O-e-H$1kQd#1KQt9LJfJF~Of_kY=aJoAmLklE>YrU{ZWyg|^4r_Y)}^`FPj74 zZ+uGd{(d$iCDB+%9o)ZTw+7I6oFWS6=_X>F zgdF@Y}mzdKJ;GvqQrK1_85g zxxxBNRzl+Yx;2%Ow6lRaDn3ei_4k&F;LCR5jGXtED6pz{MNp40D#z~4`euNrnA)JX zU;KzV!VXL1pSifnu~~=0CmA1H2Q*^)?|pQ!}^6!jW5* zyeCEbwepP=ogMqzV=GtgsZ00F0hnOvh8k2VXjqLy_UIdt!+|V@+Lgz}p+ZT(F3Qw! zl^=$(W!l1&X5Uiz>IEf=nWKIxvi;t>vMI(}rt?#35Cktd{PM);wL2 z6~;54nkgA<1mqOm<$Olp3$Eav1v3IC!~hXbC1AL0hRW3RoJYkLPlVwrUs__%21h=J z^fh55A~vDr5wbgZOA0|muLXnWK#xKqRiX5!@de@^euNEfp3F#}lr35As%^>4xfvx% zbL_QS@>)05={l;=Z=5vB41K~MRv4YJ%^!rdst{`8 zGycp@Lzcc(MgrF)ow435teg&KnRu!mCXY>}QjaX6mQ?#CSf|Ar1xcKQGBC9UrGruH z8Xjv>V^cI3s1cve=tMELy25VlxL)!(k6)y~ABE5Lv5Nofw{4(BeVOKng0LGM^=x|V zm;e?g&*5Pm>=pc@>fEwF*!OZi8feJlm+&t4zJ!%f_?Pq;M{`OU(XSd{j%<9^U_+{% zBYInrD@JSD{g*;F^MJT+526U3(Ry}_3Ij= z(jvsT?fTXp`-WTxUZ1%DPU}wzw{NV=qpD{6PyZ6vgF83YaW}@zzbyWW#hm;-y0N=< zez|Xz_}RnSWqNWg`py-h;WzdH+JdKGGL!zf2?slH{{h8g4q=HWyjg+((h=TU%Xfud z>LDYX70^J4&9tj}CW@2hjq9gf)xg#Yz_JG0tIbX_D=W#iZQj3U>+b$R-T}vfgsYh; zX{C`+r$4i>)!pAn~H!g^+TYD-bIPUkx`~RR7jXy%GPfXqx*R8GCdp+N5vdaoGQO#guvg8 z`Z+j2&K%M!nVl+9DGI6?PsxjI!8n*hjZmL%e=XTy19YdPH)(w> z(z1%MS2+?347WJ^dyH6BqP>iys)RX8tG#^#@l%fsaVhVSOkr9TC9M0RcaytkUq609)3 z;WN~_^E2l+?}<#FLVJ=adsU)@N6;t0VPwEV`Qqz~nCCA6UM5~YFFEmc1|*o{5SzW|H|sU6O}r<;Vaiae zk|1cgTnL2EnJ+CVRF2`{~G|Gvhf3&m|X725U#evu9T_DmRxC4a_E&LondVDOJx?+ z)#Id&i#vWoCtvnut79=7lIoUvr&H;k+cT1={oD>TDz1c{WrnFfps%{R z+4_6zw2ejoZq6`Au|AU50A-^n{fplbao0~$XW1BPB+3Ao;EYExZ@iwE{Wmd=1MJ+a zJ-M%{a}ccbV0v%MFUYr+6_68SmPJUeg>(KY-j2#=U;_CLq59oZ@7XCVeRdg&@_u6y zejco_S9uaH$}v1OC8Oi|r?6R?enqzIZgk!1 zlO%ieXqwlrCc6EC9^>Ec9B>g22(79CRfZR)SBE8ms-LoYCyrlBl1Tt~{#k6jZ+#sy zuSUfYcG2gMz;}4DHZUITF;&R|@NqVCv1+vr9l7XKzOE{n3q#3uBmxLw0~QGKx%hLroy>jrh@fYFJGi!_BC zQvXI7!1u5lSK4dTDShM*!SGG!Ey@lI8YNX$LkU)i4_6%7{f4I%oWOwq7RD0KrmSUl0@q=r*;Ztnw$=U{q1sKdPT2G(-aS zDa%hn#)T4HR%hoEZm^?Wdtk4En4jVM!S@@|T*o0x&p7P0=E}F7vjHi$(e9k2CK*^c zx5^9K+E(b8Y^9K+fY8aqQLlTVKof3D^lLKN#T<~$@hI&FbmcR}?3glblD>(|sp79O z#`VT8Lqyi=>LHrz-z({U$F|{Gy(dK@OZA!hEJ&~e((Qg*fB zAzZ_EKnTPBAFdu%0h*yHyAy4z;z}(bF)4e1X!=mkK>*>ZTLaLXVxfL)r{^3V>V3R3 z6PH+J9SmMfHGHkO)EXM{Bdm3{G7jqYyTWb~86SPi?lJebU&7szg|;5==&M3SP-T-a zHr(+Y6O}Ia_nMJfNDD0oKU6(_L2Yb3`;i1SNk_l96?3+uQotA=r0>9S+M}}aXQ9wo zzu-G=Dor?c#n!)m?u}KW*#MH6tBbE6T#vN3a|AP0JCqGQix@d3d#`ovh@ShslF#}f zqc^t?>NeTGcj9#Ihz&kHq$k+fsBx?}MQs!}#b$bc;bt&!5%LXAGPh zEHqKho&pz!)ch3&Jz~e;$R~i0y+dW1@FaMvzaezvq6Ncvg;YwLmCizC);kOQiQ08H z!C=P5!In#n_=EKoy$&6)v2S3n{%flIIgcLvOi#e&Xit^W1!FMW|{792$*VP<3&N6k$btFX-4)LLA z<@wfmYin(Deck{wWPH!9vZ6ShA>vjiDeL)QQyQDu-DXzMhrXJp2|4(m=ZxrlTo9-% z)KD#nQe{Cjya7Vou?ulVbu*?gF~M*cTQwD7Fw@zN&|-@ z*IVri{*^MC-?j?h-x_40X>sD7r>mBfXMadMJZ>{|*?x0%sPz0=(U6>#kwf=b*KEkv zS#^hm#hB?Gd=WsBE}A{u{rgj6?+)`s(g!L16u#Ar-g<6QP863xJW+NN9?PACOkLS% z_=ub|#Joo@aNvd^FChi~f;DV!zB-X6%S(Z{v9CtOA|O2?RUS&A2b;sEQ&UQmWaRu* zqOLNR+t`5sk4e+57Wg`^-q^I3>8IULj^@87D|x#oQ(V7Su3cQlI=9W*mU0uLGre=M zyT?MXDx3P0&V%KU>AjPp)s^%2gsnK!Vrd4r6r`or)*-NI7Ab_mf(0N`gy0?t0HtPDjIo{2pJFPY@A${e0AMa}&2Xl-KbJX=NG3PME zq9WsZ2qQKk)|~0oL{KsP6LE1AMnT35@{RZAI~F5RC`ek`le7^g|d zO=Si~sPjhdot!VFSmdl&)Li;WMphv%o8^znfS71mkvj^%KV6mno2O9`YQ ztiLXRX`VY(1ONQBdJF)p&JcV1#9XZEDMb#_4Wwm&QA?TOiCxs%NP#ueTjWoa;7*)IN{?H3Ehq>SSs2&!zx>!J2Q zR{1u*(<~kGP!FeguPwk43H^TTZjc0ZjOY{Kha+Rse|^P?M`+=7Jm|eQWw+eJ;}r2| zvW$}{#>EyhI zzLE9Xg4FLYdwz`%a;-Sp1FUp#19p=ZUpsza9;+%YBpQt}6zeI6rb#!N_WxDLf_o30 zrz4ssV+D@pLQq19{{@D%1?3R^L=D@CTICLX}P#Nv;BMVelOqR!7MA|KtL!;tPt2@q#~@y#X3!_g~=QJE~Zi^V@HxAcMYYJ^ciE z6H4#Sgua&yD$C1&J}?(K)Xp`$7Ys=?8MiTy%~@ZleXvA6Xt)$qrLz-qw&Bz+&w(o$ z%Sv_aiwyTuP#_J!cI07a_~NkCVau?GwoFvjsQ%!MpyJy9xB1TlW5|4M!cWPHA}cJRw=Br9ivHO zAA4}#gAZ7r#(bMV4+1Y1WegnkzA?YcaJnxxJg|51!a}`kGni-m`dES@Q*Y(qeS5q= z_v|UUtVND}Dcn(PEEas1EKsk$fw6U)VJzDPpHN(OH_4t)RRx=qhO_}Ns_w&-;-&@J z%`=Rl(z%HP3UrtE;f3|ImpP!*ITSp;#ELyvGd_8OQ@cPDN+Y~@m2;DbMY*+Y5PH%mn8N4I5RGdPlq zb~rEWDICAKzrTgwXs@Czymp9E4d0{B_ zB60LOEHTivaCw1`kwnFUOyUJNqNnuu^!{yJePt)d^V8QZk!PbC?He+4?W?r}ixBpk zFu|U^Xl?#KM2zC=onXKX;rB)5KB2MeraiEO<2{Lrp3;NuqO}?PeK^D}JM!B*FPNRn|o-S(gjDQ&!J+4`m_*6%?ypxjfhZS7ge42qs>W9^jYA zRAyZf_#zzk>?Y7lJ`p?)_A)AG`7$CwV(fhX0CxbM8#J@tvmz8O>6s%mT~6r%j?zmU zV~-JkRYGJ{&TcmWQgJzmQ?>DchtdzkdBFI}iRL*RUYuh1)SrHCL7KuW6)te55?Q(x z{0&&02Ce&Ts)EwuUvagn`-8#D3b*M&Snr;Dx~kE`i?{1OXVVwx>p2l*GL~n#s&FBF4v2iF1};asN%^VSa2{46XDIdK1LP^KW-4EqBGYE~asj3wMYE@W< zuZSwSlnKeBc_*J&vT0d-E49I5HgC^5e=FI^nd!NicHsn)UoToiT;>-q*PX1=Qk46O z4r7!RM^HR5^4Dj?uz6AV2Q1w5b#<&nnb3W+esOWp@DS@=R@HuGSa`Ag)n&s_3bMLx0Fy(?kAb-An5#b|ezOdtc8;{?_>01PxqRktN>XPCeB zohUG@$61zbX|_7?VJ1|MN;*jZn5XLP#i;HLFK47p@wI4I<@RN6`peXu|6agL#~9J8 zIS+2;2=B!L9gRL`eMUa*5pbpCyPI^bP;9HuWcA|cCmd*CG63_jdd!WzjFxwLFUdh? zyJ0j%@~SV6bjphCyTd~S?AK>{Mzwe@a+2`fP)qSJYc+)uj-3jTw|83tPLx%3%O5W9 zmRE5Bo=fo5`xlUDUEYQSgi#+`Jq9=~Tb9-bUx&K*{fBQ$QzdI{{Heuokrw1V#1)7xsqdw{8Z5TNMe+!H{!6moEL+p2TC3tY9i=5q z1f-@ca_|VStweZSEPy2D3w*JG|LnO7%p0-z>vC!P2GJ?D+eplz?G7Ga7~g&lMPUWp zWs>DfyGaDq2&K$5`Gr zZvfu1SJTdA{H@$e2U*iBwd0f~|m6ykmpTK-N^%$>kG$l$}`M zTPTV<8KgUAyxt9?qoy@3lrlbnM{Zi}qm0wV{f2;w=&c}tBi01+li@K4&p7xk*@;Q0 zdz#A_J6&r(Hns^4CNFQ20t?svW`s@@#q{-~$;c(Y7YoVWN7EW|@_l_F{GGliANgtk z_0-}X&%+ZlIfUtJshjR4!V2-hKEK(DO*hg~I@=7$27<(j-qs7)3e5D3Lut!`t|lLW z@}Cb$kcto!IC}B-(3RWL3*Y|&wVH0_yk_98fTX`WuDhKZ&6P7W;QSO4355KV^V9kB zHUz>Y`)!2yHiJ32rJkq*N4p_?PPms$nN7^kxK9%5W*i&EUJ1#9$Kl^?_Is6*NMc!@ zy5-)1QL2N4R!F;I9g)3-O%+eQsja9NZ+Qqvi}9#FQj0Hh(Y{@V=L)#5OP}`$?%zf3 z{6p8Ok&mAXE$}3heeX^Eq^8q-LmA7#u|IAO<~4YwVqxqW>0n_<-#{Q;$U&`j-rmyc zRYZnP>Wsw-EmjiamIoc@`k{CKSoWzyrr0b2 zW2Sg<=L{Dn-5h@8Y@IRqYGR2nwJ=zTd*-)yfoPAXr(Zee|0D*BZYpzanByDrBsan- z=!>Sit?SA3;cs+ z2kW(5sEM55Npe9_m8nm7*xLf;h2(N%M&EZL$>;K7VCfMnL-#lgm*b79ANPes8pJm- z+c4ZWvcP|i0aT|MdjA9#O7Tukjx-(k5WU@zhNkKy1-|GU{9^R<@q&VGLNIfbiLfg? z++F2XR|y({WJV7<`tP>-D?LS>a0v@ufA_r!QZ3o*yg#}uTCQH@sGpiyVZ%u>-M?#o z5K7Kz>7)by7HOjbwH_>Ox4w?fzizQwnt*zzbdKPR*oIcfDoT~#JT>TeuaM^=FccKP zqtpKSe#;RVxN5);&e3|7db+3hslz(I(D>?(a`f<*pvKL`!z+R> zNr!&~q5a88`{ef0_1?_V)jvIt)7Amugp0Ec(#Ru}X-wj|DWYwO1|ZDO$z3;@OP5uj zrxwvL4*Uf*m(a6s-^@EHK=L|~@BbvTEAPJLfh=nHQjn4Hvh0o+?Eb?L)m^*9=yKAt z>(NPiGndn_U~hT=U0FLUn>B;PZWae{y<{f+uJqV1_hfE@Iw>8}1qLROJbbu^Q340v z-YMxM1Gsv;!GxVb#7ZG{)YHgR(%j(tG&GBH0m?_FQAkBPst_rcyv3CdE*P^*rNo$Q$^6*tzZ+&g7vSv*-%_po zH&K&G44o{fTmv)(sb6F*Bm~2=9&Xq*-i;ccfR5*VOMm`4R!;z%#6Ce;FCZ2Jb;*Fn zG*w#~@hxaD}l@y+?WVPW30;c?A>ifQ@;{OgR zAediGWUox{=G)!-3O?Y&^bDxa5et)VOP zuMwE4jcCsorf*OqhZ;E<(F`o>G}B2L{c5mMV!iPrtiFYbA58)XmDBU5a9i~aYru>B zEVtR6#@>hH#`U>rBmR7>!OL?_YXKWoRUli1Hn1ol^k%b4Rfj6Jv>fZ8IcIw3xtJnV z(qvLBqCy)q7*`qvw0N?UT^U;INfkM)ba8&N#aHx!ilpqpMd&mBjm^)T;$NoHU{Z#G zu8-mR79;`?;p(>uET9b0LfTJ*((=s^n@O;-L&i`K8sUQNi62uSdSBeXr8kF4>@;wZ ztB!mAWG}3IEms8ACBd-DwzRc5*Qd7dqn96X#}TE2$of@Fyd?q+spFGRbaL)aLjF46 zzf1Dk#02lY#`m*koKf-jg!%$kxxXtkVXB%20LTY<_Wfh7on}?6mUmEAm`CGBF%kX+ z{Rt$P!cWY`U0~?f$*y!QfdPf)Wc#Ti;R!rZYoj9MyAb=hlF`y2g9zebdv-$O2(DYO z#(B86oEDpEp~e(a6^_`s9{u@yLtGu0RG&g5g3E*YWV8uh>0DXg!`y3I1}6P4DR>=g^GuSg`4)bU}b)_PgJ z^VjJRsh;fOuXU5BbHIO@w32#8@X^a2wF`}k&MabHS7v*|zBy>av=7H1{$^~rR|6XV9o*Iuw3F31Hpa0$@5}ft>#MOTTgc}5jFQB1C=d*%=|zl zOG%cw-sC**Cd|3}I*&(pB9I<1($m-u`3tR57ML8=>nmUsV;e4c!p%uaZkRP}?~(!f zR5~d?^&1l7$pm75NH?G`<>~XG#8SaNHZ++s(&E#Ihh+23mwJDCHpt!< zS0!aAspRq0>ns#)A)k4Ye(9Cy{(g(7$ly`=vJCi_T;Vcdq34{D1WNMcK0UELx3CMZ zzHQ;6#nKT`q6K2ovM8huGWxAfEzATI%#0mRbthpA4&MMtBK{F01{RXuR(jHMhp%S9|D(^}rONpbctR)OqnPqZ^kW+DV8Y5?AJH}x z(#iG4YM~(u74gt|-dZ{2-xp(FB?UN3GF~YX*mByGvKdS#Rzr_zX#*{y1&Pu|sX@mH z2_LJVfB+cbAIw`mz67O4wHxI+WPTy7<1PN*AP|&qN)b+6lOmUAYJ*lNwyEq_c}<3q z)aCmvPGKzgW@)5SEN%K|K-1YPrUlhfIGi6Uf?cC|bQ9)Iipc2L_z~k{PVw z0lz(g#@ZyjJTk}y8|RY(D%TszZ{`ks0#V&GP#a{(cF25P)psfx$RW_E#qxFp=Z9_e&*HYxntD78sXpOsr$hW{Ro?$ zv2g4opN!VUEBI6#B3D=PZq~Z}!Uoww_{+KWBoWKbsGz8!&gOX-fKS36SGeUq2k4L$ zzC@#nF1AEb9E#kW-%j1lV;_l!Nb)_9HtR7HLEyWiH|BhoG(hHQ=30HuxxzgP)}g1T zgfB)2#6h|8wY|wHT944M*$5ev<-qLt$gZC61Xt`d)ui}b9?kf*<1V=n!Ak6Xwq;sF zLPhUT(B^iSc#bY5pH!pUl!vsy+JP7A?EY$B?TQ1&Ty4LYL!NB^5y`EH50iqgxIH3pRDgxNr&i-wEb>i@g;^=vxCJa#dX*pKNfy2r*scVW%bpKK=gx-z zb9Vwjzi=dkqQ%HJo11x5J1jCZT|C{szQF*NzjU|7{JPz@$P#8yX6eGUpO9w30+}{P z(HYF3gjjav+Z)LLq75;LqXd_Usm6ocA*OcP{i+yJ<0489qq54}iCgMEKjU6*x2ADZ zMiwKfUwKa!KL=~1kkkO=42>l4i)JRtu7K&^FS_h#Fz{~xmy0{phEI^5Zv~jV)0RQi zw9lhSA{q_5DNJ}lAQb+t!bf|aS_|7+^9QyjDeN$APEn4SmQoABnF?+xowvYQ_a;lI z1sjWGYv2nbNrw}ls(IS-g5*nzeXxL;gv*>wc(`s1kTae7gNK~t)B1EW6}vyq!U^om z7^4^=bie}5oUQ-F5!vN(HV!Q;Ny{x5QHH@v3VRFsWK9!1RPERWpBU z&yj=bd`07%9yCB2t%MPdm(_9J=Ib!w>Rqa|6b=XJ9B;~+r$x>R&zf~uK$nvUB-amp zW&qfD(9|PaFio4ci|-KWP71I53lk>78q|@DS-;~vq{n}!XfwQIQh4;=I&ZfMI;0UZ z@eCNgW;s3TV3E0KZD{*pc_v5%Z%9)p2<)j`+L4A30bk(4drSu2b=ev`mK3H>3Y;1j ztlgrijw5U!Q(ujVWf_W}Eg#W|O1cAV3b5#vHPR$?+v$a-ku#uHS=6{k732wXS~6{g zb7t{UBs1YikC2hherY@X<&+b!5xo$~s%P;PSvlOZV{n@l5aDE5gu#GQGS+F>N7sBD zha=^6YmpbrE`2U!Ts}mp;_=Oe{BIjL#AL}IK%P2otkW~F_IKim2C>jWRpAWJFc$lK zpIqgiEDbWvdy8s@EB`SmlWpUNoMHuf=HU|U|5n5yjsA^hQ@aN@4ns_!^c)HAghS(X z-e($C<=TQ6ck_NnIP_aV!Fw2UbX&~NqNfSpajHV{C3b*v`i=|oKfzi(W=eE(*Fr#{ zfwzDJwr~hyELg5|ayl{-0e<)70JH2P@9iproj-Zt9`TxxE{z0S81; zY6gVLA`COiQVxl(?SoC+4Lj+Dv?0pOe;AC+tm$myP~A7`R|l(0&y^D|D>xedU3cm3 zM-^SFp`EVFFe}&>grm&LLs_>ok0gpCl2=Z@)wf|O*L#!l==f+8&4bTk`{-BC07?Pp zN*{8TiuVaW1Ac@Z^p%9+kIJ&b9)wp}Y1Na{T!ppM`tCEPa5c=oZXBdg@_UFFO2kocFV0m;g_^wXQTVP#yi zdq&CF!M+IL$Qnqpll5b)dTD7flfTuJB=9oO#hsHI_Hw7`-kqxYU6Xp%4;rHbQeE9k z$pk#52jw@C<+Hlv{QDVvQiip?6I<}J)Xue8Pnee2_x5br6hG8)WmoL1C zyjB2pU>y`0pEf~iXTT&*t_r3gBlD{B5^I;rxkkN?&Px@z{{6mvmM|U-cn%fP_7&?* zHblj9f>$kdSqd`+zeyzd(x{lwJg0gDN6L@LBUDIkQkbjqYe~Z)4 z`Hg8GtGZ9qHz)FU9+lcdt4Y9d9d$s5KP28jom{^tP{qgqAZas99fZLL4s7qNiD4P+)U!=!dp?rX~OfBr3?vMp>$a324+sax06I~Vbw)lc{_l9Ia9nOXRikoipR>eWLfR|OS9|5eRTx?IjN-k271VzbOVS?8e>&n1 zlH(y|_?*R_i7Zp&{9-Y+9xs0q${wKJ)28-bsiBzZ$8%A#5>r$ET8A>Un-OxS@3YH)s4=3BV+TRJxmAaaTeA@V;2RKT>ggA`M&@hbX`AG$U*0RQ!xd{Es|x)G zRVU}xaprS0p}qbLVJICp>>WKn>sZ89R`$toOVwG8(O+IKCfPfB35z)KEiPDECzLp3 z4n=oP3~Fq81?weO|GD$4!_Ipx9NGYy_d;8bGSwI^ zKgF;-X&d9#S8J4~uQ=VGLVI63o~?sYlC}G+OE&jTz7D?ky>UK`_9!T7l#0lm4_WU$ zUk=N<-IDkEChVi~)lJ^bjq;U$*g5Tc*L5>%<)+yXU)kd9V4BM9ktVIT$S>4VAfp;# zt()B2pHH6>!d~qX=JJ&R9i7-b>yX2~TiIJ0`xe^RB+n0;ny<9YZ%Zp@0%o^k7yunT zx9z@0UtW&=&EJjQ^nwKh$j&d3F_R)^wwQpK>lY_lKQQQ?4}u=sLP%J#!uV?5cF`!H^Q~9?WmTClaEM1M`+kJR+&(%wad2V zASUX@%^WW9qdtZ#xv222jL<6eHrv3nymf25pamiGOtau$Z&E*Zf9`Y7J_-<9ZHDad zD{+duwdX!V5U(K?ZXl$%DQ)b!b>eUbM+p!$!m-d&t2}67^#BDat0yL^RCzZGOXtA08$2<6D$>s^EfW=v z(F7okYMWxK*+sCK45dG6Wa$i%I6FA#1C)xidBKOe#b@DQ?S8oQ5Ns^E;V(>pxRNMx zaLwIL*gnkNPJT!q~@J89M|WeTmVggU2}G-sn%_Lwy?VW zK2+M;P?%|prOugB&(exyT-5lKf-E6Y=;2rK=cXtv^?PDUts+B$o zu7aBEreQO1FL+d8*jGKd=9OaGj`KHD3~HZ~bi1QzNbv|HXY#tQw~L4O*&t+UVL=fz ze&71WGebB2!TX6Otpv~9$u#q^#xYq|ASlgYuQ8~H4%Aowj-RxkWW<#{XiRH9wOY#x z%H)+|=unLJv^f1yc}H%7FVOB58%a8ARE@ELYW8{o(!-9&@v#X>eyn?xtnLiCv0IbE zxTIXd5DkyD@MCh{NXjpU1|g-q(bEAO;)6}A4!MPsV}I4D#D2fh;!?$}xT8JLl^jtc z4bf)N?i;KsW%W;;Ti77fpNd)69h}iaWL{%(baF+KB13X?KVj_$XyyX@Dh}lKJ_9=- zkTIs`Li^o$n8>0V2+qYlVqtRWBK+o>?~8{9jerPX|5Ev?q;f9!=&07>f2i?;=+M(a z)>}&>eEWS1PF#^1*tjV#;r540vKQ6|6M13n?U&lS)kAm|P;GDRwfhS;y~haha}Eh2;(&ekBf_?A>K|~2#U0>PJ7GAirMWGt=l)8N z%a+RqA#ur66d+M7k z)zD)8UsbV!&EoT{#@HY_tKl0m1iZhL;-f@ zkv8_odQ&O;b$8~6d+oVn3Y^kbiQ&ru{;g^S18a6sa=hT2^=5RNqbm8Mu9P(5$KYV% z{**t*@tkZ9u1Hr-d+K7~N9lznBS>pBKQU4tS;;=!hOgIRGB^7!x5j+dH>j^}jB>t` zU7H|130%q*j)QZ3E3NTHa#LXn%k)>o8nQM-=n>)kMUi*PlHhXYKjRZmMYwWW5H3IDylajldr%&`eWuAvMt5JD5o61D0VqL zzjHDz4UPmC^gBkq@)l?c@In@7CggZmkgr^qkN7?$Zua`@hni-Nbl!aUGTlQ5FWxMu zFSeY#ofcZ#WO*oBXX=nWwsr(%Eh#Uy$I+kCTj(0z2T*;O`Fm1~Xi7nHvwkG1IB(kn zzIiYg=Kkm8h^T>o%a}lBDHT7>U(0q`qVTKJclZq(vf-1ON(PQfa4CrQPwGFx@)pg2 z>a(&cIsUiA@B)DFl-pocD$SjbdA|qhbg+n1GmbDCo8k5|D0+@H{IrEdTJUiHum}$V z-$kg7XHl*b)6CxB@a2!Ok;|>8i_si+Q!ZcbC*GPqtor-sE^N^8soANA$OU1E&`4Mb zJGUlaPnE8+Zhe2c6kt}i>7WpLKEV-@$f0;WhY(RFELw-g6RdG(9 z7`eWQfl*I|-EipX%Xpz%RnVbU7fF(;)YGY%swp|ZH%&za1x^)|FRREuW+WLYmNk!!HZg%QtvG%f3o<-rPKbA&~ugRS;dXEi>Y z4Rziap{icJRX*9KPPRYq_h48Ti~)H4$}gJmDKo9GfKA|3AIh5=58ewdGch6iCJg~| zf=%2S$N*>D8{|wnOyh=Dor|E4dw=i2x;Th6emLCwLr8clVtIMe+^;nCX#`OSyl_XFMlxhV6z4i+bn5T6o!O@mmEoDA(0(vgqyq0P&p zJGYUkf}L&JC2}vQbGvNhnQ${O{YL;`Jzouyf|%b;`l+fC{?_!5PYU&lI!RXX1Lhx?LIrieQQ_$tb;Qx6ZE_kgsOV;f~)kYTy!M`4^K)8I~u5PmzxtrJQZNGw;P|4 zrt3YvtrYO$JMcBObaJ+y9kxWs>|awQ)>3TF&S}pCh8|mlPt-`zHF9b35Ws9 z_4HGU|NhJ z(o9dD8w-f(#Yi*Bc5i!#1l}Ft;&p7m&0TKmBcHm5np4W1uBq-GZ8&r>j^?fT?hO;v0SY zn)}~P5!5{4?JnVQ>gzCJV-qlu>>a>Cyt!Pw^u?Z$n6|dkhEFBf6#oojYHDt4g&n@F zU0_z3ldjj&-MmW_o+ZZ{1w9 zP>DAHZp1koZkA{>3V47s3{(OPil%gWlFYf@vP>iDjWb@3HBk1B5!Yuugssd*_7_WX zGTe4Dyq5^pY~SXT{#?S*JbAK338<{f&BnE3xMMm%0ya5!j%m5VsU%6f4x)GiB&oCo zl1M;CqjH@MueAk2+erX2H0@{F$B31xtpqPE(IoW%|qzo-D!&ix7uw)1=0 z-eTlTLU`GsnOSNbyyRH2X0H?~rWCSj#fepuh74OU{rug@ zLx~{=(7Y-qW#+o*uzG;eDF@@&Y=u?f;qzYat-9oRxqIB3pNbEzZ0^|iUf)ZybEV}J z5hy8oia&09RDtC!i(RF#S)xS)gIy_!p|8WmXV~#uS^^?*^dOK6YUMAHf+UM|cXuDc z5)oUOGoMC)wp7oJ`wZrG87tPaiN3xUChJXNWB7wtQWF+q3S`sGFXeHcA4=T8P8*ja zC;zxMW{S%^ue&S9)AJ!O^iXCc_#VgxAdzYjry}^E_-*O8jcf`LfwJcrE;6nz0xQJv z#5R^A01w3VF3mIWl!^S(;~;^k&CdBkJQi!f~QFJc9i zDwuvV{tQ%nWK}QvdEb%JM0)(% zcwLSTVt3aF&J?!I0`n8Mpr z%vx(xZJ6y5N4CRrResVcw-Ji*@+}6|ZIy3Y> zsa{xcgGdc}!`-N=S24M?G%-;g^KQ>gLW>#pZ?$dr+!ygD3eym$bK6gzJ(LST)@O@U zyRj#yr+PxATQPTP)l4K_5811bfB#zA9#1{Otw^}Q`_qm#TyFQYW9OI~o~2R)a{1#h zhW|C0%;=g3F+Gy}zTxV}n6WME{Xolx{F^gKgE>26qKzbc;)YhY=c&}2rIu&W`&Cq@ z4{DY}@6wA{gCyjkvk4fx_^oXEn_vZTJFN^gaKVN`5J%R!my%+8`;u#r#-1_tGi!>A zVwdKJBsWLh?ZHPgPF!_-&|<)k8Oycg85r(?FW-u01f(`bEPjQ*{w|1{w$pE##%<28 z^SchiT_J>LSdfu6F&X=l!qWq`rhreu)TN4qxuV=ovSNr$dc#& zeCno`d2v}`JXrX*MPYF_oYduB@PHHk| zpisDaMy7F?FQ!09E&S$nL4`L^1gkJh?nV?(KXLh_LuCaVvzmW(s;b*R5O8GLgO?(- zm^tP}lRL4BK%Sf|eb0_&qfuF687Aw=z03ZN%_|G1z4+y~wDt9V9RDisot48_uE`h@ zIKT;#n$4OpLK7v#py?p&()Rr7o=<$$%dAo-* z(oQ{F|JmSGm9_cGJ72%hVu*_=4;YOIXabQvQ|vr_f8gAhuVb>-GJYfJ)$@MAx0&$8!73J9*MTgd8&EF^P`-lf(6BshD%iO&ILOwRKH=-0&%PF z^z+0R$x1_zwN$b!h9lj)g~rk{Kp4n>>l(b-T;e+5B26|l^seV`)!;vF*Ubd)3;;_6 ziZ|~)VVNwqrG%vjnX58-^)zmsqa5;s&*~SK!;^GOjD8n$J$7m;i2Gcka(QCNZ^4kCNs}};l z>>qTtSHl>=@MCyb%^WP5!!H*{*{ zptpyvytyrJJUGnV&kDN*5r%Pcwr!tZEgOdp1nei2S5(AjclK5o8O|M>unPSem<$P3 z!PtambWfrVU+e!zH==|4(7`VEP53bK2S%{i_vLY=xY6HRM4LUCUl6 zw1e+HLWMW1J%;&=BFp}nr{ z@98%`5;+07WrCub+iL=$fgug~xRhZVM+hrXrhhNlD;cUDzx786S8CQpQ?V+ds;qM1 zi(UUr#aVb+)V{;u5k8v2_@7XAeF*Whi52i-R1h%N_NSfi@t=G!H2{Y%mA7mcBn6Vp zOZlx04qDB$egvof@yb0y9M(+YvPr0>N}L*)o#9~yEWxOBtTJ&&sokd zJ3RAtJmAh36V*Iab7H=7W3wQNmTg5ViXH}zR35ByF%wdwUD8RDquP1=cW~5@^v19q z8Y&r{YV!N)?B*|&hx57XB|lI3S(qD_117A*5#xCDsN?i38lzSsT*l0WRcXJZ%(@3U z(8xEuDcN?qk~qf+imHQsIs8@oP%xtF$Ftalg{u%hAHMz1Q@NPD1e{6paVX_^>CRub zSuWJ1uV|*IuGBSK0RY+vAk!7_+~q(vZNRHvi@ebRAFn&V)^(t5CL_Rl6#-#8ubd8i zo}RkqaoGg=5I290g@PW!u#^c8UiG~Bctc9*BgUk4?48Fz8kiS&Ju1ggPStxqv;8uy zJWth6ZqZn4UX7kMJSLtkhSoVRqt4~a%b$1dmhh!DwKwq;*10$hkeir^mm?5noAyxZ zo5yT8GN>HsnFP11Oq1>%X1wTv~n)ia(ag8p~AybSUQsVKx!~fP{aRDhM8(7W+P<)k9wh>Y8u}9>%m~wsTAN%USBnBi%}@aY;IRO@OX^>rGdx_L zQ*`+I!#iKz(te>5DFb-~{qd?=m5E#nNLbsRs6lPn;2l)R;5&_o90xXzX5wBZUMAcp z+r{MWH4OxUz> z0}Obj4McZK%yuYRQknfc!1@`2XvXMKYX^iJ0X=L){^u#A@v`5D1HcGO3}#*Dk_NE5 z$@tx)H}kVXK51%*bic*?ibOAt9F=-eoEBv;XE5%+I9>a%%=)*b zIsGcD1|&>XoW?%sY@A;(uF>kA0^3(+K~0rjB>&haSNowp+Gx6p^u2|J;VjwUVt$vo z>^Jv2%_6a9s6&Vb()CDQHF&FD!aO8t_p&vq_vh{Ge3k9TyTz&(9^(u=QRA9u^@l=~ zoNX>N)POKer{j@LgJ6=+2^^VfEKW{Okg;zl7xLP=Z+e=U)sLU9y$#UAr$S?^JT^Hk zW{;Z}1e#Nq%q;FcjD;+bqZ1`UAZIS8EMXiIMF;qJs3wttK~?bM`K=BkT``P_mt1AH zfgmL}Z3ivoJmYsGpY3ERX7F$?$ zF=k_aC)yEp3jo;7Z2zvZUE#1%;neLR;McqriUQaN z88#nLv9_4roxzos9Y?KzK^3pvj>7*?49L+BSx?@s{&zT%u$cZhyJy)m;P67%(Arn>PqL6W0k5XnCwl`&3()5=Eg5b(RFpR|8{m+di-n!wCq@X+ey?;F4v;x-|h*_zFf|j zLe^Mt*>g165s~|?I)^p_jWW|6$`+;+HQzA2OOc!txPBP-^L5x0^Bhu>FtLYSFbD^#d*7M6jK4tR%MPAX3HEM)izu;-F+@4n-Lkr z1(^(Jwl5dLx4xMotTtzSK?ccY_B`4{j6fulqUkCADyJvMQ9w;l#72km{E(yl4e@Ae zd1v{AX;rfR^wuI;4`7|8f6Nm(C7>VGCXP%fu9^72739+j2q|ISO=Km^LKtQR=tB(~ zNwcpy{A~XCg`O=|skF&Yt+8flUv2HRqRfRuiY`c;C;Xy;%{MB~f-f#=F4;nm`=tA9 zqo~t+U#ga1j!>`uJCq{V3oRKtywlmEp6ZBVET(;TRX#kqZLJei z=oYNDg4P~$Q71|Z{fW-t`ZqGh&>rus3(r?kZYe>Y&0k_To^MZum?ggM)B-ezo_f~L z-BVr<1F=b~1|Lb5u+J+)E-U%Y(zzKx-oed(o&3&&1>g0*@G~~HISjs=_@}F$*}$__ zF|Wh++ds(I54e5vR4a-39 zm|w6VGIyni;*3#8uun5G_m-MWe@)4#$x5niyx$I~ZRtNAz0ORpHDh3s(L+c~)?Iu< zn1Vjhzd@>}8&dX(*d=CWZU(=}&XGvNO%?)i45h?4tAydn(Wc&0NxD6PBSMg=;Da@N`i#VAbKg9SJqz#H z*JIejk`Wn$sZ%zu0T8)JL-{l8CS{k2p$`74XRYjZv_)FSzBTC{dNWnMH(ZKU|v$KgI zmj46nFwYTN?qipvZ=y zg8Uk|^tx1W$59YW2=FE2NpS&+o1TKTlTy-|I*?8k$f8Fc(^sX(&7FOivy;+6@j;Y8_`}bS>G$tGJIPvpp;C zif7Nh3j}@g_&{le8KsJb&o+0c**man#Lt3{Lj2OI|KaKQHa&*aPp-(^#>GKhBtO5BmAD>>yjxe>2`q>yzk8i(ry*vjO5DLl$iu4_ zSmceJ$l>{7o1*x1C!$!;*zRTShBBbg!94Hxsa)~fd0$pm^Y%vN(1r=;*hkDICc8oX zQpt4G*x}0&*8zv=otRuW6&Kgzpw~px>QCmU+d@XP70bYL)IU|b4yygaccEWM8Sf}h zwD$gMmty`=(L?#c`joVJM5CXW&!rpuAV|2ksfS_~!aN`RjC5?oRtyj!Yu8*#`EU;}V0`ral-6UqW%c(dVna3A(57C%0qNeO`0Pq~W_u}l|ER(^XY zWfsdyysi>n&i@8U7o^LX_RHwLhNLyip#R<#7%G7$67X!cW~rBSNgcERxPymu8DIBq zf1q8~49)A;k9pwmtSVc;l|g)9Z~?hVsxYXSL!vFFuK!Y) zZ6fadJk>}Nf}M3Mu@>pzWhI3&(P*d1)F}L6Ryum6P)fdk{bIe)`ZR+w5fl{cip7E> z0Zq!GcM$3D*rl9q#_7UY?NyY+DG~#k>A27pINXu+-U?E%`)Hzb_sK&;b2s@P=UX@~9GeC$fk0T4kQmx?hyR#6 z-K79N7wyx7lW(rmgQGX`WT=`O?^0}rJ|_exAohKG`n;0n`zE7D%^NPUSJ3xrj#IDV zBN9RTyQLK%W5Txxfj>}9N7yGeg{Pqk{QOcM+YWy;e@c8JK{M!;OfFJ;Va&%BlIQ6Y zSMtaZQJr;YUQ&pB6eh`|fQT;rbhZ6}U`D1euvCGcqpO`$Kql_M$tvq#nyboyPiP^w zN{#P5fyF{moLLiaT0_hS(Fh0Zk`U!A_!+o&Pk{#nWNu6rNRufp#Ua`^s^WX-t7t+)aeEAV?6mc@us zy&#r58H_BO={}~m#0mbmx*^iyrB18c_ZIK^o6N8C%d8$TNjw(@m5z9p`$E37j(&zo zzYM!?oz`@s3t%iLNOOcV>!8CXBsgrWDE9y?k_3|x8QZCooT^tdJ9%(Nyz5{ z3(j)8-$^_ z*+8`z6$vdx`0S0isgMcNFdq(ToL+^Qe%lucvu1`qLn-`_R$!~o=|I&mdg8;D7NlsT^B)-^SVE)wSCQ#GNS)HcvZ2rDU4Ot zs9j|OkK6~pTWQ-eIy^X_UwrUT%0L}3QutJ`@zAknK6_*o(AV_hHt@Fs`8MY=VkQL9 z&Zf9=1~sXgU5t-v9j|97d643<0gFvVsZ$KX0&|N z*8m!C-J&p&n@#030DgWPMhHq2dC#CC#P|5>UmR)=OeUs(m`OIB1O~h?W=(`tm()qV zbPnF7eF=SPN3Q?OsrHwD!0_X|N6+Z5#Bz>&{fpLPvN@=@elTYdwV`Z?z_-Q5ewPzg zpWgAsOPr0fJp`rxUf2%CYtEiVB@*(YoySBy&OFXa+Lu&$2V*`pMS1e^Py zC)dr$sRA8XX{U0A2;h&V{NSOxp1$d*?wxR|Y&?q^;E~j_!@yYK=IoPlcxCFY6U@Mz zO`&vv!O$87W&ylDgba+ybs*ui9|l2%jtit7g7Min^jEe|gNk%JW1uitmf*=ibmi=K^WA`)^Q|aaOzMLB^6x%~4Bo^s zYegsxFcc`a`Qf@~qrI%OaI~%6vmf|>eI2h^U64Xe4KmqJ(0}Vbdlfh|nZ%*vy?U@x zK+sa5-8`EY5SLm#ynHiebc3JpJ5n=M7kJ&yedvu4J}2vuFGZ%B%pmgBgW~UwaDNVI z=4B9O1faJyFtP3^4_uHDFYi|yJQ0*+W>&-j)HaFAkF4JIuK_x=({=k7)0(0TK6dge zJY@Qh?LtOBE@^eI($sfyuYox0W~;#wHN#6~gqL~HvS@~ZOBw3?o9Z?~rqbb$jZ+V{9%p9LPP?yoRv){s z|0&c6Qc4RHRa652sJl@p`t*}UpJpyybeqHdmnp`uA6g^9Wx7$iUo~i1S({NV>86G- zTQZevE@_mA5_xXEBn|oWi(>q0kD07nf2R1v2BfnJ4ZwmQXLSq8+?Mu$>)NV2X%RZU zKYq;eg`6UY>lfd@`0(x<3x(0A)-fRt*Z4W)t80{%9ucs1!hp@mM+2s1>HLgnLB7rxe32655t-wy@>_2x zQTekYc5hns1fC;~`v$^{wwdRv2DD7(NqKJ8!x%J20`&E)x|RqIl*9aT=JhJA!BGH| z+?JnY9eg$DpnSvTeVjoBgQk&AH|5I79>MZ|iwa~(fn(n&=U653k4(b7T9uHKKSkRW z1Eo6K#tIxm5^`nmVUraP(0^KP(GR$a@^WVHN)yHJ4`^ej20eYq#rv`GaB|(`uL40Ze<#BvBJIv($Q1TR;9Ns8=HAy-8GbFmJ%;GD zrOm~8U@%R0TTF7X%$DxGQv0cfx;?>>Ki^vtL5(XO3zR;eP20Et9SN^C?)H5*K}a$4 zfFvEim{9?%j9`yo_1WFvyc7vTF|1J!Qn4)$Dl2VgX9)Dso841*$L*c~wXk!P;d?^1 zfU&4kp%#<0Zg(K~6FUF#+ZEQu3o79-W1GLBm*(*0HaP|9cA%_`cZ>)bS_(=yNB2neCXzRmuB{Cjx zyIiy(wFV?}Ir=FoDd$_x3I+siB~o{*XQ!kGoBnNSZh2i>Y;@;Z{Sa4lPBr?$1dSRf za@AZ2Hu5)T`ZsTM`C5;b#I;9@3(pay6x{0QZcQ;N>AUwbOExYPP+Mfna@*Ogn7Z`jYNNgy4SB9fH0V*R7agT z@ZK-D720I%%vva+VrNX z>xv5OVWqyomo6o9zLSNTECY(*sc%`B%XQZFhuEAA0j|*Bv!rFq3vw!IhvA}BC1Q{( zl;yws+ORgZomFYF7~zoT%Ha#q>|g(kRsK(UKVRq-Qk`OCT?5eZX+9y$ZoS2_g~yVa zEN|WrpZ>PfUA?11lomk*H3V5RA`s^_^o%CSdSvr97V};F%HkAoo zFJ;Zz>>_x}HEB&5P5L~IKhV9Wqc?yX)`J`UHU>-erVn+5#N>4B?ab@*2#Xu-4yv>v zn%8rarGb(K0L2=i|Fq}-tDGx{DG7M_#JkT+r|}L@5Xnvx-KC9A^~}*|cQrNz#X{Ur zrLg=JZ_*R5Y0FO`E>YB79JE<#ABq23QzJQSo43!>{CEgCs8e?Zy2Z-bSrBMIa2Y_` zl%JL>t(0Ed-eTrbw`J!7vJASKSU-r*%}$K&JYB?39e>^V@+aE0RV52$%U(QkHeBn^ zU)wZic{|$nc@3pR&9j3apT-|iW+HRUoj)F{ry9oI)lALQG{hfwCulM5D(G*t%~eiW zlAGnVinc(59kYUx_uy87|LH-Rw2{q!e|myzo({s^)lB%7GQadu@h&wK6zs=chWHV#o@sIxaD#WqCpu_))~AwC(J+4xv(fCX{1&LCj^-yvF@5ld*(s(8B{~nv^YqXnT=Fy)hfe!EXOE(g z{LjH31Yj#7R$uMH#><-7G~&e|xSs=_Y{?~cL&YG7x1cddnLgki(p-8Odc&X(5O$;Q zt4jo&$vWP(KHK@8v3-uMV#0)^ahR6Cog0u02s5L>ZQ#&bXbs=UTU`B%3lBZ&-5&y> zl_oAzt|LCeZ(r3Qy}4nYFZlW~l=h^H!7J~^(Boz=8S7^lUuCloep}{S9BB3`d4ryJ zY*8NU`^t#4nr1GZQ}n~YegEd*`vKnm?UEdfhZQJo{ z{$DyS6@iy&+^x>*`3rkJ-IZQy?g}AHTaxx!>j$>|$7)>&t?y}O&&Tcwo!re+zKXK_ zx3zQig6E5w@an2Nc0a*22&0E7W#hI+v9<}AeG|3 zm5n_n$IWrZZDbw;`+OFbt;dLV$aOaQlle=QmtD<&4nzS=fKv%BdI;WP>nMAwLOU(g zzvac}HJXnM;eGMrpRC}?z3T^W*`E0S88GkaOG)fB+luh#!7x)ewHFZ#9a zY?|k-s-3`FUl>=Q^v1@E61A5%)7`1;l{uRaQKL3io0rPB@d^piy)qAOTVYiwhT;Sm zvQb-SX_zz<-)17>nWlX+^HV*CHd*>$GPn_PpO=Xz$*;xaFaUwP$(`!5A5cRomB# z6F&~%_c9~iE1*84uzWv%RHoX_k@Yn;LJj@zG4H&TW1l^yZvCHxokYwJ(V7;=$`h)< z!Nt_93hY8D8xV{`-URuUwNDOevLRmRm^^(RlcbR3hIfBwr&nZ$RS^Y$grj8iy+D87 zne%r!H0&2Bg^bIlg|3x*6mygaoi82 zj!Ib?v^V1wq`0EKEj#3;U?dI7{?-bo{T7pG{^R_sff{L%!N_UE>>+i%wy8)~-aYM+cPNeU<>?s* z*A>Lbb~9=ijo_h49qqq)yg9@cCUb_3zqtCu(k?ET-RTp_sL;3t)DkUB)}iR?9QhQ! zoSJyv%FrKf-f}#j1tIqDVyFP&J(}(4U#A}^{vG!*=lR`lkb8TcaeEMVroXpbp?W^Q zs6P)|%70%L${M7#5SX#oj)`DkL4R#|DbiwXgFretWgYc;i zT-6)DcR3T+pRTy*CM-HA(c@PJCdlX7m@D`!<+E2bxwi0~T-ec4QILH8JC0esJ>s%I zE7$QqNzEUsPPCsjYlmNyhx*uFH2d#`oU9eQZ-D}NNlsS$P@lXN4>nJ+?0%GkDWS8l zqzu&c9b*+Guitj?Iva%+e~`^z^q!UO8g~cCr*$ThKjd(NuyNSqrgHAnZjzffYqOG( z?bu2`FxYNJFPF`#*`4q$tHi!}9amav*X$8L>f0YnW+wN{;>4ZIH zvwgW1gdbRB%)T3gB9E1uL3DN~5Uz7Xh9jv%k{4PQ!*C&MW|0$?0yzYr$v4a#-3#eC`U>-VVi$Voqc3Nt$Z^HGlH zxoX|%_xwGDH+(r&KE^^vp(}oDO)GOcf{*zfzpw>sz#`Z#ay9V{v}4!&&m(NFs&MzIi?pforV z=$ioleg{_LAVe(@AMj#qw5-u+C-cU~_JlF(z57&Vt7Bu+3?GGb&m{u~`-aQqz+=h} zKE7{0^|g?$^D_VEV+ZP5%#1178XIaf&#I7rbBzncBpo=i{#e`$U95OhuZT}Pp}M%< zwK(8qS)>9zP1r}wY*X-oFn5Xcb9xj&{p82C_bXb$U_`i7LjEn$I8*g3K|N3m4 zpLmT?VP$U9__}g3=shgVFy;k{MIx<_-D@mx*1sbvF1X#6oDQyNs*wC&knzTeE?CsnnmA-B%0{5)EBxS@josW28Y44k=? zL5YRvnBrmuYSvK7upI|qt`%nNvou&lfG ztg*wyso!y}9p#-T#+q4!41ku~v-$laev5nySGV?LX#8W3i!O+emK<8Dia9DWGkLY$ zg8pi|{n#ydr}WGsv->eI?o_UG4kd!D)rs5s<=`}3 zue^~F!+9{?cR=ZyhT3cXYY&0Vogwm@M;QbH+<$LX*wY#vT_!)3^S4;_5>4dn`1O6` z{8MF{bD=m*aOa@=n@4nC?nGvp@3vo!RH$4m;ScS+h#5PZQ?2c%e}CS0FgCnxSg_So zIpve>vl{sN5k+Ugg!8={jLnBl8bX3qUVN-v5iyL?xQ3Q-)Xop*s~+^zstGBjN(_f{}V zg^Jgf>$~E$g(k}b0oeox^HCubd4v2Ucf(#n zM=?2E1et%I{WfJo!&;Nil=n~o?UP~J4jeZ~c^wEWql5mHT7UpMgjHoL!Freq%3X@2=idr&$h z)M%N{bN%Mt!CTYnJ7|bu>8PvMs}1A|v~;Bq9QSBgNK^Z>IIOP&EcKCXS|N>Z^HmKS zN5_A&;mcMz)qZ9hhZ!H)DAf8}-UDR;>Lnl_CcsPC_o-ekeBsvUe;mbTHtvlgOdgdY zX147t2`sM)2R`i~xz(5g}Imlma)gdYHP(sL8{!aUbxzIk{ubi-RHK zb|%5u8u({iZ$OLZrdbWRHP~%WFSGcunQ(NtEmJ)k)1vYNt=d>hHCi*W5;mIc(y!qz zQ;fdLt8Q>ToX_FS(I?ald5Q{K^0KtC}_tYQ79zGz#As(BJl2Ju<EH#hxuC{KC5bxOi-}itpuz<)Ax5 z&6gjPIel64GoVES&AsAUM17S;lCSZqMH^3v(A-N@+pQyh+r|pI%ehnSz4H#$3mVc8 z-geCQ++p0ZmD@2C5_GyTxJ{OoIaIkWGm_^XoD$x&AVGidaFXfC4vBnL%Lo9+!%t6m zYD#~#P-%1^waf2j&ySy)ya#B)IwmVjeGAnF(mck$*Xt-S@P4p#8cMxW>ohXXBmHSt zeWm-NP;ijz#$7`4PyLM*KWg#csadC;iK_P!a9ZmR)0QT{xYf)gHHw&l?V0wV{c!-T zW~t2O%GE~(M4fr<6Rj>I2up>N$w{Hm55IqB)vn20gkXH#@pk^~`R+CK4|xW}@}w0H z5134)VE0qxni87QiVw;EbnMVh&cgiXh@%4Mc|UbhQLKOwy6Za@^lxEZNI_gvs0sWy zV7(;s@4?0MH2D0xH;-4GXTPyWfI+2{v!Z2A{1HEE({?MByr*OV4f7D6*)9H#`RBt& zi$5o5j_Gl|^+)kR`t$O8-63k;4AwG_HzdCsgkx#Ne5;yH>0^YJTh`wh^rY{}Q77Jn|EE}FeX@Uy&esZ*hP zn2Gv!Y#r(oKw8v?tA?Cx%mK*4-*#ROAqUV=^n#cfO;IE_Gl^5%)bklqeM9}+Db2(O zz0FGr(84+7>GarfTq_nK7kO4Wb;@KoQGZ=mFhf&BM+Ipc#?F@M*LAw?WVR4pcBAaE zMamVfb3U`o3pt+7Q+Zjx0$InV&USkTwXCon0#kV38dnV^q^|P zFw)X2+_+a%x93Z5H^cqtkTt|z; z%6=*DVPB6~vO_FI{+`}ict1gB1iAfK^uIfHuXOlru4w>(JSzf;oHLDqtiz9X)j?7Q zT#J`@Ly7y*&x>Z;yxzA@U2Za5%}2$+E2m5P+&ecjO!j2i@1bJl-R7|;Nm*zf({_`x z7j?eoWkHEB$}h3hY6^Pii|*I4(DGp!y2`10ykO6Qjro7CZ*zwD0BZg`6=GqW2)vdA zO_D(JWEhm@%r>?Mx#0GcXxtAcbC@Q#r#8Z}D26)4L)I8?seOmSslq98ChfZ;Ult9U z02f(4{b~5q2ctBYs*jFq1$x(Sn{9Ivr!YTTRU5brDY*|T{Y9i|Kr2R6F~O@%<(3s2 zIpZ=vCzmV#-wPlI1P0TBs!b|nAuv7#!a2*emvmxmOc}}NA+VL_(}%zG;&~FI#X~RS zl#W$uyz)bUD|=lcp?+sZIPN8K-CsHL z4cx_<{q55*4|YZ#1?osJ46vJ!%d4K_Wq^$%KGWQMfS7Pqy%vVRN?sf!UcFtTRAj|V z0Ii%suX`M{*ZjX2UVdMa$#$G`bL_D}6oY*?DwRHPO@?5b6)N~f5N9L&T~UCn8OMzW z24Bqlj0N?y;WBfLq#^HdpaINl))?*EA1KMff`&aLhseq^e0!ZmgULen9Cov1V+6}RB-xp8L`k+Bx+KC86jkTnT4G&j4xyS|?c z*IHL*ATw-*!yI8S+4G-+p&_TM#)sW6-rn0Z$!yhYczBIGV^HV)4yldz zhly&bC5<1KLf{1(A6`!_^ennJQACCwy(f)bt>4sBd-o!RU7H2Q&1K}{@DywQUP$PJ z@-}IQbeUggzGK@*qyij#tkAkVJ34rQZmjrNI&->K*4(?7e~Bk8n<3=eS z9L5`mmoyB3FRi9+eYAi`$*B2DvL%b0#jwTux{S@WhK70=H1OOBKGzihZOd-Yy7AxW zP5B?=o;=m$wx^G^oqpUQ)wM82S=mO6UQ;Ur!TewFP$mA7tR2Y6IdY7wbTsXMqxB;m zVpx~%@T>87HsC!iJGl;#gJpJ>vR*cs9_}W@{osixMg+bQAw5` zEx=0*D+C06_0x_dt7FiYbXOnsLlb{cs8?|fJvy43-`f2_LzW^Zwxr8Qb>X7E4okti z1?jN~2u3MeY8-79bdm#mr1FYm|WTMK%e7tS$%SWLzuCC8`}{<5Gm7dva$SA zgNvPT+GCtg(J@04x9v#C5B}fS|JeW%5i;%T^&PkZ%6q zcAnFcxX$a{Lic@?*|DreO*zSQ4t2EGc_{Jrv%faB$cA$A%%K+tmk;7EOoPt1?m^o^$L;K}OFxeZAJ_pyeKthd zYuU89UOZi9o_R#aR(_D?BP1$d{rqr06tmtUurhc4P4#Tq@+yuTr94fU@*7CkQqxKz zD|ZFDR$npQBG~jC*piY@WZor`;ww5!`^i5OOqNQvdCSn${xtMJNM>wZu{=i1Kl2vv z*PAeOn3^|}|6Nh6qNWWK(3M@DPiv;`vr(2;jEiA+508`*DJr5;5MsWWu^6!$`-p;P z0K^HrL60AnxUc?n+TYly=fHO=?D(ey6~k;cjW%;&d&`wuf8Yh1d%)?@QjZ@!2t-ip z2aEFs;x;vU-f$G>WGcu&(j2uNa)PG%qJ!~=BVm0UVF(aq;Esk7evnJ`rphohh_Ls_F>rzDmJz%3UJf1RdR@$?FyM0t)_^ZEgZya^BG99;n@xu( z2lg)*Y7o>j9fVrpfEh|?H&PGwz5U>Fnb+&Xx@`i{TKbr%LSAcjH8QkF)S=gc(cE2u z>Qip}ZW=!Gp_loj=A92ELI(w2=Fu&4J7Ve2nLy6xY3r>fakhETb^RBaGi6itQz%g^ z$dCohdBiuU_WkHcNUZ|PrTl=Y+UePB#jR8QQXRLdsta1Q3TZ8L-!J=c>{Gy)pAQ>_ z)dS_Ac9jlcjnG%e&dl?s|5SHkE{Gy+p{pcb2TFk20MRkHi9`4$=To))0cHbhkO6C9 zj3Te^3zn=Bm;186>>|hIC;&oxM@MCq;M2{F_LGxhRoNn325WJt3OcV`f6MNMG}$*@ zvva=|O?Hl%5B80TD5-b3@z=q5o&s~DI!8`ZO#OChyuMblZG*(TyzZ)NQW+kqTnr3` z94!rXhG5$y8>oEg0Vog8Qa6$3WQxd3X|yaslU%==IyE#tjqr?8#F&QxpyLQohzd^Y|GKn15o+C8)SrCoCz8Tlp^uGiD}s)$MK zjGSvK=Ty_d?_BM1U5=2BS=+a6HAbO9H9tVZzf_*$B7ftosUpia-o3Jsr`H%O%U$&M zeMSIxQ5)?mfFi)gj<=DZ!c@gqJ>X`x*2E66LNx7ZpuYmAFT1&Z7nDy%6dJKgTY#yK zy#WA%k9gG3Ta)jfmi@Dp<>k81J54X<-b6ZSS*~bZYg(quA`=Y2ZnnK z;35rhmDigBUc1#>UapL(qR#)h?RGaDw;~JY=o8yce$Je$o`&nMx2B8<7hJLJwqK@@ zhN8DWF?<^TJ~~zR85AMFiBv-RK4y>uTYg;xzN=vofpIF!Wrxa^B@wQ+H^?@SgZk|&^2 z-D~?^l3j~_KYO|w_g7YgtQ%gzAO;@(@f$v?y>gp5)pv{TlZQVKL{8CI*Q3a}oQ&BG z3az7ujhaKlh_&6Eu%Mm6LMxs!WL{tRp32DtP~g|E-6W@+RN*G}0Wm@HW8k*X%g z*U;sBYC`RU`8YS4sQ#u!mAvw_yfY@7GLN2>`f8 zh>&)Fvv~)y2MFlM5{ukWatvt{q@bV@`s_+vHxThGPn=WjEp%9F3hlIndD%Xfoh?fU zb&H{?1*tk%fgPa1e+f~;vaSXJY6-R zHsyjTlwLM{`tCq;Fr)U&Fw4aAw<0v~%F~z=&z1_`wm2nQ+*5 z`#Z8C!=M=LiM^rwlJd+ee@*jjbsC~}>1%VkSDUTmLcMBgM^$R8s@)!C0C(!&mfXhK zFTW3@wX^v)CC(Y|aB03h*H%`-!w(pPuk8eL@3$**6U2oLKL+?Oa3a!`Lw8Pbu-QCB zn53xDA^aXLXlXuPYNaYo>xB?EK4W0;U;l}+A2ZBZ z3gM;<13ggHpOL{=Urlr0_nMnn5t7Nt_W*tEAEq5@o1^$E8O7fVvP4Vazswt8KT*;? z{x2MmDYPF}%)ELtX$}iBe5MGPD?+N=z`FYLfl2{`I~98J4KK$1Ol3aObGEa73e2-l zH4>tz713c1t1{u&zz1x%c6xrHm=dY9MTHf6tIuXcO`7~hsWS%er!S=xXbGN`;Oo7x z-iQZ*h;YEXg)dbJ5pkvP&|dZG{+O>>>Fj?B+{Fb|o3j;&&8T8ehgvVm+wN9Eas$pE zk;8(m7IU({G$9LPQ;;2|hvCFOykH$M{w_kH11B%^`-wm};AgJ`o{B7q%1c6=k-8gI zb}c7_-?#&AyOx?UqxH<}1nrBY?A;w@p@0Ldz`74YtZt5&@FyhpQMYA^kN+KyL)C*6 z9!rRfw!(EsONBa4vBTG72b9IC-!c$FUz|ID!G1sKM3i{{GrUN%=EqrHB)SN~K0GM3 z6vHCX^Ygtk_d9QP7Juv{tF!r^LW>3}WBU_RMf1d_!p#q4pz9SYu**1B-HKZYwK-}Uu<>oBvdkGA4hGYw1&vC@P zoea7*{Ie#-@Z{8xqri?6X!t`^4BHbW1yZj86U`j@>;22En4BVrVG&z7{q;d?XKf0Z zzM%Bw;2_2d4_h|=xNT%ON%nzhfC%CegVr3GonZp_3Vh{%WO0WI zrHVe?RLp0yBoz}WwKJ)&-=D++Ov60`oeJ=Ywbjn6w~q$!w8d)oN4XTELIuyumr{IT zfWjs1JvES%B`2=UBpxe&^|Imt?>VHnl_LcX z3H-%&ql+F|Lcfx*OC8K;6gd@8(?~T15CQs0BXgfoWf2|=vi^tWKHiFBx5cxKq0hcs zJ#C^4G!tM_SlU<*nk$kU(}Gy%JVjc7*>Qn@iTsAU%T3wjY!C#%$A6(Hw)#&B zQYdE_IfDWOQYcWUdNH7-@$+ovs*iiu+{FQQi_$40mG;n@LOZ#fQHg*!=4-a{sD8wE z+d(cYf`pC~cA^ZCmXY~jsVqEwG4vZ=s;Z8@N*I%TBt<5|YRpoL%q<&fJ8Lxq3ySF- zaPRMU#$f-gK1@XAU`kN6SKux-tKN4?T%*{^Yx2YRcah?%>W$gG6+U@;dLa-E2eYe zj@$rmtwCgk^k3789;4E7?ioy(ueIuzFTqqy2hVa#!xHJLhwl2%$ll8ebQ$vOTq)dV z2OTb(6x2odnA=WJ6T|=k^A}LK~oO>jGy*G);h>vML1?4Kg;39 zXKo`)b3}80v2g@4-68o@`=3PS%*uD=T?uC%_Midp3}A0 zG{IF=)ywH`9(Nc`A=Oa$%OFqkK-?;Hm@sL%<2W^Fa!!wqNX6IX9MS5v5NSi$K46@54RT@+0nQd;PIKr-?QL**3Ua??3de*9yR^S309?=Rjj#6QhAk}Iw&4U@v5DN(NmF=^HcpaVyVpK{3nonfSYVJjc*gy#-yebVcYx`Yf7Ke zLEJfQ%F6t0a98egtB-;;D|9jybTOWli&uPyJ{9i|a zx)CUzCwr?%C1cqeGGRQ9oN1YJ+KgP!#^x+2iMl}7L!4&`if%+ zqrVqixS33}LGPK%~*Q`qk;M1`MdSA%AH{tk2^?JmC=H zXs`6_0mlC(mWn?MT3GTib}XhCvKvqcMW{0Pd1iT9l_7_HSCzMJ+K|Y=xrsegyhvV8 zr-f$vOo6N=_Vv8ddOoq-i+_3|E#9G58ezXYOB6v&h?r(7FPz<9t4`9?TwTGUQ**Pf zyJ)gZIpqe^P7{>sGn2^csgT6BQIEq3$>!xz?w z95z(Ov(0c_f{GK%?K39uH)Y9100PCiAz`hy|86`7J!n^duAJY!*OK?MX;K8wil2O+ zV;KA$+l`LHH;MXIX!))_xer=#yFAkTC^{oQuarqt&KPm^!8Qhv@Tk@R%kkg%EC8+gml zA?mtyZBZ`*1uK18qzD$%_=0*jm{?5~{==F()p+7$-EQ6gHuXMPAxNm8dd`u*qT?d) zFht?HixrF23W`-onRZ0OB1`%IwFAF}Yfc2@D;As>{o}HTE9V@Q7Cv%ojG?+ zcgj4)#Tzb2AK{?wDO*fFdlyOEyx`=n9TU?2kF?|YLo0#bC-+}om>YEKlC%_)$N3XW zbw*wTi58}*3Aw#UlxF?Tk5w6N1$^MOz%wTkr^a^P)1ZJ#OO~*}E#RA+toI$+5;A>? z@zR1I@2yFC3h23><7V}8SLbadsE=n*l1}^6r@F;%qPaLeXM=sp?HHPAe+9diov?u+L*W+NJ2=6o1GTubY?w zQ6MWO6yz%VHhiw0LWqS07fyePP0s9?z!H&bo0gOJ^q9aeapC2Rd0tFeIg#Z~Bjtn* zw+RA6oqIBw)m%@coOxivg;@V`G_6Kl5!b~j{p_c@G>sj9)3fk9*Ak84TzkHr)JWYn zHhTFMzstihuQ4LJJ{FK+Uwz$<7+|NVdrVxo{c~-)hKFR)P#yLS$+0OEt^40Qb4WR( z#z20k>FQO^fArdsOr>gW50PUh{b5iWE}WqzW5&e7YFGs>1pR7QIO`IWkpxlTJu6w$ZL)X)mh4B!&O2=L$7bV*nZhOt{-O1%|X7-vdaF*3r;izSf0AO3jWq(js zF{}22dP4QX92|sp@7mY@2C>qFFAa0@dK#bY!|pqqcVc+38&l)^o#)4&>mAl_+V2;Z z?xTY?N0uDsglsHdZr-(d$6o9QozmW)nK6b3RvCkJc?fXonir0aj=DzVJy5uUxdL^W z9t@sACqdT-ZtWg9RYoHAGmW<9`nupsQiPNgh~`tMQdVF5Z(s&0_H|PAM_0;=KQ|$#&uTBGVgLbFy~11`7E`+FyY4 z{MbiQbEtAwjUDK6XCt&~vQDTP4LELK9}e!mgT!8iZ`!mfB+*j80*$KoQMBe>hvEu4 zTQUgy@p4f7xjrTMJ~41j4b1v_u3uH{c+K?{7979m)Yan#vj;yr%m<`rs_RaT(R<9B|q#ryM7xa zdzE8Zp{%46LOw9}oStWKxD7}*^ty3}3`nT!k4JY|A$2K_q9(WfSB;-}RX_a7g|F)?;*>~@C>I(SOiKpp#Ej-IZ4<*&HzYv-JQZg+cw zKH6E}1EHL#*Zm7F@|G@#f}DI^;_-|-As0awtZY{RKpOy&JS<9p6S}`o0F;Z?Y$ju3!Yevj@m$D z<%zkcuct5O{;n@Jmx+m4jD0!ZG1kR@b20H1xlMJt6+bxUSH<0S1%^Cmr=36ylG?;x z_mjTKNXnDng{4n-9K|DwU54BJW=};%^yI(f_0g`4`e+`&vnaz$k3%#>YEIa?z4A1g z+?<%sL}Fvc(y2?^Cp-rD+CoGL&z4mhaNy`SCn4C{pcsK$w7W64lHTB|L-=w4P&9`*dDCw98 z(F$CAv)<9*5rpyJ_GR&0R@*MK*PW+thm%>9qLRqdkOj%g3(J?IMZ^63@9^TP`2=iS zY`-`JIakY_5%D>AHa;4|$)MkAKE+K;z58nx+%-p}#ggTJwA1F$O?M)ROIM}P7EsUn z5{w6h@=38*vy(P^Or1gJKtk+~L;Igvd3r1y)QzH$YS_5OdB>>}nT!95qrPT8fo#ep zmS)hk)PwsUseY(msjJO$ksq^gxkCtPAEreT{h|Z2BXHiTr88Aa!)TEtU)2WG=|ZT! zfbc}9;?g~p-!U_VYgeu63RBcpLur0V<{J@69vHUsl3|O{rSuP{x#8SG@KR%~v|ogjMxEiH)HNE)um83uhLX?ye{oze{(b@i#N z!qCWvW#4C|amf4b-RQ|E#!w(O(2-b3c8(|wm)={46@IO`LkQS$>b&WKmlKFM+39)2 zxGP1)r+d&jB+$6w0Q@6`Ez+mC!!W_uT7dsQuk~u|B5%3&1(OI&8__Jzwy{9u^fv9XTWBHP^Hen~Q__ zg)F(*s1j2&4xrzZNagZ~g7ouO>NurJQOaNa4xCAZ25`EOy5^?i@78*Ju!p^mfOJ?? zh!RYAQ%&I#MC`gtq%YF9T28K^A(fk*#UC4kLQ!xiK?nm9KO+Rlke(`HHh(dK)$X$Y z2IrgHWqulvE8N+NWJ+z~9RB)UpY-RzvyOI6M=|Q?cpp>*7|}d{hGvUYb8ie4BpH+9 zpO5FzF1PG!dB+0)W#XXE2MYx}|0B~WnY$fNU~M@LT@-k+Km~@3kLkV3PL#>rcMnob z9GC9hat}jlW{Lq3Z`YYJ551^j{$C5g-l8aMkdui>7DhiN0xI7s(1&*dOk?@~MF4?| z>P2m__Y@CQcct2C2_?-Q|+{u=nt253?LVPc$`0$q~0HE7oqZ59&N|w#?CS~QF*7vi&WcdI2 z+R4rhCl15r#^cla%1S5l%IA=dEf=AvkC|Lr+dWF*?DPQqg8xDe8y2)l8Wn1g_N*wA z6R6l72-{f{djQ>A7|S+85ar%ExOyAQZKf&0D)#XtMfe+`&+Qbq5cs6S$fiHWsHjeH z5{m#!m9P`e4iBZEXB;<%FiVBl%ZmHV_AAzVqW1fq3cp7jG*s(!SRa@<(wwJ2RHGCr z6oyrCW9O+{tn=+ls0|LA&CKdCDu|jgm*uw)6X={Q*^e#HRRDJi0_^#+VSBaKN#ep@ zp2axcWI~(y5x_4@FiaMR%3v$0g-#*M8ARUEV_r*f+1Md9!Og{2Q zkYq?`|C9zdK_5;Q=2!K7#Aksu3;@R&ca%x4$@DakNC^w9my&4;I7r{a$*5!QqW}=; z>ABCl4zA=2r}v~;Whv@?FuZvNJsTLdw!6YN%d;izSqfm`I)TnXxu9Sn7`C;UTD5M z9INLdziuheoN{b-8tR9dEHs_$S#0%|kMOX-({~D4uG8Ld3My-ZMH%%N#GAWh>Ssej z#xHiNv2iJ=?xeZ53!?G{#Hz%PM5*+`7JPR~i?M7mPQsUtRBpQLQ0Q;%zAU$Wq5*pK z&nAc$(4vFLb!*^rTqzP+x(BmIPn_|RTSd`G=ejMOy=V3U1apURzRfuT%QUtfH~7mt zu|H($m(JLCtK{xla+uq9et3In&pB1_^;FL|?KBN=*rvR{cw|8Is{0WT`El&pGzlq5 z8ZhuLEA|QLw>73?wvY^U>VVb~fr{o%51%GXn@e*A^z?t~4l|}c8>IaXS1hvmBKH7K zmBN#B%t! zf2_{c?;saFn)9$e?7F$Jg~x6$@#&k-5(7P5fCP@{9Oif~AR#YA%|t4s#|{dyRwv9W z0;R^_01?1#WYWqwBqRRG8LO5dJN$UY0o{e^W|w$<6MkuJlQ z2t&`K;LV(iR6!`T)#CsU+BvlL81QrwraVUrokYew_zFVki%urHJE=*zsi8DArU|@9 zyGP~c6*i}LMQ}3o`MEM=Od~J?CSK*$yi)~$Mks^-yE`r^xq_}P8`DqdMx2hUq20-! z+~N|8^}NP&Nyb^LN<s#qM8@Q320<8d?}f|8uBFkc>T;#{y@xw0pkvbNbOP*=RD1 zV0MG_RIN9gFyh>pkaXl3!S-ZF$8Yte>B3b`Z>oRao0l3cX0#OUD9JZ`WXWMi3kndnnyc;`5S@w%CuvJ?id+IwG~;Zj`zTvz?IVH_HW3zBNhw z<(h+>z1zpkt>QEhm4-xwKd^ z{++B9rGB|@Km5&@e3zygAsMPWnApcmeN;{{5uO_qcyKR~BkS$r@9+P~KT9uT1jgQ7 za;)CnTwSfL!sdUuOhv8p%e6j}bs-@^Kbk^Ub5RPoF>&>ZDKf)%pPsRYI)e1nWS{eIZ8g? z@pDzGWn+%YeQ8fAN*;o}qE6aym3FOWQB^ZuW2faEt$X8dJeA^qq_1bCr)Ljwd?mrz zF4(@Sxf1z;IcZYB-CyccACcNQH@*#OrD-^?0B~0F&SO>g?M|KH=7}QUU*nybkCJ9y zqbJXtCc&2IFWHG%%?te4Pj|ScH#3dOheyX-w|hTH1B5!j^S;giKNIme(W8 zJE!%>gnJwnL?`s`B}ANl$PGU@-75t~-$*M|#QH7WE{`c(uf35bCC%Y%iWC3OWN+qBe58K6 zXmVvzd&|5y>FT&ihT)1mZyO5l^IBQA?Wk`%TTr-MIS5RCbI)>cbP|d!9}1XV`jO*9 zLVmgM`h7JP92fCi0Rtj=10)!!O_Bu8F33u+w6lR_xU)1b{9RUk6C;ExBm!=n_wZ@4 z`*@S#Qqdyt=ix!UKr;a&{0X1hVO~7EKC1m*BJgB)g-eJKXqYE5Qt+vflnvY5z{w{D zj8Ac<{Yby>O5+IP(*`5*++n>44ja}VCE}592fsiDB?&p{nnL`R=AF)GjQmqBkAD3& zbDC|wYU~(d3NnoreTVMxGYi9cns`yHhNwa++?@>rj1Mr8=j%} zHT-iKbl2Mc6C3)xGxoE&UfuCxt;X&>8w@%?|KOpvg=xMkb*cKRjR`lXHqQ5aQ$4~C zS0-iV4n+vU8{`=Bd@dU(FqX|@$7N%DrlYa-fKD--T|7EhOy%ibQ~qSl8KWn#$mx$j z79#bWN42h!8GP()_yDK+_mYM+_;ABGnU)J;Hl%rB-Y(uppLex^VMnp4gP5DgST{1= z^XKY9JDC)QPHaph-fxq(8iRW8$ngcYv@}aYII^ZzB<-1^#Cdc( zJyVd>ZGA;K`Jw;Sl3b}s=}3f3MLi>YxQmES#>?A*34 zS?auF?eUPd%7Gj*W$#fI9)L4sr%mD`&c@iAQL^MwX-o;ff+HrQUn(NXW5lf=;*2BW z$OI*|(Kd6SEK=@}^a~bd9A|e={8(05hm@hLYOa`Jx7{4>$C~LK&;R_d+L_5#y1OW! z%-d*BIj?0)*ppRpz+r90JF`-{%KwOP>}NMtigMi#W4H~HHNp7Yua~AqA2!o}2iFZL z)BmYlSlk8XpF1Nr(kjXlo;<%!7-Ut_Y3lS}Gz?w;NzUSb?dl&B*cy0D{3v#1Mjmc6 zn1|J0h~N!KO_GV$+T@@DJd1XajsS|{3M>3MHYP<^x#LPEl_9(Sl{{ntE_M44|3kJX z;Yw(WVy-$*nu;s%4niWLN(}iBX=5&RQg;gX`%5puw6af#4&Wb|2=#Oz!m8YUeQ($L z6t1%qUMcmHP~UpC=KM4``LP;U{Zi++?WJhGC0$y==P_{AF<=l8KZJ|(;77Ox{((CM zp#5dija^*K16?v1c}4xJmo98{Kv0s^%PIza)`;rR~?+NpD!q z^(a_=9|r$Eu1i^I`7b6lcjig%&%3A1Fi(qUO#~p>SVc)enOxS$`YnkL?~8WW_k()Z zIzlB+m z?JXns3pZXkN6*#p+A41aMx^OveGeZ14rtA`n>RrT#9q6&dG4BON5GfjR*xYR=LpFZ zgfg9TUn8n7NtsPaXMlTE(pvC!L`*)3m73FJZyr4vHLr9eI_^^{Q#FKGF#SF+Lq~|T z{4H8vjr*PMAjxM-wUYePtu>)9f~5ZrU1l65fZx0^O=qjmZG1;T4IS85?Pz`5iC_DL zjB``Nfon|A?OYIMPy}1(||iX=24tDvw0s;oU_E%vyar zCZxxWhWt@!(^WeLy)^5ng^6xIJxG@IG|3$+)^!Rv#O~SfZ>X>~PFQ~@Rn=Dy?3mrN zww^mec}e5M4~8qf5qNPpmh0Kf+=#@ASgwQ(&SnNonS5qHr|7tqWDv*{Az`?%uojct zGOfT~(bx3GCeuwO(wiFLNn$qGuB4d9Wa{XY`BOeNc#@5-G=l>u-bm0>`-1Q%R;T+x z^!#wXB?b0O4wWg*(mpz^+$^bXB>^kh&Pa!9=znc=n8c$@nong)?**mz3rRrtn7G-B zsh^rbImqFn8;mfK{p4{Yd;r|E90j)Y@i|hxC@9Qi9!UNAzpC%<>vFSLZ#qr%OiJcp zMI`|K`ba?k%&FCOXL_&6w^1~7rjwEaYJIciTAM~C1QxC?S=X(x4mUzk4^ymM@w5aV zK2aue?(w~2j={-yz5Gin7hbjWK}Y)q1zxGF=fe4DSFRL<(*V9a69;(#?TG52`(Alr zXDuuw;l@pB#24c}Am43NuM%FfV`-9Z3qDtQ8Pb(8)wRWxiJ)1TUalkn2^D8eRT<)s zIDsHkDpP{Of}{_Wdx#Nh4@QsTBDpAkDN0627rxb7x6l^>*LZa{wb6q{rKY@OHg7!x z>SQG$kiJI`Kvg@QXdgw<31m5i>#_suJtpN zVBbE}e#_I(o5`0~?%y}Fodez7-AE8GCJ@S`>Y^NwI0D(Or<6?s^}BtV%d(7fMfiuG z8c_}zz2Xz~SGNA{OI@3;m@enrT`q;Y|IW|-uP`L#NtnJj)i@~8N6iYCMVKY>`_tT? z%FR`^X%F&{&_x-~k9pv7;B=50hX^s z&3~<1n`0{i=FaTiru|0CsjkILEbww9@Mcg%Js+t;O=?_>#YWly41N5UhYeOt4W~3ExsHyBQ!4?~Wp!5^raDy93xQ_+1@k2J5(+ZN} z=y*Mv9W`y67nY~kWqo69s$^T_9!ZdXV+}eVSXm%R$LkJr97xRe12-IswIG$x9^9)x&ujGs256cowNE=Ol6RoIS&uL0azq-+(H`<{7HT-A*07m zIB7uO_GilthmT+XKh6h=`~>>iHEGg?flT-mPy+b$7f^2%b+=-F|Kgx6|7UJGYy830 z`~iuHn2Arioljnc8uzIU6OX0|C+5%N{kJws3S_wtEx*)G)J|mVHGL4T3L18$jx65E zCmK?AV#xf+VkcPG+Z?slfdWl`L*Q$5Cko~w!z$QFn>bBV@hXrIeW(XIJ(~+_*7qkS zmVATFHnh zM$VvYhh^z0aJGI3+G|9>&?|?Tm#dcf*nu!+8i@ONv6lZ96`+@y{*ax_O2l3bZB=jO z34B|(HTt(*ijIdpo(uC@Ol=vS@ymIq0})lh_?ZUI#J!WV`}BU z+px>tSFHD^eF|5UUfv7G?J~}*p&-)bS3!r(OV?X|(5$mYfjc&yY8VbrReJhYItDOy zq|8<@{MeG3;&*UAovgi3XP%{QKDCM}lp1^0*Ecz&j{+h{po<-#&T%&d^TRFX{g;+# z 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�dX*h1ys34c5_CSWit^`OG~v;7su-1TQ#Js1D(J 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 c4 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

CFD#LxA3 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 vbE?3&z_x5uv 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

(nl!7GX#u6#1 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Ξ+E|!%#RGRp@lp!T8O?08E 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

xp43y1 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�jhJj;+#r5>eDr`?xP#Y>t*EJZ7^s%y-;!GrjD%dGpCLj5TE;zrw@n!_v0b(Kk!pOl411!(*FMAuZDl~1Sf^x^$nG_0iw`!7uy#ANcAo|L_0SkN@na zzOt?F)Wa|NxnKU7KlJpke&uH`b^RQ2=4JKr51v2%!SDVW{_Vrp{Pq8LzIeC##UF-m z{R;p;`|p(R`k6WL-ctnl#&0-&^kdhFQuh}DzVX+#kN&9#*#WK5w(|kw9*)r28BZ5K zLoU^I*lBOi|3;K54hu^kYftkK2dg+mP9bSWpa(!zha0zN+@DQ?r)U=D;`s0z)gB!K zvXEVrTIq&|Yraqg3u{PoL0phvp%hHOs79^XSl5Qtj2O~$7nE!ooj9?=ga}nK7%IX# zdQ7bff}8g@bypEQK;!wGc`u*jIejqDQO$x_$uAAMd&ON+E5p$-U@yxTrwAIq6NdN z(=REO8)5iD7EW^)j&`)-Q%dL8Mq8u9l!t%^#YNm*Ks5<1i(`UMr?53xC>pJNCsa^( zF|y~Le)2+K0tc58VKMSwT5X-`p0j|CCT*6`fv~u3hCb(E3|+O?pY=bh6W?$v7@MohMuaW zuauW`NtV$`V4Y!-x=Ok5`NF0}+PN%m!HeL3eLixIc*70&AJ7{!Vk86C(g2w=*E~aH zMAAX3iGbs-aVx=tQB>jH&pv#FZ=>&C)uwY`J(k!@DD7 z6lrgbc&_ny^jJ^wUS?b}i4md;5O%=lJSPS(}_aAAfw{LcSZD9gwW) zr@W2&wzj9^7P~~wvYxyyuEsoxoTpt+MA*^(rG)oG9}U!O)DlOR+ge6k;3-Z^@%q4F zbw#4rIEh)r+F=d1G}Q$N1&{^1H8gcpv2W-T$n9>t8r!HQ&E83%^+eVB`STiU4~tz{Bl;*cAc({jdKB zus0xo$Q-g|0_zSniZWjjG@3p60BJl)R;(B`dTi=kq z&WcSidv|1oh8ewQeb5Xy7m=!{(^smpmW)5T(FG|IiZ>fwrCJwv=7I)2CMpkw4(o!g z!=$oiw?ehlS@t2{50PKAmDPgS39GIJnSB-dLRq8=b@Jnsp5tO7ogyeqi&uF6AeTiV zw2B2ITJ5I6(L9*G9rHYIDws%baHKWInT29v6EY!{E?FMkbk(`>!Je!}?Wo`-qc`;= z!UeM{+pvqcaxC~6rPJ2oSkPIU&rnU8B(q#9K~jn`ZYdb&~l)%B3AX@4PP; zZ;8DH8~hJkh5zM7^nYzc^#5h5pSocHzSRUynSi3OH;wVDi)ktJN^g|A5puuwO9XbW z9WMqN*hfjZ4=;pJAl!8r8$1jr47DAQgG`bcc+j!39JG6Xm_cp%SH^IIC7257lKYAR zNKEE0I49f|S}c_JT$;AxOvsc$PAhn!N?K})?WpsS>I^>Ntz$dp2R&PHLbmYK??8)3 ziuI<3!{&i=*P-5D4cLOU=g1>7zz+9)AR)GzxZSNHQPG4k062L{H>65=^oQ=z{p{j=57n0W~< z?D(qN@C^_hQ~Vnn54*=7|G`(>@@76!<;s0yV|26pkZ++}%oi;e&{|)>9 zQ8yk~1h{9sS`px1`~m&m-}f)weEp@8fvM1*=1mhWoD&k$boZPZBIXNLj1KKPj=3Wg zm5sm}ZgfGdX&oB1om>dFg(|= zJ{JjftTj0-RxjnLKr{~l7bc^xw1O%)Jup|vizMOjeaZ2{r6J)wRwa%qSOi;fSUpP) z2o^qL1y?lAm{DL=R^_Z`%LO)17|l{c)I(Mv`VA>e_$)%oHYCy>1+s~Kepcu!wgR*; zaWXM;Erhr`P@kwKi_n4w7RbJsxYfJr?! zx~@_?KEaGdO6lT;jP6KXnceH|NqX;YLFz-tg{*hSl&?1YNYNDN%dTjgH6I<-W6M*Q zbknhvI7z_W!>HmkW33#9IwF?jSOe5KS6?fa&in7n@_ECQTeeo}#4f1@FcjGm_<#@j5UL{91maa>bCm=Kla43?%Bp6x9A ziua5zQVLAwX-O!m*u-2uC=I|zKXJwA=6~D*mpHf~h>ZDnbr2?JGFCk)LXzz>9DZcW zuCGog`8aKLy3?z#J|6z*KQTXl@tf`*FNFVZ9RdIEqyKIE(x1_`VD(=3{|)BwZ(v+2 z09D+1ga{a+goNe1fMa`|}&&X!TL+rHEASIvIFp5d$s=I)(? zP^T2choePIWoGmM4;rOoCEYfn(l-@~(i+|+@NeIM1R1#IJnZ}o3sQcgcDzz6uB_sf zwBrn_w9KPns>5LZ1YO?Mb(Sc{XD{2$mcFJXVvrZ3+in#9qLyuK=t>NS zm3c*s=6Fxf+4!%FK4n{!`0kCKQU7Vd`s^$9me!2d^uJBk3?@JIPL?7D%CtZ7S?mFD=$ z)YCa&+kYhlL7bIrV6^215063b8=n6QalRr+^s?=UZv9ezJrs%QVqXK1?c?K>R(SqcnK%<$3oFpVZu7z@&R#8?~uebmfI^-Z+z5$?BBieJpNCcPv$^YGRjZO z1FWRYe;p3-KAHn$&l>W+yjGUl-#1rgnVVI%H!^N)_8<9^FAurw#?9#e;qd={d=bF^ zG4@4(uU+2#_2=Gh5>xU_c}9AQl>HIjL7?hKZ*M!;ZR|k9qcD%s_sJXqc?51nA_mdg%oMZiNIFO zvWZ{`BcPTo2)sf^+Q2&j((@;k;v=sZF%o@vk_IeM6m?d|8^xI?))^DZFgOce%hEF` zQek!}h9TYYN}VE1ckg1c`W99dQ)Y&z>gJDW%%Lat09GA@7MQ)G(k6d&5G{%22je0< zTcS;Jv>;_o|8gryvI_c*Dkg3wzJ`wwKnshW5kSa72kVrcVyqTEFb+q`F<%iu+OTVo z8_1$&=k~SX=8jZln$oj1UExNj1%{)!OcYH@Rit)Pp@fBzWn|+d{S>1Z#ps1{?uhh; z1yyV?xO7EVYQZMf!n7dAWI*|-TqU|`bdyJu1D|;GkjDkMJ?OtSb;#4_Jqmcz7tcOvt@=ep{(G=9#jb`aka*18-sgeeM^{yK?@P9?oT+SVA8qP!UgU zPl)bvLhu1JIL*`V-@pq|P_-7R5TF>Xw?*AD;6 zE2m=87i65^5IODc-T&*lH~-6x-@M-X@;86W#jVtT?uGxq`CCt4{zdHn4>rMnz_?ii zVB`R|76D>B+zyC4iU1$~4}bmkhWouTZjSBZ?LFhx;$@QF>8qD8-qEzMj3`zjJ`2N2 zcX7_oq@Hbbpu{bZ7|#FzAOJ~3K~%rDXiveb=rCy|nrJHX>{`5;^suiUJ@qV1Cqn=v z2>>+1dNRVJaj6;BD8X#eB+%DFo3NnwI0(IBi~>T#o691&TL8(5R5W&^^nj~{0@gT^ z*@!D0dclPnLffIXbVmyFjGVC+UpsQ7E+RsmvEoZtT3X7QVM{{ztKmVR7S{q3y`vp# zOr5hyrimtrSt2QJUZFa(ajC2V6Z4}qW)X1*Hz|Uso6*ub0R?aL&A*>y*C@1b$d%FF zSkmubH`NC;OC&zfI2gqlM}m4En^S zW-@Ff^)@1d?lfU8Lm96pR7(tBqdrENFu`U(o*(6{XZF_Tx*f}9bPm23{+Gp>g#rJ^ z_%hW``Sl6*${E{-?Vgj#HbT`CfyiEynq~t=QJN!rN1)dpr$R)0uQ73DWwK+P6>8mq z{hl6TajF>~x81SXfHR^BB(h5Y4!*CZ{VNaS; z8#b&X1!@KKq3ykLQ{&;iXU%_|sPL6(7jK3hc6DsP%B|yvM7f#+?27=vl{&x-3$n5{ z7pKm0cqH>IwNQ#n5d=|>rtd5wE8UTrCB85m^Oj}XGH5SO=fj{%v{qO(UDV-UsX+M2K zbrw&MrpRbOyWLJBZ*{+tf8TZAh`-j|e9H#MKCfpQ0Q{?e?L)7#@vrzgKJncr!Sn;o zf38LU0srr#{~y(3Uj(=|UcU(NZ~g4)_k7nW>DovC*TzdF1Ep}h%=fDb#_CvMRtYx$ zwvrL`Fl1R?Jn*pK8yG&Yh&qdD`!qspUf8|#Hn#!nz0%OV}hp0gbKBY%ygk0nL12T z3+I)-ur3?~FX>oHK-!}Q;s><)pvs821Q4r^HSy>PRk4=Mo<*^mb%W^JrNbw*6k4Hm zbWQ65cJ5>`<4+6@q+}^05&*&?X5jioQdAvHG+WEb&Ij-lq!BZ$6KT?X@KU|Iv^Her zPE=7+OywXHrHrnB371NmtHh4PWGeJIjbAJ7DvRJzhK;bv=_a;#wObyF_L3aaemFg4 z@T_Ggs@)ef&}R_Kp@RJ3Mu0fyyjYb!rjSxkE`5wEl>&ngOf3< zB(on*jN-6RESh>4v7EFvFPcpzz9l~br6JDqXi2_(sc{5h-ldxMyX?NN@80a3_!v6c zA0?ZSt>fYDgQFsmifaWfZX_ER#n9)j^5Oo~IwPYXL-dP({XP&UxyCo0PTRzu19{*@G?z@%_jO?y^ znlx-|`8YGBu{71(}!_4XKf za}qHdvDV7YtU6g}I?8_olejicaL%8H_fjuM{IGoAz_Z>J0 zKBe#!fu73Iy;NP5B|upfov@xyax@G-;UY03SULs8V_Yj|%9(((Hd$8*Zaq3ey|5u_ z`DUHQw7AibI@MW~Rw&M-_{=)f@a01Eh)R+Z+|ZUQr5U9#ouiN3s`nO`%DX;LlIUn=J9skV)Rult2vg-uI7mkSZI#|A zLvI}yt~sSq$kr3N*EoAaRpy1ROwLr$8J~RZOqY^9EER*bGk1z`xiYVu?{r@8y-eJ{ z5Bm4xO@#t6oZ+ESpkg3BojPP>*P(9jLo5**n9Q1dl-gQG{JLjDIS8w!i6m!&(T-GS znkchBH}NI4fDypSSig)c&1G!bQ-~aEb&$5*C=Iu?0noxa^K8=ojB@n))aIwyW90_? zFJb3@1OAWk6IcDrbm#il-TNQ`MP{<0Y^CED3<&b-r*?S%>t8_Gui%c4-08Mt6M_iT zPY32)q1bKlcWh9u5`nhiL!iZG^|JvnopR|#q-8F673|j}4c-}4c<#3d>#o^fd?X3_ zyG8_D4e?K2nJ+m`TIAPH!X7eSX%{b*%sgmwLaldGopwFP<)oB66#>|Z0sNWMomt8w zIh!TKW(Q%axYHWaqzYZ=3w;4a56qp53kmI9w4({YUOe;aI8GlKW`y!Ol!5WwoxEsA ztv)ROr_t&w(o_|CtoRKzf@aKi8wWLLw2n?|?DEpgz*igf7yPleue|Wh*WV$Mtl93g zAtHovcD6ZsmufR!KS67w4?z4uM)Gu%ZzucTuKe=iasL~C&u@O{cJ3J;dk=Q-|IO(C z#}51-<6045F9vu`J0PwV0rscuVYkFRf`La*Bc)!R=kOC$2rAAej^?sBku+=X7yjMTDt3Ml*5se(-)^S>^GH7*;ud z;u?nQ(7R|uJH8~ndxELRvCv5Lg&{rijfiEG!ML?fZy@MQ5!Oy?oP&^xu4rk}!+&kX zoM=m5Cv2j5(zLcUU_+qOlAHndYdXXFr~+@rpQQB*R75DkS@UwqiYzS;PZU*pNf2lq zrGv@oJ-rlNXhQ2uodT_d<-CL`vzaX7Vw@kd6>(skZg}%!=iodUt)o79{^H5!uAu+Q zc%zYub#!QRePG+NoBZ>jhs0S&nNCODpl?O3@hF8V+8Q`TSrm7sLYX)^2--O__l0%T zn&NVsogP3fBi8q9n-8+EitX+*~7C6 zx_OA}t^mu9$V3Y6NBLz3GRkfTU9njrjlVfIF6CXfZp64kASkEv>7Y=QR=?$>3aF+Mv4B2`aC0Is?ZM-gDfkMCP;Jgy?M`T^DC(j1_e zuO{BJB6@5rt81si)WqD~s8y`yVjW$;V&&Q_gW(jEhgd86MMer6uGSIRM&{5fUWeeA z@c_h1QDH(l>ggBM8{X5vBYJoCP#=+t(FZW49zxi7(_Sch109E-FW1 zcIM_LQVWNYq^Zld*zROv*HIG}?kjYer!K3X@7$AuS6vx{p=d zIdhKAx&ird9Y=x}{Anhhl)7Uk)z5n3gwpMY143_5X40}uMYhE>CRQe6_&xPY}vX?_kqFH?_rWu!<%92=KgvAnTQE3uQ;b;))kh#8RAIu;*4a5 zYbB8{j`0QfB0iq(a#u3euU7`7rAILPBEVBWc9%&GU!wJl;+P^+*mHSU;f3!UhBsQr zK&r%j+f7PE3r!NIHco3q9_MfzPBLNGX_Vo!mj{&9P9{&|^XVER(I7&*Y(BBc*UNJ&zG4fE+($by*=B?61~UJ#9DyHF$acZ$)X zC6jtZHe4#`gUzK4LQ4R~wqh$K#F`~71zShf^s^VztJCSr;j_8j+&QDQ34&U7i##Hu4)xLBn$?3hAK0dp@dX^IzY zd(FvrBRu$MdSK!1Ji53?U>yN^?dT;|kSEkB!O>{Z5agv5*5W?PBS9vfL%E<{(x*{! zskDif z>GFMm;v4-n1K&XX3sz~-CSnweOwv5GDbLTvMfAB%N7vQYgKz`>-(&wV?x_H5CBZn< zNCj`ses?)V-i7qve1EysE!1|4zGI!zs7kN9L)b0fa&wB_b`jTN$M4eN>~xBOhJ%@S zHezFw^NwUi1}MvI=OK@1Ln^uLTwO~}cE{{aTSsbL#vLWpnKt>-MUT{t!r?DhANZn4 z7G5~EyK9`lTLjmi6{U_Y&ATE1J26179G}|UIXjo>9X&h8YIc|@u`D`WSi3|YK$qM| zRJj9I2xeyB{mJ9iQ*}41YNKrKJ5#Cf)2n2ow-f+`rB9LKXtYWou+2mutCHq>B2;>J;Z7X$PUs)aad+ zw2CWnaa*24ugNW@=CVl!J+RaF}@H=>?`t>Dj_aKh>)f;1`ZgotWY#?3l$PHi#mD z^*YwDaO;a)J&!p9=weu0iwOg5qxw(sNeorpuXn-!aPJDZi-05k z@Nrc8Pi;<-*LXX3A^kUVT=NZ{^%A=jCVFKO zL|IqLdT+gD`w9;>*1UTYU-0bVO>JHVjvl#joS-6fzj3O@>4htGfG7g2&hpGJ7w55@ zJ<_=Aw85Gt&KSBNB3)QIW}F3fpo#9s3epF0Gz;&N@p?1|=+U{Qf~OFLZ4L<*Xw8Bo z{ZumYN}qDg5}`!W7+6mz`YHl_K^IUsP_ME{AwBv|Vwf-dsGs;NKeGRQ|MdA#!TXRZ z2l}-d)tHAZM*cT4p-k>IRr9AbZ%d)Z)^4qE-kg;$J3!j+Ov8hUn59qObGSeL+YyHF2V4TzQ+biA-scb9PNaie#{ zsZb}Gf8fHFdFvGE4D@BoDB_Cy7=|{vk9Po**-d4#zUz&lY=qX(nvL&#GBTC0q z<_eXib8If*RoHRkXgJIjRXHl{XdErTu~RL56*jmn{i70EOS&>J-O zohSmRRkY#)edv;L3Ob36p0Dxstp3wakm&o8h}orv2)rpSr(SYG%)++od-NR z53oykgC=#_ks;Des~^eGP+?Y9XLTlWwN7|U@-aMV?BpsdkE~QP9_M&Jp6;|JP$^1> z#i>du>BuA{GdlG_F@kAmtQka?9s&RdV~v{OG-7V@I0dR?2HVc*RXEDwxt)K`j%Ugf z;Wqf6+o?1;WOUlzbhI+U)?35MYc`H|RR(T3hEW*2$1OC3H}N#xb+jAqzYzqsy~i{vRDuUEB?+zDi3sxto#X1G6l8#c05Vz{7L3P}R@w8?pu&s}~ zF9JE)CXG!_V)XdFy=Ti8F=C#d3XA&top)4bMpEskPsOi+VTj@{-zoVOMt$ecT=5%| zpEsg^@L)5KUm4%uVr4Q4*l+^XE%e{%eVsw7_AAK2O%!2w1UEAE2dp&LX-K)HD%xpJ*`#|Up*{b7EcQxt<*YTX2YGb zP!=fC#ES^9cDGI`lp^!YJUL41lFhkD<_RSWae=JcN?TZuj&Uf=P5L6Ox&@4SRk{%9 zJDx4jV?|k8(hwE8(S>$EkfN+cZ*=!kq}0qh5Tr4=ykG6vY#%}=cSnL5Z+2o&nq%EJ zfUP!PleR0p`ytqq$~pmkb-;qhlKVcWV~%kTFz>s zt52i3N>)cpt}YR+icyZ#g-ex&7ZGt0vn>Q+(G!HXAcL7=ooaa%WJH%f<=UxXQQd*D zY>x=mJ(pe?%FW}3-awA)mAlgYAI!MS#1a|7+u=l7Z<7&!6Ud&Wh;9?Hdbo z!bFB}GWrZJ9vKKCK8y%Q0Xks?%?2ViIIICXnX*=yx|dNOix!d$Pi`CDJAU*EoCy<4 zp*f{ctCS$VUq;*TWR{0NiHBkQgcM)8=p}xnHJ2)NMil8xD@~+?%z)&umO?2hGS<<% zUIbH`QYX~u(Y>pp6@=bsE4_e9(J(D_gchw*4ec!I>%`mww8rd&oj91{2Z>oF%`r&^ zRGUQvTd7V38;8`vN3Zc>D6S^9l}#NHN?1M%CAyRtwd0PKRBwm4(?Vb!z23SAXknck zmpTkgqaRf$bjys5N=`JHqOdHOGigGeDJRf8NTO+1xSMko2?mLN2vz1$`Ic~d&|w-a znA3nGzIatQ6R%alL=IbJgg@tx+sfj_B%@v9+J%0o$T@AL6zfHyQsiLRRi}C*FK==e#zq7RRhg{czv5^={n52o{`{Z#>YH!78U26J!2dB`!48N!iU5%V z{KDV%P5T$uhusekNd_LhE$^)kJW&aLc5i4L#nw^>>L^1WB`F-I?m`aHC(CnE$fEOz zp<~_&(r^TYq0;k?o2y6-C2`DI6;qmH3M!NP1YKDsw*!+%kj{@s`pUfcq@oA!Mfy-J z7np+Yj&~I)C~}y_6r(821ww@6plG2es_ri4S#XG+=WJ^On4|~))TM(jSOcX@l;B4$ zc-VS+KrGV5qe_6eRU0YL$ARAyc!rcV@Wny$pkA3;Oq?yg41Po39;nsSMjCN5O<1 z`KlnobV)nP1sU%5;hY<6kdV-M2k?%7O!$m7d||e1FCD0PXy}_TE48vp`e;#5VYN%A zvw8pkAOJ~3K~&Ks%hReasC~W;KFowwaEh}A34U}Bm92%44@}YU;p-=B9<~a-(jSX= zneIpcrn}+vBQ$&#DO>5Oj|co(Abwjsde^wg_|Mn(mi$*@*s+trM7j>$U&a3RKUg2P zy=GkH!#E|)5DN;cq%pvi@8k@b#_q+KyCNeJq$dw#tNgqWaWCLP^VCzRLgVteaA{8_ zjvv-GyBwuje%ZLJuGp0EblEd=cIPL9rF-`tQJ_66{@K(}_igZQJ{UgKGH-eWD7O3M z>ScWxeInZNP&ogaL)@i+L;uWP)}{O892{2$}>ivYlH_&NXFwO95Az%QE&+{^^tn&d~s zq^qr@NpJuad)qJIh&%_ui&JIG={?{{uo0K|n7fgb3x{<{iG)GXAnOZ`h*LV|^g<~} zL>R^jQkjt{CLKhJ*XmN~&?nYe^eAVm$23taU1b!i(p9>%x@(oQN*(J{xSNNKuStgE zF-zJa))0~KD#=cko?S45)ex<1BVG+kOx5gTur@e~F7D$g3E5_F4FK+uH_Qt*m72WNT4()xVx?ocMA;sGm`K>%~ylL_sf6fzfd+zb}& zPDxwCK4y#J*(uBmTCkCvbfHdifZ~{QR79!OwbF!T#?GW1Wolk=OkA>)Ww6-SXkiP? z%)+74lwRd*JPMz_BjVhTTZ8`nSYNxX;x^ji6_Gj~B2Dnf!Gx-4p*fe&sTW=<7VUmW z`^zBU2JtCFLq|GuqeCy)frFzX=!vDx7($wcx9k=d=G<7?vxXiZu9_RIBgU-BzRP=W zgnBxX{|)xaWG1xWjlQ6c%&8M_$2+SBOXZev4+QAPgb!5c>xmFQY1WaVd+vDmLodXh z@xM5}CwRp_0r53TQmvW^pk?Iab zLtEdn^>1{A3xA=+B5yk(x?vN5WHI>YSVaypFMRktdH*pBK8s}fT=I6ZcmRDcvL;Mm z9fg#u{O7yIYpMbszQJqRh`f?{(L)d5#=fh9vN|29dUcn_E5AKk-SD%=G94sZ@OncG zFIXAPIxH8LywIaI!cH8&*?+|<99Gd?P8X$nSYlB2J`+w~5vNwVCJwk65XWbIM7+t^ zk#Ya8I27p0QL!0c9g#ZAp(3ytY7`wYDrtU&C$HYgrdwa=QUBXN{h9sm|Ayxjy!rN= zvUaC;nz_bAqafL_rE}r}`KF-1AA7j>uiMEyq4@W{`Pzn^tjWR&UHDf%{?;9b^6KMH z{<;&E|6>#Wk8w{C;6ML&KK>hj*Vo?usk@Z`ca4`#2DVH<_LGZXI3__GuuVcY{@Tc! zznH7a#u;GTT7_}{ht738z1{IPm0R= zx5*ckTEZ&SStaJ6)Oudv&9zYGY|Xn(=nOcnPa$RU^ zp1tbS=DkZy?!_riueq*=D6@5FSVzK)zhXjb$PsJQiE_voE~*Euf^u%?f**4`MG}>C zXKBgf_b_@FT&057q>2U5Yxe)K_qMUxbz6PcZ;UzDy7u1BeV*q~nqphj)&!bzECgbp zwS@+%RA>uE!lyzFkVX=lnD~VlKQw$YHW5=zm8yJbXkry>Xwwuqt>xIJRU=A@6zm}Z z!>hbMZ};B&T5HZR{4mB`*ShxGbKlQ>pQGV0bMl;hU$5(0YpyxR_>cepKeB0>UHIa( zqv)DvKEwdNCd`?Ru#th}{7Vy?m`f4CCnZ$z381*wCIwNY;nvNDc%aUCSm68*U1aCxxM$X8_#E7QrP$*F=J(fp0S#3F{qBU;<>VS1Tp{#95#4~~b+4ui6C%F|w7;vx6TGCsc1^Ik5{S{9V-p?c9a+QIcg z=0whLp;xL=fRgpnK=A;{KsLX^{7rgpZ9zRPb$GUt&h?RzG8A<2jZp^(7oe=#^@M4> zQ$Z|Wd@>;RakM^!_?%(@Bay-ANzyyky-qS;(PhwQqIpO|J;ldc?m)|G-lwSo(B3;k za(?_{@BE8D@mA8O2HiQztohF(W%Np596Gy|ML3%R53X);rXF}|cV})h=`>d#TD%c|MJhh_HX?E`FJTiAnxS=AOEgz1HXEK zexZGD9ujWE zaSy0vdx0Ris?ukAVRnGNCU3?^>0phet!CjP&Q+;|mryJP9#M{qb@wW@%3+cy8`>-) zt}cP}ht_!`{p-lD7y*-RG%CZLUa^l*;-z3sLc5%VOJnLM0Yid=nl*%Qjj-U3I}|Pz zt+eXh#1~3K6`L@y6&h7UOO|DmZG1?5Ge97G0){4&+ubE#qzV`At@9q>ejyU&Q1eVn zqR&*}WGTJIN!2u>E`_G7eF#a1e!vAc5o20Wpo=+lNi`d+il|`ONGlqdwT8JDm1wOc z4R^Y8+hsO>=GgHdM$ zMdRM7WMOCP7!Y1w-l+}mVhr1&kpsIUEiL?{MC0VVt$YMB>iEhkpxA+`6yerjLdgnG ztN82lhv&SQs}=QTe`~QIhJcy;A75csGltjPh#bHc)NTM z{O(BSNX9p35!@@F!oC@>l#>Qm$r?p`(Mdx{&iQ!fS+25S)tpZt*=ny35UYvfoyG0wi^ zKmSku2>jeH{^_?;tnKM_dJ-5x2+=n5l=ft_y*C)s_U3;C2Um-aPS-Bp@lP(F`pj6D7)^!6Xr;VG)ye zZWu=lzH(dWJv|VcGmUCH14Ps*^P;$^3sl3%`aoOJ<`JK{Qwt&zT~}cM1SM6i&R|SR z=26;n!(-rWr6oEdo*9?a;kCMEiAGDJiIcGIeccwhTKvs* zcb~jW03SjBe*Ert?bq7t5dzms^-FJW+PVn0f~HE(M>U|;l&bqCnTTD&)1FHlKb|Nk zv6ZxrH?-&N9PHlY-wVBG^QP<-s-wwkIL2tAhLNEK-3#%yrhL2^x-uCkYh_iscz03f zqEpqoOT@mt&{m?&Svq%Vx??>Z@RjM&r{czJHktrBeK4CL6Kpu&Ngv#EBTToKBjk?cHVFE5;uY_=cLAw1!F#H=Q0M(NTNb`C|l zF*D0(YgnPMuK1AxIw6`qxvQh=;GjE<8~m#Kb(6I-HJY7hUF(W2URA7)m7#*t15DZ6qg7zd8oQmot*>#dLr?jRICD$nQ9V;$Vb%E*m~mv zMNQU5E1^D7M=BmVz*_SrYAY=`MH4N`%M-nfEo=Z}9hz_`%=4#XLYxwSU;Kg3=JS36 z_}=R;c=t-eJ1;t->7ejNnLf`f!;EYFI5P>>7`kQ`EAtilw0t9m^SB@+ab> zP?V@T%R_rLH;iP0g)_0Kv#UoNQOVVVRVuR>o`5=} z@u)#Lhz^QTcWBh3mm+;mDiof}u_!grdO>^g^)rBAIKD9gnojM~g$C6DnsY5Osb4C~ z*qO{|&4H;>qE%{5hCoI$lGzcUi+G2jKn+c2a9-CQgrS&lsKA7lbg7FC@8n!rGS93X zxu#956Rn~RS!vD@=40Lx%M08}_k;es?J$*sqs{uhbAy_iPss>cFU|)Cmfn`ag@`!VQzrxEd-daB!>nkx@Yfjf=HA~=it+B!Bo5ci)Ecd@QfGD-X~`Y`&) z2D2PA{CQz#_2KFE8zFm~nS-+$N1@CVr$#S!334M0UZ)J*R|9UCZ+L(5?h+)x7|WF1 z`j&EXPD?i9@NaSG4e3nABJ|+9-#xU( zhg#N{0>>fj)OO?Myit>xt4dVKLS7}&hiB9MdqUDtc%h?0k!&fwwe{T7-eSRwWxq^_ zW|*#)CHc9##PZXsJ;o%{Kt6o|c z=$HmwD8l?{$p|w6_{AUi?D*r~|L+XG??-;@_xx*r>q~QE){!7elJ>TFCXBm|L{Lt- z(f>#3?1SU?fBe_spZm2x@iV|Dzv=zgo&)^akN?zXf5E@-fiL?_4FAXY&_#gn{Fwfs zZ~K-H{QQ?q2DVI~?N%03rlINW?urDcke-!tzG+E9``%DVPGM|I5qv~7-#fiw=2e+O z!f3fCsZdKgImRa4z#X-88QT`Jczp|=NgQfG<6)@pxojmPC4lOlD0OI#53BPo@2Qv! znxhYOUDQlNEZf~2EvQJu1jQ3ojggk7kq!mkDHs|0M<&w(4sZ$a>z*PUOGNL`y{MEa ziOx}SjeVky*ah%1Aen|svW%ot4AWc}^u^!=wNOlJ^WxYfXa&T6qb#%oV?o3rwGJJ_< zz-anDZJ_CD846VBI)rPn4H(VR0wtn71!+kSjX)=oQgaFvPbVc`m{-40xRh3C294V3 zBC*~tk3-8J9Q5x-d-h^w*$*0rmG)~s&2sscUmv*XJnKo}h@Tckf3w}TV$i@SN*C6s zK{>vj;>!%Rl^Q~P&mx$0(T-N3BFI*SGnNI$)_jWHeOMOm z_%_=|JvMAi{ueC2pN{U{8*LO5Y?xo2|C)>$HpCQ}TP11IHw zAOh!deWTqg@&9~s@D~HZQ%M-Upo@8Q&uTw8-Z_mpkN{U_AHFJ z-%WAtyr38c43Q^G09j*^&yyPdp5dzJd5P0pd$87H?>l3x#KtYDxiTLec_qt0GK!5h ze5JD1;i>nF&xy6#{A2(KiS7wlrB#`XDtP6nVA-wAjMO8o;Av(MiZ~h2UVVKg%TJHG zh5lsp&wu^5kMK|bxP7S!QcwO$`^m6H_!*as44&Qfeih7qd*sdx{17?r-~5}On11x< z0segXrXTLWC%@@^_>`0aw(%JY|HpW+2oO2IgGGR^`FBsz|J(1p&{w=vGEgUceC#w+ zW~9?yOdO#Z+Qw2YyT0+m<*f~xU}Wt9zqJxwo^Yds6=ae!fdAM#%V=U{14wYvSGYts zSsyJh2XYKMZbm^QcTGkGTn4Qu-W9NcIknK5@Z2YNzZ9Qyq3q#mYN^ymuqttE0kOxe znv8jOLCVlhLAF2ZQMhkmcHsh2kV&MR-RK+kZ^qK3HlGTnnLi}gB3|E-mUN3CR`!1C zi=N?^TF&BV!$U{AtJe3+C zw4Ev~TRh>zUy>m#v%zUeSC(-FD>UWk)XG#v&FeAS3^%0!=IY$e58Ny-754)-*9!DE zUg}Mcf13Ghd_*bFrM-=-GtrIS$L`Zng|TzDO*SBN}Ezaj!+_AslFB#m$hYVQD9Pf8Tkw+ zZi)NjV&5l7z(PfINb0?20nJBD8QI01*j+}@F|->#d+z$fplaZp7An% zLbP+Pv}e@LvQcC%n!P4;NRUMlALt2LdhHE5MUjbKPG`~~ z35tZTcOpR&B+^C?lqXh?>YH7-nLzHjZIo>{`F`G#nrM_lRqsy~UtZg|yT<&LKlfhz z@v*nx`6nNH%gfGS74Q>nF4MaqbCH2mR;lc|MpkE z4gA%ADRTf`cN(xS0z4S~|E7okV?0p=cx>#Wf8e8Uo&J7}$$-2?d)I->RRaFm3h#YN zzX;zLCV(dlAf(<-w`N13^6aVSGox1e1zlZSLV32q4|K%6n3xRbfxtop89oxe6}4qZ z)HI=eQ>+ZkBWjn?DmA$NeSj81fmN{!nSeqAFS)0B6gnj>J_n>W?petW>gI?^P>Mr- zAd+XxWY)$5_jBV1KN>Y8I59pSRm{8{|zT4Pb zi^9yRSYv8~ni%A;nI*46RiyaQp-IXB z#+D;S7pyWHcBD93#b%c3y-ImbRnZwHykuSx3%wWWl+^a9Y-Dt$Sk!!bvb@3_B?3Dg z8)`6KBG25SJw|pEV3n<5oZ_M)N)s`mMw`rvRhC6An_un1&9^RIBJPi%|7={m^7;f-@`SFB@EUeFN=58Li6!teSbIVU$f-Rw;@SGlv$a0_%^V4S!BclhGx zP_z!F)2z?B(vmcM^$V#~wV8On}GJ=~^C~?~+k_>vWHjFDT4u{Lnk4rG-Fz ziyQNbD>us8Ib5?|NUPLwI@IV!H`M4lxPm>wX4y<&8HLS}amgL@zInOYl8`YSVHS+Ud zW)6hQYj!7;Ixg;l_e@Z;g1s_#DKlPuMcT?_=~leN9v544Nrg-xbYht!v6)$Yibo~@ zf&FjM|4;tR?}UH&f0eIg=l7qRj+`t@8Fm)=+#YgxJzK*ABW|h}{E9C+{_u~&7hcF; z`uHga06s-&z;BIhylfHR!SO1|!2L|1zA4wYe(4lJ8tXz)DKkEe6(p$MJ!ORv)Mhvf zBGlnK>4V4L8{*7HbC^VDIC#o%o6zZsbkX6azX3MUbJvC5NNUDVpfc8LacBv3*v>H{ z8rJkmoA4!F1${@a58X}>RMInHrUkZ%MH#uoCK8CrpiqaY z>*~03m_#pVD|H#9b7L|nv;)1$)nJ@lTzv2j^FYwQ8~Xn1!Kj-1;;btDf+|#DYH)#F zxlX<~ew6ur(IZ8|JOtUGM@uS*2ov;~wL%Ddqg*h6#;ELNd=^>Llu7vHC@jI~9j^(0 z4|V(~(H^UWyVPifk&5293PP(iSdVav8B)-SMB5Na{##fJ1Zk&C%m?pXmPf+7`SCO6 zE3LbSi%NqC7Kb&;9XA!{9$wdFKq2VbCWI*-%WMcr&y$=m^+%h#&yH4OE zBb(h*i}xSD1Dn|}nsWNCeAe=cY*RMoMl?Z>`hYYh$0pVYvo?d1&F1S}2RT;C#9?Li z^lQfPj*a4Bi8N?C=|Z;Kx3T!BP!v z&Au+N`I!V>#bdMUb(8|~8@D<10^=*b;-@a&c?bC9k%b9!)ArYmG(b=ry=^_G522)rn!Nu3Y9Q9@{%FkT}1 z8s$Pas4Agk(v?HpDJEWU@m^d+0>V$?zL$UN62u6G60An`|&Z~|7T;Zo# zj`)!l9mk@1VSpl|@}?XAQj#%Z15^lgVEj5OqY^vpO6dtb%1(4!jT#-PD${_b`ba0V z=0cKR6k=J&jbrE7z$wVb^G2iMmgJ2ro0jZe)03ZNK zL_t)uIZD_~=p8lcaIF@>D}G>h+R73vCQF34C|!}lExh3Xhr^?H=+i;}e)Q)r_`(ku z)1>8!Uh*CZtnp&y_8k$E`M`SzUl0BUB3m3Y(x+yr-*uxlisP58le5Z9PN(GHjntPh zL-3JaMkYLQJa}uOD+1Q3D+p`s?j`-K%5cTeuwIRxL=9~q+;$2aq8Wuo?uT}|Fe%f- zafSnB@~L|7a=XZ5E!Cc&0ecJcvdq$}4vGJOMSbWcd>@yW%>1K)T^1f+AT<2I;p{>{ z86oeeDs<42hAIceHADZDU5))bJQ@8yBJMC&Ge&V^eCx=fhhfS7hxq7xlJ*0DF)d7u z+bMPYy2Y=;3aDrZW(rc7G?_o{DIN>Zq3-a|yG#w)9rl27J{*{P*XQ)X*Dy}P_N(t4 z&PWUQ=*-IGHua8^9qeJ#iMl2h^#3;g?%U|T2oj6a@4t`vjZYe?q zaau_~z3#APDInth9#W{$kkJNyxApx{OKnM(YXtXnVu%Vsg)Z4;jM4OVs#);KY=0U4 z6XUjW#V3@M~&ceJ4si_|)CCB%31^#R)7q}_M zN}JI|0vhDS*v~cq9!a9h3SEZkpkXWCya+N$Y)39IND)CRjJ`1GjI;^I}(;u|x#)li|)PXqa!ztc{C>`F$1@ zYMOQ0=$0j0^1!12ZULjs`SF@U{sL8THKv0 zmmszoG);F+6%G!9RTt>ja=dwJlV2at0352Ol|iVJgXR$NN4R)zYGB5y68J(U2IHIW z@bzD6+~3jz8i?KA3~i_EBD;w>9B~G1sboNwvV=P&fNktL4R7lFm<_eSg}*OwEAw*p zL$*vi9t{+pxq~*?dxDDJx$DB24Nd{?bB~hTu3s-1SBQ=`He17C|9xObo za$Ws;wu8#mA~HyQ0LB`{@X@_XBx^OH1CB-?S+_U3(<627X$2c5zwvvuvQ}haYIzc3 zO0>!}khmT)He+o_%ObW$RM3e|1)ChJjKrWhrH+;|b~=+;3Gb`{pDD{qT@j-fL}-o6 zPbUS4UFZ*d(Z}ANc^mltulu1t`8U5ZZP&JB*GKVd9HQL&?`a~v?zsO2Kko1fsI1IQ0siKw2t(kmv&G+GckB7<_{FdQm3Y%k=kad^p?uh}w* z;kBYRyk#bsPHM}olOjFYDLPQqaO|0?_nLiAtivicBwwK}sD)`xl2Qof`fyMUhLQ?Z zU7WQ`H!74$+Zzlh%Pa=IPz-}wGLkMmHOeMvr!=~Z?j?@ajN77j8^bd$D!)~H5v+^! zw1;0-`Vmod!aLkhgZ~n(iaYLMhm?32( zIlk*s>Cp(8kzH()Az5gc(^oL0AQcmqLV?M#b@-4RsL@4hLMyfS>a0hRHKUEP+i2fk zUn1`BS7-nHZCC#5>qCLSOOCK-*{dPLEK;6HnepcGt{-M8AHgOUr8{jAxkcAxjuoRB z3rtEeYEXBUY_b!1_%?4-@}Yw+B6tPCR^*ma(?ZLY7Tr3-9M<#vt7Nwa9h0Gxjox%f zW#U%K@Zu1LGfBLwUDjJ!qA_`du$A^u&#(6QmGQx54mo3B2iaI-XaHnT#dO$co>>5W z3h=mSezIClFncJw*aGs+_*ljY=3CE!bB0WoF&WsuB=~qJ$c2l*B5lRZ=ku^ML&Fi7 z#Uj~C289W)DD&jk$huPeZY&)Oa&&O_;S8(#I!>TxjQDbC_x{+RcR{++vgcxp_IV*1`QYj1eJq}?J%k#(RalFT1G zdu#`7vMuSZlPSkgyAk? zzw{?A|Bt`*C%=Ta8GP8KkK~E_wmc8#0jDA4#FcyRz5mFE9&dh+zs(=`=$HMUz_)#K z<^aII^L+q+@f+{H{nxVhd_+y5Tj^JKd<28h)BKdJIYW>WE~;`6Q)f z_|HIh)`mD$hX|oy6UB26h$doD>2?`rY9nNfJtBgb4z%P=o^a)W#}tIBl!;zh4b@Z# zxU+VwQ)L(q>L>*iFA;FB^d_t@Oe(`TUzMp+s+-bHDDE>$7mjFWs@N2#{T|vT0PX6l|hMmgB9Y<3|FMJKQRn za%6B2uWuqUQza#gH3TGz^pt)o*+e2`qk*;eEV$89KBN<^FfHhcPFyH5dFTw5Rr(F> z2n==U?)uW8L$!!@fW6Jo7|Ib4MPquhN{nTpxOGJpM#*zp001c;Ub5I9F(# z*I5Rb1#G^Vz{VYtRGY+4+sZz{r+RQqBOmT?^}hBi?=y=sds6-~n6FDdyH@Z`c z)ETO;23=%h+-~c5G$WKG|5Rm~a7p~z!rpNZxN9_(EQ!Q3x(|l5$Q-ZK!d%djriW46 zjW{N`C6@Tv)}bcV`9VUp)QUB5b9D-mbfA&~02QiaY;B`Xjb)VMq}hCd7NB@X5p(w@ zz2~{j>iGatO5_Yp7D1I-@j|QaMW&VNtc4DyTya1%svzRCaK@a_LN|OxG9DPv zT|qP@c{Y&yh|)sf6^4vzNW8@L^1mdNQGP45mVzFtS~M5A$;G2_*MIA7NZh2FaaOWUQS6(jMpf_2c%k3?U4YTd)?++FM zo=N~l>YH1oq9ARcumO&Cq=9A!i7jZ8L8p=PDE>td>RIpj`}F2kWV(?0h-<2E!JemWnvA~efH?gqDcZhsNR0J! z9c-5K(D#K>srzyNhMk_v10ua~1}!c2g8O5{R0)1RG)d0X!>=4iT549$CA<47jhr6b z|1;L`E&Ga&kUB2CHT1mm*BwvF+e?TY=ehWi_2B(2H>2Ok#Yz#nW;>U-%|nFKg8@6^ zp}^_cIWDV5<2veK^@t)9NTzlIXtweUF_K9tD6&oaSW?o4p$^Nb@!NFt|CW_{WF4(Y z*1`>bX;LjU!K##s&!GlmT@m9TxY3`(Lsh}MW1Fk8LlgG@yq~q7KbWU{ANp_OuYLdW zPg#J!`}05g)gS*t8*m!ocC^2BcS@SmgZo1~KiUWW{dmRTiLuF>_V4}N&s{$6lfUqJ zpM3VeeD(XlpZ(cm$#J^ARW%!SD~uF`k3Y#1eM5+g^lmEfgP+;2^6 zn3VabPELiXVxa*Y?1DaW=~&`}YQKfTu`S5}LZm`?-|!g-x`?*Xvry1D1BbMz z59~9L!dw>&TZhM4!AmM=83gwt6!Y~cy)!9NSWUJ-HvJHF_zT67(4pl|pi8t;H%ZZF z1Ys_$BAZKk-(fKElY3)rs4;^VLSKTOxqxci zsLLB7#e0*v;f?MQQl@8=N9(kj%GLREy;X@su?StThIb6w zLF^%X>BZyz7;hJuZeQ*#4~`opQnDGt&pLb7lgq9$7C(wav>n@J&jvDOqQK&qpcNx&JVC15 z3U~NuL=y}^&%L#jY%bQ~0E{8X%I4ys5^fzDb)|I5oToZEg$2cEbtYqit`w)ObaA_o z*0^Xn59;E56$a>|GuE($E|kNEyml`&>iy6^u>ZgI{aGjeV?R>i$Np9SLLY^yh)4oc z@j>l^og>hB^uML`XTwj)uZ;itSe;)q6WD#xc9VSKKl`~)@GpP&cl@J2`0-N?06dlk zJeULUI;sJmvG9M42a5nd{$G9T=ZvWRm)^VkmX{qbk__mZzBB>!mL8SCnG)@O#{5aY zc?Zp?E7}Trp%zx56>6*zfwDJ>W%eH$Um1p>5>mWQ@x*9FQT31q_yCq7<F%?K0p7~cQevK~RIji1&VtXT5` zhl8va97k)jy#1kf393T@>#QxMY*mnnQd8-rYXaDL#sZHFWz;wUZ@>g z(;h?x?NI1K7kW*H96Z}26WU{phC5nlZxxPqxZ#2+;MN0vmLs9 zD75&_C>?EdL4>MUVeQNd)hWVt<$3k13z?K>ll}UIJTHE6qc>f;^9+##UGYW{nx)f} zIlZTOUBFeVX87KQiwiNI$=sk6m}u3zNojcpMd;86C@V${NPFV~dHN4VNKp%-%o87Z z!%DTA_sj7eS*{(tz9~|&5SM2U7$DsJB0znDx>4P6agnhmgq$XdJTf{V_}0T`D9&To zmBEtAv4z(=qnKPXh6Us_ybWPmevnXvl6)$Fe_L`(W+tsr`#a3Ycfi zlJ)vPtGfXx1pJ?4WU%s{Tq63G_k;H~UZSY=sw z?7SWp;gZcdB997aAT0kkuMQ7euq$7>JXDa%vs)yTNy43+^2Kui^6fF+dDs5OxBfTa^S*of$!|ZaFg=zAJW&eZ zx3mGTV?3q=_?&wo`>Uh`TQYDz6PT<2+Pl2DNEY2VnT-fogytKUx8MWt6Vh=q5`#Ya zil?%6qV%Vv8|%6r^RHeg_>;6tiA z6j5uThq89`hw^|o$PKA$#+tbhhiG9+ z4m}ssZ6lmY$D!zuqDcoraYK#TbH6Ml)CGxsn&evV z!@g4sLNaPfa5RPHOu~H0G|@V`aCs}&PH#-k;>?wHU=g28wmn`fYYV+3EyO`e@`-C` zwIdkP;UTMO=dXQe0~~Ylp^y$ih{pvq(owHUQsDO(Sq|=m%zDGLFy1R;JKG zl$?j*hh02fh6KcEjcs$W{YLx9c>A&VC{FAvkL`Y;QYx-2io&!~uPKxC$)`&%GyPWl zS7Z$)TgNL`1@M01R%nZ`NEd3SJ8evRgc3?|9Ze@jTc09+6j?pRE!sGmG`xxgI6dXd zC=-jYuFTC9$)<900>Z4L%GHEFa}Hk3-+!mP^BaK2F5BMq`sUawKd1;Gho|}g=vc&b zfR53BP#SGiJT_Qu^IF{Y>$5K!d+~x`hNg zPVjzO-15bNm{eA!uV;dFq8sCpTQK7g`sRXfHt>(c3{#^wx=>3pyp!}8Zz*hU3hbqc z3FSJe*YLR&mlTv78h_PDww#^L| zdY7Bo50_HSFzE(S&|YyxFYx|i6rfigX9>Xfy?M49eC0n*2la3Grq6+&{HiamfB&m~ zU$$Nw{8V;6xH4A502HsmGNCO_r0eHzYAXq@3;qZTqJ4Jw>{O)gks=xhtO7NkRfh`k|-TYWqSCw$;uz@@U zU!@B!l$tGL;(xIny3ra6Md%Jjg{pX^8MdH(*bzu~i%OaDds8?opy|s* z)KZKxCB>)(7b|dgC@wZm4tCmg!nmVE<1LkJ-)5ABRq#TY!QhtWsgyNyozlkP0&GP} zhz2q$YBK6Vh6_zmp;laJ9a|_XWyWR}PxLw(nWbd}*+;@gOUNcby0w-;Gw?APY)po& z+f*1$gwLZ5v)AkaC#*B3)KQcOxkbV(N-6Z>W}?n*k&iS7)^pM1emoKMzxLsp^e1<; zXu~!qZkFf+ zy^fTC1?gxJRaQv@c%16gMw?h>E<}p4khy(!-B$F#<)vR-+M;s2miOM)_up{^yP{R< z*v{`10oaKF_C)}Ba_^Hxd?4ZkE*T1(PEpE?ReERgQKjEe)$cIZ?|hH%gSOEpK_A*` zV};}#2nSk84Zt|o@#8Yr!uNp|!m3kZPF{{X--j$#mE2s&|6(=5y9(q8H(I zgc~HkMXtI0PUC19V6dK|RoSILcaogek!S!?9*#+(E3kSN#O^o$ikmvZn+M&}pB}FQ z1-~Ga8ZJ7UqvdvS&pv2(D47h5wY|60@w=YACXau6WY|@UoIYVcK2rU?Yq`DLB>=mu zt3J<1<;cYmy_D-KZwI$ktY% zZgDNda^OyB6rqQ=sbUA5loF1+fu-ZOE{+~VXH>Jr(AAar!LM&*y~Z20&`Z|k;*|RQ z=~#hJ;n+U<-$H*f`sY9TmXE?O{saGgAqR{!TDD9P*sgah3cDq2yRUfhsVpNIc(FIc ztG@2*{{GeUI7Wxn#?`Yhn{zIy_`_p9%|{^2y>`#O)80{E?Jz$=U|{ABs-fA8O9 zC-4W>7fuFZylhI~f*tekI*V)4WCsS6VR2LsE2DXqCF(DXP(F6qL75He%h73ag75>= z4bFNhlSWlBc7;p4xHN-^i8VVkMdT4C=sEzfyjzrMa+z2b;WkN18h*wBLMuKcPcg_p zJ$Joi(Ih)olHnS<(tzzFfRAXnPI-ssjqFHcg+3*3Qi4Df_x@(aTq#afin}Zz(mY%9 z=0+JYdO@nI3WI7DQVI%MWg0#$$!NE{aHsy_O&MEiA_w7FD%DlnLn}2l(9WTkfCcfh|P{g4kdML5;;aijRLE&I<6Gq;9MVBjmeWl z#Fz|m3;~g7Psv(D1)(|9lHq<*c*mLFvZ-1z_0~jN%Eux5#7RXf%Y|E)Fr?Cs^^E`A zsVl3dQRyPc#DndpUN-L6my``WI1E=8gl@3lD@Bk>pJ)YX90XqkXPqfmay22}xq;+--uqwO#KvlWm=?pyZMgo^T4OyPYecZe}6;1i&)EvGQNlQ*<#4JC=HI( zk{Q%IBKXk#uN_;tnprEWb2-#m#Z&)NeaAttyM!4T7d=3PR?+C0y^cg>+*#3$)fhdA zH@TJj$BjB^{RP_gYT|Il#*X8aL`$A9~8LD=ky(cYt2v#?fI=uLL?68(T(XN$|MILpS}A)XBleCWR;B+w~;nZ|ElQ$7@J3YsFF+Z(U9%oEp>l!Hu_ z=1iTUw1PVGE$vorpqW_$q6j?iy)tZQF%P{-^QQ%+3Qbm4g8It{GY$>Z~UP& z7#=5%^ZP%T(A-NPpP2Vss4u&v$M1i_ljE0vxqa*({2aXb(_iy0@I!z3HzEfBzWLwy zEZ}?p`@4|*V`;z>IRGz~2K*NMzl|sYMD%}Wym&GmK!UFT03ZNKL_t&#<3rR3^nkq& zaB0|dilyQYAAP1`*(#DfR!hq=dYIBAqCF}D9zH^ngz~7?g?oK&Yy)zGq|Dijiio(X zM1)s{)lgO93aY`q~14gzs7 zVK&Nj2Ff13F0P8LLZ>%c$?m+dOr$eloVN;^S0oVhKE$#~-vp0d?$8XYs4~N1V^)wH zuqCPojyDop8k*y-m{YesJ`8`Ne`KfMLh~|7nQ_7U31=;Wk0WfJ0bJKi>VitK$+ca# zASx-dsucIuW$Dz&KssX7=mT|2=^QS^F5S9>0ZV)!1%tLAx7316FzQ#^c=zfh*4lnJ zTg2aZ!UE;RhF*Ec<}T*61KKDqMO}p3MHD7DHs)yl)tDWGo5IqWJ1lbBT_+}Gg>CzZ z3_tfMP1kK5JcNjwmj;~+@KEk5bjpGTrL7|spXiMmG>Kwr=mxn-JI=M!VC2r|>5H>@BRx$b{@O0ac{{_ltW zf&KrfpUr-cf8qMQ^1FZZ6W{(zZ~mh{`UOAwS;3UZzzE=h)cI^YIq!X6RC+wsesFx* zm;J)Gf8tkv@Av=2AE*4_cl6);1E(AS*rx&aa{wMp11|WU?|r2-;2-`6Z~WnZ@A(V= zg5Tuh!RY_ac$H*;C-VV)#_f$?b*Y+eDhcY3WbI&hOgldv%wY6;HbzXmlLIO z9IYrLnVG`-Xhk{*5}4xH1$~qJLYP`^jhrHAkdCxOj;)?L)JF4~MZmebWo=@LR&K;6 zmpQ62h4p|>sZCes#$+=YeEtF@%sWBt9*I+&5?A-is@Op$8Ml}Z3Ao&ierz-}O|PWrCk+>l7-dFgj>goeB&d0~@aw|5 za%i%wVCixbkt>S6;j_?gW-F| z;h@E+Cu|=WA#dy1aQz4hYO7>1?eR^@PKYAl`2E$Q@` zesVc~5UbuF^X})}Jsa|*L(!{`0F3r$BiwKFUKQer5tpNa8@&uQ*P~x~y1r4^ETp&c zcA`#9rw!E|cW4suQ~cfC8GjJ|2kLmdF4TqfO8UV$U`O#=WB?_xRhltvd)&4= zgVj`s0R|;Jf?96+)zUdl3O><#w%qAZ1QTkYLY|)xb-X23>CSQD*_B+0y}M{LR}l_O zxVeN0o*S}Kj!=-%dT6Uud>TgO5!9bu=nwpb>x{6z^z$4(@%3Nw&;Pey^Tp4Okxz~J z?fJhz_#O=5{c&L5&+ok#$pF6m%YXX#ML&Ff`Sy2x1^?;yz6t#C|FHbvcbuC}?$UtA zN&!5Q27KY|2du=uMGAV6aWg7X%Ih*yRJi@K7eOUV0U+N_V8?j>ur!GZv$@ z;|-1eK@o=9Fb#}yL8p7ZOu84ris(d{(7@mwA3(@9g#(0e$4uG+-Aj>Z5!Ib;Ox@=u zOjsq*#W<>sFcTh^E=d$Y+%3XLVEBGS$AGx=I@%}|oiI(PI7FzhvH#tTNkmJYfj~-n zxS-03(ZseEX*w;&>#L$lGnPg*%Hs2A@Dov~4q!|QEj&qmIQ=Wduukjf5DmLHBCX~Oqubm@Yje9-I-Nn{jGb(*m{7i6Sf zVQH+L+9^j+x+ZRvo%ygAfdkukT40#Lu7=Egaiu0j>Q9tV}v4O{y1qYht3}mB1X7n z91-m9>vs43bE;~uHRl{Wj4|d~d)KZyb?V%Eebdf(xVO%(y?3p(_S$of@r`eM-v&D$ zzdb9WZ}b7pZq{KMYgWJ$F6{SRmfPM~@edg!x(huB%#uwtve7EK_|mG`+mBI~KOhyc z1UFijCkNv1lWOxw`}wLW|c z(=_#avWiRl1HGXKO~`J?%|uVS+llS(#(XmcGZPR`;&K-*@Q`@=hRVdvm6S@G4C&LQ zNnWTi6Vfv&Qd&}DtYoFZ;fWd6@gWEsLIaZ zp95+cNeM}x&COtoX%cd#i+B$tvm|69&FD-?q{$m8+9?e&g{#ROuXjnmbPm{jVBWue zxn5bVqFvAy>X&=2>@Gx}iWUwkpcl$?0~3o??;tzoz384?gOc9JQ5O0Kjp+nM`2=#*u!T*v&(pqT?I#UiVv%53h&xRm#>kXc~F7j08Man|IfTE@H-n*MDW`p#eGy$+a zz$S6A8sMY}@IYg=v_lD;GNUk8FJ%oF$c06GrqiliJ21iTWCLPXF3s%?dUNcyZdfJ% zLSBlGFm{JXyPl^ESsiP(spAQwS{Oo>EvS+wPdFR8IVyinJk!2txl^v>%0AiZ+@2XI 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⋘dfLaw^+NzU|&B$gAq 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 fITU2#HaeRdl zt7jqY)SYGr@5p!kCiGW%>&SQAt1hs>Hu=M592hBeHL05=eG?``+002ec0|JIQy8eE z=^#~F_Vl7e#@|=?aLlGC-H`dp(M~ z)1^U;vc>GxhgL+SRw2+Rdf+fouedd$_mbE;HM%&t=Cba7LQ!h_KzI*ZJe^n;-MZB3 zZ%2d_Nxz#hfHxmMuR5;!vg*3Z3EhyE99`XSHr=#tM{@vYdOcErBt=`~g~F#D2JvyW zSn5h}0Y_wHh{{~i4YC*$s9NN7-s}SOv4(e%S3i$7%xEq`v!>CVmPJIrgzDzgoW1Xj zhSJ4Kdo?-#ST=fwqFdpziKpEn$CY#{7coc3+G1Mouoi{*fn7{WYV<}|PcJA)aawQ- z9qLBzbd|rx9xUZiqM;}1?)9|_`vQfcNB6{k%9!V)CNv7#ETx_kX@!irnrh{gog#-6 zczW6}Ags=^3l~^AYvZg`yHJrVw8pOF;sAg-*f5`8A{?UCsrQ!5>$&Hhi#1#+?7Q}h zCIbol^JaC7E8FG$`-vizArK!QujEE;Zbkk2`1L%1hFg+ev@XYOFG+LJp4f%nM0U{~ zwnU|5(M9(z`bMwbPr8U(NY+D#5g<`eYNNmDzN^5Zw2KjS!gLDMjwUT?$0ys=Vpl>ruDVC4-nMUR&OKqIFCJ)hQ~WRb`#>&y1{3p+&yMo zPkEfj_;3TwC%n~>2InRjm{EU&ZvWhD68~uUOC{-n<6_Rth+25?T_+D z(Y8~nESa>R8M11jclzoWOR)yj%?bEhWxWP--`;gRo`q2xA5nV08_g0SC2u*@y0=)y z%v|HU?6A=WbAv^5W5*c`2BBHCWdXD|X%*eb30bJZ3c0a05L)x*!S*bUmJU<(bF1

=Sf3gto-z_S@26L#>}w32#;*+$y8uv4q&O;kLL? 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ð?zpX>n?FffkdK0b8C#a8S4Xl} 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 z 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 Qp#T5?07*qoM6N<$f{{wu-2eap literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Normal.png.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Normal.png.meta new file mode 100644 index 0000000..acc128a --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Normal.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 2617bfecca4d44805a3a51a7aa215d7c +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt new file mode 100644 index 0000000..ed10006 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt @@ -0,0 +1,7 @@ +Recon Tank (update), by Mophs +https://opengameart.org/users/mophs + +Based on original work, Recon Tank, By MNDV.ecb, 2018 Eric Buisson +https://opengameart.org/content/recon-tank + +CC-BY 4.0 \ No newline at end of file diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt.meta new file mode 100644 index 0000000..2168518 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Recon_Tank - License.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e745106dbbc3412bbe43eaf25dabd4f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat new file mode 100644 index 0000000..207b1f7 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat @@ -0,0 +1,82 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TankMaterial + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 2617bfecca4d44805a3a51a7aa215d7c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: 9b3e91ab0048a4aa3a17706a349c6bf5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: ce00d67f9368944fa8ef4de6ccc77bfa, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 2800000, guid: a7467e18a834e4d1390091c8b1ea562c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: a7467e18a834e4d1390091c8b1ea562c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1.75 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 0.09 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat.meta new file mode 100644 index 0000000..080f534 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/TankMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e67e42170aa64aa9a33424f8045ac89 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx new file mode 100644 index 0000000000000000000000000000000000000000..5877b09457d82ce53fd745c56c2cbf0f9e216114 GIT binary patch literal 224204 zcmb?^3p~@`|G&?ti|)Eh%DPEcD=PP`Qb}Z$N(%dkS;B_7joCh3b)`}vvsJ2frBWf< zDk8b8QY4pQ7$!3_vy1J2-mE_Qbp3t4|MT$P-tTkH>-m1&&g*sF=Y3Xo?nF=bK=&Ez zR_~ax+8gH{NSrZ4W2#2;Gz|^3rpA{t9<;B=xO-v(*M=ntI}NON#CYIwo_*{G4X7Wv(c9P8o6z4l z`%geMuoS3!E(4XCeS+cx9pT_&wJ!z-^gUx9A;^8VFQ(5zwy60t7SAv;G%*9!!MkTH zfi8^=O$?VBZvk>b*aqMj?&yKRVQg_;ct?nN8(;ixcVFmI_aOH< zfD-VbF&Z3$AsaXjY_(FiLYDrbZBM8>(D>&vY$GPf9m4YYQSbc&8is834)Vn~Ld1y! zsx=*hckjh`1obtf4QLp;DmZ8lPz*#+JfMD<9flZ+5A-DTweSYEY{7(hL$27@q5(LC z1nd*R8t>FB@TJk$5$=Tt>JK#Z+8vgzhOq=~0A>u-CD7x)AhiIb!GL^D zKN4guRG>E&3}D|r(*Y6v@xeIHel|d>hBfF8iC_;7aPO($>oWyumA}8Qw@2R)+YX!# z=y{+-pr=MZ&UkS4*)7*W@O>l~)yOE&3XrFOukRr{xP!s_eO&DUxc_o@u^QZ_A6)kb z;OZFg1N>2dYT%&R1QY@3Vq-rjG)BH~3|ttq6~q~|&Bm>Ls{CB>k18D@ewQqTgTJL_ zCQD{4Sz_MzXSig^k_&2RwTZ_KgkIzWEX4o`2(O_J4xm;jVA;D9f*jpL zFrGiK@w}m5$ptCv3(5azVA;qqrOUakk%kCTfAf`_?xj*?Q6i}mJ9~N9s>VgQ^$U2e5lKq{$$~Z2?_$yj9{w1 z1*FC=p}!dfpWp#BUxmsefCB109~{7Kfnhba`L7D|CiF!{ZxD8Ys2aAoAPg4MAJ1(e z8FJKQi~Gq&{6prA#r>SLS53O8pA;G>>jFWN|M^Wps?e|ieIZ_#^ix9F?;pxv-ZxlH zJ>b69c#w;JeqV48jkIs?`w!(W@7t-SUfRz!ltn&AuU~0e1DKp?w&;)B7&rSH@s*l)Mm+-pD!C>_WGHOfkG z1v~|E^e>G3-_c+od_tbJz8?*8&sBcAy+MYy#`^+>fRkwSoo%sM?Fh-=Uky$))Es^9 z1P4%|&a1!yc!WG;4aUno*f+=;q_aTxA0(WKpdXk&cm{ib3EUSCbg`lRz9mB#!>>I4~6s4C<4`uCEG0=sN-5 zeR&@G)|drU0f}G)4j=-gn12B9{y(I@Ti*N>8isq+^aG4-9ZU$q`>hKED%b+j<*$ux zx)K2Wpge#?QkUVM=R$;3a91cUK%5V;26K&|zA(W6ouL`lbZ`v&+}S>M_JaAKLZeTX zz8UU6XQTn}Uj-^d&;V&{E;!VBaRk$S4-Be*3JQ5J{-4=spIPvL2I5Fub4B@M; zhaq#T%Shm|-e5$5$uMC!2p6CA`X!)yf{rr=G^iDR6?DX@t07TG^lPT?`2dPKU#AN9 zZvmhieO0p5eW0K-5DgLt5`I+>m_+Xe4_7JQf{ zvHM#bh@=bTVCWkf3}e+3ed1P(pT95U&QKUxw>xYjhOmbRC2Mv0%6po0AGP+?swk2zm8td>DAr>Bs@M22j*DbU*wS~A!Up0sv*`+5fv`@-06JYM|(1o~+74cv=r z;syQ0kj<>YY?d&?agVzvK9ukyx{qqQMg4S8s@a0^z<^l#D@xGwcgmGH{jLCox`AE< zNeabfUo*9vK^5wO0S(wVHQi5L2=eJ;pyTKAl?!D7UFcV6M+RF3)_JM*aLXF#uj{#J2cEuUS0%D(0?_wuNrtmKQLsg&%m3! zL-79@H}_jyXvzTQng1KVx*#|~im>hH7qW;N_kUv73BW@3G3FM(9YihlBt1~^os@!3+UO)9)tTe^_-QPzyk+Fvc8`hnrm+g z#C*{WG>iBTX_ui!9T1B);R!+iD{L)*g{-)+pV@)2{^x;c1z3*zmz1A*`5&UtiJzeU z_Yjl=P$41b_X`Qd@d3R4a74>~O7_Fyyc7(lAK&eVV|mX{$bJ%b=szXiv|D-^!~yzJuW&_J5Ow`g4rmlBM?N7{4Wp0jysiX8m@7Os=*IcwdLXVT1Pk zmT7Rmg!wIr9{v*Mw}euB2d3XZ|0kiWXMC%huVH>msAIo``7NQ?Y8Vq>BK6}en2$k= zTb`?MSl{0pLKA29i}WLq-xA3A7a+eSP7DBn@~k=qLo+seJl>AKY{gD*&V(2X7U;6uOn`1A*8vz*nhCe!}zAbV&yV6fo1HUtA! ztHI`hAh0Y0b^!$Y`{Th9GX(dYHJ$xmqkxB%&x_+<*70n?7KX4NzrKOqN2IAyX7}>~ zExWD@#9+evSH%ByThOS{@GXHoY7JN|`yQVV!AbxPg?)8Of!2`hJ$z>jOjh5kgGe1A zZLLyA`R}c_omXS4pCX_+D}?ku;^6!9m1>owRvP8ch14_&TF`&mhusn_r1aEU@tNRSVfttT6 z*TDJ+#LM?^HbRSc-tN9W-{L?d32IVk#`Nu?Gvt9_(b+LL&p&*iI? z!!B?Gh{>hk0H%O^3|dA73u%2TmOpqY1yS_j&IhkNpbLY3a>(=>!5b}adv~IGE#f<) zjtGdLLA1J`2$FxTpErR3LPr0>H-z}lJGEa9oJ=(nYIlU<<7d19uMh{kH~b2*133(E z5Am}K9BLhW^}g@B?DVg@7kplTA8=v=;2;vUN+I#oaKFXP`ER*d0~S|;2|rWLH*W#H zycc-?EjMbo-{NK-NIH;i*7oZL$|8Ni&fgtOdDQPizpEe6v9GN8=EN63LL}<>Em+AN z0O>*e4Yo8iuBtH>0%Bk?h(i=u#)94&3C=NJ)5$o=|(cS-dChXq} z-0Q(A1H^&af1p^hI@s?&!yN^1kbaE80c3;56a+UwFTZ#j-k|1ZV?O}&+_T1;0A5IW zV4!Vgzkay{2>Qymwp+ZQpEnE84tRrXHxT;wd5i`?kj@u5FNZ)v0t_}3pN48aXRH}F>FtLzPB z4d~T--y4~}_wPKw64Vo7OFb8WhBieF0O{@9+zTa8kbA$p#190$KbNl(FBVu1LI%cw z1Re>#)?f%8f!=+amw%9VA*8En!X^ELPZzu4Nwl0Bo4Z4~}9kZZl z{`t9Rl?T{84dO5qdVU7MQA4OBF7${AJp^HXmwpzoF~qi-1uby;h3(Zue|HdfAyKy3 zgXuPOK$)$7v$H*P_J1e~0gI4JLP>Gp0|u0Bzl133;J^?Jv?(B3?WquN>M->eIMq{w zKyrQ?rpAI=b(s1BG!D{?x_srtgFyr2fzVDV;KUGXKiW2|CjZqJQO(>>gK!^XzUrO> zq?-XT@WUe09Q374vwxQnK?K4LR0}1S(O+#2vcKQ<913F^j*xI*I|v?!-s+C?L2vQK zYW(q4*S^u=5bW!#3D6)GAZrhYUV^Oib;tJaI)R#-K=bGFl^XG&;s4_>x(VPQt$=_I zSp_nXqc>RUfMU!~Cy34~E7YVj{~?7Il=?9K_3rqmy4IMK+OJp;Pc(*o-Y8{X-lKxj zphn;R{eN@{_Ovh6_~Uc0zMDb&qFf=XsLNOS`dr!fO$NOnULc9JK4X0Txef_bK3><~ z!C*XK1vCVCgMDnCk3f2a$fknYus=Q}Mz*;%I_KkS9*3O2M$Gt&!s zUVZS^**Cf2&ZfelF9@zYWtACAK%gspPpFEN;s!}edU<9^B&R%>!zMBf4sK$9lBP<> zK5xL9EPlxD$g7Up+D$ChMt8E10Tnav$d7l4cWJrd4RgJk&fK&-1|x;^ z48g5L1nzhrxqTPgtO~*9?}~x3%_Wmmsu;yoP4w$t8l%JG~A zt_F|!oQKGcNbY3?p^MLHh0#9cmkXAZL>?Lm3#@62z_3r{OK^dDZlo9aLwY?wh00AS zS>&k3)6%~zPZFx#5!N*|q&I|aNkfdGnNbK`I4G<8Bj?lAbW1$Fcx{{+mdtJSa6vw4 z>>R?sM3x27RS9DMo^Cg|NLSS>NGdm2OyzjLi51+@Cq>ZEY$>ZGag_c!uS6Yo7XOURFWDJXt?^z;u&a+A-+sj^)~|6A_$4x@GWy4KDd7`8yHUuvNDmtQ-Ij zh2eM2gWaw>@(!6VM>sMBBi&fy*-nd&SF_UTEYS;Td)j2T-onaAVl?6YU>LSjaN$KjiE$D>jX{UtOH}u$Q*`V)ONohA4t8U^JhJF-ZbD}qkS6D^F(Is;wh8%C=LOdD&enN?aC0ffCJ)xUkZVf74dW+U! z`kav{k#Gr3PKs=8C*L+M`hI>sW9PjZ(Xn*b*CGRnM4~V2DX>C}IoX`Zh>mDlTrD)jk)1EUo96_aZR>nQcvu-lcAg1m5zDm}tGr~kY}R;0 zb%Y$X?NP~idiGYiG8uG1D=$#)XRP9mbg~KvR9uNl#v?)+b7+!X>~5y1^mUX>IoFaV zW~8PmDvcR;S}L#FMOr00MKfi!R+V<)jm-s&kKywDJ+IP~b~bXvWqC`NA~{qRj6vgS z@3U9rjzerD-IO~VOSYV=r^gf{KgrtCmcB@+Yaj?+dzJS^K83#2Ox!|h&nLJmmlJz4 zwXKtUM*RGZlR`#Ccn*BDRi~s$3)7tLq9Foqlf3x7apW+6v89! zh&t+!RZHHXQq2qVXOenlswth_7963_mqsj+j|;fKYLQ4@FFIjtrkKJJT$mVT$;B&L z>+TgAtfz_Jj#N-LF)ZJdhfb@e$Cma6qD$ep(8#j^Gsxo8=Xy=A1&^8t7P%@$kO-3~T>FF|diinr|DTXZxKPn*I5=3=0Jt87iE4+K3T0g|mt0`&i zjS+rUPenbX2>$sYifaoalWgA8SMWIH3o>yJd2@NUE00;mlJ5(flyd9(r7u#)WEGZA zlAS7ZHx(0+n$H$?qQW~<(Hpp@>K$29=G*K_^9S;Bu?PQk*bUVb?DYG3uYFVnLd^8b za53ySiq-|Izf0ah&z%pha?IaZwrJ%jJ;Ghtxo|Pvom57YuSDW<8LBy4HE(|JW0 z%et#d53XY?GS99zA8-^#eV{tLN)_PNj4T=1o1f7Q<7-)4^=hW{{kgRwC!^(Bd`Dgq zb0UYC!=eNzZ@gtz`DVGxN!l^YBr%VfL$}*p?yS0?{V2hWjVx}Rt~HgXIDqiYdPYb2 zD+??SvPq>W3wiXrA^8VFC|&g1l%AoKl&8`t%N#*=4n5tQR)=-_;1$q}Y))KmA>*y^ zroR%Vb80!dA8cMvpa;{$^AWuUd`IPN)osdkHeG}&i@N(PZy)$(2rsEFVyR{-&&a9R z5@a*i%v-Nisu`JW$cLhTT&93_`;-DJYY=w+sqXuI(A z2|B7G47IL-9rir9>Ov5C&-TbVc?gUOW-kXbm7#eLQfiBb6G9VdA}z}pR4X!pZWNk+ zXIBX_AyxTYa+07dP&AlP$T^SiIMQaeMD^x(4l|GlA&x>P-V1&y)uf3~JXlKQR_|#I ziqf?^Oa(29%YO6zH#fOUbum};*lU9hgl zv@|!FR=6v#zp@wm1gJ3X@k@wM2ivO8zpA=eZoV4bie$E5RXw1ZjOfkpYKY}owIp!d zRZDw|6qn11_Ab0zlda^dn~anRg{C)h5N!)PdjmNwddCpO7Y28n9h~cfoT7$(Etq`0SZtg<~k&#D!je z5zp~&OUql1lGFCMu#rO7&>liW_sGs0S-iilMfs4*%);yW(kO*kVXXwPrKZi&DB&BC z7T5mCDJ|}89{n)!tO&JUWJ*xlhFhtcW!_nczqo4=MHW;Aum#V$N&88OhrKYESqlO| zMl_|#sKmb$YguQG+i32T+a9qA!=GanwJ)mO>_kB8FdQe8%1{nsb7%ADA><^a$vaU@ zq(CG*&wqqYlJJ(_t~75v3Ylx=Q?Lv>^S=@kO^`8EqEL1(XkzMF?&z&*X(WRb)9g zMYQcWjks?DUC4IH(@EhDFAqq2+$}t<98?Y@6N7C*l(3*j+ zh^=@qI7DaiupcN2atl3B`9_%&UMM*yW5;tMiqKYh!b!JaS}El0rIem2Fwx1F&T*`+ z>vU2sR&Sl+lLwQ(Hy4G-%ZW!vo`~uBVAK0)HnVH*K`mZknYPk4Lq^V5w0a0eo{-k$ zlf)jRBDhsvzCxkd%Fz=A$H;hEubq%h>G_lt@eukAxI&b~4q+zRC?0r_wvK@d4n5d_-=Jk|xgqLg{LbMd*;w~BU z?LJw}9hNj0V`;;&FnuZ+cbnx*ibOqYt|_ZH``sxi2)Y?A2n&-Ywa zddap>W}{U00?gR_&ZRWDpM-Xn-_Sd<%edFC;mIJr(`0O0@1G<=PaP4xGE)9ZSOCvE zni}3H)B8g@&!A+ti^xW+-1L?B$)L`C$-F0{8gtPn_@)=>b)B@;B{pHq_F1I4sw+`G z(;Bk{{uc!{&GIq1ZzR+6Y7YF(53ZX^Ie{AU8cDgRRH*opA$g=84>DOHt&kWZNExzE zb*;D9RLP&~NCFR~bSX!^TNy%XY4wQWI^~%}xM{;o znLdgS{^H<;`HUx144AFwZfQ|TXD48nrbv^ce5g9iBXm-p3G)bix|Pyjd<*{S1(q4F z${rsX4OfPoG>&C7A2psX^oHl{5}xFyZbyoy;5%YtayN5K1I~hLPS^pwi=tKf_&HZ) ztTN+X6HUtET@{6-*dbQZ_|M;$$7S}&YW*bC*Cj_S%MY2<>qb?I8uo+>jmzr?(XUy) z5xHnPkU&p6CW6J;pUMs^D92XO;yy+Sv(8wBE_dq`>%gTl%Q0NzuoQlFEuY}lA=Yt1 zqhAO%*s=+(88TUIEB`(J&Ql+YnCxf~s5Lp`0?DL#} z+Sc;X^HE(2!$IjBo69GCI(a$HY(>eRG4(w9Sk*=RBgt^>*240ro|F8pEZZAQd-P2> z_o~dOgw%Vb$IH)E8ab)8Fzg1Cs@>{iicq9%P;7}zpoQy{#pRbv0`f?L10149MC$;D* zvvwys!7dVGC_b0@&Z%k3*B2dIBAsE5=#BPrhXN;$aMJw8U_RiEV*qin!&tqJ3p>-LOVYhe@ieXMQLS9 zUJ@xdDo&PbE0-yPbD#0@q+?UauBPEk%CnQ?D4$mmlo@ON;Vt@b#taYS= z63CS!li{mQx;jQV_pcJAfK{ULoAACwEFK3fAz{M$HXV8IQLiFh>RUzH_(8KL2BSjw z&(fc1v0%>V&2O(zwD;|hO^f_m5X)HT~DxbIdrQ-;&QEn5*aGr&5n~20=B8dqn&E2d-CfO-b*b+ zuU;tl^;ye{DEApD#Kjd)gYVlQ44Wc4@!i<%Y5rc$Sn_Rb1N)Q&j^AD^(-s9j#@%DA z5X_@rU=&U)5rrsK-S3PfT&W~MT!cF5(QQc2H1R!0Zxc zoA*;c;^@$_C}()1W$F|0Zd{&pk!XxL2c72^G?I8OruOQeGx{<~6+m6Y(~G zVu@l{1nnNf3}zs0zu{$2nA{!u9{ZA;AXhA6vK7A71+t|gL)k=Pd_+8bVQ59^F3B0q zB6g=#N=lQqRMC0yp*&om7W%Ihn{aorr`j=y1DXUaW)6)YCK{DyXA+fyr@ImBoQze= z*>B=@pqdbt_SZW1RHLu?Bdy-iZb>&M2_7u4Jd5p|mn7h29SACO6d`0=G7q!Mwd7>o zh{OIgvy<=!chYo5#IF2E@yg7H{xstQQ6FNl8+moq$O_|?F=w3>@zM!z_lrtm?3B*h zQcFSTF-ZY^p@1r3^N5T#;t@`*aa#c$F28TU&O$jXV{JvdBWg&?&;=e+BfWf&o73{izM!mM8LsL3*#a(w%xmj$QUT&l5IwRjhPCJ&HCE z`ZE7ctxwEAqMCMPz)*FS8Csl+_&6r%p>%rHaYm=ODwZKyrc=*b;)piDCZbdEr*NcX zW}&j3luDb8?O5DoVvFWHaplZpByg?@&Kp*w!XBt5lGh;T8VF-$^IM8g{LH{vNCy3M zh~hSRwfV$|`?x}>D>;`Sk}HgOp{6X6nS>NFnq8+D6D-0>lZaa!>Ya*dO%B$WWR-W}@nTwBS@s&<^iB&ZM|kxNN2IVA z4|^sJU7&Jn;2cU6pEUZL5EA-|NHxyh78vazo}yFGQaBRzR{Eq!;HhMuW_h&LQ@GvT zZkijElIus=p=Y;sFDt`f^x>uO4}@V1&i!a~Ju-7RtLRqdCOo@>yR0@tzZfH5ecb{#V#>~xjy>5PNthdgfRb* zZYM+WXxh_4@lb72RM(Pbc<(*Qb^i269gJ)Pla8#( zaSs@C@U_8Y$p#@-p@jzzkmsMHJ8;ZhWtKI*ZqX(}feVe*fX^_4j)ltk46ceK~dsZf;?RaL>n$sAJ*a=&Z zDhxQpX*f)}dwWq;e7Qf35P!Q-(Z;1ZmCWJAi;fXO%#w}8h#Ib|fH+x@FA$!69$Hx% zs~fMybIV3@o<(NNTF!cFkBwqKm4qC7UGPJXf@&(ys=!mhj~J~V<}bg z(!%9Z;x5*!mZfDPv+C#O4lxhO38e-*^0^uMtlXC2WpMw;4}&dFS9XY~G|%2?>5T=J zag~reytd|922PF?Yb3mQB0gjk3omoduLg1W0Q-$IC&w(ylJ8c+M)FO0Z&6MDC5C+J zW=+A8lTiVWlf{2IAo0`bFO4&oht@lj#xYR$^`5rq-r*XOjOlCx(VeO|5Z^LQ=&wRM ziKMCMVqRwpNekJG4IIiT)(S9T#=&Zhr3fZHOEis^gBA9Y&~=*9QEbaf#mx3sRz2>B zB=%xbT(2;>iE%;FkexHX>Nt#RSe4cBsXHGPPxq{eqBoROrFIl|Q`x8l&ek5C_C0J3 zQP?9QkS!7YlpSE9wnvO!ow6Bi|o5(QOmEVH86D68h z^EAiQ>b<%01VgA#t=VIBu(b3Jw`(r{IB_VY;DD)Bsk!o)NKZR}tTaoc7VdsxKc?UNSZnFX zKBZ9Aaw_FXZN3y+3Vp#$iaeq`nOV22&;ivu zm>s;E$)Ry4Nw?Xdai6lWL}P_SFJqdg%Aot*JNZkvOJ#O6sV+g zJDctV`8e+(Uv8h1ImkCzR51(jRQbq~ZLAw$Lq4YK4?>3pf6SSz;^ZPx5w!pFpivBakQNp8=G62s0grE}AC z%s%O}aFj^DsW|g$kqPpBTM)4*`&Rp0t&STAWUQbuP3+xyrPsB{qAzqOS@!LOtXnJk*Au#uENjkGEM7Qpm!U7emK?Q{AniPf}n{=#L;5q=T8SN z*AhwnD?+pq1a7>nNbxX{CH6=O0oTx0tnkwNi#?B)tJSi$Y@=D|(HPrMHrus+kB$$G zX`kmW>pWQM^zy3ZGvoS&k)ifpMl~c~uQL`oU8Xv(T7*XNr4u~IqWNaRJ?w<*qTX>$ zv0dBV(o19YB?nvPpNV)L)UFv35Pq|(A&5zr=e5Xo>aHyEZkQ$) zh!LTM38do{es9^dN^uexnr|iRwU|zv1+Jecxe~oIu~OUK2MxF-z0?QXuCy~*&w{#x z4ZCwcWwMkpSX!$TE*g1;b2Y!%h%Km`mSp^7pGe+)(<)Qf9)2pCO3uT6GP82}*tuH7 zFy$%7v*s0B8IWD08`_c#Tt7Mco)7oYz62V?FgBw&P?e)DJdIp(s zuVyouhmoyidpAnq&2e)it6So(j$)us4|eHb=`Qm}j^%iHxp zDc&~NA@%HDs+)dhs$J^&1yr(i=NO-^P@40Nj>hap!BWm`k-kBY!iesj7&JCqzWoeD1+)TsmVY*yDc=!QjEDhk1BtBJH49wB;PEH)it>w(p3h#kuzGc*7JbmxLqgKCDBgE z%htrRb%~Pa7CXx8?}x_{U7}eH7r@k{-W5zuikF)TI)*#(UNxPAL|!nQace_6|LuF| zqV`kvvXVs507zZ*}E1R*BQ2 z>}4kKI}8*C<&7~!lq)I_9am$wK{z?0UaRd!s^olC`Blm3@!9WbJ+2Ym@8!1OR>YVp zSQC#f+JQwS6g8NnT(m2s1ED`P;7eRxhbv*cc0(9qsIR?bDXaW+G`M}q3bO+jWrKjB#C zr!Ae3U^U$7DHnHzwHIcOq(4pd*T)sW1KQhn3Xg-Emnr__wWo|mqBAZ80~RyW5(@!@ z74!k%T^(snL2C;v-n}&lZ;Cw>noizNK!=`@t|)(`j3KtSJFJM|cg|PrsI$5Qs|%Mc z6NSMMNiahfj%<~KU@`Cq!CYcgRc3H3^~LGOHx@M}i|g)FV@iuhn!IyndF#RE+%jbs zNEdT^gG&&I?bsy3iA39ycKgWl*}U7OR-RU0z6RmDnp!Bxj~J1wfBbcL0NOJY)&z;5M3 z_Tx6L#d)JhH>@Ufts&M}MxHC;uISF4{mHv9Hf(S@x4`l|0bzE)A|n+6-c;6@^PNfe z5GY(@yUZmsi9MeL~TgWB6aQdH=< zZ0q*olGxbHbaIu_uiYaFI19QZx3|l&JC`RaCGDU&A&yw0dAB{1ubAMTUEZX>73;; zgMb?MvFH~*VGn`SPqu@hM&1Q|*nkf=11J>50h@EqEeyMj&6oFxqPdbVJQ+=y5%YGLZ*uH$Oexmw!a}~mGdjztm>}?Cuj@TDY6Tsq zSH6t?EHTVUxrG9SI^Ohkfneqm)7rhL%&uXH+x0ZWL8q1>ffHHR(dRtE$aUwbX@zNl zn(=f>N&EVe%m&4Uz!F2m5tY`aT|3>@d-N}6rGouwL)Lm?F$8Zm*b@frg1QWM6jS4p-pp=9vz@pIO1+CPpu z_TZd}mxf#Kcs`CcY|WhUr;n~)c6mbVj@+4s!Xv0Z$DcWpJ4auqz;@M!EvGL$7Fg;5^VS(h3+?}!6&qi)_1e-Tog&Z4X$d)&O=*80TC{tq z-HumA=hOC|yS;n4&yGU#vb23CeRmu0`tWMSqqJDpHg~wZ=Xme5TKt&6BRSLRrsSJF zvvml#U`%bC#>;%V)-WJpp-bc3^o-)^?SV0J%i5VSVb774jXG@NGdnlo1(WQ?=>q9f z8-y?+mBh6`N?!Jo1?4jcaKXn&DGZv z+OAwZ{&f7Df7G|^ivHh0R}2Q}6s+;Of9jmCr-7zf!CKs(1=enzr|ExAyfXIC{2!@r z@22A)-(4~kUq@L_Ej@T`S+d#UJ+=#XmYxrJz!)^WWsTG0H%WS3*R&#AY$!vQoLV)? zYnZi8p8vWfXEvYk8bvWWA8-QuCs5zSYepwqivF6L7GFHA$tXs;=&zZ_cNC33f1f(( zw&$c<&N(~F?$Jj3dQM2Jc)tD7y`<@Fp4wRzId0uTZMoS~&a{THQD)CKM+ZzX3Jm0#^9$BHjM#GK!atta zH;|__%+byqJ_jy+iTY#2mLtz6UYhq}p2P4BTaFo>y*h2ub^A#-x14N!cX95+>(;KV zo9RQBT^V=Md$r?*H~Y^&xV+qNkDZ0`qSf@~^#E_)v%jx}*?JSx;*kW@DBY;NXA8k=is0 zYnDF*jOSY}+^@%T(FA4Pe0EP9FS}MhHLO^-rZZYXs+~>mDbi+ko>cXeXpuXQ&zRY8 z{;$CXgJ%w3yXX1X^Zo}7{v3C7jpyaD=k}~I7`pW6THpGyabdXze+;)>v-`}c6Af2p z=-*hsaq8RgE5nUWowoO!yRhP=!IG=|Jy<9=+@+1+O^&iN-Aj@Wi% zUGUybu{+;g8xwrPX3*5PN9OiL!?iviUwIHx$LQ|D1gP$cshp^9y&B zjM#qv*!$b=i}^d)Ls#5CTI}n-u<}F6n2`I&tN$Gs=jEH040i}TR!Xf~#4}|>iUfgi zYI)|fjkthBi>gLF3Gu15p70>Ul4}P4u@)Q8{U5Y=)^m=*komT2_o|2XD9S zx25hL+mH^#VU|5ZSA*gId$e8NRmJbW9OIaLVz!<>^v2t0HGaZMi8Kmz3m%N>nGjZ zoOIzGV+a^C+K)?PfqlnX>pWYZwU&PA*d5dt!$At&{97J2u-!|C|R*`UK!PR!+!bREm5*%mxmX7uif>r^eC?DqDk+R+)am# zFWftUH7bRY#JyAcxBr66&0da+4mg(PQfpM6@yxGXc*?+%i+1ZgEFsk|^w&5$=Ypwa_l_?1 z#hS=XU(SpUq&iZ$OHss}-hTe++0O~|L=C+lqYtkpR;{^~sKV;iQg-2F~t zjDsYto!p&OVjhtc(JikTwh;>f-O@|2w4EI$PWK&dy5=wLiL(%bbyTM@OgQ)9 z)$rx*$poan$jr27^)s8q6xblTfW(bsOko^gE$Hc?R&f4=wOhLR#~?F0wGSaJ-8(`$ zG_%~ouyG{~4Hirdw}+}v91Z*P>Ne8_#Om3XbuBDO*+jY1 zGnkdQz-Bq?;{$ATx8lCt7$2$tl}(x2vqzFWRF#k4*^%yK@djxsJb?ZKq0E9W>*A#| z8+SFs+?bh{jH{MrI&}$`TXrDLts|xbiNr|!l4RoI<0Q64 z*XE9Oi7AP7ZZ{pLqWovZNr+n%(g_HZKHD#6p+B!Ng^~k9OD&EQ%|2DDTylEa7Agms z*Yrei9bfRudW0Oeck?Y`NRIX9!C^WbmEc-h0u|?hckW~*GJ$ub7ZtuuaUmRGg|e?k5Wvp3=7v_Oi)9Kk7HqU}T`a_QThy1I zh|y)lYL^WP@=X#**H#;nixGbYXVpF`(Skm4k{%lQI&W=$nTS@>C=J`hJ|2C8w>fCxFFVllW0MHEykd#@yGj89b~rM^)zTPdy3G6^0LkV+;$wit&uL@U-7JbQIEls)!id=?if^$(QEarBHmMKeF9s!$uWW#2V|qo zGi7LgX(~g|a&gSQlH4}!4Z)TOQ66(cr)kR&!SxAK+|JfBw(^cgve|X7xSA2U#_gG` zy8@dw_+MyDxAxOdk2}k>y0yngRih6^9&E;Tk9)dH9(@;9P#-;}d-`R3_w<_Zr^-J` zS*-YJPY6q+8SU9Ry=l*GrD#{*jd}XyVT^z09V(mhuCBhkZR952ahRjZgEfO}EI%|2 zCjYZG1YO$_CJYO{sBO?aq$3fMN?;R8O=2g^INhsgd1@W!QXw!~jY4O`;g1Qyj;tcx zT|N?eFnJ;SmRsRkRx6*ej1q(5xKZZQy2=vJH;{2G2h|By0BjnO);9Z=BV_>+_7`@( zLzch5g1yYU0Nw0QIXpi)Wo=qXWtv5M!zX?l-Z-|J0(;gZ1 z4Aw^B)QgCf>|P65egs;k(II8&F?Byx_}FN@>J@W(R&=zsT3t3q>?mX>cwu{wwmEt+ zstG1CENiJMrNgZ^R(^GQhxgDZbe#_C$b^iO6NE?H=IYh1ph=amW6GWhyaM*}!!XrL zm$oF+0|#A16KXoVg_JJ$3a4=HI%RE<)=SCe*j*)*!6DhVOZ-cbixnzaZ~8uy%$DOu zxTlOuR>r3FnmDdtD&@^mE)w>{w#x>aL_Xg9f*u+!s|lY%4{YD9OoxR=^$;6YRj}Fg z>>ZtYbj6{p*0F-W@;P>@jsorwm}^9IwiZ@=AoN)Edr6_9gxULdTbyQ`@~!n#;>nuu z=xmB+xiV1H8zIipR=}9+TQwSnP%^Xst_%?6!H7py_HIx8+zv#!%@ah`*^xgT?{M^s ztk0@-pBAX7i;k5133GekRO6J)$4#Wr#`L^iT*vFOnvQ3VjpHp2v$c9(q7qg<zO9Os z(4^0>KJ$1a<$>Jm24g(J;&G1^b?_DKBn5R${mZ(S3#0fMvE@C)bUm^)yy5+xRI@!r zyZ-h|EOIlg_w6}KCWK8tYZovyx!v3CHoEziU6?OJ=wiev?Ad7}FVBd!=3YP{>uRR( z#2stXRiuUGo%feI+)SHbLp5VfP3LZUE~)S65{mTSI34bMn^T;zEA4fA5oJDyOy4j_ zOVa!1{ym3bha=`Yl!}|2TG?FuvgmCUj!~iTnk}SDyyEnz#NZ{_0e8bv+#(OP+3mls zZL>n@$*x&GeOAcypjK;CO}USG8SQbli7eJCqCDux4%O(0GuheaTNujba=G3CauWl+ zK%Q4nSBXJ?BD2PgUc`~RJ@2hKY@Q%6S<-$-u#4KeoSQBW!lTzIpSE$1R`!k)RveWS z2s~ow<{j5>AOEoV6->{SL_v~-`H0m2N8NXTHI=k&tEiwTsHjLw?5wMTib_vJR8~=< zqM}j)BBFwZ76_086{JXsiYqFRh%E|2L_s>CBhsbUKtKWnNJ1#-{3n#P?E1dDpZopS z|Ic;hv}fj-xo7Tq=FD>@=OFbkIJhM{Yy$7U>Ozav21@C+isPbQs?vFaeujvoNbx>D zGU)ZZ^qd9l$Q`H3go%2F>1%~*b;V+R;%Hz}H>)OJcd ziY!kPv_InWkrsQp2x{38(7qKDRi~l(g^cS*-e*zuOS*yls9!mK@N)QI2MYxpg5&Bt5m#?bld|hTlpI;?{+kTz@umCrEtyR43 z=(;O|D<)oZSDlWJJCv)27_3M?cl2EI(!%z&(n? z#zUz|#P*8~^@V&vh&n~aCtt-I5$&(bs>+toB7r#Z9k3htdIP1@x^X9-uTQ)LKME@^ zttL75ESOM) z%Yw%?@U$U=os=Te50%;KuSEmJ@*iB$z`SkT#8BXS1gtj~T43lc6VN=id;A@ck>4l1?a2(-JVz294l&G?jyI!fuP0Shi>kF`kJ zD>I*R@!0_$eR~>;`dB5tU?rGIfL?Q-vjjojdH5oYnh1HOPnQv9hNI4@{1#OStyjr~ zkky^XQq(3+(^0(2WvxmRe#Pkz*#|8ew!UqT!p!DcNNTGj1n9WkC5>*yceU`GUYRWN zLn?5+R6eN>b#KSEBeMchYwJ#vs{+C*;&L_l^8KfU&*T=kTb%L8li_vKGqlRpq1k`u(cb7|~#a1*33WBkwQ5Uj~`E#8J2HB&=nY+}E{YLLa@Ac^72RzFc z#x{{ps|+Lcs$i%Q%2}h!z#=>xu5iOuIoQ48BlXcV&CY5_y!67C$i~kRI`QZyGDSwz z5U+0fC=OejU*lx2|8ZL&owrzzO7BP++f+rbsvK4T3nEdsxFaNF`iLvKKvsG5UA;}D zP+9YR6D*2b1!aXY>8tP8^!aK)I1Pg1QQXzgc+*??>I1HP5TwRCOS3g@k)xr|d%YcYooHylIs^dEX>Y_S^{9ATxLbz64_KOQ|KNw>s z7U}7G*b3$P6+LBsmCJUl-7q&lYZ0`b_nf771YN%-N;b?sPXp?4+w;WevL0<#*Ldw# z71QFoBsw_$sWYbr%}lilY)KE+>azC9J1ICzNFRamoe+cYC6bL>nDSHe$r&f z_NP!!Yg|NwZj-uRNkpU)^U+%EK_qH}&MD~4@TLZ93(s6~{XuRq@(@0qh*|8G6QD0} zP#JzzxtraY?dMsI_bO<*07YJeWfd?IMN3utceWx`v`(hRQ$8?qOf6#pTPSOfWj;mj z)s3Uv%m-nU!o>YB034sc8|V~L>b}O15krV)t+~Hs`|)TUt(XcO&L(X9)2>>rt^?$v zhpGYxv_85qqL;==3h+^at$`2QV3qCTaJCK&b<9;zWzZ)=RC zrrW6emJO2Z?=rF4X{>3BVBN=WC+J6u38>4^4bG3ob?vr6mceV; zf+r@C^ViisErC$eu@VRgK|N%imkRF;q{}dKBmNvj=n$o*nNfexfuov_-kHTcRX`nX(iFn zV)4o(2w6Ypih%#1QS))t=@pb3mXoRK^EZdM#b=AFX&j<6ZozuJcZm4hW247yu}6gA zZaerd)KubSLCDmrso8<=@WGuV*18<*us){$Ey1g^y_vikF>GDzoD(hDlRJ;BEqWsF zC!looq6+ZyWe9CiFdha=Q_p#O+`6F^nw0Ij}V+v zc96`nQ`yZ&68bzXE zgq||u3Y-_*qt7&8toA9q#}MRPRLnBUl7yzWNBZw}HYbnfmEu2?vOhTcd_bVBkPO>~>V zqsJJt5p|d76KSwmXpAw&(ta!#7(7ha+W0`TE_!EvHVNX%v=#QaeR!%;eBD_?mfBr? zRiWL;KDKCb^mE7#Bgzi-ZG&+dbb#pXMSXqYlF)jDc<^%;C};|osN&q!D$>;!z6qN1XKEdi-Iutb)tqaJMB>cGfYzd^kg^754a2=E_m+!LdOSaycsctHA2 zTC{k)u@&C$?M2@p)QhBqm+;i|kA)H-VLwU{wR0bKF&P*IDZJ;|_+oz<2~+;+HW<0K zntqf$!b@aH!LrCzFVx!D2@Ub}iP&R|BfiI8R-PSIaioeXX8 zR<^cBV^@~|UcH^R)LW~c+sSmw-r78d zZke?;p(ZXO20EbXCtn@gALLDI^rGo|(hN6{Bga0_xMIKII;@qJy=k)zdaD{sZoEQr zyh08qbC#B~Y`h|LF>9ybK(>d>YY(+p4{RKI_110ofCQm_1W|#w3llqO2Q1m zxfpka|#`hb2j?vC^X>lY=(W zU!D3&k||ix3L)jQvtsgT-Y+E;brL~2u4kOsneL;8`m;ohwGw!fQIsATTZ1~WF3q>{ z&IEa7r3c_Q=!iDL(SQZW>^5y8zU#C$EiZ%iL6=sVK}*x6kz3db3YE{8Q64ykzENhS z{kR2+j~=OzcCVOs!K$6z99r{g^C1Em4=0&0i;ClYys&sz)aQ{LNkZ!+W zCgKx6{JIYEhAzY;%F@$L_{g<0i(T&t;yP|qY*^FNSrV>kD2tpk^xmXbYdq7>YB|JJN6Cjord^iKe1o`xGahm z;!O*xq>T9%vgsjBkRXSK`?$`bQ2X9rEmJ_y-%3uNFp`umO&R>9g}OE06gpgKVFd!2 z1dSG@Sn2YT$3y!)J?~RP;%Y0pRI?tD9*tXhM&N4(S-;b*u=-dB%F>{f@Ug5=GlnP4 z!@O0WQKAj5*DY?+m8{p*tk-R5(IvO&g6s8Vyw-uhfcsQ(B7nea7sDu~}DPL9qyMj_Y5~_OrUAy_gop$84m5EK4#@qBiTl;6| z(@G=Z9{O6eH{LWkPnwoD&A}Vh;92vb5>Fb8HXMw$?~eBA?pqBi3)Y`#*2T5xdbC8U zBd}S{OsaF2M@8EKy&d=qLKJ(|0c%4-@v1zOXJyRsD6dRobQ=54cAvN$yUZQ5eIA{Q zOxldu%dtbP=Xr(EW)0e<&jmVxJ%Txv7WA{=zVW1AUSeevJMC4phRgea*oJKlyWoA} z^EN%hR?3KKlJ_ci{mz!wa~+K)%~ub#kCN@bI=7)K2FdFf0T0n1sWuaxgV~7-EpQq2 z4Br~)@F(CE2$Xd%vDsy~;7XW#mf-G{u0_24V-Nyp*z;bc_ovOb5L?Oihm@7deaFVK zn*{>Ta*{(njK(WsdzwZbBSp(cg=YAwFB}uVKl*#`hLpmtD8`~(=yART>O*SXBbnco zxCTb3fn9=HuyZ9TgB+ahs{vh&q;}tDgR8lXuAvJ40p=A$_@QP??QI`xpR3q8e=ay=-YSt?M&&1v`+D@b+gp;wNAZ7w@cPsUN#~8!(1C5fk z2S!Jw(jq)_aP=%F7+4FKkaj!42xGOj*&q`TzeF~*+Ynmn)ND%fgG;J*J48dYgt;bc zW9Ocr%w&^IGUPXvg{C)Z@Lpc%$2IcykTPGLmBo~pJ!TVG3z|!rt(17TJ|@Ge!-yV1 zEt3>YCJ8a4qqMp%kU`)^^QbG$cfd|Tku0_ROR%hEqMcf6;Pi`8>AehJZ=Etp?j;r3 zae+H4CNfwf0J!_o0m-W3fN6D4e(L?sBqE65kYwLx&>9!vW_g{HUx&u4Zv!J3u#2pb z-g`w8J6WTdwX3$97QZd`G!}&En7UDW!(~-EFvy)?_u9nKWzH(Zo(!GXs|coT>xcv< zsAa$-&_Q@9sqjd{^&EW&>x5Ae3wAtK?Mm;yITUzMrMxpa|3v~KS%&7@MdWs@k!>}P zXol7GhB&KcUA#SD2wEK7c)>?e@?F9`N)a|dYcLHl>=sDZ+AwrDDyIa-Ef_T>k4R2n z+%6U)3*V<}LW#AUMpOY@?3V_`Rc4N)C$o%o6Ee<&TWX0W4D^#FgEd|jv?hNzOyn z;ToOiT7o=?JZyo9cYh!2x(PgryG^zhQB(Dy4hg(MWj?fC&{_MFTGZ=T)hZ@qYKdct39vP4 z0(|q8&nNb=x`#U;-A0`!$W30MVfop!+#fpZ;?#T|KTZ4GOZ421+~{lx?&rQ8)#knz ztw})kZ}TjuK^HFoUO2X$`d+ktsLwTeo7!-O+YQ7*b#{Ymk%6!VZ`1C?xhY5$?rZ57B2urFU8)C=9FI* zVzzcm0`5G59Wcu@%Om;94JQMB8j&?oT!s7E&k~mhz#D1QO}Up~`udQnzF-Y-kAX_? zQxo5W1c_=Z|CIjp4LYyabsEvVwYvPl<>SobD$Iu|_2W)O<|`Q6ak1iD`@k*i0H z@eJFjRqKGf{8IioCl+`(AUjSS;cU(u<&<)oxVNrUz^L|PMh`U2D{nLECM+bQ5|zQu zOBtW!Cs^a;4-Hr)oy(MX=OP1Wl>rpE|4ta~Bt#@gT=zy($Ao)T>Z7Y1diUK>0iMNT zRB*(6&;6kLxZT2ymf3;)bwx1#GkMPv$dJdy1iDXjL?rAqBb1|zDY8WZeTKd~dIIb7pJwu?ETP!%pI*Y>V?KaNIvJ1K!YEl=u2o~ z%z`104>ahUlWcKX+Mv^`+I}+PGBk+LL=1$kAl65$&V#-#<@H`91JjWKk$D56X3q`C z(1!>eORblwuPf#(o+wI}6Fw=Gk%iME#$mTqsqUEv5m}TIS@B(nEZ8P%j-P33BDC;n zk1?H&e8NuFsg)gnGM-ic%GX&9)RDP`pw%;v6$3b?S=BoC32vOdgGP@_gX#AN-Eio- zs{(x)_9up^l5BGbLFbjquptyV;#IG69~SL|$b`SNWgA#Z>RU377C3> zV^LUuAviONqHGmwXvwSYk`Myb8ROG`S{bS0W{zyWOK9ljEg3tcT1UVDJ*dYQm5kjK z##;eQQjvO5dSey*iPItY&|I|F9aUIv)=dnxBk z_q=7AU6%g90EkYg#*eOWwv_$AdC5CEd`{m1A5kkkUgSD*CZI*fZtL~8nWvsTr9D5e z#<_j zxD&@#*WFleSwK_68+gO@z+fF6P^iY$5eb;tYuy+kcOa$9NH4|bl_9aNGqXpK2j(7( zP|xEz6v%a%c-@H@=n`G)Nf$NfT!mC*7xlYF#mhMNJS@_cQ!NS-+=E5YECe0wPppe7 zV=c&i%IxRJ5zfWv=m(CQU~MQldt#E^cEe}zxqJ*$<8uKue0Rk z_IO}oj?x;*1^!Sz&qUm8^To|(1A0k$5pySwo-X!)LxJ`g1@m_KoSYnT$jgoNfP0RI z`6W-IL6S^9H6)UC-2No+!ZXFFqm+CF&8e9Cuz>!*h)KK&%=Q~r+*PL^IB9=5Dm~U@ z6R&-DBUG1@XmUQgAM4oVA?Qz^$IcB#HR#o^F4l=an@<3ao>4{TT@>mgElw4JRmU?R z_pHN~${*`+1|NW+I%;H{-|wgS%;uY`z6F+QeF;t>U)G{6{dz6h3#0&bQ%lh#fFmHG^|at0u11TPP6oV$<3FrM6Teb?@~s^w5L1iN4h2t@?=c{l zKUr+o^ZS5f@tU-7;D?%RYi)h>_T6T?%A6c#N8U}z)rwM()iv8ZS7R2QQGQ`!u&;aJ zZ^|!ZHp)CzIeZx35e^Fs_BIO9E7NoHuHs5xDBtU>ny!})t^TZlo$$I@PLRFYmVUD` zTKWadCkzIZ-BRY<0T~!Vc{A^F=nR4){rKV|pyIaO<(OtZS(=$a1~c22&sO?eS*bMi|py>POTc^j3?1 zH#X4!sy(5$8RTG>>GFPs$vggEU9e-ok0obxoz{<8c7) zFG2J57vjl$&CQdiCW-m#EADGCr_Ps2VUYVrlllsj+$+G_7dt;;R=v(4vFLoM5T8Ojv^pck zXj{9nzUQc>(4!>QG5<3qgvNcFosc5-_K$d&d+J{-e{GvYhRZ7#GK$03 z#HsGxJg15LsiWobNu#b)hM<(+yCdTo_Ov^5&R3y4+`BrC%5x*(&xD>b5m{{FjW*&5ZG;ZaX zXya{U%d>X|4hu$nV)J<^`(-;bOnecQw)!AO0b0h}Sv0)1f{s-1;7WGa+vE!)R*Yo~91lO4og*_C-A?y)A>MwwUMFI^R$rEKJ$ zv{hpKvJn)$_B4#!R$7haf_TxJCJNB}muk5T3g}GmeFn@PdQ+GNAEfwF%w<>e8ONmQ zO&<+yz#omvrFiAnH{QO&hQEQ4Eah4w8gU9D@7_8+KK0iSin{=8;2>9jF3MBwoat(B zSRHT8Ma+9M&8nl$JkG<*XQjyQx+*t>DB}QYxC=ptTj*NlJCr6(^G@2x9rrfx%~bK3g?;(p zVa_}u$ureQ_3h#zib!V(-%PH-h7yaSrCY0bu;R2*;B4illK6l(>crfAjgelLrG}0@ z*9&#ld9on8YsI3CdY9c-@jYU13m=X)Y=;xEG81oW&RG*g1$R=R$hY!MpJPh8Wgpfp zC>~p%EAu&fE~Bo)G{%~sqj^VgZ}8Z})>{Hcxuz6dQjb*>Z6rr%K(8~tNon3cZi}xD zy-3Lb`-`GehSqq;R&stt9k&&_qt!>uMk2Z1?K0<0i7UD6oZxxX(U#t=#!X@vB%!lT*XIMThp`44%2MsjvOA_MTT6{5KTU0Syf+p7A zz7kKnR{FllgDJhsqr{sN-JqG7?f$E^&+fN7>RChDhqQ`BeVDg51u>mEuWgO&2Nu;k z+iwWZss}G3AD6#~PpetQKLvJgxyAT>(Oz=I!v#Ka6Q}IWKY7Yr2ygdj^&|h5d6bl( zD!d1Z5k7Y-)-p|9<+Z3-PE#Gq2}>D0`8H*9!!^1{=I-FF9j&CT0@;yuV~7csVi7&K z^n-f9SPb`uk$FWIc0=~1`{i=ZoHp|YWv`>ql;-7VxY1xfFWqOZlU0_Bgw_?!kU7|g z)T?hCXzeVe$7KB^XfB_Lscj5Kwx>n7HrHYp=z;Ios$9u?K!Zt)So(y?M7a-J|{%?8xdH=yop<|GDl z0(IW|F#`sh(hdoZP9$!nzLHxDxu|>ou1M7^GQj(6@(Qn=N7~C5pWkJVlH%KlUd38$ zAVZP(p?7`i-G~rbt6EfJjETi849_0FL4RbU&sZ1ZCiaA*c4tL`@#$iOm%r06(fr~~ z+=Jdr1s+XgB=NqV`pJxQmh97#I?!=%N!?{vM^le*^3VnY#Xdq^PV|DM(4)lNO&#d> zkJa1Q4T&W3JzK;q_qX0I!D&()d&w=Lzq0j zz%=sNH+O`pVYL7}sAUabn6uG}8pxzqk zW4Bdw`RFNQyI*Z=Bv+{Fmk4#9AFB%2yihN)rnu+L>Tu&=ACjcA4`N>{j<(F#e*-KG zdRGELl+UibgHq+*IkL&m$9sQYD%c2@>rwXPa4Qj$d2hhWvGtR+B_?*>P@RCedZ2Y1 zVeI4PWssyDetgT_RJ`NCA*3*x9XsEJY*KJAHvKM!a+WNR*Mclz)w zNph(FjBTGXgSdPid!YOmPNcesfIq@Z-6JUL7Rh+An&T%HPuxT2Zz>@&D2+1S5rRF# zkrUdS2OYXD6PG_KbP(IPi`v%FbbobUKG3=lqWp-xV9bMM#C-l{LLGF&+wBvt1M6nB zNnl=z8Ho>K_o6FQ8?y&DmwCKh=M3>_S4P93pCko^WY(6>4aGhzNleV*ffAfa9@nj4 zPGgFV=y@#hoCK*hDya!^i@6S8$Y?#XNTB%7$1RN>zukcq|5z zwOH3(5rSj9)Lz`%J{02T=(5lnT=4>U>tl;+j%z-50WIUMdNaZH(3_!-2Lq3H$)3nT z6NF8l1;sAdO{kc=CNyg+rBAqr9X9Y6{iVQ*E_4gXCkM28bD=2;yl}Sk#8RJoya(gw zm$J5of!&MjI-X~EZtQ%~*wS*3+^e>7oalX<+??j)hj}^YR^;VNYdiZ?g;GXJC-!EB z3-UG==80;blXLK8c&*o}oY$cB*;Hqd!;tsp0bIP<;S8-|nqzG1Tj#HLrUz)Zh>@Qvd44m!+Z;9djlNAB$_cWwZD;& zn(YW#jqNsBwLtg1%Evxk3-z~cUb7gRj|1xrERE zMNZGO-?IW03u}2Rmx{pLcV-B8+dMT6QbFBCt+X!VmJ|j<8zczwhG^_HmyDJsw}A@oaNZ->YMd#0cg>jK}OO zb(C+c0Z<+Nu2!SRMl2J?7eepy!g$v1r{2Kx8LBqkikZv3?sKky76~_6Y2nHnmCM*~ z&l-Rq(KT%JsJtvL9W<;PrkN*uGI;shlq*UHDUO8Z<$2j7nP@85f}~NJk%uTVkGt+b zWgM?uP`XU^tcOu%LrY)Q9`a$H%K^OuqV$2~_0IQAA&4}{E9#07P=cxxb~SJ5gu9Nr zm4tT}FTU5XKh0!hL*w<2Yp@LEv+uUALPWfY%D{J@OMqiQ!JOwVY2=s34Ysv!QktFN z>K;CDDnUxw`BT>~YAc+{*sYW z+8x1ZrrEG<;ixtL@Ep!H&o$1whQiqj=;hg4xe-H= zdz~+o94eC+tzkr*gWZKmTcHHmo5oZ}&)6fD)op$NZPE^v@`xj0!L-uY^osZ^*rqqgmeWdx+@8aNiC7o#`?B5=H;U(B6&ag zF6x8ekY<>H#V(7=YK;7{Y^L|^4x9#hE;Ynz&d_Kemh;^<6AM&bSM_L z0E-(;-nG}tG%UleszI4q^E8bxoUb4CO?XS~Lo?O7MCkZ%qzVU-40T)rTKR@uOt^BN1 z3_f2ukTu@E_mtg=yM8+i?>^h7xVQAzxVt;v-txbD>(D~krl-g69$WwP-p-Oh3Vk$+ zKcok|q$ZjIn<&&Kv9a(5eMrN&H+)E)(6njUvf&Nu*O%?J--|`J@0p!+{Dbz@Efo_% zjfp2a(5{P_J$3VP$%dlb+ZyoYWv^V1VLVWNTHYW1{GM}^m?x{vjun?_7WmAqTpF>@ zK89w!UZn6~VNp$0pOYEWh#AeQ=({mA*EP6WFpwdyzhEd$_KM$1X;0gR`>ScK3cbsy zE=NH+xh>XKm{q$PBY>+p3a=+t)Y8nZ$#i(p7Ufa`Pc7tGGKVx5Qlr{J_-SqL zcC7E%Y`FR2(ht{8&1U28*zbybH8eWUOOm$*9W=4@LY_6X*}yv>Gtu=#L$8YKRo!h7 zbFu?&b)W1~H5@8@Tx6->qy3WARsh_GwBM-Tm-58(DAe34n=N-Sa@#3iEos{^BTbi# zC|~ti;W67SWO^3n_b#DB=hL+9mFX4Nx*80(e<*JsGMjgQp0Wl()`F2qQ{XE?aw)-B znFe33XKrKzdBwS`v_5Nfn&0L#4Es^`qJ50HbT4pgsgS*mq~Rr-*eiX5kG%z%7tX9; zv%z_0`@xHwm)1p&zg8~IwP?r~JKH-eV(G-S3pXQKJ~_&QhR3ITx4d=@bCxc87n9tv zQBZjCP!Xvp!pJyBzB|@eig%w)tc^39p<9jm+~*eaT|2f{X$hY}Jj1%-F2 zw|Z^X*7_TLDBo}Y_)4cD=YFbmNG{G$_9^lPd2ZI6qHu8NO255p+$njehIIJVB;`us zqKQ@QXs=(E^+1;=EzlN9ot~Y1#&vZW)Of&3F0ifTY;b-6N2iSaaAzoOxdW(Bn z^^bn{>^UA&_`#gq1@?8d3fRv)92iYg9@hRMqe`lSpBLuqj!^=XJAB3 zm=bQEMoeUNx;0~Pjc8d>j@2)RuuJ-zA{lejI;5P}^bm_=i{y)x;06|RcY*e0|8hA> zaUc}L-02z{Be~j=Dd|fxaP+Y|P;-qAT{|>;6Emp$ZOrGYciWb$*_EAUq$c{PD_*0G z{EE8jB9Fql7_VaB+UHB$Xa{8`V){@LJy0p>$7`Jh|Sz~10QTkGP9nZTDu# zN?m#AW~<3?R&J~IPVfWo<;?-Db)2(hnnd+^$c`gLrFS(eLJ}4^%TNbVUHB@!0`<=L zT#oFU`%fQ_bL$(W(b=puwU0tvm(p=hZI3x@C#J~I`xOMssh?_XkMxYx+gREi6)JVS zi!ZToFZ#3%q1CTAj*MoHKuSGhccq?6K9Ge}#cWKPLqGMDT|(E0nRnxY3`F|u9Sg&x zr91sMRw;)FpV~*xeX-%$jo{V0p3Qc>v_|DY4KV|5nP%|ddFmqm;B2~6Ja&N0-mUh8qcbMij?j}1CA0eNL;B)N zXi5!+@=vplj)%~r><2&W5=0S z<=11@@4t)w^p@I1bv@dp%&l z&XFFl4-c$x#Rp}bt9bXutgJ~1lVdRu9=xg6H4!$TR9Ohw{@&~q%feQCG-mNSx3T?= z8Fie_jxTPn;JZOKoBK_Cx(5;K4 z9L^z9caQnAN5=w?arG}#tf1liMf=CMdnm<{jMY?LI((oH-Wlm7k3xckooNLSmfksn zpoU)nVr9VERq+A(%PK#BSjyq!B@ zDiL%1X4;UQ&lcH4tYq4K>k84f>?(%bM1ogDqlS+Mfum2d)$7yzh4V~zK0~;aUntTd z@YmnLptFUM0tit4P55Mwpfu9z%~Txmst@=p4Em@JzxcUCg zTu}+;xXwUlTW8z3*JP#RH=~3$0>#R)iN?wi5=_TC;Zrouqgs8wkTl1@_mk7RbkBRL$vK@3zCsb5&_@n7>AMIcCwW{8s1Q=#IwG zZVdU%BBc8G>lD{AqV#8f6)V&%qLn{JoJNO5)(&oNVPtV_j-dKb-Ix`m@XmKEEx8R1) z+zUCj1y`yO)gx8&imo%pWx~NYvgCoTHbX?hHqjO>sOG?I%HlKv|B?C)-eH=t0d-@q zRMPC%*CYyTkJ2)R6dzn8NY|fM9*yqaSDR&}Y9?Xnm#~L$0A}cbHcr}GHIK9G@r8hF z<~F?w)PWNtX7el_+yRGDvtTVkgdNakQXJaA76i1#%qPw z?M$BTJ^vTmRwk?=_3Sgd(a#&Z=scp-c++e==W6EJg=Zy^Rt?*X7^gLp*p{+R=hkTz|5E|r$EU0%&*HZyFJiks z-4uk_d0;WCMtO`Px0koAO=o6>zlk~ErXvP#c_!72=sWu z&EY5~*_UySF)`7sI*!hodh)@96GtgHuE?a^;OYk3%P=?Hm+A(tF8xk#{GoyIC8sIU zuZ{KR);|ZS+FPa_b@+svN8eTtvnhMzMU6LPcx%$Pg)ur_KVNh@K=ca--8E1aU(~v@ z12WXtj(D8VkWt@w*22LNV%*4Y8deisSD?n-R;@F->U|h}yeM_#@v);XCb*Cu z$c>(YEl0fI5ettj?%Nx+Qg~Clh(}@eRl}?0a=}J0e~!n9TOcgPey`)=&|K73$7@If z%@`$vwmFf$*ubmvl4V<$*G||{LgX>A_m6a+plkWdXC((B*WWdbUngogjo5llg|Ia4AoB63H8icT1K(1; zZ>I$3uxmooDk}2jsDk;s_SU^lB&%(U`+d`Br_G}o<*4J#9!0rg(4}Q)*AoMB6VGn! z%o$#vtUe%L-Lm-{uD~i0c8=Vrng|~VZ&V-KKM+y$IvK7f$uH0V4E%t0qw1LPfNWPI zcr2J^jTl+b&JM&Ze?_%OxAf$%pyw z)AK;_llpHS=7)SG`0~P|jOnY3fapJZ;nC!`m>nHWZLZi2Pe=cU&+iqciw-=lpS577 zxUQGPkMP9-c$)v`AO(CfSsXzOWZop)Nqncis)axBod@FN0D_sY=_29N`%y+0rZvd@k&(=I8J#?J$JcOXnsVsx<^`nx zLAaMV^@Z#$fP9|#^Yo5~l~ebv6~{Ief13Tv=dq_gIX)TXk57#|enpl)SkVh4lLyq! zgl|5YO$Abji46mOz*oU#f!$$S$JHlXY_7UGPQL8xFRzJpna%+=2AlVZkHz872ik9@ zl#96oC>M7wvGU^xw<*nkx*%3FqxRE0Rn=M7PUZYrZP>J0qbarGw~dL_n%dep0`Dm^ z{r>!GrQ+jRv(D_9R{GUJEud7)L@nS4lvP~U`|K{*ARXNd+}vC)okP0WP4)v*@uIX# zSKUm-wRZ5To1ML#iz#q8YqEnZ1nOC=feLNtG+C7e_E%3T(d6Z`SND)DwS}o%U7HzM-B5pmHXB zL%maPr`YiuApQI75Lb=Cz8{k#c3SI!DXrg=;rnxO$xNqoiVy#q8%#jw&vRoVP!T`L z4H%%}N8GslmFzoiT$>hs%Z;bgSN|?IHoc$X#zvr)rn#}^v8Gt(tVyCDMlcwJw~z9SxYTJ$aPlmQ}%mHl1fJxl$QQK|?} zTqh=u>0)4Gc+tl7lIvel4?UfexDLOeo+_YnCVWG^VIal7OT9mu6Br6orj-AWs5evG z8OD8~9)4Qwze>GsK~fQlbc&+04Lchqy67JW;-i0P|;mwMogKT(fW zID414EhedV0_oyn_m@_0{HvmUL%k>IGc7r5);H98FLpQB#> zf>oU@&j%ng9Gs;9fcY1!9`J82#!Ok6P&lCU=c)Jmw3eT+df9-AA5pLAE7^C{V@!*_ zrQR}tO8>;_J<9qM^{x*(DE>jcy*2>#9RJGdxlHHuC#$CdsGJGkP_GwA@$**CT4ek% zTTG4Bp^Z~k@3F|33x#I>gw>nA(c81{59&o9X&IdGxsY>jTJ67T^_l^tKTo|SKt2DY z)zb!4{D^udzLI@Mz01?0Z>bkLef95JJ>{G!>Zt>5Ien*Bc(PqZOdV74+}G@)ot-26 zfD7WP8~pHJF>vIo5`JU+2xPI6sqhU0FK7Q744hOfW?;_wirz_svZuUE0L`6N{y#E) zQ+xyFp?@4qmw(nu0L;H`{44;aKhMCs(^`JQ_+WEdyn9{+aP3 z$d5!L@+uneYt-2Z0nnZv-b* ze?vjw%1g+;+@COle=zTlgBbu1r`7(X5&U-ir2tBQo`NfYdj3fx2mw_5h=OOnl6^-( z#I$G*P)lE2A$O;*{#_%ux^RkuYJiq$3ObKn(-hadsT{DGqTq2m8<)Q(Am^(Beq#fl z7Kn9Bg>MLWHUEEyfYxPY0&?NB@_*R|Dgt2sbsK06DE)Z?-k;X;6E=_xsQ3{9o4=BM zM?mJZ=vxBH0fZ7O`@00>enr5=Vn@m!j>yCE`CVe)=@b#C{4U=_FqHy?Gya$0>3qdg zNAASfe$>p;+yD4Zh^O7G!QwB8s7ibtD%1rnMniC-S=g_Xd zZC}1;M&F%|F7m4VH7_q{(xDEjXR;Xs}<;Twd<0l_~<_*}|< z*Pa=Df8N7BP9f9+MBgENecI?3aRO8E{r&g%RX>K<2^90cG~!+$)0yxM#9e^kUx&D@ zbPD2bAj|I{UVuGWA})xj60rGp-2O4ZJfM*O1>ia$%bD;Ez?FdDUk4akGX+pQE1P>1 z;c9o-lyz^)A0VETeR(vawr$&Xz*++_CXM{wOIOc}Pr`sg%>bHuEGq>hn~@TyrQ%}$ zal3LJI4Sr_AZ>C^tVvvHt_K$Y!pCL6W;#gCh}hF9#1ZC-;~t)Qh7=A&7Z)KE_{|5N znz~#a*k+udl)r~92grSo=Sk``CQraK^>z6E{F}1Rq?^GGV14ji`bk|K zw?WQ(fTIqpd|UAz2;X7*P(5{7y#2$LC;=D6t@8!jjF&BATJoRm`R?Sgm@gzvCD`!sb~y!`{)_@A)N_-`VB=>MIQ zlPdpjVFOsaY})pJhwU0L=FWsau+>Z>_|k4OjsaI7`u}6t9*ceDQxLwxHiK(&53c=k zb0GyRd;vc7XXkQwzm~H2u5gy=Dq!>F24iaJ(M+tVS)s$FtNqjHzqy6515z#nl+O@- z+2Ko99pF=G4Q!DvHnyJo#907ONB2zbW;TTSsS<4lE_^A`QBJ)0W@mae%H)azQ{=fn ziXsV!3>}fKz)C>Wbf({wMtnmP0SLr1^M$}q>ZGfk%RU=78&lw9*5pQ~?n@gkm|O=X zu8hC9P5DpNDc1IVV3NPTGIjos^*}qnD&pcliYTtwzbNK6R^hKpFnRUgj>m-F1zK>X zH^~1{OaoU}gzY6@t>)zVp`R%543__;+rO6PDgJE*^7+C)b;O)02ZbDPdB#EU0|xS@ z@&Ac|3Jw2}fnkkP^=1Q9p5)}BGvJ%-13-S_$~*yVfN!!_cbz*0998kl-(P8Yf5qEb znx5=>#d$Fi{C}vs4)`pJrhlQgP^9;Sj&y0Fz!N%1sG%4lC4>N>B=jO6L8OT^0WtI{ zAOa#Fodgi+AR-{W35c}NrI~N`ZZ^5wXZLoO_xs-Oeed^scywoGXXbzZnY-KE-E%W- z)66MqjW54@g5Q@V7Ekd1>fNi2{H7K8vXTGHO1~cPn_l{d1OBtBKPG!1P^^E+R z{Gjw4&#UWSjXdA?Sn`C?bw10|G{v;KS(;>6_fwW;$tDz;7MO13(rHao#dMk0B;%Gp zrZw{!ldVNy+GR6ZG)+0PRf{IR8-HujEcv8L#{<)^-f+BW>Ujf>H_5c)@$qBE=nNGO zr&;nvg`+8^2Ua+eVg2C>$C6Dfz3y<$f?DD zOz&WOPrT=-EzJME-Z9}KuXo&=^nk3tSgW>l1yImCs+_ZSlUMI(4FZ>=SH1I=9egGA zj?dwL$UY|*MnimjkJW2QW(fFs)7kuf3kPpYnLWkQnO`=~d}ngUE#pSSWlWuHRF?X= z!{(+f7Snll?yfOm^Hb&sF4S;*`0l#nf7tzYg{yP>9L$~e%em7FH5r@!hd=fQEo?a9 zomn5XSoFc9_k7nx{JOZwxV(|Ke!VuiX7YPOFHb8zf9RE&RWCljJiXk`=T~NVa*TVG z_N~q_<+CjID$&3%-Yq`2U;R&u++5ml`jt;hS9_SPM9am8i?(gGq9wc_xaaH*-A`N@ z8?yEB<|W6XM>bg#baWKvOO~(_%a-Pw*UUGJE!z?$QX5wmE@@ljLQ*M+tJRM=;f0HU zDR{yS)0-DSj{hh6ydyms$CFHA=C#EgfANB`i}xI|g{W7p5az${I&L`doi>&KzG_`? zg;%X#4tz|C&#G3ss4b}0KQMoCn2_zG`!-%8!GdW}MvgXxTN9_X^DKaIxmjPrhkXw`*i*M0oG8p55+W z&eW~(Tl;3={C+T1Vs+5@$r+68p!Rc`)W+PRZ_j)0a?-wZuZmchAlfj<-7ZGlvcZFQ z!Z+RgV7vzW4}6=|0P&n^6;PR6+ip`!2zH|H)=<(rXgJQ6@V{+S7b+$L+yWGRgAuFRYfI;KI#0| z^W%i#1e~Be@DKC%5J7SHT(w~EDh@voxE#u=U$gAe0EUUhu>#x@OkctWisSgnHnrh@ zcl8`Rc<}3lITz-Q|I{a4szHm!-<`YuQOa$3QtZleyVv&za-6%9x$~^@!|r7DKS)jm z&Ew3Meg|^j{HRZ(&r7Y@a^Q~%}rmnQQy6ltDf(- zuSTZo4}YpyZt2kLlQP`zl6dI+w0gqdsfT~jCuSI8LoSXJ3!7q7z{DnuJ?zy#G9vSTI5&>8w6GI-&^B@Zdo->ZfH)b@mXt^rXYyg{#=%Hr%lgHB+v>$Mw z+$T@wTzY-whf-^{-q@Nq^2Ldckz4LY4L(2c*oaKkAMX!K`1|z89NAMR+dKd9jH2_O ze$lPQ&7tK!{Hxxf?OnFaS{?s++tnKm_U!O%?8#F@PK2ClceD5XA*VmSf9CRtyuE)o zlOv>e#qQhkkIj&`LXYL`2j#68IVJ6|CTF`H-0-^V;n@|VcKM{v|Im}7VVTyEh}0XF ze3n0xi2DCm@(Z&RUTHr~xNI-^&9)H#vq~P$Ly{JVBcN#hdrQ9mU903PI!gXkiDmDY zC7&Dqb^e81Q1GV_1+RjC3Idm-dg>b={&zdv4V&W=Be zhHUS(s`roQu4G^P@sZnu&R+M8`uNbfLBsYH7v8b{KdAOXn(KDfiBO! zzS`m0mP@TpRKHv+Q%vO8m;z77H>h!=@A~SYKURZ|vHVEoV-@E=nG3(19+y5xyDsaB ze$}q)mh5fv(3}$5M}*JpiKx9{@n?jEEK1q`zv7RE`w%^ZWpoR-9q%{VLj2Dve#c)> zx(%)>091QI;UsukvY(4aC)*|f=CCjE_XYIM|LrM#COR2fmry0h2X}*df5|MBr?I5^277QQ?0u2kGYZm@N4uUbK--g zMi-cyL_$^!VQ$h7;jdh}&!f-ASxQ*5kUgyXJo+A(g2KW+kABf6WA1@{j3ROTw{y~7U>XDb8H-UQqSaeS%-oix)+#RN;nwn~b6F02Ddt zI}1lu={w=6wPVSyWavAq{Sd4F76h5KgRO^QWbDlgb4u7d98~D$*yB+k_+Mvl=-*b7 z?|@5WZ_{(;`(2EnoG|8{oHu!IU{WMF2YLT^MiXHk_YMKU{}p)`!QB5kc~9dk{{ndp zfL27_yfzs_-U=vklD8F(s**SFb8EjAhdq#nzN0B{LX-XeWS5vvvL@Zr1dp-e`@@2W z^haB8iTkrF2+p8@+&z>5-?L-UfdJmTdsJk%CpKI5fRhnoqML)+bkO|H{UV8x8EZvG z^tRrYG$1srXJFaPwM?BLQg=!5lY6p;*XJDs(_sYL*5>k2)UQKt3Z;JqwIw0Cn=rocX+)<1KqBLJeb!Et1TrN$v!+ z<~A3=VGespo=hIndW;)3ADPe+xL+q~VB`RY8yX-nGPjQZh_N1-JY`m*WWGy@#k$dJ zKGr57LQ%+K{UweoW4#LvBv?oMG}c2tw^3b=by3Kh?sYw^TcRcLp@;RM1TogH7Ih=6 z*xpyS*-uDWvImKG7uhtM1u8`jt4#D(-zg`SWiPuve)&n-f8ophxH{$ z#jUS4EAgX+Hz}u=V|^(uKwRsK(4_-wN{B5eWU>CsmZ4Iu=Z5eU zYW-5#@T%lf2i4_Rk3dcRTL0GOL$B5grxas-ba9o+! zW6(gt>x6`gd&p-ks>`vyWs5|wujT;6$nMwYb=6eveRX^O`$bK>NjC}N_0_jw2D&-= z>Us!@fUSDI3aas*KY2!?zG}IJJB}d)FHfSrN{y^<-oHyyi}`oGP&TsP`TUy%aS$*Z zwQhNc_bfvp%fC}NuFSub5S~JzUvV4AC*HR>?uu zAB@a@&1+8cqQN|zKS!5bth2x!T?8T)>)JT3jCEf$kkmTGdJd|~u|8>wM6cG90b(RK z{aPQEPK@<|re(?#rgG00!qFuc>k%kqv0j7Y%2;1O14XP;LpBr#_v^4)sHxBENShBm zUQbEy-dA6H+GjBFCViE=4)7_=KsQHUO%DREZs)QNU``UiGji#xh_iR4&_}49?80&`L93qQpe5_me^077v5rIM$>)AN2jP(IDkYHV`e|-=6JVJFj z)@2}Xy4UrvZikloef2~pG1lD+RLU#FdI!2>d2QCwNffeJrvh&@L#1nj%4i_Lx<}U= z9`fmk>T;}OY?0_;{j<%79=HPkj46;EkmVR_lNKZ zB#Kx!Ms+#XV^CB79O?&~54~D11vhJot_@zMXk1yy>+IP$ye8UYD}zE7>kc@s%)5Y8abPU5@nwTO@kCE&zy;-LKDU58NJ4uqG#AyuVwm?YEx%J<{r{+;xC=$PMu^NRe|1RRVGXH!bJcU}P*QQlbUCzJ0sHtD;^KCx#YCUIeG1je;g^RCE zeRA=!HVKg%g)G(|;J7l@L(xD|>j?=XJ>;_l)#X@UutlO*>*)ZoH>>s0dBj-He{!NK z;VGBbz0oC?*JDt~V*MkID`R~f4J24oUT1=AC=TxH0F6*npVxzIKJ<7!E3bQBt6^J1Kk{bH7f|bx}9ttpdru5rLUToeIs~AE`8N}9WagA`#X7lG5?y^%~On6 zaQSx^;visf_y=o!`79yJzbZJc%)f9nkn+#UYznH&YyE&N61`e~YV)DTzo-IYtbg&V zkW+|tFzh5A)+QnPqL9UUF^(%^eH;xWSkrZYm#8ksx-#TV!q>0$&S*(|=wW@Xpcv~> zEz`Xx#Ck8fWO;4Y(FGK;SZ4%pG()9pgBoZc!8)w#jac&OhU#*x7uh1wekeKENUnRt`F%3TMz3Nz5n(N}wdK)J8dE4YO`BT-+aMkjejE`61TEBFp6BwBj@C_{D;7wdKC(oyRa>jNlcv3_C8P^s2SLU;rcMXZBRU5@o6)YR{*TWvn{YQ17n zG1k@E{z7u(W1YVUhu1`#Y?V>SV%-(Tm3ciA4J24wUJWA_)#X?}w?(4I>tcWy+5P&w zZcxmu2szNd`?_cGv1H1<_(9O|T_drm}ebt&F-t#xlNYq!s$h_<;10i^Ma__5d z>j3MEi}`ms`vyZi_^( z*53le-mKOqzAeUj#Pj9;LaYa(OD?Y`p^(LTCypy)eHRTRSW{l-gls4d?&|<8P*b1R zpV)lp@p?fi_r7}g;(2S0OSlg3CCorKM_$+$VRQ!YoMln zt@p6`(8Ky#IWg9kJLDIyxg0^4TwY&CA&Yem@J6su#=0IFNU*k8Z5UCgF6Z@1TO@kC zK4tTvhxN1a?tQh|U%9RIMBzHXUoZpR9DTJv2(b zCH%$LrcEjcYMtN{jzX4yU*Whi|MsGRBLD8Ax}1L{A#Yjgx zUv2iXs~^ciybe$sW}us+uO5P+H2W%Cox^NiMxwq7Zq3WS$~+_YzUsCPu&t_?f2}J8 zWF*;g&sUd090UwUtrKl>Kfn$Yvi!S;z{F48S5u#AizDgtJeP^v9 z=HIak?Z_=@{91nvaS$*#{DU@F-4e3=tB>Q#{2Pb{QvO-FEkJd7t)H<)qF3vw05QsO zJ^qcXDaJZqih1I->qI#inVnNOApyl9NcTY9%|~>dOw>F zJ*;ng#8~I~>3f1CpVueRB?oK6xQjv->jL17V4;k46Eu)wZSi_As>^x3&K8LtuP@qs z=wY1@;NDk#UyR6Q;w@YUcnCAl&Cyqffk3;je$O*<@2f`ib)M0i_tl=Y#r*Tjn91M7 zgLiG(x|T&HF8_L?kmcWe99QPw5j0Tb-!oK~^REKrO)EiYhS zK3^?U*M-;hP{?9E2*;Iqy$lWHSexzU7^=&$P78U{y{?CK6|~gnb=&&xeYMR;g_GWA z#l0Wk1DJtsj=p*Vg3|1(@t!m=o0pM$Uyb+F;2F91RkwA3Jq^VCt9iG%`A#P8wdrbz zgMh)Qb@(|76tet#isQ=sD+=KeFH-(l=TOa1UCzG=s7WHxsGt6tY+!#c^ez^g^d?g!|^Gji#x=563Jc}DJibwy1Yv-fx2CSv{-ZM(uc&hXAx zQw9oa9j=E^$nvi#jw|zT1R6;BXJxh=)#bH*#TJQPt!D(pD982qH?FA|>nz9o#P{jRGzgUYD!rq7GtWrWSEA)ThaQg_&L`0 z044#$!9N=0Koqk4`v%9A`F9cxB>bb#1tg%loPX6IZ(0d@{OgLA`sYxWg2Y(Q>HC7b z2$^5&2hb%K>nkW^v3?7@(F~Q=0cxRvBGx@oU5@oKTO@i||7!E0SL=;ii?I&QeqQ|d z*vhRqyr$LD1cfZtpWwJMuUDgi1Z(Q|G^)$7&H{PUy{?CKO|;bKb;maDeRcZrPfk@C-42WX4xa{f(2O%jP7|90AZ=+%1F zU@_L;l*%i9C#e62e5_4ER6`+)bq^d@#ySQKBv{k?0rsG}9P8J%Nc6CN8xSMAU%%Fu zv=d`JB7Ld%VNyP?C!tF&ua}{a#rhPED`TA!!qeb&IaHTp9f6wqy#C7OLyy;+Lfrdm z;f_lyn0O1<0ltM9=;r9F6+z(DB4z6U-FZeXebw|lk7wlGS82q&@51fH{Cn2-l=#}z z_alC-n@)}Iz%NB`Vt>*y5-mKQAbP!`br2J>%zgrDO zmz-KRjAMzB!Ex;+{wVm%Jk<-Fcyi$sst_iR4&u+9|f-dC&4E^WP!LAVZ(3}&F4 zqpwcvq|sOLt@?3sJR@0OeZn((^S(N)vzUJ?X1e@dML0k~z;N)7W;OzaEdSQvxHA7P zpn-&c@LK`9$tN{rqgLy+P*cCwBW*tP_;)i*jCJ)&zl+~-a~xedu%zuh!_o;Wf>8spzfOaqg-5h=O8U#ha z*0_H)I3O3y=4IsGSAzqZ@QmF1YH$FJ+57uMH!=UtblWSg^&Jog0fSTP!2u^x$nq~0 zc%yq=Y0a-P8c6xKzqVoQuiX*V<@}4WMWV;QpKU($_~(fbW1aS&zNyLH;jX!q?Cyef zEflg?_rr1JT3>_)idY{)bvf24A#b|Z^{{>iE%j@CRSz-NtG9k!Qi%0TbjjuQY80|q zU$kYY#A{y&k3gb`byZZCW8D`u_0JdP+kEKpI<}{KU;Xo5DeFDr!gYWjUZ{( z#JVtKLve6l2WXF)`nCSK&4*sCC+{Q1IX=r}a98A>`zrl)z5P5R zNneeA%`ETSXV9esYvf_{0~E4Y7Xoht3uUZZpn(Kym@=At zhM~H=);HQB(W~{VHXnLehYS>B{lUCfl^_FtU#&NQ!)u~Vw)QAwv7U_M%2@9}13A{F z-!xU_f4&ek$i1&-4nAXMA$~tVXPAL*j=p*uf>Q3Q)(r6;KbXzS z$i1(|ds_31-21BA{Q&0%i~09>bTe}1&gb7=h=YK^sr7iz1r)OU%Lv}+URSzas(}Vl z{#o|}bVGGH{}$OI(c|Ayn-9HOZ!lDhb&rL+#OJFOhPYte2!$-xALF=kt*=A_MXXPt zx*Tg?$eZqUJ*?kDOZ{43|FIbB+i%B-@4c9ZF1ftkh(Z?Y8@3FUc%2=>BakR!?Ll=p z)5Y;D$2pYGF z=p7zJ{?=~(2YefW$*Rn&NX}Ja(6}P}HyD#2lY?KU5APQq85XWI0T>9jOv8Ek2Zjy} z?-v+Zd5-nFb+Y_Tbu)j5m%<~gxkbNm)1Z=hw6g9E=00HWRLh$nBa?CP+Q=Z1`{XOLqacxhmQL`wq;9iRkg*XTpY;BvF zO+z6GG*#p9p>4wZHCh3`jkO!crG1n#?ExA{YWq>ggB!>vFJwc4lGk=?)YPx-Pi;Q* zYWw9#G1f+w0@iz#dDjBh(ItzuNr=}dWU(#_-Ut@TShq(53DyxmjrEYvI8>Koy~`Gf z-ZAT*&4(V=-A0MA-tjs>e2v>8n$K&qjv`RVVm%wjm9aj61`@2FbUf%GpGT-J$GQyU zP4~JU*6q-e_|U_8*r)D&_44@jNzVv#*H|K92D&-=>N5z6fUVS5=}JUtn9a*b)K}>% z_dol`lC}jDU2fWd}?t0Ed`)VUJ zknoSLvGhlEIsaDMBGKdDS(^_%{soN@W1VAZwyb3DaF1a%KI33b3DFvbEY@RjT)Eaa zqJac!`VPiRs4mAkH{?zCx*pc`(Ne$GW5$ct)bWN{wjD-rt@HV*aiFYn%99i<09xwNCxjLLtk) zemJgN>xeu?J&&60zPZn!&k9WR06J0uLonpNj zg)G(=Z5b-nx-W#MQ0o-ys;Dl$54~E?`GpwkZJ)FgzthHNq6@Ecqmae= z0~}Z8^-wfWNy^AhctW83s zoMPq7VqFEtm9Y*-0}0mj-3wDtU0&-4Y?0{I`cs<^J*=aqiLsvarLXvJGQqHuc)T|2 zs4ogxtQX_BGSTpHxyKY*}RNIeU%zT@QhsgDh*fgJ#mJZe_!2cOIFbN*QRG6 z4ln-EARnNR<=^MiEu%3oYvMT+th<`q5d0=zEjw)JN4^^lJ${gQnSFXp4RStrr}BH> zlkcm|+omCF|CQFJA4a~%`o`TQ-@{8>sFw=9kB*(TnSA?QuUCrPbDP5m8=VHeyLZU> zlzea9eyBU?QgprHE(X>J#(c?waA>cA;q`k(g%0RS!>bM=@{R}iB3rZp&v=;srTE`D z0cnzoyf#{(rhaXFV)NnJhiFomfMMMKO3Z_{m&%tXirnkwE9lbE^C=IWqmbpn?wJ-A z8)4Q&9^`@lApos_&k&!mPSMc|H3&}j9@U|kOvN!BG z@7K*47Wb@lZ|e^}xBBecZv#?`r%@NJ#+#<4n25+2sMH!^+QWYPKS zJ|0=F?yZrv>OLPCR5x98cwL|9!F6B6epdH!?4-K)W524KGHyX#pSTq;whqR&*1Z?I zr|zxT!*vs4Pu3lV;mA3*5jFKWcGc#?m17hD69w{5@)$A4KI}8v>b<;kxO%fJlpP$S z)3!$;%dvlOd=e-oa?CuQ!ay{&hVOq@ulfG;pKGGEj1nrGyGOm@3ZXY?F#oovs)yc~&@ z+lzYx6a)-Toy2>_ppdPTA90-Q^~5?!Mts0#-(Qrs*U><7P6$P2t|4WDY)DXY{xw2P zef|xy`EcbQ&C5)V{BwV<7;B$?2Tgr0)@RTqi?vCJ2PkB*E(G2P7Rp$+Km!TZ^t~O! zP+gAoMq4C$*E&~iKJ>5-nJ>n=>VzWVXZh>RbK!M+6tY-P#&Kn=cc6g;Ys%}Js4mCa zAM&PqT@UM~Xi0qNVI8%=y|12bSF8}>zjzI)Gt59YM_;`SL233?!|;RIyo_A>s<~v) znrGzFS34a({3@2l?EQUip_qUFjLb={ANYNBFT_E>U~AoUaRG%a|1yF%y4RKZY7I1y z^3QZ@bVGGH{}$OI(c|Ayn-4wyHCQahI`#9Ak|YOiU#+l+kF`mNMkr*l{usxVYkege zNU)}BNGDKTjl?NVm3W;U z!XuDKuny~bBbIzTs4mBPC~E4TFMMP3p~vfeOWpfwaH=oNb0)K|a@UZy!VGkC^wl~b z@M@8=HKZXtBT-+am*uN@MlOAohAa3!_Klc-yM_-Jzh^H0GES}2ASsu5AP#=6a5X_ph!Yg`f+0ZOlYX{o2@V^Wj<>G^s>ZR9q?M!J~d- z$`eIy&o8>%g$FfI$nqf73d?9C%$mr9|Hd_>nV85xNQB`HT|)VHt|7%@IC73XM@@Z> z6$7S_Qjs3(C;*^qZ4Fk5Iri!2@#1?_C!kCASZ7YV2!$-iYJY3R`5(K6v=RgSKVCyR zfo|lS@P++D_N+c9-a|_%C+uqy=H3hW&i$BNZR=F)H~NSr_nj|IVFtQ6j>)GXC_)OY zHKYtMo0pO3m<*GfO9r)gM()RCw>6}FtHpKVzxsFaZxyVAI0zV=I*IojKp|TvFL0df z^~7FG*IMlRi>@J+gz$(L$vGjt)(%2-IsYc1rau3++I+Yk_h?=azO_|cE5^DOTKB?w!S`aU zi%qyL{u{ysbjjuQA{4S%|BBT;~ZQB$ASU)p@=@p}C__rB^`T8R8D z)nyIo8<>G^j=owB1YRvtbge^Y=)yB{>8r+)C)YhOJR|qMO8xP^3$7RQuX(!=3lHAk zu+sj(uXWRjKMGm?wZw5{{*6KdNv+e&R-w9_f7fl1=+*jLfY_VW`os-lta~iGX!Zu~ z^~6AQ=~e555R*{IV!ac`m9f5y1`@1utuE&wpPY~l#liiauNJ7OU+bUPeCXBsvyEb` zziqm!C}9j2>nrHe3u|KW9EB{_Z-Y02g)-K`XduCw_$1qCRG0I5hb04M6cFQ*?j0>-E5l}>-pVlo7YC%zFKXo z3$I(Ckj45_99QP`Iy8`AO?oQX&Y`*->+Fy>-RpW-*G5a?Ll5h)?e2Z`MDP40PnUa1 z+Q1BSbDXbUf}k|}YP=^K%;sez>Z{<^yzFblGji{%ZtDQYc8K{`HtxRo_er-v90UwU zty|c{dyb=!j3*uU5>R6air1mC z?B>_H>7*nIS^l-daphW{fCf_jS-Gu8bvgg;+9J`b^*n$WVS#?FPyb1b_5Ls079lxs z`|1dE$*uL7C}gqz8ON2eeu4&4tgT~MLCA*U;JywJjGFqjKGx<#uhtXxim{HFKZ1n9 z$NCn!HzLi@cT7BZ>#Gp}1p$N0 zzfmY;`S$~kEA#IP8YuEFJ!GR+>-A7mzt;QNeCYA-_5m^0G2?dS6k>f6UGlJwzKcQ@ z>jL17V4;k46Eu)x9Sze)4@Px)t*^61qF3t|Z9ep{ZhJ_Kb^S?K#qWiv1<$_;c^!;G z7VFP(Tp8;vXduU$kixiz>T;~}L*8_+>tX!?TI!!K^gQg|SJy1=M9w!|)&V-e40Ln! z)te9$0bApIHQtjCX7e&~@2l~i7Ca;OzUsCPaQcXte{qA;5u)&q>$@Nh0srDXXHdxU zFCBQJdtK>zsTvwc`DdL&g`v8ffAegS=<)BM&4*sC*EuG}y5qjZ;^%kD9Cg9E9tv5k z2jRGKtuI3ZMXZmZx*Y4YkT>1ydRSLMOZ{43`->RsUw0HNDdcqwy5t*X+kEKpde3q9zWUew=1IR*z+DIU5oVy9qpx~E z;MF2!_X7;z8M*XT^AUoTJR|qMx}qkH+55ZP2{Hf5Ox|eTzsS8d&Hbye)(xWq3R(Vj z#&P9ZpN0lf{#luALv=a-p4cMM<6j{_jIcnz*5~{t#`;ml2=VXejX{@et(%0Hhe8(X zqd2aN^=mYcU`?MXDGu3C9NgCdLQzw{)+gJ1=+%1aQ(~+;UEGq9@P*6k2k4T;8uVAx zOncJGnZ^1&99PCV0u3Zs8%987@|lk6a$X;?MWV;+7d9VySm!GZr_VS1e?C((1_NsZficep(D44%XG+$h3wdqaLQVZXlmqrA z?RBoTL6d@Xt!>;nF%Q148()%Wad|KlU2=Ia4TUTZ+MTuH+z7KK^5DPmnUY(W$UsPh z;SGJH;@|m9Nmkg4bpN{_>zbgZKF2<``EcbJ1%Ob;+~!;mbF6mTBjlYOe2!f}mky3u za~j4I6tW!q>b!-;f9x|QuQ9;?<7Y~W1L|s=2t`eOPE5A>aOH&k83l6(uD$4fOg_K! z!?GqXh$Z)#lEp9s-5kf{QXn9t&{{+4#4{2dlVNi6)`6KkBllyn+Zs~d%i=m&XJit; z$2#RDYgcpXB;J!Bg>0QP#c}0x!Vzd7Jtwr*kd~vm{J3|;7Kz?DVMaiVa@>`FUe7s< zyCTNA=zc2Simn_yMAts=Z#d<4_D`R~N4J268dr7iFHWUX*|3^*zTL0MQLl5gm zSH)PzWqWA;wTXL#kv@HBUmV7-5L!fSkrq+Mxwf$*IR6n=<)i7 z&4(V=ssC{AtC_CUFx#g1y(BNLnF@fQVL1BgXb@=jRm0fKGji#xrrWzbBlo^)+6n&Y ze_hPKiCGtxAZA?twFfW>7##k=E9p?k^6wiQSLWYIG?4PoN-qJ`<@~D#dDBYJ<6l>_ zBtG=`cj<;0>#PU&i{Alr09|sizJfv)>$kug%`owLg7$j*IR||%vKAUBV%-zfn12K!rG!*3QS525g}_P@=+nrM@)8VXsgd*HY-)-h-x!P@d_7<*7%j`eF> zBzjoC4TzE5uV3p+?uxOFE8SUqKjb8I>EJcZc^L{>tWV*%GS(>}JOy4;zvWO}j&%fT z>ht<5n-4u+Z@TB+S65#yE_t`aw=e_U9DTJS2)tUP`` zpfP)Y7mgS6ugLA~=6Mabuln8>)_QP2Q53TLYlGv;{2PM?(pukN+c5UmUW@8-{@t=g zqF3uV0I@f#^(ha;SP!dq$(QUMF4jZQC8ySd1E!&n#dd)@z}reyvB^eCYA- z=2J1&%hn$fzsKV^y5wSg3xzD!dBB@itv5mgMXdXyy1dp`+al4c^|Lk~dRPbjEyjA+ z=ZnPG1~s0!@VYe$S**w6xH7LdqJbjTmrz}fb#BO;?sYw^>!T&{p@((1=k9&Ad9p6# zcTrsKC20pU(9O|TuR%}*Y^A?j(O-nk1+#e>N&0GZ6Q0qV_tg_G#Qgg!u8sITGCLp+ z0*0g3X=W!;$nq~0c%yq=Y0a-P8c6s@f9tj*s>}HoV~a$Oe?QxN=<(0GEK$r zf-U)ygEjInx)usqtoz}(a;+~y0}0mPH=2A7p}HLFl#n;w>v~wfgO>WWzUs9Y>-ncE zyhqUEUK`9rmkwSNZL+OKA&d1zTZT%!_J!~WByy}xzg1CPj&)zu)IVRCZ}XwY>)3zX z`|70f7m|}S%)eW4?+5q+W}us+uf7iguNLXP4iN9@!!vU4tMQ&?JR|qM>UKXsDI=Ld zk|sCaW~>z%(K~cNL{wy*f&B)B2R?s!MEu_I>8AZ{(#JVtK zLve6l2WXF)`nCSK&4*sCCr>WMddP+;W*Kw)>Roin#X4m&D`yt#Dmbo;bvPO*Vm$@b z<-9&%i$sstPi;Q*ur^XySXXfLke~sfVLby!ls;)aD@7Vi%kZ$M$d0W-BYSpi8PRQc zqb|L|4Ik2UOx+;RFdo5vqno3{E&~C9oy_LbJc#U`z^Jg$UO@w*`UDX{<5m&9!-L2l zf6f1ZZzGWYq~HxSCV#F3W3uAbGQ4YezwpSgaHR>zZ2T>ln|xsC(C~hN$5-CBUSi^! zys2v@@9@w&rG+Y4ntsdKnVUv+2@gyWGuFDRQMkI&31*<11It?wGl5L$Dgg94{nI#R zX91Ya%gE(usx(u=7R`ni;gVa1*)n;br zP)M>%MSeIkykDaga2In1@J5WJRZVI3J{m}>`ccP&8^|Xd)#X*az!r&KRUfwb(5vct zX~bA>uh2~V7lLxB`BmfLGlQizA9`5tP3PWMd#!qDJ%vUX&b`ZGGt59YM_;W40s^*DU!`jhgLp=wzDi%z zxQb^a>Z{h1GhO3o%--J>GKl#%cmFi9@A>@8o1RnaG_#5*Wck+x$CYb+IvPm$M^{&N zpt_uY&uo$C)p`*?jKHE_>+^iYSU0=(o%l|{ap=-f>y!`+P{?Ba3yv#eoqz@stm&IO zOF}jj2luOhFx1qq^{F-=dbOT5lNjrK-+v{30__pHbYM;ED1AmNXBO+~IIfI!Pc)EV zosdv*5BbbQbvdt(*&@;7^(&hXJ*@L*cJHex*UYp2(oOm*cXcH*%s@9sUyXs?sN7er z8R9)hc}AkXN{y032wt8eu>kn-4wyJ$Xxv_1i;kh<};%61wDK{S1XH)+N9j!9p49 zwrHS;^(a)A*ZMYFBzm>}r_F~R)}h(NSo@@#C4RD{aaI>zhoO+gdIpXwW4#9r6tTXG z>T;}$L*8_+>tWprE%nbA24;8ft5sJG@F$%?{Io@Pn1ODNzWM-y^6GZ(tJa253}*8( za_Ot)3mQUrMlO9d;K<=uF6#hSa)|l2%zwA_1{3pMA9H!hT+TLESPnrPWCwC;9o~qA zLY9Boz#HA`O4mzu&_K#RYp?W1bvgf*+al59-)}Y_dbQppml*4B17=xIQ1Y;@nv;*U zNr+}BWU-FMaphWHiv|*`=^H!Fpt>CEtdKX|>v~uRprwATZ^i}^u1Kk{bwGjxsTBNA2()U_?!ZQ-}Rcf@JXXMgXX}E&#YWc+c`*G|M@tZpf z=jGHo4f1^yvi$3Xonl=9)#X_CL{0r#|Jvq5uhz2^6l0xgbyx9S znJ>|$18Z75SqoSYu~^r|ab>Lgqk)9i)bBi0mt%d}7Kt9OQvhOb#_OVf?tS&d)EebU zCgQs+a={FAbM)0k5R`IXwPuL-oZ=aY`YITi580=O5WGCO_f@yMET;L3`FC~cvZ5qb z?s0t>#6flghkx;&=_q9R_Y;mQ^Y0NFNcm^oWsx7Uq1;FBGIe$c$*JBtRsqu zv99|flAJm5c^y>Ph1We%$YMPg$Ca@@ga#6<>H5|aRF`924)UgZT@UMz(31Gj!+Jzf z_r6*nU0^N~Z-P4aX^TEE1Kk{b^*IDZz*hRZ6`i3h%;sg}(pSyPzA&DVOJD7D`0%S( z>e2iARxvUE8fILRgII9;>IsNL&{qxPHVRq(087lF*FoZ`SkzgIx^+qiDG(mMa z*5go9|9oMC&4(VZPrmKmS1aEsPQr0{+G0PlZ>kKDdmsuZWzX^?eL$ntLhjw{#t5;TzTk6xP|L3KI*QbXQv zR_m3}Qoq($ml0z<=aWOF$u8nzJqukrYMo-e7KJRUSBc%dx&>i$w1j zmH`kWyI-HzWy-tv)va&W%SJL0uLJnO40Ln!)s+yGa$mJ(i1%FN8HxHT7@3!SSs?^3 zPwsuyZ5<${f|!3HS%-+PO-DlaUZR1Nf7UucQOJgJ!+jl~ zBWmi``WH4IdbOUiq8RI@JuzWu!J4iEOha{f ztsk;QqF3vG+kEI@-M5k$>)`pn5hVFohrmt}^143?S*(}hxH8r!&_IGUT?crL>T;~B zLf#~NeO`A#OZ~n&rm}lqtya3N^_C0aI=~Q^fo_hz>H`9=ZYMflr889F8M*XTW66{2 zo}N4-_r6N~@xC8a5%cfrlp^B${LVof0{+3XC@5t4R|LG#y{>c)6@&&-{#m(=Ky^9) zHrXQ4tMxx@KJ;q6{kvkUe;r;wHOYZ{zS^Lw0Bb^sjwocYo{HnjwH}KG60CErF6SYi zTc|F_x-jHT_qra|&Cyc7)(=z@W4-uFR7D}y>(M293^NIK2!$-xuWT7A@wya*M<9`4 zZ90X2TBEug>nW(I-&eQWeCYA|!h7z0_43Y72w*Pj0KdQtbaV98U=R>nt@YK(JR?zG zrMH3a;TgSoUu{%f%)efPCX4U$tN6a4)(Jk1QONRdIF2jV`YJR~kZ5b-ndQJ#Wq1Neh0ku$Fj`c9q z)UWjwHXnMm?(Y#}eIwN=e<9ZCYr62dFbY|$Tj97euScVSBCl7Yx*Y49wn+4jVc7sN zvitRUT{*zLuf87t(9gu1oUd}93n&3I(9O|T*FjL4eKp>5gJ&e_tKinW?8^%wczJT~ zt8VK6i)xAaH*@^=Ge_>RG0Iw z8*1v;`V5;7y;}FJBgT5M|IgO1bMx+BeTFVstW82>s%=5UVjY0v%2-FCfuz>yIzSAn z%dtLTi$t&14M6P8YJF&3G1hSf$BCbJ2}74G)+Voqp^(M;I~-TW`WzZau%^6D3E5B_ z+}F1}sHxBEUN#?kyq;9gy|1o*eIsdom3u!xG|WIZM_)|~04OJ^o#2D8}0NaAxa`%DleXtbq{gcuzMJvRMC#T|3k8q8V)^vkbKWRJqAu24dYJb_r53JHD}x_L|%Y2_2J@~ zj3Yf8FAw*;_3_7^`>Tg| zk|!VHc{*r_Cv5FdPy480o{`;0crL#^5}t2~_C(;c@_oDnHT8SUFE$^p`r9Y0t!%w|s*aY#hbz`e ztryX5-`KsMH>jG&T3aLM$=vr6G=~}J=IG~VASeR1*7`$6n9a+`y`LM=b$CW^-p>yN ziure^ZVo~eem`FiagZIzIiE0$LnvhV_X@|A`Bw_UBVH8w*BaI3{F{QB`nA5@=0lHv zm79vOp4RKB`HPF(V`sr8VyvU9qL9V9JB}-3Jqr!wSVzMiiQa|ka;#t4BGIe$5`Y-l z{ra`OsF@h+UWJ;9@9&z3F1fs3f*Nrg2CvJYx*Y3nsHxBE88#n!yx!Q{ zy{`_NmC{;U6Rtn3fEnoK=&Kb#;MF4C&y(XlU3o_CeKp=QhiBy8SKZbh{9B6ox2kh# z@!!kRw-DBPyr(bi~$!Tp*z2sQO7ec`}rfDk$YcVQIp2({XMj;n178Q?GZm`7zR)fDslK{ z7{gG=^6xtwSLWY2G?4Po$}A;hqgLx4)YPx_UN#?k{JZ|480&{WjT7Iad<}yUm9l)-BqJv0i^|kG0OoTkCm0Sjg)Y zHG@#dV*MG8EAx6i8c470Z~vx-ME0A9`4ahq(9Ed7fV&3+$`h zb$}0H2D&-=>Ju|ke>FOY zu})sKkeNSs9iVu77py%fWU=mpn}nE!LKf@&IIfKKGc=H3P47eShioVg?&|;{sHtD;<840lYTYMX zjCI~J@MGvAUf)KSEY_eO?@8Xp%9+Kw5{@fl9fk%Htm%CSlTcmG>wUIJ^mzT)=0gwb z>|Ndas^0@&0*uQ#KpL2VZjQb>4R)huUp0)Mc}6aM)%5(5XXM^jX~ewmQQgG+J2WD* zcpa)IKtb5a;h$lQMj^|;4LGjMziVh9<)4+CFJz-u>kUv-zt#uXeCYA-Zg&@~_q7q< zqkI}&aKxp@AaS*HK-LbwS9R?sYw^1JP3de4%$w_r4l6qp9`0sPKM(PA~)A z9DVf`1f|?p@ooNb1z=H%)ceCyNlnMw+G_z>Z>%fb0}o_mjS%d zy{>e<^gbF$_y@mJu$z3sQC-fz1-3}^_;=XmL$B8BMT)WRQ}C`no7F)*A>T;|Hqo)4(!cvlF+a9dHuy$&*(i{{5QgJ=#o?G z!2t_U$YT8qjw@rGfCh?KmxOF64({s!VW_EJ>r-t$^lClrKrz;Dty?L+4tscZ-7xQo8(o`8uJb1N!2;%VSt2DD~C}jDU4ZP94u5`Ur z2Mr|rqrX?!8`b6fTW*U)kAJ_}eCXABlTXB0=g5#;{9b~pBRE(i52Kr*ki|M0$CYb+ zEgDF$2EWnda|YGrSZ9U2>0Z~vIsh&8YkkW|G1i-It`uJzEJ2stW7swnvRL1-WvImK zybvCNM2o3-SE`aWDhj9DTJB2)tUP zsIOWx#CtyB8M*h>c+YyCk$YctyC0z1r(*uyPDpD$AIMz?C_GA7>+zoVQONSI7mh2} z`W!Tn^3S>-U@xl6`IlgeM6cFM17f5k^lN?DXff8!M{UYUc)`Vb3cBRfdc0>j3R$dw z$8lw>Q$u)4wQgZu0oCPL_e4$oTL0SSL$B7ej1glUk@=K${=_?9c!@5#SZDprf{4Ys zE{-c>-5(7Uc|8x+zf24n983 zgUJ2~j0y|w6*M5KPY@9_ZWYlxJcvBOZT<&*8-Yj1PTQOc{^JQ6lj{^PCO=EtGQ4Ye zzwpSgaHR>rK(Iw{vkwd%8s0DP+@6m~oJNp)_NKC#y~D?daTcxwz_$`{HGkT$X;hc+ zz%+GRC#_p^*H`+$40LmV`5b~Kn5o{s*6E+dF+0n`Y+gn#$1A@{zsGyRct$SAEAw~k zY0Tc=x5kU>`qrwS-z65@9(n@eAoOPI+RW@W3Q2aU8ix;U6W*`U3V5C%A9y21(z>QR zYm5exx_;F0;0E#;i0bmXUTcd)uddJAeCYMi)}M>9?mVrJ_<0M@1U}X#A=;vl#dK37m(j&)who9=ZztQ(>w@u7!xnJ>gxf3t6~^*h?Uc+j)E{d&(A zA#*(s`_A{=oWIobUFtQSQ|mW-=I7h(`LfY|578l?EjXoozdk}u{qqn%*gHzcMw$f0 z&!{!Yy@zLQ9G!H{!F{%)63jq1M-SftL6IG+)WhkD$3vcxsE5;63KoYDygZ3|xb>_> z*Ekxp_xI|_Vy++VTu=PG!7PZwtB2Ff)}oN*`ehtf?kkxfJmN*tSLj+!HB^`LuRm() z^KYTehhAUFJyneL(eGc0pW{kCg@ZLEL|zoKSO?;`GS-)G zvY|M*|DCrnYU=ZPh|Px{uVcP+@2hKK`&rM~lWxMjr{fElfo_hznjHjQ-A=Za^8wFD z)K@LH@t%=9BT-+aMl@#c@02sd{HyzSAMw4K_aP3izDoV2o^A;5QYv0jSf%2=O314XP~ zqq-dHs*pDcU%%G7pe6C4hxLW8#8|IC-NP(nF4p_drK7KsJwu-DxP(F$>&)PdW|(+x zOk0I{Zeq<~&~sW38Yp5Nf$DOsm)IiFj!3wv95A0b5SAI>(M1!>n0%% zp^(M;l`TW1S}z6R5lAFh(|0_yMs+#XQ&3aCuWq;b(5v;zbH!L^k4z_ij;7!oKCjI> zs)|Au>+U$N%8q5wMl|Dt!~e3!agvuTrCO5Q3K{m%d8F6?|`;FXrE=PPN5rxeFi; zvKt(=PJ`TpLY9Aj;_; zrGwYBc&4C`#X1hhm9f5$1`@2P-`tQ5#ld|YAP6<}c^z%@p~ve*i{1O`@)5r#^;PaV zzzmpyZjQd19|T_APPPuvl4m69tKimrq<(3w#ufA$w z6Yt5i#1gXn3&3$@{zajIlz-NJ1~I5Euk{nQNc3vm0K_QA_4qe*nHcMXiwcWtJq%s4 zwQdq(7z$aezr%55tk0o=1Z(<^hm?>F#lgMSJ*cT)>%D9~^sv7EjTq~isiuhEt9cAv zvRDJP<2^S~$YPxfyb&yvv2K6{60GU^R$o+?^Lmvn57ec*>{O&R- zz2f^4x1mcGYm*QsP{?AP0=&@-mDT|&qJac!x(?7D)#X^vvPGhY^-ne*dRW)^PK@>3 z*p=e@y^F8n^V+N<4+>eV`{1}TuNR0IJKeP7Zm~y{?CKd9>8$b&J*R zeYO8zrO9=?%d;JIVFtQ6`sxt~O1ZDntL0=co0pNOuTrC`JR_IBO2ZX=?^q+|-?-yn zi~H(wh=c4vN3GK!V^PTRFCNF0`BxCaBVHu@qt~X5P+iWy(Wprx(c|CuHXnMmUh;b} z*7bAEAvfRfk6~HYx?o)jg)G(|;kYu^6VX5s>y4-`$NIi45(~0sbz-c2 zM=uax8;nGk4qlTzL$+BcWU=0lv~wfi_Z{TzrS%@nSaG0JmN)>e=Sg5&cBJM zNg~nX-)5T+y;`pjC&t=8Uq16bNACG*-dGOSln@nB$YR|E$Ca_3js_B}>2m=)P+gAo zGg~BjSQi1r$nMv#^?AF*Sg+r`oq)o>4jYFqxx8M0LKf>^a9kPd1T>IfO`;@QNyvuc z;C^iohMM}ko@(=<$Ln>w-TP{@CUpp!F6#hGVFtQ6`f3>vc(q8`IzVThk*KeNTl2DS z7SG7Nuez-R?Ncm^21FS@Kd97cw zMWR>hnE^4%aXtP`*ek|*Y=zn4zgzW3mu#(@gqVmz7VGUeu8j3~9T*8#FaHWUZ< zT5pD$`n5jX=0gwbCqIj^&b+6iA7Lu@7Fkn+z;&!5)YYwH-+8`b5tzT6gx zUakLT^Pz|JmcwGKn^zqoz7DH;$c5LLQ<3W*EWI8ZxHLR&WVMjE=iREu zweRm6cQ*9l>pf9ZpX*=SeCTmK%W?63t#Wv*_}w)x(Iw}2 zVMJ&B#e$LDuXS-;`Pkea4W!2l>m8Q!P+gAoXGVx80ikP0Jy6=S{l z(lOFs`8CuHUGlItMxv0#`gY%1Rulv}1=wUtWgnJMF z&f{Y}%R^T1xX(L$1~bsj(ZhW~K)}}M;qji@JR|oW9`6~~{PJ^n?U5@S7J zTW9fm6@yN?VBHgiEY@>zTp8;_XrPGo6I7RDT@Lc5dtDFfkI<6%(8K!VX))GcE~@MY z6Y~3NEV|_K`ZNkztkZxunqlI3IBgZ?-vfw0*ywu?s-l4+)}g2_$9j$}5zwC>yk1eW912;iJK?x8ucx4a1Z%?xs7yXvP+gAoBU>bTSo;BD zWcTayy4FSazPc{>horvBU2~`eGtkY^S9d^A%6*kS74VQ}Bomxeu>0 zn-9HO&wWLVb%qZ<^cP~C{IUzyc~Qt>9f;$~SPw%3Nv%_?m!Y~G>r1vs^lCi=Aogap zKIWonEB6|d1pp-Ts^$(|wGI25v2Z^m(DtZ$-$1Z&GH^g76f;^4jx&=@uKc|FAD zLyy-n*WCN+j`;7)b9V7>S$qLA(9O|TvxC5^+sW>8_<(05>Z{<^{Im8*o{@WBbz28W zd0ouE11pk=YyCdNL3TBVfAOBwe^^46fA8YBGXJ`vfs}vNI>0nkm)H6sTO@k5{8@5MzCK>q+stc?j$z9@Zuy`lFD=dMS=8V|@Y*Bv{k?9A2Zk9P6r(Hwji`XI@oU|5(h-F$|EA)&a;?Xrfs}t%Znscf&cDKtH?0Ic{xwHS{aQb8Ta0zR zFa9b?a^PMYtVfreS~rYCC}gpIWy?^h)=NQn1QJE8Tcf%h>nW(I-&eQWeCXAB<-206 ztMm&iCB(Ym9T#3#MInoIcN|yd^(-_{#CjL1%dviGi$sstB>*w9`}KL<=$?CDO*^Y9 z`S~E1=N+oU40Ln!)x8jua$m(?3y6EcGm`byau9--r#J7b8}EzxS8m<|@o!o#fH=r* zaMU`@Y!eDu{{4yL%KXa-;VINQ{0_oy@~MUDa{diNP5oM5Ve_F^>;4bKSm!BLi-5)N ztLfu8SW_MrMj?xJD;!tGdNdj+*7|Bxmt%d?7KvW1X9L9Etkx$z6l3k5>$&)EgoDwg zgVz-6DJW#Ij>Bhn6<=0lIyiypc6)sSqLB)@|&17@I` zqp#)%0Rda%et_VBmOLZ(z8V}bj%VcFSAzp+%--L=PsIG|)#tn1#DaSc^$gZ{iL z!2y{bTSAt90XVMAzbG`2@^61_!`NRt2G!-Ye!>=sUacE|80EMg|AsylW8I_aWpS;C zp-WD!2L}v8A&d2QIIfKKIW$njIwfR7ad5A74{GYydM}#~J*=-k6JyjQBGKdZ?=~NLSU>;Uy|4Pb+Td&U5#jv+ zcVGs(Ir{2A5NP&Qc>f{K$i1%`#wDJSdtapy^S;Ahi1}9{-bcI+(CoQIB@X}K{f8)I z`S&%BEAww38c6wP<@Ny8<@_rJdDBYJ@AykG)`tu36aOywHgw6w`UDDD ztW$tDnxWD$$Rbv>-hqoqEtTm0kRS4XaVH|aNRx%UIqg&FAP=&MH{DCNFN ze>E@}%;sez>8sIIc}8#ES9c_c`IqYWhvHga4snnj=%{s?Su6@!{>9_CGXDxfc*Ki@ zfAsed8=<8M54#P?`=NxYQ3aSa)X?dlAC;zeyiGiZA@TxPmZE6%)d6s3T9qd z6K&X{OQDd(`Xd}y#(E+eNU$b8$!8;~%dx(1i$o9We1I59T))<5CKF?w?O|K-dy+pU7 zQ_GueQ+z+bT$q7wj=owH1O#l2b%1zJJD!nyUyb)n;TgI2Rk!;AvZoaDFGa;WB}um2 zb$|qjLs0AR{=*cOkmX-P99QPwU^I~O&$=IA5vt2;{hTcly;@HLh*6H~@o!WrG1haQ zWEDSe)e~KEYCYaF8ig#@8*p41>uYGBh_x?dLve7g^#-V^U+V*GKJ>7@n_7%@hSH~U z33+`QU2?I$k3tq}Kk!DdP{z6$8Yp5t6xHRtUT=#;kJp!NKJ>6ASSD^)x+S&9^mU>l zBg4Z6L_|gQua?HzA!KFIr%n)Qw9T3Y=G$Di5HSrT|B$T{S1rwv+(n2qQEePo&3|E4 zvwAZ-G?5a9Uobds|;5>_~F@ z0atBe?im&!G`7B6wZ2cI&7bT^OyO&;+7EYjn|~oo1SFQLcKYuG^Q9|+6z3aUwVZpd zS!y&k-*mi8*Y5e$e2s7*#jO%ot><-re-jXjTL@QeL%-{!+KfPo^QT<3A+gmghESYW za@D^3ut5oPHj48vT(z#v7Mphl22z}#an+t(9$>y0C^5DI>3M)0Xf)VdaSWvT^|)#q zD*i!wh!IF*>%~<|Ii;9+_j4fCpUzeL{r)>vY!r~KT(wTAZkxX$7fAK5aMhZg3rcOq zMgd8aftTs5_Cu`LsD3%FTD^DkS+zik*M_Us{O{G~Z?6YZ{SjO>%Emydzm%(1E-INt zOFG*jt{Nq6Ak}}!Rl7IofrT5LEw?WZ5X$X9svp2r`*Pr8i{x~+Zd^550)bS2GFQ#> z;{LF{95%3jqKkmlpOEMqbUh5$+S)OZRQ;_iE{*zgJqZDA9m!bk4&D@ z{DTFn9z2<={%TP-a@Jz7>g_gyI&tJY_BJc=qoq#My^FIF5Rzg}R7*^k90W+ZEu#jQ zx#r7k!Q{*}ruYl;Wv@R^Kn)u zi<8u7t_+KhaD(wV_?@|oA4u(kNCeQFUUAi1B@4G`$*2dH%Em)x{*x2d87rgSt|h2@ zr&^`g1@oTm#8fBYtWFjus?h@mkHy=$0X46i$6Q?tq;t@8Z*$du@vC6|@s3pw&Xb*& z?x>dOtkW-M_I9;E-8H`9^5y+?qr^><0wOZR>toFyKw<`nc-nk}3Ju;W;6L)PFoYl$VM76|R85U3H26H*( zAPY%qPgC8^RWI^kGwZC7Q4fB=RUh$uIXTK1fsA^)Tse8E9=>?qsu8+dgFwyuj3QBu zo-XoO{3)6`kFuVThYFej(K%?k>$vLO)AzEfkWml5%vHbKA-_d>M!j9?T)cFv{gvA) zDVnYa)JVEc7ALADrpvN8678J1zEi^Aq9vVx<~on7z9#xqX%iYoJ@_zJ{YKbYi^Yt3 zyGNkz&EjS+yZV{4(_G)qZRP4@aiUsct_+KV(af1@>q-IEg*&yUsgCEWpY1WoI=x}k zgEw*2cW<0(A;YM*y9nyusZQSTKee5CoR3xe$G=0CVMem`C=6yIj5SOiYZ}YL*O2`j z!WbjQK4giJ$RLy@dlaGYSSHygYem^2FH4W`pv@B55~=6h-|Jl0IM;pE@2}td;l+5L z>wDhk{@nLD_xXNj?&)rdi#{Qxm@vGBl2Y8%Hg$Cmf2*TIgNZdzcbJG5dt@P;;|y2J zMf{0R*M&>f^+ALCbtCVkg|-Lj`jq2IDaC}5E>CfF+s<_@neS2W8-XAeK-VM@Kep!^ zIAa;EW{CLa@V0Ph8Lqb&-0#}HbF_DEX03~_+p2Dg2_sjQ;;3RUM6PPRtF5wys$+Xp zO%U;nZH3^Tn&B!<#GkK`lwYc@mm1u!y8EdHu)M(&_N=Yyt|$n@8(JyF`HD-rPj&bZ z1`}(bZe0<7>~Kk#lo_u2ig<8;8r;=0T+cMPUw7A(fv|gty8CTa_gYLC>GBlc6MOSv zyKi7Lu>iW3DZX`5a%Cz0 zPVCHMci(_bEo_gfg`y7~HQK-F0cz5RQj+nXT%k zm@wR6mr{I8?9i`+jzcW52I^)nDd`Tc@;Y3f7_O>`_|G@4KyDbWmBIbGHRs3LT}-=$ zGu>8oQ%o4?@)YkBd-LHeyJLa{(Dj;#*QtKe-ZI#3SzMJUB@NBmj0vINlM-arbt8lO zUE?YS+%tBRt?H(jFmh!nUL|(s)Jva1-?2Taek0=He++^RUxusj(vs@xt*>~!3UX4Hcm`3|ALL zyxGFvLr*UYGF<14kzDhuQ(j-PTpJq9b9GZp7`d_(53xIe}HYb=Niseaz>ZfN2!{*;6@sUG@3Ng#-PM}v7I;)b0t z+ItkXl_%Jy?x;+zTMw51SOZ68qlgC{D*-p)3|HTY_$LnhbLg`F^RWnu4Po4Km%FKvTMHnvCAsUkiz+Yaaq!&Rn;ZyT*+Lw#qszF=^_ z>aLG6JUUCY#M4rW3Bz}nq)T=S+tk%Py=)q6`C$#z9VOyDZ=8UWmEmfYh)!Swu>rT7S5oRbnvU$o$DJG0`d5UY2vo@;QwuF5$DLXWy%*{bgHnK07jDgIOJ&8|_S;LZpOplhXA zX=rYyj)xR8T)imbW8b(A(-gz?>jw9`*4jEPIy5xsy3JN~Q%o4SvJ_tuJ5y@)Nto5J zJ*pP1D5<8jm<7vchO4F`US`sFaKbWN4=}i2wf@r5xgFJ&wyK+A!f5YNNbxDLL#=ct zcm=G1y16Tfy35YMNy~5*C*ms;cENgu;kt{#{kq|gG;(!k+p2Dg2_s#e;?Kn1jK4D( z<{d16uD3)y;mwnfVuq{e%F@s*>eUcVL5AyQ2KT#u-LE+8LSu?wvsK*`6GpBq#p}e* zRN8qBcG$2zs-6|`LtR$Eabmd2S4C1CTk2?mP%Ig)YZ%P*R3KxZ^ABkXNTeHClPNv^*k&^8LsnJlU&y<=>~h1 z=-R|!o~xT;!pN1Sc&KgWs_qM7qv|pd@49yhEI=5pj*0luPoiK(X1Km@aDR#~ zU2EkXpsaOq&1XQ>O)+7#_b8+|**0}`E55k_K7xQXQ1@*SznQN$>^d=A?Gf>AXSTpr zE5r3AgZp)}*KP0FX6cr$E~S_-(&Z_B!M1Z<2V5*rAyggDBPK1dsOWs;$1gC4%aecU#p>F=4d#D5SVTO&BFtcXGk^;C2mbpsp72f?w`~ z$${Z&l8BEOGYRge7_QeD+^>6c!K<*e#Ou?KwyL|LAdGZ*iXV@YT(=yso2OU+T^oz| zs2@teih|+lWf9*Q+a0DUhU<3>?sr{%u57e(Xuq~q-D@#nT_)O~hj}!yv^B*AooxSG_U06YQYlVcl)3x+x}%_8x^4{~~s1<-G|I z9IS!5C2L8evuyo-Sh+G>wG{DPZ!Cr&FkBBcxL>zbwjMd1BfG{{byG|j>GBkREB5Bn z&i1gV#{%dY@lVOMLd68Q8DzMsE#iw#RE2kT7_Pe;-0wQI%D3J(v*w+7wyK+A!pN1S zc%Rsr-|ioT+iGl&s=tc(*nY*}3}m<}Q(GFD;UB*R7gvVs76$jL9$9e>meFak@H=9M zh}a|Z(qS?~eyx3RH|&Jb-lGuqGh)9Rj9Bf}3IwqRj!I-5Ni(ym-J55)sw3jJ&nwt< zVz^E+xPMgouDTD)8q{52tGZz)jC6U}zZ84(&c5kzjIaQ@{wCrrfBrYjW(-$P*Oi8* z*t*#jLLlB9Te;VAc8n%2jM0V z3!v)`5x*Kf3=S>B)z2cHb9GOc{1~naH;`Pvo>muTGd#3GgZXa)2_sjQ;*qwQyPiD1 zbeY|ourGtED@A-sy}hv7#+S3WIwj)q_xi)KhT%H!oTOSJPY^ybhN`s<=Bc_VCXDtT zg%qdQrmk+&d~1q?f`c_scbQFWk*C#0N$foHgSSH#t#W8tBZVYvR>;C|Iw zu^qflXI+cK;-wT5MthG!imTYBuI~A_Vk(4Q0c)UcR}nuts`7CdQ-%g{C5D{ z1hVRSgTei}=eCcA1qdG5tG23}V!}w5r?^-n7$(=X@6b14BE$md+FZn!e{<1$UGvVf z?H0PeBI4iYJnp@m57&zg?st7K@kYrIj;<$dRd+=}7`d_(=V~me&YHLmw)?O>s@4?o zC8a)xolu6WWD(yPH38Nu4A)Z(?pIy?;CuIk-D|75*J8qG?@>tc9kD~>^*oq*umYVt?H(jFmh!nJ}7o( zRrgr9IAMEK{awV19C*b`R3ON3RpDRK$PBMl0z%Jl-P+)O)qWcrds11~;;FW(n_|Lf z?@>r`rr4q8H}}A54r`$9Wf8ye=>(XR8LpmaCh4xfum{dUhU@1H?$=#d|0~$J!6Q4u zR&`TM80qp9e<=1Q?}4WwXIKDTPl$N-xYDphV7SWJTymW_W(dqX4A&J6?sqMGvMgLa z(6xuH>ZX`5a%Cx=DR!o6tw~{_;9z@H-7VrNXZyg#mEr0a5r4Ac_hNPZkD#Pl@|Q?= zq1eV?{&g{7wD%~ac&u&e&a(T{^22F`HBdK0#`m^|Ntxm5oQO}^lnZjhaGk4#q&wj4 z1X#`Ck*#kqPuEQ`VWi7b+~2lyUEhDu3vSo20J<&|@qtmZ;gfOl&Gu#`KKoHxb zYJ!NjdTkTDC(m$|CgQ#GABW?_aJ|&ve%1f%c_lp5nFVKtM0j8%@pzFdzVCpG#Re98r(lB1)Gn7 z0HE#-Th$9))-S;zjC6U}OBoCAQt!GR=-voc5?BCTTZ#Cgb-%-^iQ(#15uaDC60H3h zu9q9!@49A3Dy&%1^;=uj4Lf1v%EBJeR#J_>I}qkdY;TH(etke~5zqT%b65p2T&0Nk z`V%SeW)#Eqbc6d zqoMB%S5-v3Ue34R3}m?OU~s=`MDh1wJ&A{PhOO$Rm@wLV6jHoP?9hX!7r{O;)0iNaNXG8e%-;BVqqHzbw}H(Zi)#bU7q6AVs9oKnG3F1 z09{Xuc;kO8hz(673|D!Tc$!x>5M;QzBjTTYdIhE(hU?;5Qr$i7boEemRPAUm|4krawD%~a zc!F)}&a#~oion=o4bH1b+s<{3x^b^cs5}-x*Cires#q~tfG}Jg5%KlAGwpVtwXoIoU4#2m+_J^{{*k-P3y+I20Ca^uKP8IR=s`KIE#Bh}<;`#S)YXmIv=(l_u?Fgn67eqj9k^#?xLPIRt>T8;+*lDjvPTW> z*Ntj=7^>ru&C^9nF=3?3Q(Viob6o?wt5gmRJ{CaNULs!eK)N@Kfgr=x91&k~_Aq>$ zhv9m=!TqlPt{(>L6?DCAtGX#Bj9giYW4gi+xvGUHCBmGK?NPOjh!5G;-Rof>$Z$1Q z#Aht7QBuP73WNJq3#?CtMLMcpv{l^|1!1)JD5SVxH%WK=*6wfXCa%JL zuYJ5Z$5m4i$0u}iTn{j~UlkuPO{yzxRX4?i(cYtw;!|RW@R7|ytbw|@lO$by>M+Mu zoQT)756H25$} zj_YOy_q*b=7|HcDTh&c5VdTnEyiV*4KG`sc?NRlth~vZgIIi*~ORD&MIgaZZ2KTGt z=VazOixJ{pISt^oekz+ z7ZXOhJjIi3J9nDJhX4h!0J?4!aeR&q$JI|Fj*nvDxX%BQ+V>Ds#YOQYgbdk;i_U@M)H2(^H1zUIdIMw@G=0jX$ z>*SuvrgurnG7C-ZpKtUAD{oT>I`1tNS$7%_NFA1#+M}Fhz4w-~y6@dP%DgA=f@$-2 z0@-RVe8vk!+C$u52_S3mtgl8XAmEK62zXmctV93m(Kq>`?Y+06$?CngmJ?vF>k+2% z-*r7ba_3bq^UprS{Z-eIHF(xnHj}Y1^UuExPMcl>1`JtjCI8RhglMnxUp&+)DL9AH zr*HN)Xl_5m{Z;3Y&FcBz{_S4os_?J&9qXAf^!~VFzm^#-!9Rx9mD2zG|9|hUo|1Cr R_NmcVeu}v8@>}Kd{tsDmN#Oth literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx.meta new file mode 100644 index 0000000..1ac1ee0 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/reconTank.fbx.meta @@ -0,0 +1,239 @@ +fileFormatVersion: 2 +guid: 38b49695fc0a4418bbc350f2366660c5 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: Barrel + 100002: Barrel_end + 100004: Chasis + 100006: Recon_Tank + 100008: Recon_Tank_Rig + 100010: //RootNode + 100012: Root + 100014: Turret + 100016: Wheel_Front_L + 100018: Wheel_Front_L_end + 100020: Wheel_Middle_L + 100022: Wheel_Middle_L_end + 100024: Wheel_Rear_L + 100026: Wheel_Rear_L_end + 400000: Barrel + 400002: Barrel_end + 400004: Chasis + 400006: Recon_Tank + 400008: Recon_Tank_Rig + 400010: //RootNode + 400012: Root + 400014: Turret + 400016: Wheel_Front_L + 400018: Wheel_Front_L_end + 400020: Wheel_Middle_L + 400022: Wheel_Middle_L_end + 400024: Wheel_Rear_L + 400026: Wheel_Rear_L_end + 2100000: Recon_Tank + 4300000: Recon_Tank + 7400000: Recon_Tank_Rig|Drive + 7400002: Recon_Tank_Rig|Forward + 7400004: Recon_Tank_Rig|Idle + 7400006: Recon_Tank_Rig|Shoot + 9500000: //RootNode + 13700000: Recon_Tank + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Recon_Tank_Rig|Drive + takeName: Recon_Tank_Rig|Drive + firstFrame: 0 + lastFrame: 1 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Recon_Tank_Rig|Forward + takeName: Recon_Tank_Rig|Forward + firstFrame: 0 + lastFrame: 25 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Recon_Tank_Rig|Idle + takeName: Recon_Tank_Rig|Idle + firstFrame: 0 + lastFrame: 11 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Recon_Tank_Rig|Shoot + takeName: Recon_Tank_Rig|Shoot + firstFrame: 0 + lastFrame: 15 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 0.15 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 0.0015 + hasPreviousCalculatedGlobalScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Prefabs.meta b/Assets/Mirror/Examples/Tanks/Prefabs.meta new file mode 100644 index 0000000..6c92485 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2baeb281f5e8e421582aa9f72e7f1702 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab b/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab new file mode 100644 index 0000000..938c99d --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab @@ -0,0 +1,246 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &63476987332307980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8035186136109819211} + - component: {fileID: 9118274893554935717} + - component: {fileID: 69063397099238371} + m_Layer: 0 + m_Name: 3D Model + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8035186136109819211 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63476987332307980} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.05, y: 0.1, z: 0.05} + m_Children: [] + m_Father: {fileID: 24373266488650541} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!33 &9118274893554935717 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63476987332307980} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &69063397099238371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63476987332307980} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cba1b63a0bccc4b12ac25f05d0ae2dd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!1 &5890560936853567077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 24373266488650541} + - component: {fileID: 1713098107664522388} + - component: {fileID: 2355290524794870353} + - component: {fileID: 4629190479245867726} + - component: {fileID: 7082621516996595528} + m_Layer: 0 + m_Name: Projectile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &24373266488650541 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890560936853567077} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8035186136109819211} + - {fileID: 7830988697844474908} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1713098107664522388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890560936853567077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ServerOnly: 0 + m_LocalPlayerAuthority: 0 + m_AssetId: b7dd46dbf38c643f09e206f9fa4be008 + m_SceneId: 0 +--- !u!136 &2355290524794870353 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890560936853567077} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.05 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &4629190479245867726 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890560936853567077} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 1 + m_Constraints: 0 + m_CollisionDetection: 1 +--- !u!114 &7082621516996595528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890560936853567077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8f49b83f111a64bc7a5275af4f6f930b, type: 3} + m_Name: + m_EditorClassIdentifier: + syncInterval: 0.1 + destroyAfter: 5 + rigidBody: {fileID: 4629190479245867726} + force: 1000 +--- !u!1 &9126921595194253319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7830988697844474908} + - component: {fileID: 4878977110396366525} + m_Layer: 0 + m_Name: Point Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7830988697844474908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9126921595194253319} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 24373266488650541} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &4878977110396366525 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9126921595194253319} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 5 + m_Range: 2 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 3 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 diff --git a/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab.meta b/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab.meta new file mode 100644 index 0000000..f6d4068 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Prefabs/Projectile.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7dd46dbf38c643f09e206f9fa4be008 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab b/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab new file mode 100644 index 0000000..7682a90 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab @@ -0,0 +1,342 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1916082411674582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4492442352427800} + - component: {fileID: 114118589361100106} + - component: {fileID: 2240606817507776182} + - component: {fileID: 114250499875391520} + - component: {fileID: 6900008319038825817} + - component: {fileID: 5194388907919410155} + - component: {fileID: 114654712548978148} + m_Layer: 0 + m_Name: Tank + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4492442352427800 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7831918942946891954} + - {fileID: 6564220120147636086} + - {fileID: 5718089106632469514} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114118589361100106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3} + m_Name: + m_EditorClassIdentifier: + sceneId: 0 + serverOnly: 0 + visible: 0 + m_AssetId: + hasSpawned: 0 +--- !u!95 &2240606817507776182 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + m_Controller: {fileID: 9100000, guid: a7211483bbd794b6d85ed88576e7d85c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &114250499875391520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3} + m_Name: + m_EditorClassIdentifier: + syncMode: 0 + syncInterval: 0.1 + clientAuthority: 1 + localPositionSensitivity: 0.01 + localRotationSensitivity: 0.01 + localScaleSensitivity: 0.01 + compressRotation: 1 +--- !u!195 &6900008319038825817 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 1 + m_Acceleration: 1 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 0.5 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 0 +--- !u!135 &5194388907919410155 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0.25, z: 0} +--- !u!114 &114654712548978148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916082411674582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7deadf756194d461e9140e42d651693b, type: 3} + m_Name: + m_EditorClassIdentifier: + syncMode: 0 + syncInterval: 0.1 + agent: {fileID: 6900008319038825817} + animator: {fileID: 2240606817507776182} + rotationSpeed: 80 + shootKey: 32 + projectilePrefab: {fileID: 5890560936853567077, guid: b7dd46dbf38c643f09e206f9fa4be008, + type: 3} + projectileMount: {fileID: 5718089106632469514} +--- !u!1 &4426914200102054949 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6564220120147636086} + - component: {fileID: 7604806193092689376} + m_Layer: 0 + m_Name: Spot Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6564220120147636086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4426914200102054949} + m_LocalRotation: {x: 0.02281505, y: -0, z: -0, w: 0.9997397} + m_LocalPosition: {x: 0.07, y: 0.46, z: 0.126} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4492442352427800} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 2.615, y: 0, z: 0} +--- !u!108 &7604806193092689376 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4426914200102054949} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 0 + m_Shape: 0 + m_Color: {r: 1, g: 0.9205329, b: 0.7877358, a: 1} + m_Intensity: 3 + m_Range: 15 + m_SpotAngle: 80 + m_InnerSpotAngle: 62.1886 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &4730779867780281009 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5718089106632469514} + m_Layer: 0 + m_Name: ProjectileMount + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5718089106632469514 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4730779867780281009} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.412, z: 0.936} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4492442352427800} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &7831918942947279416 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4492442352427800} + m_Modifications: + - target: {fileID: 100010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_Name + value: 3D Model + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 13700000, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 2e67e42170aa64aa9a33424f8045ac89, type: 2} + m_RemovedComponents: + - {fileID: 9500000, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} +--- !u!4 &7831918942946891954 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400010, guid: 38b49695fc0a4418bbc350f2366660c5, + type: 3} + m_PrefabInstance: {fileID: 7831918942947279416} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab.meta b/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab.meta new file mode 100644 index 0000000..4454818 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Prefabs/Tank.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f43bf5488a7443d19ab2a83c6b91f35 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Scenes.meta b/Assets/Mirror/Examples/Tanks/Scenes.meta new file mode 100644 index 0000000..5665d39 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91225a3fc58fe4a7f9e10718cd3bdc61 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Scenes/Scene.meta b/Assets/Mirror/Examples/Tanks/Scenes/Scene.meta new file mode 100644 index 0000000..01af532 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Scenes/Scene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81cfd31f234d94a0985fe946d2ce699f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity b/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity new file mode 100644 index 0000000..804c241 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity @@ -0,0 +1,623 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 23800000, guid: 0bc607fa2e315482ebe98797e844e11f, type: 2} +--- !u!1 &88936773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 88936777} + - component: {fileID: 88936776} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &88936776 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 88936773} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &88936777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 88936773} + m_LocalRotation: {x: 0, y: 0.92387956, z: -0.38268343, w: 0} + m_LocalPosition: {x: 0, y: 6.5, z: 8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 45, y: 180, z: 0} +--- !u!1 &251893064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 251893065} + - component: {fileID: 251893066} + m_Layer: 0 + m_Name: Spawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &251893065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 251893064} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &251893066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 251893064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &535739935 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 535739936} + - component: {fileID: 535739937} + m_Layer: 0 + m_Name: Spawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &535739936 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535739935} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &535739937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535739935} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1107091652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1107091656} + - component: {fileID: 1107091655} + - component: {fileID: 1107091654} + - component: {fileID: 1107091653} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!23 &1107091653 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107091652} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 29b49c27a74f145918356859bd7af511, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1107091654 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107091652} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1107091655 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107091652} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1107091656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1107091652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1282001517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1282001518} + - component: {fileID: 1282001520} + - component: {fileID: 1282001519} + - component: {fileID: 1282001521} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1282001518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282001517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1282001519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282001517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6442dc8070ceb41f094e44de0bf87274, type: 3} + m_Name: + m_EditorClassIdentifier: + showGUI: 1 + offsetX: 0 + offsetY: 0 +--- !u!114 &1282001520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282001517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8aab4c8111b7c411b9b92cf3dbc5bd4e, type: 3} + m_Name: + m_EditorClassIdentifier: + dontDestroyOnLoad: 1 + runInBackground: 1 + autoStartServerBuild: 1 + showDebugMessages: 0 + serverTickRate: 30 + serverBatching: 0 + serverBatchInterval: 0 + offlineScene: + onlineScene: + transport: {fileID: 1282001521} + networkAddress: localhost + maxConnections: 100 + disconnectInactiveConnections: 0 + disconnectInactiveTimeout: 60 + authenticator: {fileID: 0} + playerPrefab: {fileID: 1916082411674582, guid: 6f43bf5488a7443d19ab2a83c6b91f35, + type: 3} + autoCreatePlayer: 1 + playerSpawnMethod: 1 + spawnPrefabs: + - {fileID: 5890560936853567077, guid: b7dd46dbf38c643f09e206f9fa4be008, type: 3} +--- !u!114 &1282001521 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282001517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} + m_Name: + m_EditorClassIdentifier: + Port: 7777 + NoDelay: 1 + Interval: 10 + FastResend: 2 + CongestionWindow: 0 + SendWindowSize: 4096 + ReceiveWindowSize: 4096 + debugLog: 0 + statisticsGUI: 0 + statisticsLog: 0 +--- !u!1 &1458789072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1458789073} + - component: {fileID: 1458789074} + m_Layer: 0 + m_Name: Spawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1458789073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1458789072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1458789074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1458789072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1501912662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1501912663} + - component: {fileID: 1501912664} + m_Layer: 0 + m_Name: Spawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1501912663 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501912662} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1501912664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501912662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2054208274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054208276} + - component: {fileID: 2054208275} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2054208275 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054208274} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2054208276 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054208274} + m_LocalRotation: {x: 0.10938167, y: 0.8754261, z: -0.40821788, w: 0.23456976} + m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: 150, z: 0} diff --git a/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity.meta b/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity.meta new file mode 100644 index 0000000..c7f922e --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Scenes/Scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 83f9d2fb76f5742448c6e51f258327a2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Scenes/Scene/NavMesh.asset b/Assets/Mirror/Examples/Tanks/Scenes/Scene/NavMesh.asset new file mode 100644 index 0000000000000000000000000000000000000000..3acffc80e7884117f6ba1c24763179df0d46214e GIT binary patch literal 5444 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�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%0Ai~*MUVw4AGhb2nu1yyAT(LQSwUKz9h*DaXxJ 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/dirt.png.meta b/Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/dirt.png.meta new file mode 100644 index 0000000..b00a626 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Textures/(Public Domain) Dirt Hand Painted Texture/dirt.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: bcc8fc05f1f924531a65f39394c0b703 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat b/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat new file mode 100644 index 0000000..d231b59 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ProjectileMaterial + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 1, b: 0.8901961, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat.meta b/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat.meta new file mode 100644 index 0000000..84c957e --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Textures/ProjectileMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cba1b63a0bccc4b12ac25f05d0ae2dd1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Icon.meta b/Assets/Mirror/Icon.meta new file mode 100644 index 0000000..7338187 --- /dev/null +++ b/Assets/Mirror/Icon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5f1356ad059a1243910a4e82cd68c5f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Icon/MirrorIcon.png b/Assets/Mirror/Icon/MirrorIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..1be896157a63edfe96735948eeb145381697d551 GIT binary patch literal 138247 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 b}aI>P^u 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 am-K3pEI#Dm6C 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll.meta b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll.meta new file mode 100644 index 0000000..d5555bf --- /dev/null +++ b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Mdb.dll.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: a078fc7c0dc14d047a28dea9c93fd259 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + platformData: + - first: + '': Any + second: + enabled: 0 + settings: + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll new file mode 100644 index 0000000000000000000000000000000000000000..3b58436e37e6705aa683b65555cbb77a256c82db GIT binary patch literal 87552 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 Sp+?bvIT-!FzyIIW!2buACErW{ literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll.meta b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll.meta new file mode 100644 index 0000000..3ab420f --- /dev/null +++ b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Pdb.dll.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 534d998d93b238041bddcd864f7f1088 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + platformData: + - first: + '': Any + second: + enabled: 0 + settings: + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll b/Assets/Mirror/Plugins/Mono.Cecil/Mono.CecilX.Rocks.dll new file mode 100644 index 0000000000000000000000000000000000000000..7d820f0cc4eb2ead833303c0e6e2dea9f7b0eef1 GIT binary patch literal 27648 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

HFvly*KXxyP)w+jBy^lSZV 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 z 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 m>yU%d1DU0u6LOc8SEtI>6JOR-v Player > Other Settings) + +Documentation: + https://mirror-networking.gitbook.io/docs/ + +Support: + Discord: https://discordapp.com/invite/N9QVxbM + Bug Reports: https://github.com/vis2k/Mirror/issues diff --git a/Assets/Mirror/Readme.txt.meta b/Assets/Mirror/Readme.txt.meta new file mode 100644 index 0000000..d52ccce --- /dev/null +++ b/Assets/Mirror/Readme.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6d84e019c68446f28415a923b460a03 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime.meta b/Assets/Mirror/Runtime.meta new file mode 100644 index 0000000..85ee3eb --- /dev/null +++ b/Assets/Mirror/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f4328ccc5f724e45afe2215d275b5d5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/AssemblyInfo.cs b/Assets/Mirror/Runtime/AssemblyInfo.cs new file mode 100644 index 0000000..5af6857 --- /dev/null +++ b/Assets/Mirror/Runtime/AssemblyInfo.cs @@ -0,0 +1,9 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Mirror.Tests.Common")] +[assembly: InternalsVisibleTo("Mirror.Tests")] +[assembly: InternalsVisibleTo("Mirror.Tests.Generated")] +[assembly: InternalsVisibleTo("Mirror.Tests.Runtime")] +[assembly: InternalsVisibleTo("Mirror.Tests.Performance.Editor")] +[assembly: InternalsVisibleTo("Mirror.Tests.Performance.Runtime")] +[assembly: InternalsVisibleTo("Mirror.Editor")] diff --git a/Assets/Mirror/Runtime/AssemblyInfo.cs.meta b/Assets/Mirror/Runtime/AssemblyInfo.cs.meta new file mode 100644 index 0000000..50cc028 --- /dev/null +++ b/Assets/Mirror/Runtime/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e28d5f410e25b42e6a76a2ffc10e4675 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Attributes.cs b/Assets/Mirror/Runtime/Attributes.cs new file mode 100644 index 0000000..39b06fd --- /dev/null +++ b/Assets/Mirror/Runtime/Attributes.cs @@ -0,0 +1,85 @@ +using System; +using UnityEngine; + +namespace Mirror +{ + ///

+ /// SyncVars are used to synchronize a variable from the server to all clients automatically. + /// Value must be changed on server, not directly by clients. Hook parameter allows you to define a client-side method to be invoked when the client gets an update from the server. + /// + [AttributeUsage(AttributeTargets.Field)] + public class SyncVarAttribute : PropertyAttribute + { + public string hook; + } + + /// + /// Call this from a client to run this function on the server. + /// Make sure to validate input etc. It's not possible to call this from a server. + /// + [AttributeUsage(AttributeTargets.Method)] + public class CommandAttribute : Attribute + { + public int channel = Channels.Reliable; + public bool requiresAuthority = true; + } + + /// + /// The server uses a Remote Procedure Call (RPC) to run this function on clients. + /// + [AttributeUsage(AttributeTargets.Method)] + public class ClientRpcAttribute : Attribute + { + public int channel = Channels.Reliable; + public bool includeOwner = true; + } + + /// + /// The server uses a Remote Procedure Call (RPC) to run this function on a specific client. + /// + [AttributeUsage(AttributeTargets.Method)] + public class TargetRpcAttribute : Attribute + { + public int channel = Channels.Reliable; + } + + /// + /// Prevents clients from running this method. + /// Prints a warning if a client tries to execute this method. + /// + [AttributeUsage(AttributeTargets.Method)] + public class ServerAttribute : Attribute {} + + /// + /// Prevents clients from running this method. + /// No warning is thrown. + /// + [AttributeUsage(AttributeTargets.Method)] + public class ServerCallbackAttribute : Attribute {} + + /// + /// Prevents the server from running this method. + /// Prints a warning if the server tries to execute this method. + /// + [AttributeUsage(AttributeTargets.Method)] + public class ClientAttribute : Attribute {} + + /// + /// Prevents the server from running this method. + /// No warning is printed. + /// + [AttributeUsage(AttributeTargets.Method)] + public class ClientCallbackAttribute : Attribute {} + + /// + /// Converts a string property into a Scene property in the inspector + /// + public class SceneAttribute : PropertyAttribute {} + + /// + /// Used to show private SyncList in the inspector, + /// Use instead of SerializeField for non Serializable types + /// + [AttributeUsage(AttributeTargets.Field)] + public class ShowInInspectorAttribute : Attribute {} +} diff --git a/Assets/Mirror/Runtime/Attributes.cs.meta b/Assets/Mirror/Runtime/Attributes.cs.meta new file mode 100644 index 0000000..c50a489 --- /dev/null +++ b/Assets/Mirror/Runtime/Attributes.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c04c722ee2ffd49c8a56ab33667b10b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Batching.meta b/Assets/Mirror/Runtime/Batching.meta new file mode 100644 index 0000000..bf23600 --- /dev/null +++ b/Assets/Mirror/Runtime/Batching.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c38e1bebe9947f8b842a8a57aa2b71c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Batching/Batcher.cs b/Assets/Mirror/Runtime/Batching/Batcher.cs new file mode 100644 index 0000000..b77e312 --- /dev/null +++ b/Assets/Mirror/Runtime/Batching/Batcher.cs @@ -0,0 +1,97 @@ +// batching functionality encapsulated into one class. +// -> less complexity +// -> easy to test +// +// IMPORTANT: we use THRESHOLD batching, not MAXED SIZE batching. +// see threshold comments below. +// +// includes timestamp for tick batching. +// -> allows NetworkTransform etc. to use timestamp without including it in +// every single message +using System; +using System.Collections.Generic; + +namespace Mirror +{ + public class Batcher + { + // batching threshold instead of max size. + // -> small messages are fit into threshold sized batches + // -> messages larger than threshold are single batches + // + // in other words, we fit up to 'threshold' but still allow larger ones + // for two reasons: + // 1.) data races: skipping batching for larger messages would send a + // large spawn message immediately, while others are batched and + // only flushed at the end of the frame + // 2) timestamp batching: if each batch is expected to contain a + // timestamp, then large messages have to be a batch too. otherwise + // they would not contain a timestamp + readonly int threshold; + + // TimeStamp header size for those who need it + public const int HeaderSize = sizeof(double); + + // batched messages + // IMPORTANT: we queue the serialized messages! + // queueing NetworkMessage would box and allocate! + Queue messages = new Queue(); + + public Batcher(int threshold) + { + this.threshold = threshold; + } + + // add a message for batching + // we allow any sized messages. + // caller needs to make sure they are within max packet size. + public void AddMessage(ArraySegment message) + { + // put into a (pooled) writer + // -> WriteBytes instead of WriteSegment because the latter + // would add a size header. we want to write directly. + // -> will be returned to pool when making the batch! + // IMPORTANT: NOT adding a size header / msg saves LOTS of bandwidth + PooledNetworkWriter writer = NetworkWriterPool.GetWriter(); + writer.WriteBytes(message.Array, message.Offset, message.Count); + messages.Enqueue(writer); + } + + // batch as many messages as possible into writer + // returns true if any batch was made. + public bool MakeNextBatch(NetworkWriter writer, double timeStamp) + { + // if we have no messages then there's nothing to do + if (messages.Count == 0) + return false; + + // make sure the writer is fresh to avoid uncertain situations + if (writer.Position != 0) + throw new ArgumentException($"MakeNextBatch needs a fresh writer!"); + + // write timestamp first + // -> double precision for accuracy over long periods of time + writer.WriteDouble(timeStamp); + + // do start no matter what + do + { + // add next message no matter what. even if > threshold. + // (we do allow > threshold sized messages as single batch) + PooledNetworkWriter message = messages.Dequeue(); + ArraySegment segment = message.ToArraySegment(); + writer.WriteBytes(segment.Array, segment.Offset, segment.Count); + + // return the writer to pool + NetworkWriterPool.Recycle(message); + } + // keep going as long as we have more messages, + // AND the next one would fit into threshold. + while (messages.Count > 0 && + writer.Position + messages.Peek().Position <= threshold); + + // we had messages, so a batch was made + return true; + } + } +} diff --git a/Assets/Mirror/Runtime/Batching/Batcher.cs.meta b/Assets/Mirror/Runtime/Batching/Batcher.cs.meta new file mode 100644 index 0000000..a774908 --- /dev/null +++ b/Assets/Mirror/Runtime/Batching/Batcher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0afaaa611a2142d48a07bdd03b68b2b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Batching/Unbatcher.cs b/Assets/Mirror/Runtime/Batching/Unbatcher.cs new file mode 100644 index 0000000..5e1a8f5 --- /dev/null +++ b/Assets/Mirror/Runtime/Batching/Unbatcher.cs @@ -0,0 +1,140 @@ +// un-batching functionality encapsulated into one class. +// -> less complexity +// -> easy to test +// +// includes timestamp for tick batching. +// -> allows NetworkTransform etc. to use timestamp without including it in +// every single message +using System; +using System.Collections.Generic; + +namespace Mirror +{ + public class Unbatcher + { + // supporting adding multiple batches before GetNextMessage is called. + // just in case. + Queue batches = new Queue(); + + // NetworkReader is only created once, + // then pointed to the first batch. + NetworkReader reader = new NetworkReader(new byte[0]); + + // timestamp that was written into the batch remotely. + // for the batch that our reader is currently pointed at. + double readerRemoteTimeStamp; + + // helper function to start reading a batch. + void StartReadingBatch(PooledNetworkWriter batch) + { + // point reader to it + reader.SetBuffer(batch.ToArraySegment()); + + // read remote timestamp (double) + // -> AddBatch quarantees that we have at least 8 bytes to read + readerRemoteTimeStamp = reader.ReadDouble(); + } + + // add a new batch. + // returns true if valid. + // returns false if not, in which case the connection should be disconnected. + public bool AddBatch(ArraySegment batch) + { + // IMPORTANT: ArraySegment is only valid until returning. we copy it! + // + // NOTE: it's not possible to create empty ArraySegments, so we + // don't need to check against that. + + // make sure we have at least 8 bytes to read for tick timestamp + if (batch.Count < Batcher.HeaderSize) + return false; + + // put into a (pooled) writer + // -> WriteBytes instead of WriteSegment because the latter + // would add a size header. we want to write directly. + // -> will be returned to pool when sending! + PooledNetworkWriter writer = NetworkWriterPool.GetWriter(); + writer.WriteBytes(batch.Array, batch.Offset, batch.Count); + + // first batch? then point reader there + if (batches.Count == 0) + StartReadingBatch(writer); + + // add batch + batches.Enqueue(writer); + //Debug.Log($"Adding Batch {BitConverter.ToString(batch.Array, batch.Offset, batch.Count)} => batches={batches.Count} reader={reader}"); + return true; + } + + // get next message, unpacked from batch (if any) + // timestamp is the REMOTE time when the batch was created remotely. + public bool GetNextMessage(out NetworkReader message, out double remoteTimeStamp) + { + // getting messages would be easy via + // <> + // but to save A LOT of bandwidth, we use + // < + // in other words, we don't know where the current message ends + // + // BUT: it doesn't matter! + // -> we simply return the reader + // * if we have one yet + // * and if there's more to read + // -> the caller can then read one message from it + // -> when the end is reached, we retire the batch! + // + // for example: + // while (GetNextMessage(out message)) + // ProcessMessage(message); + // + message = null; + + // do nothing if we don't have any batches. + // otherwise the below queue.Dequeue() would throw an + // InvalidOperationException if operating on empty queue. + if (batches.Count == 0) + { + remoteTimeStamp = 0; + return false; + } + + // was our reader pointed to anything yet? + if (reader.Length == 0) + { + remoteTimeStamp = 0; + return false; + } + + // no more data to read? + if (reader.Remaining == 0) + { + // retire the batch + PooledNetworkWriter writer = batches.Dequeue(); + NetworkWriterPool.Recycle(writer); + + // do we have another batch? + if (batches.Count > 0) + { + // point reader to the next batch. + // we'll return the reader below. + PooledNetworkWriter next = batches.Peek(); + StartReadingBatch(next); + } + // otherwise there's nothing more to read + else + { + remoteTimeStamp = 0; + return false; + } + } + + // use the current batch's remote timestamp + // AFTER potentially moving to the next batch ABOVE! + remoteTimeStamp = readerRemoteTimeStamp; + + // if we got here, then we have more data to read. + message = reader; + return true; + } + } +} diff --git a/Assets/Mirror/Runtime/Batching/Unbatcher.cs.meta b/Assets/Mirror/Runtime/Batching/Unbatcher.cs.meta new file mode 100644 index 0000000..26038b0 --- /dev/null +++ b/Assets/Mirror/Runtime/Batching/Unbatcher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 328562d71e1c45c58581b958845aa7a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/ClientScene.cs b/Assets/Mirror/Runtime/ClientScene.cs new file mode 100644 index 0000000..d84ae21 --- /dev/null +++ b/Assets/Mirror/Runtime/ClientScene.cs @@ -0,0 +1,95 @@ +// moved into NetworkClient on 2021-03-07 +using System; +using System.Collections.Generic; +using UnityEngine; +using Guid = System.Guid; + +namespace Mirror +{ + // Deprecated 2021-03-07 + [Obsolete("Use NetworkClient instead")] + public static class ClientScene + { + [Obsolete("ClientScene.localPlayer was moved to NetworkClient.localPlayer")] + public static NetworkIdentity localPlayer + { + get { return NetworkClient.localPlayer; } + set { NetworkClient.localPlayer = value; } + } + + [Obsolete("ClientScene.ready was moved to NetworkClient.ready")] + public static bool ready + { + get { return NetworkClient.ready; } + set { NetworkClient.ready = value; } + } + + [Obsolete("ClientScene.readyConnection was moved to NetworkClient.readyConnection")] + public static NetworkConnection readyConnection + { + get { return NetworkClient.readyConnection; } + set { NetworkClient.connection = value; } + } + + [Obsolete("ClientScene.prefabs was moved to NetworkClient.prefabs")] + public static Dictionary prefabs => NetworkClient.prefabs; + + // add player ////////////////////////////////////////////////////////// + [Obsolete("ClientScene.AddPlayer was moved to NetworkClient.AddPlayer")] + public static bool AddPlayer(NetworkConnection readyConn) => NetworkClient.AddPlayer(readyConn); + + // ready /////////////////////////////////////////////////////////////// + [Obsolete("ClientScene.Ready was moved to NetworkClient.Ready")] + public static bool Ready(NetworkConnection conn) => NetworkClient.Ready(conn); + + [Obsolete("ClientScene.PrepareToSpawnSceneObjects was moved to NetworkClient.PrepareToSpawnSceneObjects")] + public static void PrepareToSpawnSceneObjects() => NetworkClient.PrepareToSpawnSceneObjects(); + + // spawnable prefabs /////////////////////////////////////////////////// + [Obsolete("ClientScene.GetPrefab was moved to NetworkClient.GetPrefab")] + public static bool GetPrefab(Guid assetId, out GameObject prefab) => NetworkClient.GetPrefab(assetId, out prefab); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab, Guid newAssetId) => NetworkClient.RegisterPrefab(prefab, newAssetId); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab) => NetworkClient.RegisterPrefab(prefab); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab, Guid newAssetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterPrefab(prefab, newAssetId, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterPrefab(prefab, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab, Guid newAssetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterPrefab(prefab, newAssetId, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.RegisterPrefab was moved to NetworkClient.RegisterPrefab")] + public static void RegisterPrefab(GameObject prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterPrefab(prefab, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.UnregisterPrefab was moved to NetworkClient.UnregisterPrefab")] + public static void UnregisterPrefab(GameObject prefab) => NetworkClient.UnregisterPrefab(prefab); + + // spawn handlers ////////////////////////////////////////////////////// + [Obsolete("ClientScene.RegisterSpawnHandler was moved to NetworkClient.RegisterSpawnHandler")] + public static void RegisterSpawnHandler(Guid assetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.RegisterSpawnHandler was moved to NetworkClient.RegisterSpawnHandler")] + public static void RegisterSpawnHandler(Guid assetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => + NetworkClient.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler); + + [Obsolete("ClientScene.UnregisterSpawnHandler was moved to NetworkClient.UnregisterSpawnHandler")] + public static void UnregisterSpawnHandler(Guid assetId) => NetworkClient.UnregisterSpawnHandler(assetId); + + [Obsolete("ClientScene.ClearSpawners was moved to NetworkClient.ClearSpawners")] + public static void ClearSpawners() => NetworkClient.ClearSpawners(); + + [Obsolete("ClientScene.DestroyAllClientObjects was moved to NetworkClient.DestroyAllClientObjects")] + public static void DestroyAllClientObjects() => NetworkClient.DestroyAllClientObjects(); + } +} diff --git a/Assets/Mirror/Runtime/ClientScene.cs.meta b/Assets/Mirror/Runtime/ClientScene.cs.meta new file mode 100644 index 0000000..82b617e --- /dev/null +++ b/Assets/Mirror/Runtime/ClientScene.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96fc7967f813e4960b9119d7c2118494 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Compression.cs b/Assets/Mirror/Runtime/Compression.cs new file mode 100644 index 0000000..1cc930d --- /dev/null +++ b/Assets/Mirror/Runtime/Compression.cs @@ -0,0 +1,357 @@ +// Quaternion compression from DOTSNET +using System; +using UnityEngine; + +namespace Mirror +{ + /// Functions to Compress Quaternions and Floats + public static class Compression + { + // quaternion compression ////////////////////////////////////////////// + // smallest three: https://gafferongames.com/post/snapshot_compression/ + // compresses 16 bytes quaternion into 4 bytes + + // helper function to find largest absolute element + // returns the index of the largest one + public static int LargestAbsoluteComponentIndex(Vector4 value, out float largestAbs, out Vector3 withoutLargest) + { + // convert to abs + Vector4 abs = new Vector4(Mathf.Abs(value.x), Mathf.Abs(value.y), Mathf.Abs(value.z), Mathf.Abs(value.w)); + + // set largest to first abs (x) + largestAbs = abs.x; + withoutLargest = new Vector3(value.y, value.z, value.w); + int largestIndex = 0; + + // compare to the others, starting at second value + // performance for 100k calls + // for-loop: 25ms + // manual checks: 22ms + if (abs.y > largestAbs) + { + largestIndex = 1; + largestAbs = abs.y; + withoutLargest = new Vector3(value.x, value.z, value.w); + } + if (abs.z > largestAbs) + { + largestIndex = 2; + largestAbs = abs.z; + withoutLargest = new Vector3(value.x, value.y, value.w); + } + if (abs.w > largestAbs) + { + largestIndex = 3; + largestAbs = abs.w; + withoutLargest = new Vector3(value.x, value.y, value.z); + } + + return largestIndex; + } + + // scale a float within min/max range to an ushort between min/max range + // note: can also use this for byte range from byte.MinValue to byte.MaxValue + public static ushort ScaleFloatToUShort(float value, float minValue, float maxValue, ushort minTarget, ushort maxTarget) + { + // note: C# ushort - ushort => int, hence so many casts + // max ushort - min ushort only fits into something bigger + int targetRange = maxTarget - minTarget; + float valueRange = maxValue - minValue; + float valueRelative = value - minValue; + return (ushort)(minTarget + (ushort)(valueRelative / valueRange * targetRange)); + } + + // scale an ushort within min/max range to a float between min/max range + // note: can also use this for byte range from byte.MinValue to byte.MaxValue + public static float ScaleUShortToFloat(ushort value, ushort minValue, ushort maxValue, float minTarget, float maxTarget) + { + // note: C# ushort - ushort => int, hence so many casts + float targetRange = maxTarget - minTarget; + ushort valueRange = (ushort)(maxValue - minValue); + ushort valueRelative = (ushort)(value - minValue); + return minTarget + (valueRelative / (float)valueRange * targetRange); + } + + const float QuaternionMinRange = -0.707107f; + const float QuaternionMaxRange = 0.707107f; + const ushort TenBitsMax = 0x3FF; + + // helper function to access 'nth' component of quaternion + static float QuaternionElement(Quaternion q, int element) + { + switch (element) + { + case 0: return q.x; + case 1: return q.y; + case 2: return q.z; + case 3: return q.w; + default: return 0; + } + } + + // note: assumes normalized quaternions + public static uint CompressQuaternion(Quaternion q) + { + // note: assuming normalized quaternions is enough. no need to force + // normalize here. we already normalize when decompressing. + + // find the largest component index [0,3] + value + int largestIndex = LargestAbsoluteComponentIndex(new Vector4(q.x, q.y, q.z, q.w), out float _, out Vector3 withoutLargest); + + // from here on, we work with the 3 components without largest! + + // "You might think you need to send a sign bit for [largest] in + // case it is negative, but you don’t, because you can make + // [largest] always positive by negating the entire quaternion if + // [largest] is negative. in quaternion space (x,y,z,w) and + // (-x,-y,-z,-w) represent the same rotation." + if (QuaternionElement(q, largestIndex) < 0) + withoutLargest = -withoutLargest; + + // put index & three floats into one integer. + // => index is 2 bits (4 values require 2 bits to store them) + // => the three floats are between [-0.707107,+0.707107] because: + // "If v is the absolute value of the largest quaternion + // component, the next largest possible component value occurs + // when two components have the same absolute value and the + // other two components are zero. The length of that quaternion + // (v,v,0,0) is 1, therefore v^2 + v^2 = 1, 2v^2 = 1, + // v = 1/sqrt(2). This means you can encode the smallest three + // components in [-0.707107,+0.707107] instead of [-1,+1] giving + // you more precision with the same number of bits." + // => the article recommends storing each float in 9 bits + // => our uint has 32 bits, so we might as well store in (32-2)/3=10 + // 10 bits max value: 1023=0x3FF (use OSX calc to flip 10 bits) + ushort aScaled = ScaleFloatToUShort(withoutLargest.x, QuaternionMinRange, QuaternionMaxRange, 0, TenBitsMax); + ushort bScaled = ScaleFloatToUShort(withoutLargest.y, QuaternionMinRange, QuaternionMaxRange, 0, TenBitsMax); + ushort cScaled = ScaleFloatToUShort(withoutLargest.z, QuaternionMinRange, QuaternionMaxRange, 0, TenBitsMax); + + // now we just need to pack them into one integer + // -> index is 2 bit and needs to be shifted to 31..32 + // -> a is 10 bit and needs to be shifted 20..30 + // -> b is 10 bit and needs to be shifted 10..20 + // -> c is 10 bit and needs to be at 0..10 + return (uint)(largestIndex << 30 | aScaled << 20 | bScaled << 10 | cScaled); + } + + // Quaternion normalizeSAFE from ECS math.normalizesafe() + // => useful to produce valid quaternions even if client sends invalid + // data + static Quaternion QuaternionNormalizeSafe(Quaternion value) + { + // The smallest positive normal number representable in a float. + const float FLT_MIN_NORMAL = 1.175494351e-38F; + + Vector4 v = new Vector4(value.x, value.y, value.z, value.w); + float length = Vector4.Dot(v, v); + return length > FLT_MIN_NORMAL + ? value.normalized + : Quaternion.identity; + } + + // note: gives normalized quaternions + public static Quaternion DecompressQuaternion(uint data) + { + // get cScaled which is at 0..10 and ignore the rest + ushort cScaled = (ushort)(data & TenBitsMax); + + // get bScaled which is at 10..20 and ignore the rest + ushort bScaled = (ushort)((data >> 10) & TenBitsMax); + + // get aScaled which is at 20..30 and ignore the rest + ushort aScaled = (ushort)((data >> 20) & TenBitsMax); + + // get 2 bit largest index, which is at 31..32 + int largestIndex = (int)(data >> 30); + + // scale back to floats + float a = ScaleUShortToFloat(aScaled, 0, TenBitsMax, QuaternionMinRange, QuaternionMaxRange); + float b = ScaleUShortToFloat(bScaled, 0, TenBitsMax, QuaternionMinRange, QuaternionMaxRange); + float c = ScaleUShortToFloat(cScaled, 0, TenBitsMax, QuaternionMinRange, QuaternionMaxRange); + + // calculate the omitted component based on a²+b²+c²+d²=1 + float d = Mathf.Sqrt(1 - a*a - b*b - c*c); + + // reconstruct based on largest index + Vector4 value; + switch (largestIndex) + { + case 0: value = new Vector4(d, a, b, c); break; + case 1: value = new Vector4(a, d, b, c); break; + case 2: value = new Vector4(a, b, d, c); break; + default: value = new Vector4(a, b, c, d); break; + } + + // ECS Rotation only works with normalized quaternions. + // make sure that's always the case here to avoid ECS bugs where + // everything stops moving if the quaternion isn't normalized. + // => NormalizeSafe returns a normalized quaternion even if we pass + // in NaN from deserializing invalid values! + return QuaternionNormalizeSafe(new Quaternion(value.x, value.y, value.z, value.w)); + } + + // varint compression ////////////////////////////////////////////////// + // compress ulong varint. + // same result for int, short and byte. only need one function. + // NOT an extension. otherwise weaver might accidentally use it. + public static void CompressVarUInt(NetworkWriter writer, ulong value) + { + if (value <= 240) + { + writer.Write((byte)value); + return; + } + if (value <= 2287) + { + writer.Write((byte)(((value - 240) >> 8) + 241)); + writer.Write((byte)((value - 240) & 0xFF)); + return; + } + if (value <= 67823) + { + writer.Write((byte)249); + writer.Write((byte)((value - 2288) >> 8)); + writer.Write((byte)((value - 2288) & 0xFF)); + return; + } + if (value <= 16777215) + { + writer.Write((byte)250); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + return; + } + if (value <= 4294967295) + { + writer.Write((byte)251); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 24) & 0xFF)); + return; + } + if (value <= 1099511627775) + { + writer.Write((byte)252); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 24) & 0xFF)); + writer.Write((byte)((value >> 32) & 0xFF)); + return; + } + if (value <= 281474976710655) + { + writer.Write((byte)253); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 24) & 0xFF)); + writer.Write((byte)((value >> 32) & 0xFF)); + writer.Write((byte)((value >> 40) & 0xFF)); + return; + } + if (value <= 72057594037927935) + { + writer.Write((byte)254); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 24) & 0xFF)); + writer.Write((byte)((value >> 32) & 0xFF)); + writer.Write((byte)((value >> 40) & 0xFF)); + writer.Write((byte)((value >> 48) & 0xFF)); + return; + } + + // all others + { + writer.Write((byte)255); + writer.Write((byte)(value & 0xFF)); + writer.Write((byte)((value >> 8) & 0xFF)); + writer.Write((byte)((value >> 16) & 0xFF)); + writer.Write((byte)((value >> 24) & 0xFF)); + writer.Write((byte)((value >> 32) & 0xFF)); + writer.Write((byte)((value >> 40) & 0xFF)); + writer.Write((byte)((value >> 48) & 0xFF)); + writer.Write((byte)((value >> 56) & 0xFF)); + } + } + + + // zigzag encoding https://gist.github.com/mfuerstenau/ba870a29e16536fdbaba + public static void CompressVarInt(NetworkWriter writer, long i) + { + ulong zigzagged = (ulong)((i >> 63) ^ (i << 1)); + CompressVarUInt(writer, zigzagged); + } + + // NOT an extension. otherwise weaver might accidentally use it. + public static ulong DecompressVarUInt(NetworkReader reader) + { + byte a0 = reader.ReadByte(); + if (a0 < 241) + { + return a0; + } + + byte a1 = reader.ReadByte(); + if (a0 >= 241 && a0 <= 248) + { + return 240 + ((a0 - (ulong)241) << 8) + a1; + } + + byte a2 = reader.ReadByte(); + if (a0 == 249) + { + return 2288 + ((ulong)a1 << 8) + a2; + } + + byte a3 = reader.ReadByte(); + if (a0 == 250) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16); + } + + byte a4 = reader.ReadByte(); + if (a0 == 251) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16) + (((ulong)a4) << 24); + } + + byte a5 = reader.ReadByte(); + if (a0 == 252) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16) + (((ulong)a4) << 24) + (((ulong)a5) << 32); + } + + byte a6 = reader.ReadByte(); + if (a0 == 253) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16) + (((ulong)a4) << 24) + (((ulong)a5) << 32) + (((ulong)a6) << 40); + } + + byte a7 = reader.ReadByte(); + if (a0 == 254) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16) + (((ulong)a4) << 24) + (((ulong)a5) << 32) + (((ulong)a6) << 40) + (((ulong)a7) << 48); + } + + byte a8 = reader.ReadByte(); + if (a0 == 255) + { + return a1 + (((ulong)a2) << 8) + (((ulong)a3) << 16) + (((ulong)a4) << 24) + (((ulong)a5) << 32) + (((ulong)a6) << 40) + (((ulong)a7) << 48) + (((ulong)a8) << 56); + } + + throw new IndexOutOfRangeException("DecompressVarInt failure: " + a0); + } + + // zigzag decoding https://gist.github.com/mfuerstenau/ba870a29e16536fdbaba + public static long DecompressVarInt(NetworkReader reader) + { + ulong data = DecompressVarUInt(reader); + return ((long)(data >> 1)) ^ -((long)data & 1); + } + } +} diff --git a/Assets/Mirror/Runtime/Compression.cs.meta b/Assets/Mirror/Runtime/Compression.cs.meta new file mode 100644 index 0000000..e35474b --- /dev/null +++ b/Assets/Mirror/Runtime/Compression.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5c28963f9c4b97e418252a55500fb91e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty.meta b/Assets/Mirror/Runtime/Empty.meta new file mode 100644 index 0000000..e702402 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a99666a026b14cf6ba1a2b65946b1b27 +timeCreated: 1615288671 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Empty/Cloud.meta b/Assets/Mirror/Runtime/Empty/Cloud.meta new file mode 100644 index 0000000..e2c44de --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73a9bb2dacafa8141bce8feef34e33a7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs b/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs.meta new file mode 100644 index 0000000..9279c0c --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ApiConnector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8bdb99a29e179d14cb0acc43f175d9ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs b/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs.meta new file mode 100644 index 0000000..98a4c11 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ApiUpdater.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1f6e5d5acb5879f45a2235ae0f44dc92 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs b/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs.meta new file mode 100644 index 0000000..a6fc272 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Ball.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4e9cc0829b13e54594a80883836bda7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs b/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs.meta new file mode 100644 index 0000000..b914a33 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/BallManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cc796972dc396a42ba3686bd952e329 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs b/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs.meta new file mode 100644 index 0000000..f66b84e --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/BaseApi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 70f563b7a7210ae43bbcde5cb7721a94 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Events.cs b/Assets/Mirror/Runtime/Empty/Cloud/Events.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Events.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Events.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/Events.cs.meta new file mode 100644 index 0000000..150d85b --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Events.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7c472a3ea1bc4348bd5a0b05bf7cc3b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs b/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs.meta new file mode 100644 index 0000000..6bf6291 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97501e783fc67a4459b15d10e6c63563 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs b/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs.meta new file mode 100644 index 0000000..f1149a9 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ICoroutineRunner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 43472c60a7c72e54eafe559290dd0fc6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs b/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs.meta new file mode 100644 index 0000000..966c503 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/IRequestCreator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b80b95532a9d6e8418aa676a261e4f69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs b/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs.meta new file mode 100644 index 0000000..7cb2a59 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/IUnityEqualCheck.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05185b973ba389a4588fc8a99c75a4f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs b/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs.meta new file mode 100644 index 0000000..4b7219b --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/InstantiateNetworkManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dbabb497385c20346a3c8bda4ae69508 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs b/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs.meta new file mode 100644 index 0000000..2c04009 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/JsonStructs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0688c0fdae5376e4ea74d5c3904eed17 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs b/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs.meta new file mode 100644 index 0000000..519876d --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f0311899162c5b49a3c11fa9bd9c133 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs b/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs.meta new file mode 100644 index 0000000..a9d32ea --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerBaseApi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b6838f9df45594d48873518cbb75b329 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs b/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs.meta new file mode 100644 index 0000000..306bf7c --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerClientApi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d49649fb32cb96b46b10f013b38a4b50 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs b/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs.meta new file mode 100644 index 0000000..7e206f1 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerJson.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a963606335eae0f47abe7ecb5fd028ea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs b/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs.meta new file mode 100644 index 0000000..82e23fd --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ListServerServerApi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 675f0d0fd4e82b04290c4d30c8d78ede +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs b/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs.meta new file mode 100644 index 0000000..5984ce3 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Logger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 457ba2df6cb6e1542996c17c715ee81b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs.meta new file mode 100644 index 0000000..86775df --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 95bebb8e810e2954485291a26324f7d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs.meta new file mode 100644 index 0000000..5c4294f --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/NetworkManagerListServerPong.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 068feff770f710141afa4a90063a5e6c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Player.cs b/Assets/Mirror/Runtime/Empty/Cloud/Player.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Player.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/Player.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/Player.cs.meta new file mode 100644 index 0000000..1c85828 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/Player.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b6cfd54b79bb464dbc6ae7f331ed45f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs b/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs.meta new file mode 100644 index 0000000..4a22565 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/QuickListServerDebug.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 07d1ea5260bc06e4d831c4b61d494bff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs b/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs.meta new file mode 100644 index 0000000..67341ea --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/QuitButtonHUD.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 76dab753e7255254687cd57985d8d675 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs b/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs.meta new file mode 100644 index 0000000..eb139af --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/RequestCreator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cfaa626443cc7c94eae138a2e3a04d7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs b/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs.meta new file mode 100644 index 0000000..74c6a0f --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bfc354d4a7f63ca45a653bf5d479afa0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs.meta new file mode 100644 index 0000000..f7fe4f2 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed11184fcffcdc04c9850d82c8014926 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs new file mode 100644 index 0000000..2f11787 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs @@ -0,0 +1 @@ +// removed 2021-05-13 diff --git a/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs.meta b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs.meta new file mode 100644 index 0000000..d8857e8 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Cloud/ServerListUIItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c67eda1b451338a428df87fda1e3a7c9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs b/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs.meta b/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs.meta new file mode 100644 index 0000000..8742197 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/DotNetCompatibility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b307f850ccbbe450295acf24d70e5c28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/LogFactory.cs b/Assets/Mirror/Runtime/Empty/LogFactory.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/LogFactory.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/LogFactory.cs.meta b/Assets/Mirror/Runtime/Empty/LogFactory.cs.meta new file mode 100644 index 0000000..0715501 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/LogFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 353c7c9e14e82f349b1679112050b196 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/LogFilter.cs b/Assets/Mirror/Runtime/Empty/LogFilter.cs new file mode 100644 index 0000000..391c5bd --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/LogFilter.cs @@ -0,0 +1 @@ +// removed 2021-03-08 diff --git a/Assets/Mirror/Runtime/Empty/LogFilter.cs.meta b/Assets/Mirror/Runtime/Empty/LogFilter.cs.meta new file mode 100644 index 0000000..aab4fa0 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/LogFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6928b080072948f7b2909b4025fcc79 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging.meta b/Assets/Mirror/Runtime/Empty/Logging.meta new file mode 100644 index 0000000..867da74 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63d647500ca1bfa4a845bc1f4cff9dcc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs b/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs.meta new file mode 100644 index 0000000..329c6eb --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/ConsoleColorLogHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a9618569c20a504aa86feb5913c70e9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs b/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs.meta new file mode 100644 index 0000000..81b33e9 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/EditorLogSettingsLoader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a39aa1e48aa54eb4e964f0191c1dcdce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs b/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs.meta new file mode 100644 index 0000000..acf3b63 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/LogFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d06522432d5a44e1587967a4731cd279 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs b/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs new file mode 100644 index 0000000..264a1cd --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs @@ -0,0 +1,2 @@ +// removed 2021-02-16 + diff --git a/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs.meta new file mode 100644 index 0000000..90c4e4d --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/LogSettings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 633889a39717fde4fa28dd6b948dfac7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs b/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs.meta new file mode 100644 index 0000000..221a61b --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/NetworkHeadlessLogger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7627623f2b9fad4484082517cd73e67 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs b/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs.meta b/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs.meta new file mode 100644 index 0000000..2f7ecdf --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/Logging/NetworkLogSettings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac6e8eccf4b6f4dc7b24c276ef47fde8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Empty/StringHash.cs b/Assets/Mirror/Runtime/Empty/StringHash.cs new file mode 100644 index 0000000..39b95f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/StringHash.cs @@ -0,0 +1 @@ +// removed 2021-02-16 diff --git a/Assets/Mirror/Runtime/Empty/StringHash.cs.meta b/Assets/Mirror/Runtime/Empty/StringHash.cs.meta new file mode 100644 index 0000000..6198581 --- /dev/null +++ b/Assets/Mirror/Runtime/Empty/StringHash.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 733f020f9b76d453da841089579fd7a7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/ExponentialMovingAverage.cs b/Assets/Mirror/Runtime/ExponentialMovingAverage.cs new file mode 100644 index 0000000..9463168 --- /dev/null +++ b/Assets/Mirror/Runtime/ExponentialMovingAverage.cs @@ -0,0 +1,37 @@ +namespace Mirror +{ + // implementation of N-day EMA + // it calculates an exponential moving average roughly equivalent to the last n observations + // https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average + public class ExponentialMovingAverage + { + readonly float alpha; + bool initialized; + + public double Value { get; private set; } + public double Var { get; private set; } + + public ExponentialMovingAverage(int n) + { + // standard N-day EMA alpha calculation + alpha = 2.0f / (n + 1); + } + + public void Add(double newValue) + { + // simple algorithm for EMA described here: + // https://en.wikipedia.org/wiki/Moving_average#Exponentially_weighted_moving_variance_and_standard_deviation + if (initialized) + { + double delta = newValue - Value; + Value += alpha * delta; + Var = (1 - alpha) * (Var + alpha * delta * delta); + } + else + { + Value = newValue; + initialized = true; + } + } + } +} diff --git a/Assets/Mirror/Runtime/ExponentialMovingAverage.cs.meta b/Assets/Mirror/Runtime/ExponentialMovingAverage.cs.meta new file mode 100644 index 0000000..d0d8210 --- /dev/null +++ b/Assets/Mirror/Runtime/ExponentialMovingAverage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05e858cbaa54b4ce4a48c8c7f50c1914 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Extensions.cs b/Assets/Mirror/Runtime/Extensions.cs new file mode 100644 index 0000000..6f384d1 --- /dev/null +++ b/Assets/Mirror/Runtime/Extensions.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; + +namespace Mirror +{ + public static class Extensions + { + // string.GetHashCode is not guaranteed to be the same on all machines, but + // we need one that is the same on all machines. simple and stupid: + public static int GetStableHashCode(this string text) + { + unchecked + { + int hash = 23; + foreach (char c in text) + hash = hash * 31 + c; + return hash; + } + } + + // previously in DotnetCompatibility.cs + // leftover from the UNET days. supposedly for windows store? + internal static string GetMethodName(this Delegate func) + { +#if NETFX_CORE + return func.GetMethodInfo().Name; +#else + return func.Method.Name; +#endif + } + + // helper function to copy to List + // C# only provides CopyTo(T[]) + public static void CopyTo(this IEnumerable source, List destination) + { + // foreach allocates. use AddRange. + destination.AddRange(source); + } + } +} diff --git a/Assets/Mirror/Runtime/Extensions.cs.meta b/Assets/Mirror/Runtime/Extensions.cs.meta new file mode 100644 index 0000000..c2a18b7 --- /dev/null +++ b/Assets/Mirror/Runtime/Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: decf32fd053744d18f35712b7a6f5116 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/InterestManagement.cs b/Assets/Mirror/Runtime/InterestManagement.cs new file mode 100644 index 0000000..0a10264 --- /dev/null +++ b/Assets/Mirror/Runtime/InterestManagement.cs @@ -0,0 +1,89 @@ +// interest management component for custom solutions like +// distance based, spatial hashing, raycast based, etc. +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror +{ + [DisallowMultipleComponent] + public abstract class InterestManagement : MonoBehaviour + { + // Awake configures InterestManagement in NetworkServer/Client + void Awake() + { + if (NetworkServer.aoi == null) + { + NetworkServer.aoi = this; + } + else Debug.LogError($"Only one InterestManagement component allowed. {NetworkServer.aoi.GetType()} has been set up already."); + + if (NetworkClient.aoi == null) + { + NetworkClient.aoi = this; + } + else Debug.LogError($"Only one InterestManagement component allowed. {NetworkClient.aoi.GetType()} has been set up already."); + } + + // Callback used by the visibility system to determine if an observer + // (player) can see the NetworkIdentity. If this function returns true, + // the network connection will be added as an observer. + // conn: Network connection of a player. + // returns True if the player can see this object. + public abstract bool OnCheckObserver(NetworkIdentity identity, NetworkConnection newObserver); + + // rebuild observers for the given NetworkIdentity. + // Server will automatically spawn/despawn added/removed ones. + // newObservers: cached hashset to put the result into + // initialize: true if being rebuilt for the first time + // + // IMPORTANT: + // => global rebuild would be more simple, BUT + // => local rebuild is way faster for spawn/despawn because we can + // simply rebuild a select NetworkIdentity only + // => having both .observers and .observing is necessary for local + // rebuilds + // + // in other words, this is the perfect solution even though it's not + // completely simple (due to .observers & .observing). + // + // Mirror maintains .observing automatically in the background. best of + // both worlds without any worrying now! + public abstract void OnRebuildObservers(NetworkIdentity identity, HashSet newObservers, bool initialize); + + // helper function to trigger a full rebuild. + // most implementations should call this in a certain interval. + // some might call this all the time, or only on team changes or + // scene changes and so on. + // + // IMPORTANT: check if NetworkServer.active when using Update()! + protected void RebuildAll() + { + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values) + { + NetworkServer.RebuildObservers(identity, false); + } + } + + // Callback used by the visibility system for objects on a host. + // Objects on a host (with a local client) cannot be disabled or + // destroyed when they are not visible to the local client. So this + // function is called to allow custom code to hide these objects. A + // typical implementation will disable renderer components on the + // object. This is only called on local clients on a host. + // => need the function in here and virtual so people can overwrite! + // => not everyone wants to hide renderers! + public virtual void SetHostVisibility(NetworkIdentity identity, bool visible) + { + foreach (Renderer rend in identity.GetComponentsInChildren()) + rend.enabled = visible; + } + + /// Called on the server when a new networked object is spawned. + // (useful for 'only rebuild if changed' interest management algorithms) + public virtual void OnSpawned(NetworkIdentity identity) {} + + /// Called on the server when a networked object is destroyed. + // (useful for 'only rebuild if changed' interest management algorithms) + public virtual void OnDestroyed(NetworkIdentity identity) {} + } +} diff --git a/Assets/Mirror/Runtime/InterestManagement.cs.meta b/Assets/Mirror/Runtime/InterestManagement.cs.meta new file mode 100644 index 0000000..bfabf6b --- /dev/null +++ b/Assets/Mirror/Runtime/InterestManagement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41d809934003479f97e992eebb7ed6af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/LocalConnections.cs b/Assets/Mirror/Runtime/LocalConnections.cs new file mode 100644 index 0000000..4463beb --- /dev/null +++ b/Assets/Mirror/Runtime/LocalConnections.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror +{ + // a server's connection TO a LocalClient. + // sending messages on this connection causes the client's handler function to be invoked directly + public class LocalConnectionToClient : NetworkConnectionToClient + { + internal LocalConnectionToServer connectionToServer; + + public LocalConnectionToClient() : base(LocalConnectionId) {} + + public override string address => "localhost"; + + // Send stage two: serialized NetworkMessage as ArraySegment + internal override void Send(ArraySegment segment, int channelId = Channels.Reliable) + { + // get a writer to copy the message into since the segment is only + // valid until returning. + // => pooled writer will be returned to pool when dequeuing. + // => WriteBytes instead of WriteArraySegment because the latter + // includes a 4 bytes header. we just want to write raw. + //Debug.Log("Enqueue " + BitConverter.ToString(segment.Array, segment.Offset, segment.Count)); + PooledNetworkWriter writer = NetworkWriterPool.GetWriter(); + writer.WriteBytes(segment.Array, segment.Offset, segment.Count); + connectionToServer.queue.Enqueue(writer); + } + + // true because local connections never timeout + internal override bool IsAlive(float timeout) => true; + + internal void DisconnectInternal() + { + // set not ready and handle clientscene disconnect in any case + // (might be client or host mode here) + isReady = false; + RemoveFromObservingsObservers(); + } + + /// Disconnects this connection. + public override void Disconnect() + { + DisconnectInternal(); + connectionToServer.DisconnectInternal(); + } + } + + // a localClient's connection TO a server. + // send messages on this connection causes the server's handler function to be invoked directly. + public class LocalConnectionToServer : NetworkConnectionToServer + { + internal LocalConnectionToClient connectionToClient; + + // packet queue + internal readonly Queue queue = new Queue(); + + public override string address => "localhost"; + + // see caller for comments on why we need this + bool connectedEventPending; + bool disconnectedEventPending; + internal void QueueConnectedEvent() => connectedEventPending = true; + internal void QueueDisconnectedEvent() => disconnectedEventPending = true; + + // Send stage two: serialized NetworkMessage as ArraySegment + internal override void Send(ArraySegment segment, int channelId = Channels.Reliable) + { + if (segment.Count == 0) + { + Debug.LogError("LocalConnection.SendBytes cannot send zero bytes"); + return; + } + + // OnTransportData assumes batching. + // so let's make a batch with proper timestamp prefix. + Batcher batcher = GetBatchForChannelId(channelId); + batcher.AddMessage(segment); + + // flush it to the server's OnTransportData immediately. + // local connection to server always invokes immediately. + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // make a batch with our local time (double precision) + if (batcher.MakeNextBatch(writer, NetworkTime.localTime)) + { + NetworkServer.OnTransportData(connectionId, writer.ToArraySegment(), channelId); + } + else Debug.LogError("Local connection failed to make batch. This should never happen."); + } + } + + internal override void Update() + { + base.Update(); + + // should we still process a connected event? + if (connectedEventPending) + { + connectedEventPending = false; + NetworkClient.OnConnectedEvent?.Invoke(); + } + + // process internal messages so they are applied at the correct time + while (queue.Count > 0) + { + // call receive on queued writer's content, return to pool + PooledNetworkWriter writer = queue.Dequeue(); + ArraySegment message = writer.ToArraySegment(); + + // OnTransportData assumes a proper batch with timestamp etc. + // let's make a proper batch and pass it to OnTransportData. + Batcher batcher = GetBatchForChannelId(Channels.Reliable); + batcher.AddMessage(message); + + using (PooledNetworkWriter batchWriter = NetworkWriterPool.GetWriter()) + { + // make a batch with our local time (double precision) + if (batcher.MakeNextBatch(batchWriter, NetworkTime.localTime)) + { + NetworkClient.OnTransportData(batchWriter.ToArraySegment(), Channels.Reliable); + } + } + + NetworkWriterPool.Recycle(writer); + } + + // should we still process a disconnected event? + if (disconnectedEventPending) + { + disconnectedEventPending = false; + NetworkClient.OnDisconnectedEvent?.Invoke(); + } + } + + /// Disconnects this connection. + internal void DisconnectInternal() + { + // set not ready and handle clientscene disconnect in any case + // (might be client or host mode here) + // TODO remove redundant state. have one source of truth for .ready! + isReady = false; + NetworkClient.ready = false; + } + + /// Disconnects this connection. + public override void Disconnect() + { + connectionToClient.DisconnectInternal(); + DisconnectInternal(); + + // simulate what a true remote connection would do: + // first, the server should remove it: + // TODO should probably be in connectionToClient.DisconnectInternal + // because that's the NetworkServer's connection! + NetworkServer.RemoveLocalConnection(); + + // then call OnTransportDisconnected for proper disconnect handling, + // callbacks & cleanups. + // => otherwise OnClientDisconnected() is never called! + // => see NetworkClientTests.DisconnectCallsOnClientDisconnect_HostMode() + NetworkClient.OnTransportDisconnected(); + } + + // true because local connections never timeout + internal override bool IsAlive(float timeout) => true; + } +} diff --git a/Assets/Mirror/Runtime/LocalConnections.cs.meta b/Assets/Mirror/Runtime/LocalConnections.cs.meta new file mode 100644 index 0000000..a4f2d2c --- /dev/null +++ b/Assets/Mirror/Runtime/LocalConnections.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a88758df7db2043d6a9d926e0b6d4191 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Mathd.cs b/Assets/Mirror/Runtime/Mathd.cs new file mode 100644 index 0000000..477415f --- /dev/null +++ b/Assets/Mirror/Runtime/Mathd.cs @@ -0,0 +1,22 @@ +// 'double' precision variants for some of Unity's Mathf functions. +namespace Mirror +{ + public static class Mathd + { + /// Linearly interpolates between a and b by t with no limit to t. + public static double LerpUnclamped(double a, double b, double t) => + a + (b - a) * t; + + /// Clamps value between 0 and 1 and returns value. + public static double Clamp01(double value) + { + if (value < 0.0) + return 0; + return value > 1 ? 1 : value; + } + + /// Calculates the linear parameter t that produces the interpolant value within the range [a, b]. + public static double InverseLerp(double a, double b, double value) => + a != b ? Clamp01((value - a) / (b - a)) : 0; + } +} diff --git a/Assets/Mirror/Runtime/Mathd.cs.meta b/Assets/Mirror/Runtime/Mathd.cs.meta new file mode 100644 index 0000000..927c55a --- /dev/null +++ b/Assets/Mirror/Runtime/Mathd.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5f74084b91c74df2839b426c4a381373 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/MessagePacking.cs b/Assets/Mirror/Runtime/MessagePacking.cs new file mode 100644 index 0000000..9155078 --- /dev/null +++ b/Assets/Mirror/Runtime/MessagePacking.cs @@ -0,0 +1,127 @@ +using System; +using UnityEngine; + +namespace Mirror +{ + // message packing all in one place, instead of constructing headers in all + // kinds of different places + // + // MsgType (2 bytes) + // Content (ContentSize bytes) + public static class MessagePacking + { + // message header size + public const int HeaderSize = sizeof(ushort); + + // max message content size (without header) calculation for convenience + // -> Transport.GetMaxPacketSize is the raw maximum + // -> Every message gets serialized into <> + // -> Every serialized message get put into a batch with a header + public static int MaxContentSize => + Transport.activeTransport.GetMaxPacketSize() + - HeaderSize + - Batcher.HeaderSize; + + public static ushort GetId() where T : struct, NetworkMessage + { + // paul: 16 bits is enough to avoid collisions + // - keeps the message size small + // - in case of collisions, Mirror will display an error + return (ushort)(typeof(T).FullName.GetStableHashCode() & 0xFFFF); + } + + // pack message before sending + // -> NetworkWriter passed as arg so that we can use .ToArraySegment + // and do an allocation free send before recycling it. + public static void Pack(T message, NetworkWriter writer) + where T : struct, NetworkMessage + { + ushort msgType = GetId(); + writer.WriteUShort(msgType); + + // serialize message into writer + writer.Write(message); + } + + // unpack message after receiving + // -> pass NetworkReader so it's less strange if we create it in here + // and pass it upwards. + // -> NetworkReader will point at content afterwards! + public static bool Unpack(NetworkReader messageReader, out ushort msgType) + { + // read message type + try + { + msgType = messageReader.ReadUShort(); + return true; + } + catch (System.IO.EndOfStreamException) + { + msgType = 0; + return false; + } + } + + internal static NetworkMessageDelegate WrapHandler(Action handler, bool requireAuthentication) + where T : struct, NetworkMessage + where C : NetworkConnection + => (conn, reader, channelId) => + { + // protect against DOS attacks if attackers try to send invalid + // data packets to crash the server/client. there are a thousand + // ways to cause an exception in data handling: + // - invalid headers + // - invalid message ids + // - invalid data causing exceptions + // - negative ReadBytesAndSize prefixes + // - invalid utf8 strings + // - etc. + // + // let's catch them all and then disconnect that connection to avoid + // further attacks. + T message = default; + // record start position for NetworkDiagnostics because reader might contain multiple messages if using batching + int startPos = reader.Position; + try + { + if (requireAuthentication && !conn.isAuthenticated) + { + // message requires authentication, but the connection was not authenticated + Debug.LogWarning($"Closing connection: {conn}. Received message {typeof(T)} that required authentication, but the user has not authenticated yet"); + conn.Disconnect(); + return; + } + + //Debug.Log($"ConnectionRecv {conn} msgType:{typeof(T)} content:{BitConverter.ToString(reader.buffer.Array, reader.buffer.Offset, reader.buffer.Count)}"); + + // if it is a value type, just use default(T) + // otherwise allocate a new instance + message = reader.Read(); + } + catch (Exception exception) + { + Debug.LogError($"Closed connection: {conn}. This can happen if the other side accidentally (or an attacker intentionally) sent invalid data. Reason: {exception}"); + conn.Disconnect(); + return; + } + finally + { + int endPos = reader.Position; + // TODO: Figure out the correct channel + NetworkDiagnostics.OnReceive(message, channelId, endPos - startPos); + } + + // user handler exception should not stop the whole server + try + { + // user implemented handler + handler((C)conn, message); + } + catch (Exception e) + { + Debug.LogError($"Disconnecting connId={conn.connectionId} to prevent exploits from an Exception in MessageHandler: {e.GetType().Name} {e.Message}\n{e.StackTrace}"); + conn.Disconnect(); + } + }; + } +} diff --git a/Assets/Mirror/Runtime/MessagePacking.cs.meta b/Assets/Mirror/Runtime/MessagePacking.cs.meta new file mode 100644 index 0000000..910b75c --- /dev/null +++ b/Assets/Mirror/Runtime/MessagePacking.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2db134099f0df4d96a84ae7a0cd9b4bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Messages.cs b/Assets/Mirror/Runtime/Messages.cs new file mode 100644 index 0000000..eb3cbef --- /dev/null +++ b/Assets/Mirror/Runtime/Messages.cs @@ -0,0 +1,117 @@ +using System; +using UnityEngine; + +namespace Mirror +{ + // Deprecated 2020-10-06 + [Obsolete("Implement NetworkMessage instead. Use extension methods instead of Serialize/Deserialize, see https://github.com/vis2k/Mirror/pull/2317", true)] + public interface IMessageBase {} + + // Deprecated 2020-10-06 + [Obsolete("Implement NetworkMessage instead. Use extension methods instead of Serialize/Deserialize, see https://github.com/vis2k/Mirror/pull/2317", true)] + public class MessageBase : IMessageBase {} + + public struct ReadyMessage : NetworkMessage {} + + public struct NotReadyMessage : NetworkMessage {} + + public struct AddPlayerMessage : NetworkMessage {} + + public struct SceneMessage : NetworkMessage + { + public string sceneName; + // Normal = 0, LoadAdditive = 1, UnloadAdditive = 2 + public SceneOperation sceneOperation; + public bool customHandling; + } + + public enum SceneOperation : byte + { + Normal, + LoadAdditive, + UnloadAdditive + } + + public struct CommandMessage : NetworkMessage + { + public uint netId; + public int componentIndex; + public int functionHash; + // the parameters for the Cmd function + // -> ArraySegment to avoid unnecessary allocations + public ArraySegment payload; + } + + public struct RpcMessage : NetworkMessage + { + public uint netId; + public int componentIndex; + public int functionHash; + // the parameters for the Cmd function + // -> ArraySegment to avoid unnecessary allocations + public ArraySegment payload; + } + + public struct SpawnMessage : NetworkMessage + { + // netId of new or existing object + public uint netId; + public bool isLocalPlayer; + // Sets hasAuthority on the spawned object + public bool isOwner; + public ulong sceneId; + // If sceneId != 0 then it is used instead of assetId + public Guid assetId; + // Local position + public Vector3 position; + // Local rotation + public Quaternion rotation; + // Local scale + public Vector3 scale; + // serialized component data + // ArraySegment to avoid unnecessary allocations + public ArraySegment payload; + } + + public struct ObjectSpawnStartedMessage : NetworkMessage {} + + public struct ObjectSpawnFinishedMessage : NetworkMessage {} + + public struct ObjectDestroyMessage : NetworkMessage + { + public uint netId; + } + + public struct ObjectHideMessage : NetworkMessage + { + public uint netId; + } + + public struct EntityStateMessage : NetworkMessage + { + public uint netId; + // the serialized component data + // -> ArraySegment to avoid unnecessary allocations + public ArraySegment payload; + } + + // A client sends this message to the server + // to calculate RTT and synchronize time + public struct NetworkPingMessage : NetworkMessage + { + public double clientTime; + + public NetworkPingMessage(double value) + { + clientTime = value; + } + } + + // The server responds with this message + // The client can use this to calculate RTT and sync time + public struct NetworkPongMessage : NetworkMessage + { + public double clientTime; + public double serverTime; + } +} diff --git a/Assets/Mirror/Runtime/Messages.cs.meta b/Assets/Mirror/Runtime/Messages.cs.meta new file mode 100644 index 0000000..5d119e2 --- /dev/null +++ b/Assets/Mirror/Runtime/Messages.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 938f6f28a6c5b48a0bbd7782342d763b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Mirror.asmdef b/Assets/Mirror/Runtime/Mirror.asmdef new file mode 100644 index 0000000..1dedc5a --- /dev/null +++ b/Assets/Mirror/Runtime/Mirror.asmdef @@ -0,0 +1,16 @@ +{ + "name": "Mirror", + "references": [ + "Mirror.CompilerSymbols", + "Telepathy", + "kcp2k" + ], + "optionalUnityReferences": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Mirror.asmdef.meta b/Assets/Mirror/Runtime/Mirror.asmdef.meta new file mode 100644 index 0000000..202009b --- /dev/null +++ b/Assets/Mirror/Runtime/Mirror.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 30817c1a0e6d646d99c048fc403f5979 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkAuthenticator.cs b/Assets/Mirror/Runtime/NetworkAuthenticator.cs new file mode 100644 index 0000000..e980a89 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkAuthenticator.cs @@ -0,0 +1,89 @@ +using System; +using UnityEngine; +using UnityEngine.Events; + +namespace Mirror +{ + [Serializable] public class UnityEventNetworkConnection : UnityEvent {} + + /// Base class for implementing component-based authentication during the Connect phase + [HelpURL("https://mirror-networking.gitbook.io/docs/components/network-authenticators")] + public abstract class NetworkAuthenticator : MonoBehaviour + { + /// Notify subscribers on the server when a client is authenticated + [Header("Event Listeners (optional)")] + [Tooltip("Mirror has an internal subscriber to this event. You can add your own here.")] + public UnityEventNetworkConnection OnServerAuthenticated = new UnityEventNetworkConnection(); + + /// Notify subscribers on the client when the client is authenticated + [Tooltip("Mirror has an internal subscriber to this event. You can add your own here.")] + public UnityEventNetworkConnection OnClientAuthenticated = new UnityEventNetworkConnection(); + + /// Called when server starts, used to register message handlers if needed. + public virtual void OnStartServer() {} + + /// Called when server stops, used to unregister message handlers if needed. + public virtual void OnStopServer() {} + + /// Called on server from OnServerAuthenticateInternal when a client needs to authenticate + public abstract void OnServerAuthenticate(NetworkConnection conn); + + protected void ServerAccept(NetworkConnection conn) + { + OnServerAuthenticated.Invoke(conn); + } + + protected void ServerReject(NetworkConnection conn) + { + conn.Disconnect(); + } + + /// Called when client starts, used to register message handlers if needed. + public virtual void OnStartClient() {} + + /// Called when client stops, used to unregister message handlers if needed. + public virtual void OnStopClient() {} + + // Deprecated 2021-03-13 + [Obsolete("Remove the NetworkConnection parameter from your override and use NetworkClient.connection instead")] + public virtual void OnClientAuthenticate(NetworkConnection conn) => OnClientAuthenticate(); + + /// Called on client from OnClientAuthenticateInternal when a client needs to authenticate + public abstract void OnClientAuthenticate(); + + // Deprecated 2021-03-13 + [Obsolete("Remove the NetworkConnection parameter from your override and use NetworkClient.connection instead")] + protected void ClientAccept(NetworkConnection conn) => ClientAccept(); + + protected void ClientAccept() + { + OnClientAuthenticated.Invoke(NetworkClient.connection); + } + + // Deprecated 2021-03-13 + [Obsolete("Remove the NetworkConnection parameter from your override and use NetworkClient.connection instead")] + protected void ClientReject(NetworkConnection conn) => ClientReject(); + + protected void ClientReject() + { + // Set this on the client for local reference + NetworkClient.connection.isAuthenticated = false; + + // disconnect the client + NetworkClient.connection.Disconnect(); + } + + void OnValidate() + { +#if UNITY_EDITOR + // automatically assign authenticator field if we add this to NetworkManager + NetworkManager manager = GetComponent(); + if (manager != null && manager.authenticator == null) + { + manager.authenticator = this; + UnityEditor.Undo.RecordObject(gameObject, "Assigned NetworkManager authenticator"); + } +#endif + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkAuthenticator.cs.meta b/Assets/Mirror/Runtime/NetworkAuthenticator.cs.meta new file mode 100644 index 0000000..d37db68 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkAuthenticator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 407fc95d4a8257f448799f26cdde0c2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkBehaviour.cs b/Assets/Mirror/Runtime/NetworkBehaviour.cs new file mode 100644 index 0000000..52cae0e --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkBehaviour.cs @@ -0,0 +1,679 @@ +using System; +using System.Collections.Generic; +using Mirror.RemoteCalls; +using UnityEngine; + +namespace Mirror +{ + public enum SyncMode { Observers, Owner } + + /// Base class for networked components. + [AddComponentMenu("")] + [RequireComponent(typeof(NetworkIdentity))] + [HelpURL("https://mirror-networking.gitbook.io/docs/guides/networkbehaviour")] + public abstract class NetworkBehaviour : MonoBehaviour + { + /// sync mode for OnSerialize + // hidden because NetworkBehaviourInspector shows it only if has OnSerialize. + [Tooltip("By default synced data is sent from the server to all Observers of the object.\nChange this to Owner to only have the server update the client that has ownership authority for this object")] + [HideInInspector] public SyncMode syncMode = SyncMode.Observers; + + /// sync interval for OnSerialize (in seconds) + // hidden because NetworkBehaviourInspector shows it only if has OnSerialize. + // [0,2] should be enough. anything >2s is too laggy anyway. + [Tooltip("Time in seconds until next change is synchronized to the client. '0' means send immediately if changed. '0.5' means only send changes every 500ms.\n(This is for state synchronization like SyncVars, SyncLists, OnSerialize. Not for Cmds, Rpcs, etc.)")] + [Range(0, 2)] + [HideInInspector] public float syncInterval = 0.1f; + internal double lastSyncTime; + + /// True if this object is on the server and has been spawned. + // This is different from NetworkServer.active, which is true if the + // server itself is active rather than this object being active. + public bool isServer => netIdentity.isServer; + + /// True if this object is on the client and has been spawned by the server. + public bool isClient => netIdentity.isClient; + + /// True if this object is the the client's own local player. + public bool isLocalPlayer => netIdentity.isLocalPlayer; + + /// True if this object is on the server-only, not host. + public bool isServerOnly => netIdentity.isServerOnly; + + /// True if this object is on the client-only, not host. + public bool isClientOnly => netIdentity.isClientOnly; + + /// This returns true if this object is the authoritative version of the object in the distributed network application. + // keeping this ridiculous summary as a reminder of a time long gone... + public bool hasAuthority => netIdentity.hasAuthority; + + /// The unique network Id of this object (unique at runtime). + public uint netId => netIdentity.netId; + + /// Client's network connection to the server. This is only valid for player objects on the client. + public NetworkConnection connectionToServer => netIdentity.connectionToServer; + + /// Server's network connection to the client. This is only valid for player objects on the server. + public NetworkConnection connectionToClient => netIdentity.connectionToClient; + + protected ulong syncVarDirtyBits { get; private set; } + ulong syncVarHookGuard; + + // USED BY WEAVER to set syncvars in host mode without deadlocking + protected bool getSyncVarHookGuard(ulong dirtyBit) + { + return (syncVarHookGuard & dirtyBit) != 0UL; + } + + // USED BY WEAVER to set syncvars in host mode without deadlocking + protected void setSyncVarHookGuard(ulong dirtyBit, bool value) + { + if (value) + syncVarHookGuard |= dirtyBit; + else + syncVarHookGuard &= ~dirtyBit; + } + + // SyncLists, SyncSets, etc. + protected readonly List syncObjects = new List(); + + // NetworkIdentity based values set from NetworkIdentity.Awake(), + // which is way more simple and way faster than trying to figure out + // component index from in here by searching all NetworkComponents. + + /// Returns the NetworkIdentity of this object + public NetworkIdentity netIdentity { get; internal set; } + + /// Returns the index of the component on this object + public int ComponentIndex { get; internal set; } + + // this gets called in the constructor by the weaver + // for every SyncObject in the component (e.g. SyncLists). + // We collect all of them and we synchronize them with OnSerialize/OnDeserialize + protected void InitSyncObject(SyncObject syncObject) + { + if (syncObject == null) + Debug.LogError("Uninitialized SyncObject. Manually call the constructor on your SyncList, SyncSet or SyncDictionary"); + else + syncObjects.Add(syncObject); + } + + protected void SendCommandInternal(Type invokeClass, string cmdName, NetworkWriter writer, int channelId, bool requiresAuthority = true) + { + // this was in Weaver before + // NOTE: we could remove this later to allow calling Cmds on Server + // to avoid Wrapper functions. a lot of people requested this. + if (!NetworkClient.active) + { + Debug.LogError($"Command Function {cmdName} called without an active client."); + return; + } + + // local players can always send commands, regardless of authority, other objects must have authority. + if (!(!requiresAuthority || isLocalPlayer || hasAuthority)) + { + Debug.LogWarning($"Trying to send command for object without authority. {invokeClass}.{cmdName}"); + return; + } + + // previously we used NetworkClient.readyConnection. + // now we check .ready separately and use .connection instead. + if (!NetworkClient.ready) + { + Debug.LogError("Send command attempted while NetworkClient is not ready."); + return; + } + + // IMPORTANT: can't use .connectionToServer here because calling + // a command on other objects is allowed if requireAuthority is + // false. other objects don't have a .connectionToServer. + // => so we always need to use NetworkClient.connection instead. + // => see also: https://github.com/vis2k/Mirror/issues/2629 + if (NetworkClient.connection == null) + { + Debug.LogError("Send command attempted with no client running."); + return; + } + + // construct the message + CommandMessage message = new CommandMessage + { + netId = netId, + componentIndex = ComponentIndex, + // type+func so Inventory.RpcUse != Equipment.RpcUse + functionHash = RemoteCallHelper.GetMethodHash(invokeClass, cmdName), + // segment to avoid reader allocations + payload = writer.ToArraySegment() + }; + + // IMPORTANT: can't use .connectionToServer here because calling + // a command on other objects is allowed if requireAuthority is + // false. other objects don't have a .connectionToServer. + // => so we always need to use NetworkClient.connection instead. + // => see also: https://github.com/vis2k/Mirror/issues/2629 + NetworkClient.connection.Send(message, channelId); + } + + protected void SendRPCInternal(Type invokeClass, string rpcName, NetworkWriter writer, int channelId, bool includeOwner) + { + // this was in Weaver before + if (!NetworkServer.active) + { + Debug.LogError("RPC Function " + rpcName + " called on Client."); + return; + } + + // This cannot use NetworkServer.active, as that is not specific to this object. + if (!isServer) + { + Debug.LogWarning("ClientRpc " + rpcName + " called on un-spawned object: " + name); + return; + } + + // construct the message + RpcMessage message = new RpcMessage + { + netId = netId, + componentIndex = ComponentIndex, + // type+func so Inventory.RpcUse != Equipment.RpcUse + functionHash = RemoteCallHelper.GetMethodHash(invokeClass, rpcName), + // segment to avoid reader allocations + payload = writer.ToArraySegment() + }; + + NetworkServer.SendToReady(netIdentity, message, includeOwner, channelId); + } + + protected void SendTargetRPCInternal(NetworkConnection conn, Type invokeClass, string rpcName, NetworkWriter writer, int channelId) + { + if (!NetworkServer.active) + { + Debug.LogError($"TargetRPC {rpcName} called when server not active"); + return; + } + + if (!isServer) + { + Debug.LogWarning($"TargetRpc {rpcName} called on {name} but that object has not been spawned or has been unspawned"); + return; + } + + // connection parameter is optional. assign if null. + if (conn is null) + { + conn = connectionToClient; + } + + // if still null + if (conn is null) + { + Debug.LogError($"TargetRPC {rpcName} was given a null connection, make sure the object has an owner or you pass in the target connection"); + return; + } + + if (!(conn is NetworkConnectionToClient)) + { + Debug.LogError($"TargetRPC {rpcName} requires a NetworkConnectionToClient but was given {conn.GetType().Name}"); + return; + } + + // construct the message + RpcMessage message = new RpcMessage + { + netId = netId, + componentIndex = ComponentIndex, + // type+func so Inventory.RpcUse != Equipment.RpcUse + functionHash = RemoteCallHelper.GetMethodHash(invokeClass, rpcName), + // segment to avoid reader allocations + payload = writer.ToArraySegment() + }; + + conn.Send(message, channelId); + } + + // helper function for [SyncVar] GameObjects. + // IMPORTANT: keep as 'protected', not 'internal', otherwise Weaver + // can't resolve it + // TODO make this static and adjust weaver to find it + protected bool SyncVarGameObjectEqual(GameObject newGameObject, uint netIdField) + { + uint newNetId = 0; + if (newGameObject != null) + { + NetworkIdentity identity = newGameObject.GetComponent(); + if (identity != null) + { + newNetId = identity.netId; + if (newNetId == 0) + { + Debug.LogWarning("SetSyncVarGameObject GameObject " + newGameObject + " has a zero netId. Maybe it is not spawned yet?"); + } + } + } + + return newNetId == netIdField; + } + + // helper function for [SyncVar] GameObjects. + protected void SetSyncVarGameObject(GameObject newGameObject, ref GameObject gameObjectField, ulong dirtyBit, ref uint netIdField) + { + if (getSyncVarHookGuard(dirtyBit)) + return; + + uint newNetId = 0; + if (newGameObject != null) + { + NetworkIdentity identity = newGameObject.GetComponent(); + if (identity != null) + { + newNetId = identity.netId; + if (newNetId == 0) + { + Debug.LogWarning("SetSyncVarGameObject GameObject " + newGameObject + " has a zero netId. Maybe it is not spawned yet?"); + } + } + } + + // Debug.Log("SetSyncVar GameObject " + GetType().Name + " bit [" + dirtyBit + "] netfieldId:" + netIdField + "->" + newNetId); + SetDirtyBit(dirtyBit); + // assign new one on the server, and in case we ever need it on client too + gameObjectField = newGameObject; + netIdField = newNetId; + } + + // helper function for [SyncVar] GameObjects. + // -> ref GameObject as second argument makes OnDeserialize processing easier + protected GameObject GetSyncVarGameObject(uint netId, ref GameObject gameObjectField) + { + // server always uses the field + if (isServer) + { + return gameObjectField; + } + + // client always looks up based on netId because objects might get in and out of range + // over and over again, which shouldn't null them forever + if (NetworkIdentity.spawned.TryGetValue(netId, out NetworkIdentity identity) && identity != null) + return gameObjectField = identity.gameObject; + return null; + } + + // helper function for [SyncVar] NetworkIdentities. + // IMPORTANT: keep as 'protected', not 'internal', otherwise Weaver + // can't resolve it + protected bool SyncVarNetworkIdentityEqual(NetworkIdentity newIdentity, uint netIdField) + { + uint newNetId = 0; + if (newIdentity != null) + { + newNetId = newIdentity.netId; + if (newNetId == 0) + { + Debug.LogWarning("SetSyncVarNetworkIdentity NetworkIdentity " + newIdentity + " has a zero netId. Maybe it is not spawned yet?"); + } + } + + // netId changed? + return newNetId == netIdField; + } + + // helper function for [SyncVar] NetworkIdentities. + protected void SetSyncVarNetworkIdentity(NetworkIdentity newIdentity, ref NetworkIdentity identityField, ulong dirtyBit, ref uint netIdField) + { + if (getSyncVarHookGuard(dirtyBit)) + return; + + uint newNetId = 0; + if (newIdentity != null) + { + newNetId = newIdentity.netId; + if (newNetId == 0) + { + Debug.LogWarning("SetSyncVarNetworkIdentity NetworkIdentity " + newIdentity + " has a zero netId. Maybe it is not spawned yet?"); + } + } + + // Debug.Log("SetSyncVarNetworkIdentity NetworkIdentity " + GetType().Name + " bit [" + dirtyBit + "] netIdField:" + netIdField + "->" + newNetId); + SetDirtyBit(dirtyBit); + netIdField = newNetId; + // assign new one on the server, and in case we ever need it on client too + identityField = newIdentity; + } + + // helper function for [SyncVar] NetworkIdentities. + // -> ref GameObject as second argument makes OnDeserialize processing easier + protected NetworkIdentity GetSyncVarNetworkIdentity(uint netId, ref NetworkIdentity identityField) + { + // server always uses the field + if (isServer) + { + return identityField; + } + + // client always looks up based on netId because objects might get in and out of range + // over and over again, which shouldn't null them forever + NetworkIdentity.spawned.TryGetValue(netId, out identityField); + return identityField; + } + + protected bool SyncVarNetworkBehaviourEqual(T newBehaviour, NetworkBehaviourSyncVar syncField) where T : NetworkBehaviour + { + uint newNetId = 0; + int newComponentIndex = 0; + if (newBehaviour != null) + { + newNetId = newBehaviour.netId; + newComponentIndex = newBehaviour.ComponentIndex; + if (newNetId == 0) + { + Debug.LogWarning("SetSyncVarNetworkIdentity NetworkIdentity " + newBehaviour + " has a zero netId. Maybe it is not spawned yet?"); + } + } + + // netId changed? + return syncField.Equals(newNetId, newComponentIndex); + } + + // helper function for [SyncVar] NetworkIdentities. + protected void SetSyncVarNetworkBehaviour(T newBehaviour, ref T behaviourField, ulong dirtyBit, ref NetworkBehaviourSyncVar syncField) where T : NetworkBehaviour + { + if (getSyncVarHookGuard(dirtyBit)) + return; + + uint newNetId = 0; + int componentIndex = 0; + if (newBehaviour != null) + { + newNetId = newBehaviour.netId; + componentIndex = newBehaviour.ComponentIndex; + if (newNetId == 0) + { + Debug.LogWarning($"{nameof(SetSyncVarNetworkBehaviour)} NetworkIdentity " + newBehaviour + " has a zero netId. Maybe it is not spawned yet?"); + } + } + + syncField = new NetworkBehaviourSyncVar(newNetId, componentIndex); + + SetDirtyBit(dirtyBit); + + // assign new one on the server, and in case we ever need it on client too + behaviourField = newBehaviour; + + // Debug.Log($"SetSyncVarNetworkBehaviour NetworkIdentity {GetType().Name} bit [{dirtyBit}] netIdField:{oldField}->{syncField}"); + } + + // helper function for [SyncVar] NetworkIdentities. + // -> ref GameObject as second argument makes OnDeserialize processing easier + protected T GetSyncVarNetworkBehaviour(NetworkBehaviourSyncVar syncNetBehaviour, ref T behaviourField) where T : NetworkBehaviour + { + // server always uses the field + if (isServer) + { + return behaviourField; + } + + // client always looks up based on netId because objects might get in and out of range + // over and over again, which shouldn't null them forever + if (!NetworkIdentity.spawned.TryGetValue(syncNetBehaviour.netId, out NetworkIdentity identity)) + { + return null; + } + + behaviourField = identity.NetworkBehaviours[syncNetBehaviour.componentIndex] as T; + return behaviourField; + } + + // backing field for sync NetworkBehaviour + public struct NetworkBehaviourSyncVar : IEquatable + { + public uint netId; + // limited to 255 behaviours per identity + public byte componentIndex; + + public NetworkBehaviourSyncVar(uint netId, int componentIndex) : this() + { + this.netId = netId; + this.componentIndex = (byte)componentIndex; + } + + public bool Equals(NetworkBehaviourSyncVar other) + { + return other.netId == netId && other.componentIndex == componentIndex; + } + + public bool Equals(uint netId, int componentIndex) + { + return this.netId == netId && this.componentIndex == componentIndex; + } + + public override string ToString() + { + return $"[netId:{netId} compIndex:{componentIndex}]"; + } + } + + protected bool SyncVarEqual(T value, ref T fieldValue) + { + // newly initialized or changed value? + return EqualityComparer.Default.Equals(value, fieldValue); + } + + protected void SetSyncVar(T value, ref T fieldValue, ulong dirtyBit) + { + // Debug.Log("SetSyncVar " + GetType().Name + " bit [" + dirtyBit + "] " + fieldValue + "->" + value); + SetDirtyBit(dirtyBit); + fieldValue = value; + } + + /// Set as dirty so that it's synced to clients again. + // these are masks, not bit numbers, ie. 0x004 not 2 + public void SetDirtyBit(ulong dirtyBit) + { + syncVarDirtyBits |= dirtyBit; + } + + /// Clears all the dirty bits that were set by SetDirtyBits() + // automatically invoked when an update is sent for this object, but can + // be called manually as well. + public void ClearAllDirtyBits() + { + lastSyncTime = NetworkTime.localTime; + syncVarDirtyBits = 0L; + + // flush all unsynchronized changes in syncobjects + // note: don't use List.ForEach here, this is a hot path + // List.ForEach: 432b/frame + // for: 231b/frame + for (int i = 0; i < syncObjects.Count; ++i) + { + syncObjects[i].Flush(); + } + } + + bool AnySyncObjectDirty() + { + // note: don't use Linq here. 1200 networked objects: + // Linq: 187KB GC/frame;, 2.66ms time + // for: 8KB GC/frame; 1.28ms time + for (int i = 0; i < syncObjects.Count; ++i) + { + if (syncObjects[i].IsDirty) + { + return true; + } + } + return false; + } + + // true if syncInterval elapsed and any SyncVar or SyncObject is dirty + public bool IsDirty() + { + if (NetworkTime.localTime - lastSyncTime >= syncInterval) + { + return syncVarDirtyBits != 0L || AnySyncObjectDirty(); + } + return false; + } + + /// Override to do custom serialization (instead of SyncVars/SyncLists). Use OnDeserialize too. + // if a class has syncvars, then OnSerialize/OnDeserialize are added + // automatically. + // + // initialState is true for full spawns, false for delta syncs. + // note: SyncVar hooks are only called when inital=false + public virtual bool OnSerialize(NetworkWriter writer, bool initialState) + { + bool objectWritten = false; + // if initialState: write all SyncVars. + // otherwise write dirtyBits+dirty SyncVars + if (initialState) + { + objectWritten = SerializeObjectsAll(writer); + } + else + { + objectWritten = SerializeObjectsDelta(writer); + } + + bool syncVarWritten = SerializeSyncVars(writer, initialState); + + return objectWritten || syncVarWritten; + } + + /// Override to do custom deserialization (instead of SyncVars/SyncLists). Use OnSerialize too. + public virtual void OnDeserialize(NetworkReader reader, bool initialState) + { + if (initialState) + { + DeSerializeObjectsAll(reader); + } + else + { + DeSerializeObjectsDelta(reader); + } + + DeserializeSyncVars(reader, initialState); + } + + // USED BY WEAVER + protected virtual bool SerializeSyncVars(NetworkWriter writer, bool initialState) + { + return false; + + // SyncVar are written here in subclass + + // if initialState + // write all SyncVars + // else + // write syncVarDirtyBits + // write dirty SyncVars + } + + // USED BY WEAVER + protected virtual void DeserializeSyncVars(NetworkReader reader, bool initialState) + { + // SyncVars are read here in subclass + + // if initialState + // read all SyncVars + // else + // read syncVarDirtyBits + // read dirty SyncVars + } + + internal ulong DirtyObjectBits() + { + ulong dirtyObjects = 0; + for (int i = 0; i < syncObjects.Count; i++) + { + SyncObject syncObject = syncObjects[i]; + if (syncObject.IsDirty) + { + dirtyObjects |= 1UL << i; + } + } + return dirtyObjects; + } + + public bool SerializeObjectsAll(NetworkWriter writer) + { + bool dirty = false; + for (int i = 0; i < syncObjects.Count; i++) + { + SyncObject syncObject = syncObjects[i]; + syncObject.OnSerializeAll(writer); + dirty = true; + } + return dirty; + } + + public bool SerializeObjectsDelta(NetworkWriter writer) + { + bool dirty = false; + // write the mask + writer.WriteULong(DirtyObjectBits()); + // serializable objects, such as synclists + for (int i = 0; i < syncObjects.Count; i++) + { + SyncObject syncObject = syncObjects[i]; + if (syncObject.IsDirty) + { + syncObject.OnSerializeDelta(writer); + dirty = true; + } + } + return dirty; + } + + internal void DeSerializeObjectsAll(NetworkReader reader) + { + for (int i = 0; i < syncObjects.Count; i++) + { + SyncObject syncObject = syncObjects[i]; + syncObject.OnDeserializeAll(reader); + } + } + + internal void DeSerializeObjectsDelta(NetworkReader reader) + { + ulong dirty = reader.ReadULong(); + for (int i = 0; i < syncObjects.Count; i++) + { + SyncObject syncObject = syncObjects[i]; + if ((dirty & (1UL << i)) != 0) + { + syncObject.OnDeserializeDelta(reader); + } + } + } + + internal void ResetSyncObjects() + { + foreach (SyncObject syncObject in syncObjects) + { + syncObject.Reset(); + } + } + + /// Like Start(), but only called on server and host. + public virtual void OnStartServer() {} + + /// Stop event, only called on server and host. + public virtual void OnStopServer() {} + + /// Like Start(), but only called on client and host. + public virtual void OnStartClient() {} + + /// Stop event, only called on client and host. + public virtual void OnStopClient() {} + + /// Like Start(), but only called on client and host for the local player object. + public virtual void OnStartLocalPlayer() {} + + /// Like Start(), but only called for objects the client has authority over. + public virtual void OnStartAuthority() {} + + /// Stop event, only called for objects the client has authority over. + public virtual void OnStopAuthority() {} + } +} diff --git a/Assets/Mirror/Runtime/NetworkBehaviour.cs.meta b/Assets/Mirror/Runtime/NetworkBehaviour.cs.meta new file mode 100644 index 0000000..f0bc195 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 655ee8cba98594f70880da5cc4dc442d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkClient.cs b/Assets/Mirror/Runtime/NetworkClient.cs new file mode 100644 index 0000000..4d2badb --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkClient.cs @@ -0,0 +1,1425 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace Mirror +{ + public enum ConnectState + { + None, + // connecting between Connect() and OnTransportConnected() + Connecting, + Connected, + // disconnecting between Disconnect() and OnTransportDisconnected() + Disconnecting, + Disconnected + } + + /// NetworkClient with connection to server. + public static class NetworkClient + { + // message handlers by messageId + internal static readonly Dictionary handlers = + new Dictionary(); + + /// Client's NetworkConnection to server. + public static NetworkConnection connection { get; internal set; } + + /// True if client is ready (= joined world). + // TODO redundant state. point it to .connection.isReady instead (& test) + // TODO OR remove NetworkConnection.isReady? unless it's used on server + // + // TODO maybe ClientState.Connected/Ready/AddedPlayer/etc.? + // way better for security if we can check states in callbacks + public static bool ready; + + /// The NetworkConnection object that is currently "ready". + // TODO this is from UNET. it's redundant and we should probably obsolete it. + // Deprecated 2021-03-10 + [Obsolete("NetworkClient.readyConnection is redundant. Use NetworkClient.connection and use NetworkClient.ready to check if it's ready.")] + public static NetworkConnection readyConnection => ready ? connection : null; + + /// NetworkIdentity of the localPlayer + public static NetworkIdentity localPlayer { get; internal set; } + + // NetworkClient state + internal static ConnectState connectState = ConnectState.None; + + /// IP address of the connection to server. + // empty if the client has not connected yet. + public static string serverIp => connection.address; + + /// active is true while a client is connecting/connected + // (= while the network is active) + public static bool active => connectState == ConnectState.Connecting || + connectState == ConnectState.Connected; + + /// Check if client is connecting (before connected). + public static bool isConnecting => connectState == ConnectState.Connecting; + + /// Check if client is connected (after connecting). + public static bool isConnected => connectState == ConnectState.Connected; + + /// True if client is running in host mode. + public static bool isHostClient => connection is LocalConnectionToServer; + // Deprecated 2021-05-26 + [Obsolete("isLocalClient was renamed to isHostClient because that's what it actually means.")] + public static bool isLocalClient => isHostClient; + + // OnConnected / OnDisconnected used to be NetworkMessages that were + // invoked. this introduced a bug where external clients could send + // Connected/Disconnected messages over the network causing undefined + // behaviour. + // => public so that custom NetworkManagers can hook into it + public static Action OnConnectedEvent; + public static Action OnDisconnectedEvent; + public static Action OnErrorEvent; + + /// Registered spawnable prefabs by assetId. + public static readonly Dictionary prefabs = + new Dictionary(); + + // spawn handlers + internal static readonly Dictionary spawnHandlers = + new Dictionary(); + internal static readonly Dictionary unspawnHandlers = + new Dictionary(); + + // spawning + static bool isSpawnFinished; + + // Disabled scene objects that can be spawned again, by sceneId. + internal static readonly Dictionary spawnableObjects = + new Dictionary(); + + static Unbatcher unbatcher = new Unbatcher(); + + // interest management component (optional) + // only needed for SetHostVisibility + public static InterestManagement aoi; + + // scene loading + public static bool isLoadingScene; + + // initialization ////////////////////////////////////////////////////// + static void AddTransportHandlers() + { + Transport.activeTransport.OnClientConnected = OnTransportConnected; + Transport.activeTransport.OnClientDataReceived = OnTransportData; + Transport.activeTransport.OnClientDisconnected = OnTransportDisconnected; + Transport.activeTransport.OnClientError = OnError; + } + + internal static void RegisterSystemHandlers(bool hostMode) + { + // host mode client / regular client react to some messages differently. + // but we still need to add handlers for all of them to avoid + // 'message id not found' errors. + if (hostMode) + { + RegisterHandler(OnHostClientObjectDestroy); + RegisterHandler(OnHostClientObjectHide); + RegisterHandler(msg => {}, false); + RegisterHandler(OnHostClientSpawn); + // host mode doesn't need spawning + RegisterHandler(msg => {}); + // host mode doesn't need spawning + RegisterHandler(msg => {}); + // host mode doesn't need state updates + RegisterHandler(msg => {}); + } + else + { + RegisterHandler(OnObjectDestroy); + RegisterHandler(OnObjectHide); + RegisterHandler(NetworkTime.OnClientPong, false); + RegisterHandler(OnSpawn); + RegisterHandler(OnObjectSpawnStarted); + RegisterHandler(OnObjectSpawnFinished); + RegisterHandler(OnEntityStateMessage); + } + RegisterHandler(OnRPCMessage); + } + + // connect ///////////////////////////////////////////////////////////// + /// Connect client to a NetworkServer by address. + public static void Connect(string address) + { + // Debug.Log("Client Connect: " + address); + Debug.Assert(Transport.activeTransport != null, "There was no active transport when calling NetworkClient.Connect, If you are calling Connect manually then make sure to set 'Transport.activeTransport' first"); + + RegisterSystemHandlers(false); + Transport.activeTransport.enabled = true; + AddTransportHandlers(); + + connectState = ConnectState.Connecting; + Transport.activeTransport.ClientConnect(address); + + connection = new NetworkConnectionToServer(); + } + + /// Connect client to a NetworkServer by Uri. + public static void Connect(Uri uri) + { + // Debug.Log("Client Connect: " + uri); + Debug.Assert(Transport.activeTransport != null, "There was no active transport when calling NetworkClient.Connect, If you are calling Connect manually then make sure to set 'Transport.activeTransport' first"); + + RegisterSystemHandlers(false); + Transport.activeTransport.enabled = true; + AddTransportHandlers(); + + connectState = ConnectState.Connecting; + Transport.activeTransport.ClientConnect(uri); + + connection = new NetworkConnectionToServer(); + } + + // TODO why are there two connect host methods? + // called from NetworkManager.FinishStartHost() + public static void ConnectHost() + { + //Debug.Log("Client Connect Host to Server"); + + RegisterSystemHandlers(true); + + connectState = ConnectState.Connected; + + // create local connection objects and connect them + LocalConnectionToServer connectionToServer = new LocalConnectionToServer(); + LocalConnectionToClient connectionToClient = new LocalConnectionToClient(); + connectionToServer.connectionToClient = connectionToClient; + connectionToClient.connectionToServer = connectionToServer; + + connection = connectionToServer; + + // create server connection to local client + NetworkServer.SetLocalConnection(connectionToClient); + } + + /// Connect host mode + // called from NetworkManager.StartHostClient + // TODO why are there two connect host methods? + public static void ConnectLocalServer() + { + // call server OnConnected with server's connection to client + NetworkServer.OnConnected(NetworkServer.localConnection); + + // call client OnConnected with client's connection to server + // => previously we used to send a ConnectMessage to + // NetworkServer.localConnection. this would queue the message + // until NetworkClient.Update processes it. + // => invoking the client's OnConnected event directly here makes + // tests fail. so let's do it exactly the same order as before by + // queueing the event for next Update! + //OnConnectedEvent?.Invoke(connection); + ((LocalConnectionToServer)connection).QueueConnectedEvent(); + } + + // disconnect ////////////////////////////////////////////////////////// + /// Disconnect from server. + public static void Disconnect() + { + // only if connected or connecting. + // don't disconnect() again if already in the process of + // disconnecting or fully disconnected. + if (connectState != ConnectState.Connecting && + connectState != ConnectState.Connected) + return; + + // we are disconnecting until OnTransportDisconnected is called. + // setting state to Disconnected would stop OnTransportDisconnected + // from calling cleanup code because it would think we are already + // disconnected fully. + // TODO move to 'cleanup' code below if safe + connectState = ConnectState.Disconnecting; + ready = false; + + // call Disconnect on the NetworkConnection + connection?.Disconnect(); + + // IMPORTANT: do NOT clear connection here yet. + // we still need it in OnTransportDisconnected for callbacks. + // connection = null; + } + + /// Disconnect host mode. + // this is needed to call DisconnectMessage for the host client too. + // Deprecated 2021-05-11 + [Obsolete("Call NetworkClient.Disconnect() instead. Nobody should use DisconnectLocalServer.")] + public static void DisconnectLocalServer() + { + // only if host connection is running + if (NetworkServer.localConnection != null) + { + // TODO ConnectLocalServer manually sends a ConnectMessage to the + // local connection. should we send a DisconnectMessage here too? + // (if we do then we get an Unknown Message ID log) + //NetworkServer.localConnection.Send(new DisconnectMessage()); + NetworkServer.OnTransportDisconnected(NetworkServer.localConnection.connectionId); + } + } + + // transport events //////////////////////////////////////////////////// + // called by Transport + static void OnTransportConnected() + { + if (connection != null) + { + // reset network time stats + NetworkTime.Reset(); + + // reset unbatcher in case any batches from last session remain. + unbatcher = new Unbatcher(); + + // the handler may want to send messages to the client + // thus we should set the connected state before calling the handler + connectState = ConnectState.Connected; + NetworkTime.UpdateClient(); + OnConnectedEvent?.Invoke(); + } + else Debug.LogError("Skipped Connect message handling because connection is null."); + } + + // helper function + static bool UnpackAndInvoke(NetworkReader reader, int channelId) + { + if (MessagePacking.Unpack(reader, out ushort msgType)) + { + // try to invoke the handler for that message + if (handlers.TryGetValue(msgType, out NetworkMessageDelegate handler)) + { + handler.Invoke(connection, reader, channelId); + + // message handler may disconnect client, making connection = null + // therefore must check for null to avoid NRE. + if (connection != null) + connection.lastMessageTime = Time.time; + + return true; + } + else + { + // Debug.Log("Unknown message ID " + msgType + " " + this + ". May be due to no existing RegisterHandler for this message."); + return false; + } + } + else + { + Debug.LogError("Closed connection: " + connection + ". Invalid message header."); + connection.Disconnect(); + return false; + } + } + + // called by Transport + internal static void OnTransportData(ArraySegment data, int channelId) + { + if (connection != null) + { + // server might batch multiple messages into one packet. + // feed it to the Unbatcher. + // NOTE: we don't need to associate a channelId because we + // always process all messages in the batch. + if (!unbatcher.AddBatch(data)) + { + Debug.LogWarning($"NetworkClient: failed to add batch, disconnecting."); + connection.Disconnect(); + return; + } + + // process all messages in the batch. + // only while NOT loading a scene. + // if we get a scene change message, then we need to stop + // processing. otherwise we might apply them to the old scene. + // => fixes https://github.com/vis2k/Mirror/issues/2651 + // + // NOTE: is scene starts loading, then the rest of the batch + // would only be processed when OnTransportData is called + // the next time. + // => consider moving processing to NetworkEarlyUpdate. + while (!isLoadingScene && + unbatcher.GetNextMessage(out NetworkReader reader, out double remoteTimestamp)) + { + // enough to read at least header size? + if (reader.Remaining >= MessagePacking.HeaderSize) + { + // make remoteTimeStamp available to the user + connection.remoteTimeStamp = remoteTimestamp; + + // handle message + if (!UnpackAndInvoke(reader, channelId)) + break; + } + // otherwise disconnect + else + { + Debug.LogError($"NetworkClient: received Message was too short (messages should start with message id)"); + connection.Disconnect(); + return; + } + } + } + else Debug.LogError("Skipped Data message handling because connection is null."); + } + + // called by Transport + // IMPORTANT: often times when disconnecting, we call this from Mirror + // too because we want to remove the connection and handle + // the disconnect immediately. + // => which is fine as long as we guarantee it only runs once + // => which we do by setting the state to Disconnected! + internal static void OnTransportDisconnected() + { + // StopClient called from user code triggers Disconnected event + // from transport which calls StopClient again, so check here + // and short circuit running the Shutdown process twice. + if (connectState == ConnectState.Disconnected) return; + + // Raise the event before changing ConnectState + // because 'active' depends on this during shutdown + if (connection != null) OnDisconnectedEvent?.Invoke(); + + connectState = ConnectState.Disconnected; + ready = false; + + // now that everything was handled, clear the connection. + // previously this was done in Disconnect() already, but we still + // need it for the above OnDisconnectedEvent. + connection = null; + } + + static void OnError(Exception exception) + { + Debug.LogException(exception); + OnErrorEvent?.Invoke(exception); + } + + // send //////////////////////////////////////////////////////////////// + /// Send a NetworkMessage to the server over the given channel. + public static void Send(T message, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + if (connection != null) + { + if (connectState == ConnectState.Connected) + { + connection.Send(message, channelId); + } + else Debug.LogError("NetworkClient Send when not connected to a server"); + } + else Debug.LogError("NetworkClient Send with no connection"); + } + + // message handlers //////////////////////////////////////////////////// + /// Register a handler for a message type T. Most should require authentication. + // Deprecated 2021-03-13 + [Obsolete("Use RegisterHandler version without NetworkConnection parameter. It always points to NetworkClient.connection anyway.")] + public static void RegisterHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + if (handlers.ContainsKey(msgType)) + { + Debug.LogWarning($"NetworkClient.RegisterHandler replacing handler for {typeof(T).FullName}, id={msgType}. If replacement is intentional, use ReplaceHandler instead to avoid this warning."); + } + handlers[msgType] = MessagePacking.WrapHandler(handler, requireAuthentication); + } + + /// Register a handler for a message type T. Most should require authentication. + public static void RegisterHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + if (handlers.ContainsKey(msgType)) + { + Debug.LogWarning($"NetworkClient.RegisterHandler replacing handler for {typeof(T).FullName}, id={msgType}. If replacement is intentional, use ReplaceHandler instead to avoid this warning."); + } + // we use the same WrapHandler function for server and client. + // so let's wrap it to ignore the NetworkConnection parameter. + // it's not needed on client. it's always NetworkClient.connection. + void HandlerWrapped(NetworkConnection _, T value) => handler(value); + handlers[msgType] = MessagePacking.WrapHandler((Action) HandlerWrapped, requireAuthentication); + } + + /// Replace a handler for a particular message type. Should require authentication by default. + // TODO does anyone even use that? consider removing + public static void ReplaceHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + handlers[msgType] = MessagePacking.WrapHandler(handler, requireAuthentication); + } + + /// Replace a handler for a particular message type. Should require authentication by default. + // TODO does anyone even use that? consider removing + public static void ReplaceHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ReplaceHandler((NetworkConnection _, T value) => { handler(value); }, requireAuthentication); + } + + /// Unregister a message handler of type T. + public static bool UnregisterHandler() + where T : struct, NetworkMessage + { + // use int to minimize collisions + ushort msgType = MessagePacking.GetId(); + return handlers.Remove(msgType); + } + + // spawnable prefabs /////////////////////////////////////////////////// + /// Find the registered prefab for this asset id. + // Useful for debuggers + public static bool GetPrefab(Guid assetId, out GameObject prefab) + { + prefab = null; + return assetId != Guid.Empty && + prefabs.TryGetValue(assetId, out prefab) && prefab != null; + } + + /// Validates Prefab then adds it to prefabs dictionary. + static void RegisterPrefabIdentity(NetworkIdentity prefab) + { + if (prefab.assetId == Guid.Empty) + { + Debug.LogError($"Can not Register '{prefab.name}' because it had empty assetid. If this is a scene Object use RegisterSpawnHandler instead"); + return; + } + + if (prefab.sceneId != 0) + { + Debug.LogError($"Can not Register '{prefab.name}' because it has a sceneId, make sure you are passing in the original prefab and not an instance in the scene."); + return; + } + + NetworkIdentity[] identities = prefab.GetComponentsInChildren(); + if (identities.Length > 1) + { + Debug.LogError($"Prefab '{prefab.name}' has multiple NetworkIdentity components. There should only be one NetworkIdentity on a prefab, and it must be on the root object."); + } + + if (prefabs.ContainsKey(prefab.assetId)) + { + GameObject existingPrefab = prefabs[prefab.assetId]; + Debug.LogWarning($"Replacing existing prefab with assetId '{prefab.assetId}'. Old prefab '{existingPrefab.name}', New prefab '{prefab.name}'"); + } + + if (spawnHandlers.ContainsKey(prefab.assetId) || unspawnHandlers.ContainsKey(prefab.assetId)) + { + Debug.LogWarning($"Adding prefab '{prefab.name}' with assetId '{prefab.assetId}' when spawnHandlers with same assetId already exists."); + } + + // Debug.Log($"Registering prefab '{prefab.name}' as asset:{prefab.assetId}"); + + prefabs[prefab.assetId] = prefab.gameObject; + } + + /// Register spawnable prefab with custom assetId. + // Note: newAssetId can not be set on GameObjects that already have an assetId + // Note: registering with assetId is useful for assetbundles etc. a lot + // of people use this. + public static void RegisterPrefab(GameObject prefab, Guid newAssetId) + { + if (prefab == null) + { + Debug.LogError("Could not register prefab because it was null"); + return; + } + + if (newAssetId == Guid.Empty) + { + Debug.LogError($"Could not register '{prefab.name}' with new assetId because the new assetId was empty"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError($"Could not register '{prefab.name}' since it contains no NetworkIdentity component"); + return; + } + + if (identity.assetId != Guid.Empty && identity.assetId != newAssetId) + { + Debug.LogError($"Could not register '{prefab.name}' to {newAssetId} because it already had an AssetId, Existing assetId {identity.assetId}"); + return; + } + + identity.assetId = newAssetId; + + RegisterPrefabIdentity(identity); + } + + /// Register spawnable prefab. + public static void RegisterPrefab(GameObject prefab) + { + if (prefab == null) + { + Debug.LogError("Could not register prefab because it was null"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError($"Could not register '{prefab.name}' since it contains no NetworkIdentity component"); + return; + } + + RegisterPrefabIdentity(identity); + } + + /// Register a spawnable prefab with custom assetId and custom spawn/unspawn handlers. + // Note: newAssetId can not be set on GameObjects that already have an assetId + // Note: registering with assetId is useful for assetbundles etc. a lot + // of people use this. + // TODO why do we have one with SpawnDelegate and one with SpawnHandlerDelegate? + public static void RegisterPrefab(GameObject prefab, Guid newAssetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + // We need this check here because we don't want a null handler in the lambda expression below + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {newAssetId}"); + return; + } + + RegisterPrefab(prefab, newAssetId, msg => spawnHandler(msg.position, msg.assetId), unspawnHandler); + } + + /// Register a spawnable prefab with custom spawn/unspawn handlers. + // TODO why do we have one with SpawnDelegate and one with SpawnHandlerDelegate? + public static void RegisterPrefab(GameObject prefab, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + if (prefab == null) + { + Debug.LogError("Could not register handler for prefab because the prefab was null"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError("Could not register handler for '" + prefab.name + "' since it contains no NetworkIdentity component"); + return; + } + + if (identity.sceneId != 0) + { + Debug.LogError($"Can not Register '{prefab.name}' because it has a sceneId, make sure you are passing in the original prefab and not an instance in the scene."); + return; + } + + Guid assetId = identity.assetId; + + if (assetId == Guid.Empty) + { + Debug.LogError($"Can not Register handler for '{prefab.name}' because it had empty assetid. If this is a scene Object use RegisterSpawnHandler instead"); + return; + } + + // We need this check here because we don't want a null handler in the lambda expression below + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {assetId}"); + return; + } + + RegisterPrefab(prefab, msg => spawnHandler(msg.position, msg.assetId), unspawnHandler); + } + + /// Register a spawnable prefab with custom assetId and custom spawn/unspawn handlers. + // Note: newAssetId can not be set on GameObjects that already have an assetId + // Note: registering with assetId is useful for assetbundles etc. a lot + // of people use this. + // TODO why do we have one with SpawnDelegate and one with SpawnHandlerDelegate? + public static void RegisterPrefab(GameObject prefab, Guid newAssetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + if (newAssetId == Guid.Empty) + { + Debug.LogError($"Could not register handler for '{prefab.name}' with new assetId because the new assetId was empty"); + return; + } + + if (prefab == null) + { + Debug.LogError("Could not register handler for prefab because the prefab was null"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError("Could not register handler for '" + prefab.name + "' since it contains no NetworkIdentity component"); + return; + } + + if (identity.assetId != Guid.Empty && identity.assetId != newAssetId) + { + Debug.LogError($"Could not register Handler for '{prefab.name}' to {newAssetId} because it already had an AssetId, Existing assetId {identity.assetId}"); + return; + } + + if (identity.sceneId != 0) + { + Debug.LogError($"Can not Register '{prefab.name}' because it has a sceneId, make sure you are passing in the original prefab and not an instance in the scene."); + return; + } + + identity.assetId = newAssetId; + Guid assetId = identity.assetId; + + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {assetId}"); + return; + } + + if (unspawnHandler == null) + { + Debug.LogError($"Can not Register null UnSpawnHandler for {assetId}"); + return; + } + + if (spawnHandlers.ContainsKey(assetId) || unspawnHandlers.ContainsKey(assetId)) + { + Debug.LogWarning($"Replacing existing spawnHandlers for prefab '{prefab.name}' with assetId '{assetId}'"); + } + + if (prefabs.ContainsKey(assetId)) + { + // this is error because SpawnPrefab checks prefabs before handler + Debug.LogError($"assetId '{assetId}' is already used by prefab '{prefabs[assetId].name}', unregister the prefab first before trying to add handler"); + } + + NetworkIdentity[] identities = prefab.GetComponentsInChildren(); + if (identities.Length > 1) + { + Debug.LogError($"Prefab '{prefab.name}' has multiple NetworkIdentity components. There should only be one NetworkIdentity on a prefab, and it must be on the root object."); + } + + // Debug.Log("Registering custom prefab '" + prefab.name + "' as asset:" + assetId + " " + spawnHandler.GetMethodName() + "/" + unspawnHandler.GetMethodName()); + + spawnHandlers[assetId] = spawnHandler; + unspawnHandlers[assetId] = unspawnHandler; + } + + /// Register a spawnable prefab with custom spawn/unspawn handlers. + // TODO why do we have one with SpawnDelegate and one with SpawnHandlerDelegate? + public static void RegisterPrefab(GameObject prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + if (prefab == null) + { + Debug.LogError("Could not register handler for prefab because the prefab was null"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError("Could not register handler for '" + prefab.name + "' since it contains no NetworkIdentity component"); + return; + } + + if (identity.sceneId != 0) + { + Debug.LogError($"Can not Register '{prefab.name}' because it has a sceneId, make sure you are passing in the original prefab and not an instance in the scene."); + return; + } + + Guid assetId = identity.assetId; + + if (assetId == Guid.Empty) + { + Debug.LogError($"Can not Register handler for '{prefab.name}' because it had empty assetid. If this is a scene Object use RegisterSpawnHandler instead"); + return; + } + + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {assetId}"); + return; + } + + if (unspawnHandler == null) + { + Debug.LogError($"Can not Register null UnSpawnHandler for {assetId}"); + return; + } + + if (spawnHandlers.ContainsKey(assetId) || unspawnHandlers.ContainsKey(assetId)) + { + Debug.LogWarning($"Replacing existing spawnHandlers for prefab '{prefab.name}' with assetId '{assetId}'"); + } + + if (prefabs.ContainsKey(assetId)) + { + // this is error because SpawnPrefab checks prefabs before handler + Debug.LogError($"assetId '{assetId}' is already used by prefab '{prefabs[assetId].name}', unregister the prefab first before trying to add handler"); + } + + NetworkIdentity[] identities = prefab.GetComponentsInChildren(); + if (identities.Length > 1) + { + Debug.LogError($"Prefab '{prefab.name}' has multiple NetworkIdentity components. There should only be one NetworkIdentity on a prefab, and it must be on the root object."); + } + + // Debug.Log("Registering custom prefab '" + prefab.name + "' as asset:" + assetId + " " + spawnHandler.GetMethodName() + "/" + unspawnHandler.GetMethodName()); + + spawnHandlers[assetId] = spawnHandler; + unspawnHandlers[assetId] = unspawnHandler; + } + + /// Removes a registered spawn prefab that was setup with NetworkClient.RegisterPrefab. + public static void UnregisterPrefab(GameObject prefab) + { + if (prefab == null) + { + Debug.LogError("Could not unregister prefab because it was null"); + return; + } + + NetworkIdentity identity = prefab.GetComponent(); + if (identity == null) + { + Debug.LogError("Could not unregister '" + prefab.name + "' since it contains no NetworkIdentity component"); + return; + } + + Guid assetId = identity.assetId; + + prefabs.Remove(assetId); + spawnHandlers.Remove(assetId); + unspawnHandlers.Remove(assetId); + } + + // spawn handlers ////////////////////////////////////////////////////// + /// This is an advanced spawning function that registers a custom assetId with the spawning system. + // This can be used to register custom spawning methods for an assetId - + // instead of the usual method of registering spawning methods for a + // prefab. This should be used when no prefab exists for the spawned + // objects - such as when they are constructed dynamically at runtime + // from configuration data. + public static void RegisterSpawnHandler(Guid assetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + // We need this check here because we don't want a null handler in the lambda expression below + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {assetId}"); + return; + } + + RegisterSpawnHandler(assetId, msg => spawnHandler(msg.position, msg.assetId), unspawnHandler); + } + + /// This is an advanced spawning function that registers a custom assetId with the spawning system. + // This can be used to register custom spawning methods for an assetId - + // instead of the usual method of registering spawning methods for a + // prefab. This should be used when no prefab exists for the spawned + // objects - such as when they are constructed dynamically at runtime + // from configuration data. + public static void RegisterSpawnHandler(Guid assetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler) + { + if (spawnHandler == null) + { + Debug.LogError($"Can not Register null SpawnHandler for {assetId}"); + return; + } + + if (unspawnHandler == null) + { + Debug.LogError($"Can not Register null UnSpawnHandler for {assetId}"); + return; + } + + if (assetId == Guid.Empty) + { + Debug.LogError("Can not Register SpawnHandler for empty Guid"); + return; + } + + if (spawnHandlers.ContainsKey(assetId) || unspawnHandlers.ContainsKey(assetId)) + { + Debug.LogWarning($"Replacing existing spawnHandlers for {assetId}"); + } + + if (prefabs.ContainsKey(assetId)) + { + // this is error because SpawnPrefab checks prefabs before handler + Debug.LogError($"assetId '{assetId}' is already used by prefab '{prefabs[assetId].name}'"); + } + + // Debug.Log("RegisterSpawnHandler asset '" + assetId + "' " + spawnHandler.GetMethodName() + "/" + unspawnHandler.GetMethodName()); + + spawnHandlers[assetId] = spawnHandler; + unspawnHandlers[assetId] = unspawnHandler; + } + + /// Removes a registered spawn handler function that was registered with NetworkClient.RegisterHandler(). + public static void UnregisterSpawnHandler(Guid assetId) + { + spawnHandlers.Remove(assetId); + unspawnHandlers.Remove(assetId); + } + + /// This clears the registered spawn prefabs and spawn handler functions for this client. + public static void ClearSpawners() + { + prefabs.Clear(); + spawnHandlers.Clear(); + unspawnHandlers.Clear(); + } + + internal static bool InvokeUnSpawnHandler(Guid assetId, GameObject obj) + { + if (unspawnHandlers.TryGetValue(assetId, out UnSpawnDelegate handler) && handler != null) + { + handler(obj); + return true; + } + return false; + } + + // ready /////////////////////////////////////////////////////////////// + /// Sends Ready message to server, indicating that we loaded the scene, ready to enter the game. + // This could be for example when a client enters an ongoing game and + // has finished loading the current scene. The server should respond to + // the SYSTEM_READY event with an appropriate handler which instantiates + // the players object for example. + public static bool Ready() + { + // Debug.Log("NetworkClient.Ready() called with connection [" + conn + "]"); + if (ready) + { + Debug.LogError("NetworkClient is already ready. It shouldn't be called twice."); + return false; + } + + // need a valid connection to become ready + if (connection == null) + { + Debug.LogError("Ready() called with invalid connection object: conn=null"); + return false; + } + + // Set these before sending the ReadyMessage, otherwise host client + // will fail in InternalAddPlayer with null readyConnection. + // TODO this is redundant. have one source of truth for .ready + ready = true; + connection.isReady = true; + + // Tell server we're ready to have a player object spawned + connection.Send(new ReadyMessage()); + return true; + } + + // Deprecated 2021-03-13 + [Obsolete("NetworkClient.Ready doesn't need a NetworkConnection parameter anymore. It always uses NetworkClient.connection anyway.")] + public static bool Ready(NetworkConnection conn) => Ready(); + + // add player ////////////////////////////////////////////////////////// + // called from message handler for Owner message + internal static void InternalAddPlayer(NetworkIdentity identity) + { + //Debug.Log("NetworkClient.InternalAddPlayer"); + + // NOTE: It can be "normal" when changing scenes for the player to be destroyed and recreated. + // But, the player structures are not cleaned up, we'll just replace the old player + localPlayer = identity; + + // NOTE: we DONT need to set isClient=true here, because OnStartClient + // is called before OnStartLocalPlayer, hence it's already set. + // localPlayer.isClient = true; + + // TODO this check might not be necessary + //if (readyConnection != null) + if (ready && connection != null) + { + connection.identity = identity; + } + else Debug.LogWarning("No ready connection found for setting player controller during InternalAddPlayer"); + } + + /// Sends AddPlayer message to the server, indicating that we want to join the world. + public static bool AddPlayer() + { + // ensure valid ready connection + if (connection == null) + { + Debug.LogError("AddPlayer requires a valid NetworkClient.connection."); + return false; + } + + // UNET checked 'if readyConnection != null'. + // in other words, we need a connection and we need to be ready. + if (!ready) + { + Debug.LogError("AddPlayer requires a ready NetworkClient."); + return false; + } + + if (connection.identity != null) + { + Debug.LogError("NetworkClient.AddPlayer: a PlayerController was already added. Did you call AddPlayer twice?"); + return false; + } + + // Debug.Log("NetworkClient.AddPlayer() called with connection [" + readyConnection + "]"); + connection.Send(new AddPlayerMessage()); + return true; + } + + // Deprecated 2021-03-13 + [Obsolete("NetworkClient.AddPlayer doesn't need a NetworkConnection parameter anymore. It always uses NetworkClient.connection anyway.")] + public static bool AddPlayer(NetworkConnection readyConn) => AddPlayer(); + + // spawning //////////////////////////////////////////////////////////// + internal static void ApplySpawnPayload(NetworkIdentity identity, SpawnMessage message) + { + if (message.assetId != Guid.Empty) + identity.assetId = message.assetId; + + if (!identity.gameObject.activeSelf) + { + identity.gameObject.SetActive(true); + } + + // apply local values for VR support + identity.transform.localPosition = message.position; + identity.transform.localRotation = message.rotation; + identity.transform.localScale = message.scale; + identity.hasAuthority = message.isOwner; + identity.netId = message.netId; + + if (message.isLocalPlayer) + InternalAddPlayer(identity); + + // deserialize components if any payload + // (Count is 0 if there were no components) + if (message.payload.Count > 0) + { + using (PooledNetworkReader payloadReader = NetworkReaderPool.GetReader(message.payload)) + { + identity.OnDeserializeAllSafely(payloadReader, true); + } + } + + NetworkIdentity.spawned[message.netId] = identity; + + // objects spawned as part of initial state are started on a second pass + if (isSpawnFinished) + { + identity.NotifyAuthority(); + identity.OnStartClient(); + CheckForLocalPlayer(identity); + } + } + + // Finds Existing Object with NetId or spawns a new one using AssetId or sceneId + internal static bool FindOrSpawnObject(SpawnMessage message, out NetworkIdentity identity) + { + // was the object already spawned? + identity = GetExistingObject(message.netId); + + // if found, return early + if (identity != null) + { + return true; + } + + if (message.assetId == Guid.Empty && message.sceneId == 0) + { + Debug.LogError($"OnSpawn message with netId '{message.netId}' has no AssetId or sceneId"); + return false; + } + + identity = message.sceneId == 0 ? SpawnPrefab(message) : SpawnSceneObject(message); + + if (identity == null) + { + Debug.LogError($"Could not spawn assetId={message.assetId} scene={message.sceneId:X} netId={message.netId}"); + return false; + } + + return true; + } + + static NetworkIdentity GetExistingObject(uint netid) + { + NetworkIdentity.spawned.TryGetValue(netid, out NetworkIdentity localObject); + return localObject; + } + + static NetworkIdentity SpawnPrefab(SpawnMessage message) + { + if (GetPrefab(message.assetId, out GameObject prefab)) + { + GameObject obj = GameObject.Instantiate(prefab, message.position, message.rotation); + //Debug.Log("Client spawn handler instantiating [netId:" + msg.netId + " asset ID:" + msg.assetId + " pos:" + msg.position + " rotation: " + msg.rotation + "]"); + return obj.GetComponent(); + } + if (spawnHandlers.TryGetValue(message.assetId, out SpawnHandlerDelegate handler)) + { + GameObject obj = handler(message); + if (obj == null) + { + Debug.LogError($"Spawn Handler returned null, Handler assetId '{message.assetId}'"); + return null; + } + NetworkIdentity identity = obj.GetComponent(); + if (identity == null) + { + Debug.LogError($"Object Spawned by handler did not have a NetworkIdentity, Handler assetId '{message.assetId}'"); + return null; + } + return identity; + } + Debug.LogError($"Failed to spawn server object, did you forget to add it to the NetworkManager? assetId={message.assetId} netId={message.netId}"); + return null; + } + + static NetworkIdentity SpawnSceneObject(SpawnMessage message) + { + NetworkIdentity identity = GetAndRemoveSceneObject(message.sceneId); + if (identity == null) + { + Debug.LogError($"Spawn scene object not found for {message.sceneId:X}. Make sure that client and server use exactly the same project. This only happens if the hierarchy gets out of sync."); + + // dump the whole spawnable objects dict for easier debugging + //foreach (KeyValuePair kvp in spawnableObjects) + // Debug.Log($"Spawnable: SceneId={kvp.Key:X} name={kvp.Value.name}"); + } + //else Debug.Log($"Client spawn for [netId:{msg.netId}] [sceneId:{msg.sceneId:X}] obj:{identity}"); + return identity; + } + + static NetworkIdentity GetAndRemoveSceneObject(ulong sceneId) + { + if (spawnableObjects.TryGetValue(sceneId, out NetworkIdentity identity)) + { + spawnableObjects.Remove(sceneId); + return identity; + } + return null; + } + + // Checks if identity is not spawned yet, not hidden and has sceneId + static bool ConsiderForSpawning(NetworkIdentity identity) + { + // not spawned yet, not hidden, etc.? + return !identity.gameObject.activeSelf && + identity.gameObject.hideFlags != HideFlags.NotEditable && + identity.gameObject.hideFlags != HideFlags.HideAndDontSave && + identity.sceneId != 0; + } + + /// Call this after loading/unloading a scene in the client after connection to register the spawnable objects + public static void PrepareToSpawnSceneObjects() + { + // remove existing items, they will be re-added below + spawnableObjects.Clear(); + + // finds all NetworkIdentity currently loaded by unity (includes disabled objects) + NetworkIdentity[] allIdentities = Resources.FindObjectsOfTypeAll(); + foreach (NetworkIdentity identity in allIdentities) + { + // add all unspawned NetworkIdentities to spawnable objects + if (ConsiderForSpawning(identity)) + { + spawnableObjects.Add(identity.sceneId, identity); + } + } + } + + internal static void OnObjectSpawnStarted(ObjectSpawnStartedMessage _) + { + // Debug.Log("SpawnStarted"); + PrepareToSpawnSceneObjects(); + isSpawnFinished = false; + } + + internal static void OnObjectSpawnFinished(ObjectSpawnFinishedMessage _) + { + //Debug.Log("SpawnFinished"); + ClearNullFromSpawned(); + + // paul: Initialize the objects in the same order as they were + // initialized in the server. This is important if spawned objects + // use data from scene objects + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values.OrderBy(uv => uv.netId)) + { + identity.NotifyAuthority(); + identity.OnStartClient(); + CheckForLocalPlayer(identity); + } + isSpawnFinished = true; + } + + static readonly List removeFromSpawned = new List(); + static void ClearNullFromSpawned() + { + // spawned has null objects after changing scenes on client using + // NetworkManager.ServerChangeScene remove them here so that 2nd + // loop below does not get NullReferenceException + // see https://github.com/vis2k/Mirror/pull/2240 + // TODO fix scene logic so that client scene doesn't have null objects + foreach (KeyValuePair kvp in NetworkIdentity.spawned) + { + if (kvp.Value == null) + { + removeFromSpawned.Add(kvp.Key); + } + } + + // can't modify NetworkIdentity.spawned inside foreach so need 2nd loop to remove + foreach (uint id in removeFromSpawned) + { + NetworkIdentity.spawned.Remove(id); + } + removeFromSpawned.Clear(); + } + + // host mode callbacks ///////////////////////////////////////////////// + static void OnHostClientObjectDestroy(ObjectDestroyMessage message) + { + //Debug.Log($"NetworkClient.OnLocalObjectObjDestroy netId:{message.netId}"); + + // TODO why do we do this? + // in host mode, .spawned is shared between server and client. + // removing it on client would remove it on server. + // huh. + NetworkIdentity.spawned.Remove(message.netId); + } + + static void OnHostClientObjectHide(ObjectHideMessage message) + { + //Debug.Log($"ClientScene::OnLocalObjectObjHide netId:{message.netId}"); + if (NetworkIdentity.spawned.TryGetValue(message.netId, out NetworkIdentity localObject) && + localObject != null) + { + // obsolete legacy system support (for now) +#pragma warning disable 618 + if (localObject.visibility != null) + localObject.visibility.OnSetHostVisibility(false); +#pragma warning restore 618 + else if (aoi != null) + aoi.SetHostVisibility(localObject, false); + } + } + + internal static void OnHostClientSpawn(SpawnMessage message) + { + if (NetworkIdentity.spawned.TryGetValue(message.netId, out NetworkIdentity localObject) && localObject != null) + { + if (message.isLocalPlayer) + InternalAddPlayer(localObject); + + localObject.hasAuthority = message.isOwner; + localObject.NotifyAuthority(); + localObject.OnStartClient(); + + // obsolete legacy system support (for now) +#pragma warning disable 618 + if (localObject.visibility != null) + localObject.visibility.OnSetHostVisibility(true); +#pragma warning restore 618 + else if (aoi != null) + aoi.SetHostVisibility(localObject, true); + + CheckForLocalPlayer(localObject); + } + } + + // client-only mode callbacks ////////////////////////////////////////// + static void OnEntityStateMessage(EntityStateMessage message) + { + // Debug.Log("NetworkClient.OnUpdateVarsMessage " + msg.netId); + if (NetworkIdentity.spawned.TryGetValue(message.netId, out NetworkIdentity localObject) && localObject != null) + { + using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(message.payload)) + localObject.OnDeserializeAllSafely(networkReader, false); + } + else Debug.LogWarning("Did not find target for sync message for " + message.netId + " . Note: this can be completely normal because UDP messages may arrive out of order, so this message might have arrived after a Destroy message."); + } + + static void OnRPCMessage(RpcMessage message) + { + // Debug.Log("NetworkClient.OnRPCMessage hash:" + msg.functionHash + " netId:" + msg.netId); + if (NetworkIdentity.spawned.TryGetValue(message.netId, out NetworkIdentity identity)) + { + using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(message.payload)) + identity.HandleRemoteCall(message.componentIndex, message.functionHash, MirrorInvokeType.ClientRpc, networkReader); + } + } + + static void OnObjectHide(ObjectHideMessage message) => DestroyObject(message.netId); + + internal static void OnObjectDestroy(ObjectDestroyMessage message) => DestroyObject(message.netId); + + internal static void OnSpawn(SpawnMessage message) + { + // Debug.Log($"Client spawn handler instantiating netId={msg.netId} assetID={msg.assetId} sceneId={msg.sceneId:X} pos={msg.position}"); + if (FindOrSpawnObject(message, out NetworkIdentity identity)) + { + ApplySpawnPayload(identity, message); + } + } + + internal static void CheckForLocalPlayer(NetworkIdentity identity) + { + if (identity == localPlayer) + { + // Set isLocalPlayer to true on this NetworkIdentity and trigger + // OnStartLocalPlayer in all scripts on the same GO + identity.connectionToServer = connection; + identity.OnStartLocalPlayer(); + // Debug.Log("NetworkClient.OnOwnerMessage - player=" + identity.name); + } + } + + // destroy ///////////////////////////////////////////////////////////// + static void DestroyObject(uint netId) + { + // Debug.Log("NetworkClient.OnObjDestroy netId:" + netId); + if (NetworkIdentity.spawned.TryGetValue(netId, out NetworkIdentity localObject) && localObject != null) + { + localObject.OnStopClient(); + + // user handling + if (InvokeUnSpawnHandler(localObject.assetId, localObject.gameObject)) + { + // reset object after user's handler + localObject.Reset(); + } + // default handling + else if (localObject.sceneId == 0) + { + // don't call reset before destroy so that values are still set in OnDestroy + GameObject.Destroy(localObject.gameObject); + } + // scene object.. disable it in scene instead of destroying + else + { + localObject.gameObject.SetActive(false); + spawnableObjects[localObject.sceneId] = localObject; + // reset for scene objects + localObject.Reset(); + } + + // remove from dictionary no matter how it is unspawned + NetworkIdentity.spawned.Remove(netId); + } + //else Debug.LogWarning("Did not find target for destroy message for " + netId); + } + + // update ////////////////////////////////////////////////////////////// + // NetworkEarlyUpdate called before any Update/FixedUpdate + // (we add this to the UnityEngine in NetworkLoop) + internal static void NetworkEarlyUpdate() + { + // process all incoming messages first before updating the world + if (Transport.activeTransport != null) + Transport.activeTransport.ClientEarlyUpdate(); + } + + // NetworkLateUpdate called after any Update/FixedUpdate/LateUpdate + // (we add this to the UnityEngine in NetworkLoop) + internal static void NetworkLateUpdate() + { + // local connection? + if (connection is LocalConnectionToServer localConnection) + { + localConnection.Update(); + } + // remote connection? + else if (connection is NetworkConnectionToServer remoteConnection) + { + // only update things while connected + if (active && connectState == ConnectState.Connected) + { + // update NetworkTime + NetworkTime.UpdateClient(); + + // update connection to flush out batched messages + remoteConnection.Update(); + } + } + + // process all outgoing messages after updating the world + if (Transport.activeTransport != null) + Transport.activeTransport.ClientLateUpdate(); + } + + // obsolete to not break people's projects. Update was public. + // Deprecated 2021-03-02 + [Obsolete("NetworkClient.Update is now called internally from our custom update loop. No need to call Update manually anymore.")] + public static void Update() => NetworkLateUpdate(); + + // shutdown //////////////////////////////////////////////////////////// + /// Destroys all networked objects on the client. + // Note: NetworkServer.CleanupNetworkIdentities does the same on server. + public static void DestroyAllClientObjects() + { + // user can modify spawned lists which causes InvalidOperationException + // list can modified either in UnSpawnHandler or in OnDisable/OnDestroy + // we need the Try/Catch so that the rest of the shutdown does not get stopped + try + { + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values) + { + if (identity != null && identity.gameObject != null) + { + identity.OnStopClient(); + bool wasUnspawned = InvokeUnSpawnHandler(identity.assetId, identity.gameObject); + if (!wasUnspawned) + { + // scene objects are reset and disabled. + // they always stay in the scene, we don't destroy them. + if (identity.sceneId != 0) + { + identity.Reset(); + identity.gameObject.SetActive(false); + } + // spawned objects are destroyed + else + { + GameObject.Destroy(identity.gameObject); + } + } + } + } + NetworkIdentity.spawned.Clear(); + } + catch (InvalidOperationException e) + { + Debug.LogException(e); + Debug.LogError("Could not DestroyAllClientObjects because spawned list was modified during loop, make sure you are not modifying NetworkIdentity.spawned by calling NetworkServer.Destroy or NetworkServer.Spawn in OnDestroy or OnDisable."); + } + } + + /// Shutdown the client. + public static void Shutdown() + { + //Debug.Log("Shutting down client."); + ClearSpawners(); + spawnableObjects.Clear(); + ready = false; + isSpawnFinished = false; + DestroyAllClientObjects(); + connectState = ConnectState.None; + handlers.Clear(); + // disconnect the client connection. + // we do NOT call Transport.Shutdown, because someone only called + // NetworkClient.Shutdown. we can't assume that the server is + // supposed to be shut down too! + if (Transport.activeTransport != null) + Transport.activeTransport.ClientDisconnect(); + connection = null; + + // clear events. someone might have hooked into them before, but + // we don't want to use those hooks after Shutdown anymore. + OnConnectedEvent = null; + OnDisconnectedEvent = null; + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkClient.cs.meta b/Assets/Mirror/Runtime/NetworkClient.cs.meta new file mode 100644 index 0000000..20cb211 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkClient.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: abe6be14204d94224a3e7cd99dd2ea73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkConnection.cs b/Assets/Mirror/Runtime/NetworkConnection.cs new file mode 100644 index 0000000..bcb6455 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnection.cs @@ -0,0 +1,284 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror +{ + /// Base NetworkConnection class for server-to-client and client-to-server connection. + public abstract class NetworkConnection + { + public const int LocalConnectionId = 0; + + // NetworkIdentities that this connection can see + // TODO move to server's NetworkConnectionToClient? + internal readonly HashSet observing = new HashSet(); + + /// Unique identifier for this connection that is assigned by the transport layer. + // assigned by transport, this id is unique for every connection on server. + // clients don't know their own id and they don't know other client's ids. + public readonly int connectionId; + + /// Flag that indicates the client has been authenticated. + public bool isAuthenticated; + + /// General purpose object to hold authentication data, character selection, tokens, etc. + public object authenticationData; + + /// A server connection is ready after joining the game world. + // TODO move this to ConnectionToClient so the flag only lives on server + // connections? clients could use NetworkClient.ready to avoid redundant + // state. + public bool isReady; + + /// IP address of the connection. Can be useful for game master IP bans etc. + public abstract string address { get; } + + /// Last time a message was received for this connection. Includes system and user messages. + public float lastMessageTime; + + /// This connection's main object (usually the player object). + public NetworkIdentity identity { get; internal set; } + + /// All NetworkIdentities owned by this connection. Can be main player, pets, etc. + // IMPORTANT: this needs to be , not . + // fixes a bug where DestroyOwnedObjects wouldn't find the + // netId anymore: https://github.com/vis2k/Mirror/issues/1380 + // Works fine with NetworkIdentity pointers though. + public readonly HashSet clientOwnedObjects = new HashSet(); + + // batching from server to client & client to server. + // fewer transport calls give us significantly better performance/scale. + // + // for a 64KB max message transport and 64 bytes/message on average, we + // reduce transport calls by a factor of 1000. + // + // depending on the transport, this can give 10x performance. + // + // Dictionary because we have multiple channels. + protected Dictionary batches = new Dictionary(); + + /// last batch's remote timestamp. not interpolated. useful for NetworkTransform etc. + // for any given NetworkMessage/Rpc/Cmd/OnSerialize, this was the time + // on the REMOTE END when it was sent. + // + // NOTE: this is NOT in NetworkTime, it needs to be per-connection + // because the server receives different batch timestamps from + // different connections. + public double remoteTimeStamp { get; internal set; } + + internal NetworkConnection() + { + // set lastTime to current time when creating connection to make + // sure it isn't instantly kicked for inactivity + lastMessageTime = Time.time; + } + + internal NetworkConnection(int networkConnectionId) : this() + { + connectionId = networkConnectionId; + // TODO why isn't lastMessageTime set in here like in the other ctor? + } + + // TODO if we only have Reliable/Unreliable, then we could initialize + // two batches and avoid this code + protected Batcher GetBatchForChannelId(int channelId) + { + // get existing or create new writer for the channelId + Batcher batch; + if (!batches.TryGetValue(channelId, out batch)) + { + // get max batch size for this channel + int threshold = Transport.activeTransport.GetBatchThreshold(channelId); + + // create batcher + batch = new Batcher(threshold); + batches[channelId] = batch; + } + return batch; + } + + // validate packet size before sending. show errors if too big/small. + // => it's best to check this here, we can't assume that all transports + // would check max size and show errors internally. best to do it + // in one place in Mirror. + // => it's important to log errors, so the user knows what went wrong. + protected static bool ValidatePacketSize(ArraySegment segment, int channelId) + { + int max = Transport.activeTransport.GetMaxPacketSize(channelId); + if (segment.Count > max) + { + Debug.LogError($"NetworkConnection.ValidatePacketSize: cannot send packet larger than {max} bytes, was {segment.Count} bytes"); + return false; + } + + if (segment.Count == 0) + { + // zero length packets getting into the packet queues are bad. + Debug.LogError("NetworkConnection.ValidatePacketSize: cannot send zero bytes"); + return false; + } + + // good size + return true; + } + + // Send stage one: NetworkMessage + /// Send a NetworkMessage to this connection over the given channel. + public void Send(T message, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // pack message and send allocation free + MessagePacking.Pack(message, writer); + NetworkDiagnostics.OnSend(message, channelId, writer.Position, 1); + Send(writer.ToArraySegment(), channelId); + } + } + + // Send stage two: serialized NetworkMessage as ArraySegment + // internal because no one except Mirror should send bytes directly to + // the client. they would be detected as a message. send messages instead. + internal virtual void Send(ArraySegment segment, int channelId = Channels.Reliable) + { + //Debug.Log("ConnectionSend " + this + " bytes:" + BitConverter.ToString(segment.Array, segment.Offset, segment.Count)); + + // add to batch no matter what. + // batching will try to fit as many as possible into MTU. + // but we still allow > MTU, e.g. kcp max packet size 144kb. + // those are simply sent as single batches. + // + // IMPORTANT: do NOT send > batch sized messages directly: + // - data race: large messages would be sent directly. small + // messages would be sent in the batch at the end of frame + // - timestamps: if batching assumes a timestamp, then large + // messages need that too. + // + // NOTE: we ALWAYS batch. it's not optional, because the + // receiver needs timestamps for NT etc. + // + // NOTE: we do NOT ValidatePacketSize here yet. the final packet + // will be the full batch, including timestamp. + GetBatchForChannelId(channelId).AddMessage(segment); + } + + // Send stage three: hand off to transport + protected abstract void SendToTransport(ArraySegment segment, int channelId = Channels.Reliable); + + // flush batched messages at the end of every Update. + internal virtual void Update() + { + // go through batches for all channels + foreach (KeyValuePair kvp in batches) + { + // make and send as many batches as necessary from the stored + // messages. + Batcher batcher = kvp.Value; + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // make a batch with our local time (double precision) + while (batcher.MakeNextBatch(writer, NetworkTime.localTime)) + { + // validate packet before handing the batch to the + // transport. this guarantees that we always stay + // within transport's max message size limit. + // => just in case transport forgets to check it + // => just in case mirror miscalulated it etc. + ArraySegment segment = writer.ToArraySegment(); + if (ValidatePacketSize(segment, kvp.Key)) + { + // send to transport + SendToTransport(segment, kvp.Key); + //UnityEngine.Debug.Log($"sending batch of {writer.Position} bytes for channel={kvp.Key} connId={connectionId}"); + + // reset writer for each new batch + writer.Position = 0; + } + } + } + } + } + + /// Disconnects this connection. + // for future reference, here is how Disconnects work in Mirror. + // + // first, there are two types of disconnects: + // * voluntary: the other end simply disconnected + // * involuntary: server disconnects a client by itself + // + // UNET had special (complex) code to handle both cases differently. + // + // Mirror handles both cases the same way: + // * Disconnect is called from TOP to BOTTOM + // NetworkServer/Client -> NetworkConnection -> Transport.Disconnect() + // * Disconnect is handled from BOTTOM to TOP + // Transport.OnDisconnected -> ... + // + // in other words, calling Disconnect() does no cleanup whatsoever. + // it simply asks the transport to disconnect. + // then later the transport events will do the clean up. + public abstract void Disconnect(); + + public override string ToString() => $"connection({connectionId})"; + + // TODO move to server's NetworkConnectionToClient? + internal void AddToObserving(NetworkIdentity netIdentity) + { + observing.Add(netIdentity); + + // spawn identity for this conn + NetworkServer.ShowForConnection(netIdentity, this); + } + + // TODO move to server's NetworkConnectionToClient? + internal void RemoveFromObserving(NetworkIdentity netIdentity, bool isDestroyed) + { + observing.Remove(netIdentity); + + if (!isDestroyed) + { + // hide identity for this conn + NetworkServer.HideForConnection(netIdentity, this); + } + } + + // TODO move to server's NetworkConnectionToClient? + internal void RemoveFromObservingsObservers() + { + foreach (NetworkIdentity netIdentity in observing) + { + netIdentity.RemoveObserverInternal(this); + } + observing.Clear(); + } + + /// Check if we received a message within the last 'timeout' seconds. + internal virtual bool IsAlive(float timeout) => Time.time - lastMessageTime < timeout; + + internal void AddOwnedObject(NetworkIdentity obj) + { + clientOwnedObjects.Add(obj); + } + + internal void RemoveOwnedObject(NetworkIdentity obj) + { + clientOwnedObjects.Remove(obj); + } + + internal void DestroyOwnedObjects() + { + // create a copy because the list might be modified when destroying + HashSet tmp = new HashSet(clientOwnedObjects); + foreach (NetworkIdentity netIdentity in tmp) + { + if (netIdentity != null) + { + NetworkServer.Destroy(netIdentity.gameObject); + } + } + + // clear the hashset because we destroyed them all + clientOwnedObjects.Clear(); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkConnection.cs.meta b/Assets/Mirror/Runtime/NetworkConnection.cs.meta new file mode 100644 index 0000000..32c4ba2 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11ea41db366624109af1f0834bcdde2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkConnectionToClient.cs b/Assets/Mirror/Runtime/NetworkConnectionToClient.cs new file mode 100644 index 0000000..6c9ddc4 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnectionToClient.cs @@ -0,0 +1,35 @@ +using System; + +namespace Mirror +{ + public class NetworkConnectionToClient : NetworkConnection + { + public override string address => + Transport.activeTransport.ServerGetClientAddress(connectionId); + + // unbatcher + public Unbatcher unbatcher = new Unbatcher(); + + public NetworkConnectionToClient(int networkConnectionId) + : base(networkConnectionId) {} + + // Send stage three: hand off to transport + protected override void SendToTransport(ArraySegment segment, int channelId = Channels.Reliable) => + Transport.activeTransport.ServerSend(connectionId, segment, channelId); + + /// Disconnects this connection. + public override void Disconnect() + { + // set not ready and handle clientscene disconnect in any case + // (might be client or host mode here) + isReady = false; + Transport.activeTransport.ServerDisconnect(connectionId); + + // IMPORTANT: NetworkConnection.Disconnect() is NOT called for + // voluntary disconnects from the other end. + // -> so all 'on disconnect' cleanup code needs to be in + // OnTransportDisconnect, where it's called for both voluntary + // and involuntary disconnects! + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkConnectionToClient.cs.meta b/Assets/Mirror/Runtime/NetworkConnectionToClient.cs.meta new file mode 100644 index 0000000..6001a71 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnectionToClient.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bb2195f8b29d24f0680a57fde2e9fd09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkConnectionToServer.cs b/Assets/Mirror/Runtime/NetworkConnectionToServer.cs new file mode 100644 index 0000000..022891e --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnectionToServer.cs @@ -0,0 +1,24 @@ +using System; + +namespace Mirror +{ + public class NetworkConnectionToServer : NetworkConnection + { + public override string address => ""; + + // Send stage three: hand off to transport + protected override void SendToTransport(ArraySegment segment, int channelId = Channels.Reliable) => + Transport.activeTransport.ClientSend(segment, channelId); + + /// Disconnects this connection. + public override void Disconnect() + { + // set not ready and handle clientscene disconnect in any case + // (might be client or host mode here) + // TODO remove redundant state. have one source of truth for .ready! + isReady = false; + NetworkClient.ready = false; + Transport.activeTransport.ClientDisconnect(); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkConnectionToServer.cs.meta b/Assets/Mirror/Runtime/NetworkConnectionToServer.cs.meta new file mode 100644 index 0000000..3424b58 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkConnectionToServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 761977cbf38a34ded9dd89de45445675 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkDiagnostics.cs b/Assets/Mirror/Runtime/NetworkDiagnostics.cs new file mode 100644 index 0000000..5b72961 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkDiagnostics.cs @@ -0,0 +1,55 @@ +using System; + +namespace Mirror +{ + /// Profiling statistics for tool to subscribe to (profiler etc.) + public static class NetworkDiagnostics + { + /// Describes an outgoing message + public readonly struct MessageInfo + { + /// The message being sent + public readonly NetworkMessage message; + /// channel through which the message was sent + public readonly int channel; + /// how big was the message (does not include transport headers) + public readonly int bytes; + /// How many connections was the message sent to. + public readonly int count; + + internal MessageInfo(NetworkMessage message, int channel, int bytes, int count) + { + this.message = message; + this.channel = channel; + this.bytes = bytes; + this.count = count; + } + } + + /// Event for when Mirror sends a message. Can be subscribed to. + public static event Action OutMessageEvent; + + internal static void OnSend(T message, int channel, int bytes, int count) + where T : struct, NetworkMessage + { + if (count > 0 && OutMessageEvent != null) + { + MessageInfo outMessage = new MessageInfo(message, channel, bytes, count); + OutMessageEvent?.Invoke(outMessage); + } + } + + /// Event for when Mirror receives a message. Can be subscribed to. + public static event Action InMessageEvent; + + internal static void OnReceive(T message, int channel, int bytes) + where T : struct, NetworkMessage + { + if (InMessageEvent != null) + { + MessageInfo inMessage = new MessageInfo(message, channel, bytes, 1); + InMessageEvent?.Invoke(inMessage); + } + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkDiagnostics.cs.meta b/Assets/Mirror/Runtime/NetworkDiagnostics.cs.meta new file mode 100644 index 0000000..fe37316 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkDiagnostics.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c3754b39e5f8740fd93f3337b2c4274e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkIdentity.cs b/Assets/Mirror/Runtime/NetworkIdentity.cs new file mode 100644 index 0000000..e0eb338 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkIdentity.cs @@ -0,0 +1,1248 @@ +using System; +using System.Collections.Generic; +using Mirror.RemoteCalls; +using UnityEngine; +using UnityEngine.Serialization; + +#if UNITY_EDITOR + using UnityEditor; + + #if UNITY_2021_2_OR_NEWER + using UnityEditor.SceneManagement; + #elif UNITY_2018_3_OR_NEWER + using UnityEditor.Experimental.SceneManagement; + #endif +#endif + +namespace Mirror +{ + // Default = use interest management + // ForceHidden = useful to hide monsters while they respawn etc. + // ForceShown = useful to have score NetworkIdentities that always broadcast + // to everyone etc. + public enum Visibility { Default, ForceHidden, ForceShown } + + public struct NetworkIdentitySerialization + { + // IMPORTANT: int tick avoids floating point inaccuracy over days/weeks + public int tick; + public NetworkWriter ownerWriter; + public NetworkWriter observersWriter; + } + + /// NetworkIdentity identifies objects across the network. + [DisallowMultipleComponent] + // NetworkIdentity.Awake initializes all NetworkComponents. + // let's make sure it's always called before their Awake's. + [DefaultExecutionOrder(-1)] + [AddComponentMenu("Network/NetworkIdentity")] + [HelpURL("https://mirror-networking.gitbook.io/docs/components/network-identity")] + public sealed class NetworkIdentity : MonoBehaviour + { + /// Returns true if running as a client and this object was spawned by a server. + // + // IMPORTANT: + // OnStartClient sets it to true. we NEVER set it to false after. + // otherwise components like Skillbars couldn't use OnDestroy() + // for saving, etc. since isClient may have been reset before + // OnDestroy was called. + // + // we also DO NOT make it dependent on NetworkClient.active or similar. + // we set it, then never change it. that's the user's expectation too. + // + // => fixes https://github.com/vis2k/Mirror/issues/1475 + public bool isClient { get; internal set; } + + /// Returns true if NetworkServer.active and server is not stopped. + // + // IMPORTANT: + // OnStartServer sets it to true. we NEVER set it to false after. + // otherwise components like Skillbars couldn't use OnDestroy() + // for saving, etc. since isServer may have been reset before + // OnDestroy was called. + // + // we also DO NOT make it dependent on NetworkServer.active or similar. + // we set it, then never change it. that's the user's expectation too. + // + // => fixes https://github.com/vis2k/Mirror/issues/1484 + // => fixes https://github.com/vis2k/Mirror/issues/2533 + public bool isServer { get; internal set; } + + /// Return true if this object represents the player on the local machine. + // + // IMPORTANT: + // OnStartLocalPlayer sets it to true. we NEVER set it to false after. + // otherwise components like Skillbars couldn't use OnDestroy() + // for saving, etc. since isLocalPlayer may have been reset before + // OnDestroy was called. + // + // we also DO NOT make it dependent on NetworkClient.localPlayer or similar. + // we set it, then never change it. that's the user's expectation too. + // + // => fixes https://github.com/vis2k/Mirror/issues/2615 + public bool isLocalPlayer { get; internal set; } + + /// True if this object only exists on the server + public bool isServerOnly => isServer && !isClient; + + /// True if this object exists on a client that is not also acting as a server. + public bool isClientOnly => isClient && !isServer; + + /// True if this object is the authoritative player object on the client. + // Determined at runtime. For most objects, authority is held by the server. + // For objects that had their authority set by AssignClientAuthority on + // the server, this will be true on the client that owns the object. NOT + // on other clients. + public bool hasAuthority { get; internal set; } + + /// The set of network connections (players) that can see this object. + // note: null until OnStartServer was called. this is necessary for + // SendTo* to work properly in server-only mode. + public Dictionary observers; + + /// The unique network Id of this object (unique at runtime). + public uint netId { get; internal set; } + + /// Unique identifier for NetworkIdentity objects within a scene, used for spawning scene objects. + // persistent scene id (see AssignSceneID comments) + [FormerlySerializedAs("m_SceneId"), HideInInspector] + public ulong sceneId; + + /// Make this object only exist when the game is running as a server (or host). + [FormerlySerializedAs("m_ServerOnly")] + [Tooltip("Prevents this object from being spawned / enabled on clients")] + public bool serverOnly; + + // Set before Destroy is called so that OnDestroy doesn't try to destroy + // the object again + internal bool destroyCalled; + + /// Client's network connection to the server. This is only valid for player objects on the client. + public NetworkConnection connectionToServer { get; internal set; } + + /// Server's network connection to the client. This is only valid for client-owned objects (including the Player object) on the server. + public NetworkConnectionToClient connectionToClient + { + get => _connectionToClient; + internal set + { + _connectionToClient?.RemoveOwnedObject(this); + _connectionToClient = value; + _connectionToClient?.AddOwnedObject(this); + } + } + NetworkConnectionToClient _connectionToClient; + + /// All spawned NetworkIdentities by netId. Available on server and client. + // server sees ALL spawned ones. + // client sees OBSERVED spawned ones. + public static readonly Dictionary spawned = + new Dictionary(); + + // get all NetworkBehaviour components + public NetworkBehaviour[] NetworkBehaviours { get; private set; } + +#pragma warning disable 618 + [Obsolete(NetworkVisibilityObsoleteMessage.Message)] + public NetworkVisibility visibility { get; private set; } +#pragma warning restore 618 + + // current visibility + // + // Default = use interest management + // ForceHidden = useful to hide monsters while they respawn etc. + // ForceShown = useful to have score NetworkIdentities that always broadcast + // to everyone etc. + // + // TODO rename to 'visibility' after removing .visibility some day! + [Tooltip("Visibility can overwrite interest management. ForceHidden can be useful to hide monsters while they respawn. ForceShown can be useful for score NetworkIdentities that should always broadcast to everyone in the world.")] + public Visibility visible = Visibility.Default; + + // broadcasting serializes all entities around a player for each player. + // we don't want to serialize one entity twice in the same tick. + // so we cache the last serialization and remember the timestamp so we + // know which Update it was serialized. + // (timestamp is the same while inside Update) + // => this way we don't need to pool thousands of writers either. + // => way easier to store them per object + NetworkIdentitySerialization lastSerialization = new NetworkIdentitySerialization + { + ownerWriter = new NetworkWriter(), + observersWriter = new NetworkWriter() + }; + + /// Prefab GUID used to spawn prefabs across the network. + // + // The AssetId trick: + // Ideally we would have a serialized 'Guid m_AssetId' but Unity can't + // serialize it because Guid's internal bytes are private + // + // UNET used 'NetworkHash128' originally, with byte0, ..., byte16 + // which works, but it just unnecessary extra code + // + // Using just the Guid string would work, but it's 32 chars long and + // would then be sent over the network as 64 instead of 16 bytes + // + // => The solution is to serialize the string internally here and then + // use the real 'Guid' type for everything else via .assetId + public Guid assetId + { + get + { +#if UNITY_EDITOR + // This is important because sometimes OnValidate does not run (like when adding view to prefab with no child links) + if (string.IsNullOrEmpty(m_AssetId)) + SetupIDs(); +#endif + // convert string to Guid and use .Empty to avoid exception if + // we would use 'new Guid("")' + return string.IsNullOrEmpty(m_AssetId) ? Guid.Empty : new Guid(m_AssetId); + } + internal set + { + string newAssetIdString = value == Guid.Empty ? string.Empty : value.ToString("N"); + string oldAssetIdString = m_AssetId; + + // they are the same, do nothing + if (oldAssetIdString == newAssetIdString) + { + return; + } + + // new is empty + if (string.IsNullOrEmpty(newAssetIdString)) + { + Debug.LogError($"Can not set AssetId to empty guid on NetworkIdentity '{name}', old assetId '{oldAssetIdString}'"); + return; + } + + // old not empty + if (!string.IsNullOrEmpty(oldAssetIdString)) + { + Debug.LogError($"Can not Set AssetId on NetworkIdentity '{name}' because it already had an assetId, current assetId '{oldAssetIdString}', attempted new assetId '{newAssetIdString}'"); + return; + } + + // old is empty + m_AssetId = newAssetIdString; + // Debug.Log($"Settings AssetId on NetworkIdentity '{name}', new assetId '{newAssetIdString}'"); + } + } + [SerializeField, HideInInspector] string m_AssetId; + + // Keep track of all sceneIds to detect scene duplicates + static readonly Dictionary sceneIds = + new Dictionary(); + + /// Gets the NetworkIdentity from the sceneIds dictionary with the corresponding id + public static NetworkIdentity GetSceneIdentity(ulong id) => sceneIds[id]; + + // used when adding players + internal void SetClientOwner(NetworkConnection conn) + { + // do nothing if it already has an owner + if (connectionToClient != null && conn != connectionToClient) + { + Debug.LogError($"Object {this} netId={netId} already has an owner. Use RemoveClientAuthority() first", this); + return; + } + + // otherwise set the owner connection + connectionToClient = (NetworkConnectionToClient)conn; + } + + static uint nextNetworkId = 1; + internal static uint GetNextNetworkId() => nextNetworkId++; + + /// Resets nextNetworkId = 1 + public static void ResetNextNetworkId() => nextNetworkId = 1; + + /// The delegate type for the clientAuthorityCallback. + public delegate void ClientAuthorityCallback(NetworkConnection conn, NetworkIdentity identity, bool authorityState); + + /// A callback that can be populated to be notified when the client-authority state of objects changes. + public static event ClientAuthorityCallback clientAuthorityCallback; + + // this is used when a connection is destroyed, since the "observers" property is read-only + internal void RemoveObserverInternal(NetworkConnection conn) + { + observers?.Remove(conn.connectionId); + } + + // hasSpawned should always be false before runtime + [SerializeField, HideInInspector] bool hasSpawned; + public bool SpawnedFromInstantiate { get; private set; } + + // NetworkBehaviour components are initialized in Awake once. + // Changing them at runtime would get client & server out of sync. + // BUT internal so tests can add them after creating the NetworkIdentity + internal void InitializeNetworkBehaviours() + { + // Get all NetworkBehaviours + // (never null. GetComponents returns [] if none found) + NetworkBehaviours = GetComponents(); + if (NetworkBehaviours.Length > byte.MaxValue) + Debug.LogError($"Only {byte.MaxValue} NetworkBehaviour components are allowed for NetworkIdentity: {name} because we send the index as byte.", this); + + // initialize each one + for (int i = 0; i < NetworkBehaviours.Length; ++i) + { + NetworkBehaviour component = NetworkBehaviours[i]; + component.netIdentity = this; + component.ComponentIndex = i; + } + } + + // Awake is only called in Play mode. + // internal so we can call it during unit tests too. + internal void Awake() + { + // initialize NetworkBehaviour components. + // Awake() is called immediately after initialization. + // no one can overwrite it because NetworkIdentity is sealed. + // => doing it here is the fastest and easiest solution. + InitializeNetworkBehaviours(); + + // initialize visibility component. only call GetComponent once. +#pragma warning disable 618 + visibility = GetComponent(); +#pragma warning restore 618 + + if (hasSpawned) + { + Debug.LogError($"{name} has already spawned. Don't call Instantiate for NetworkIdentities that were in the scene since the beginning (aka scene objects). Otherwise the client won't know which object to use for a SpawnSceneObject message."); + SpawnedFromInstantiate = true; + Destroy(gameObject); + } + hasSpawned = true; + } + + void OnValidate() + { + // OnValidate is not called when using Instantiate, so we can use + // it to make sure that hasSpawned is false + hasSpawned = false; + +#if UNITY_EDITOR + SetupIDs(); +#endif + } + +#if UNITY_EDITOR + void AssignAssetID(string path) + { + // only set if not empty. fixes https://github.com/vis2k/Mirror/issues/2765 + if (!string.IsNullOrEmpty(path)) + m_AssetId = AssetDatabase.AssetPathToGUID(path); + } + + void AssignAssetID(GameObject prefab) => AssignAssetID(AssetDatabase.GetAssetPath(prefab)); + + // persistent sceneId assignment + // (because scene objects have no persistent unique ID in Unity) + // + // original UNET used OnPostProcessScene to assign an index based on + // FindObjectOfType order. + // -> this didn't work because FindObjectOfType order isn't deterministic. + // -> one workaround is to sort them by sibling paths, but it can still + // get out of sync when we open scene2 in editor and we have + // DontDestroyOnLoad objects that messed with the sibling index. + // + // we absolutely need a persistent id. challenges: + // * it needs to be 0 for prefabs + // => we set it to 0 in SetupIDs() if prefab! + // * it needs to be only assigned in edit time, not at runtime because + // only the objects that were in the scene since beginning should have + // a scene id. + // => Application.isPlaying check solves that + // * it needs to detect duplicated sceneIds after duplicating scene + // objects + // => sceneIds dict takes care of that + // * duplicating the whole scene file shouldn't result in duplicate + // scene objects + // => buildIndex is shifted into sceneId for that. + // => if we have no scenes in build index then it doesn't matter + // because by definition a build can't switch to other scenes + // => if we do have scenes in build index then it will be != -1 + // note: the duplicated scene still needs to be opened once for it to + // be set properly + // * scene objects need the correct scene index byte even if the scene's + // build index was changed or a duplicated scene wasn't opened yet. + // => OnPostProcessScene is the only function that gets called for + // each scene before runtime, so this is where we set the scene + // byte. + // * disabled scenes in build settings should result in same scene index + // in editor and in build + // => .gameObject.scene.buildIndex filters out disabled scenes by + // default + // * generated sceneIds absolutely need to set scene dirty and force the + // user to resave. + // => Undo.RecordObject does that perfectly. + // * sceneIds should never be generated temporarily for unopened scenes + // when building, otherwise editor and build get out of sync + // => BuildPipeline.isBuildingPlayer check solves that + void AssignSceneID() + { + // we only ever assign sceneIds at edit time, never at runtime. + // by definition, only the original scene objects should get one. + // -> if we assign at runtime then server and client would generate + // different random numbers! + if (Application.isPlaying) + return; + + // no valid sceneId yet, or duplicate? + bool duplicate = sceneIds.TryGetValue(sceneId, out NetworkIdentity existing) && existing != null && existing != this; + if (sceneId == 0 || duplicate) + { + // clear in any case, because it might have been a duplicate + sceneId = 0; + + // if a scene was never opened and we are building it, then a + // sceneId would be assigned to build but not saved in editor, + // resulting in them getting out of sync. + // => don't ever assign temporary ids. they always need to be + // permanent + // => throw an exception to cancel the build and let the user + // know how to fix it! + if (BuildPipeline.isBuildingPlayer) + throw new InvalidOperationException("Scene " + gameObject.scene.path + " needs to be opened and resaved before building, because the scene object " + name + " has no valid sceneId yet."); + + // if we generate the sceneId then we MUST be sure to set dirty + // in order to save the scene object properly. otherwise it + // would be regenerated every time we reopen the scene, and + // upgrading would be very difficult. + // -> Undo.RecordObject is the new EditorUtility.SetDirty! + // -> we need to call it before changing. + Undo.RecordObject(this, "Generated SceneId"); + + // generate random sceneId part (0x00000000FFFFFFFF) + uint randomId = Utils.GetTrueRandomUInt(); + + // only assign if not a duplicate of an existing scene id + // (small chance, but possible) + duplicate = sceneIds.TryGetValue(randomId, out existing) && existing != null && existing != this; + if (!duplicate) + { + sceneId = randomId; + //Debug.Log(name + " in scene=" + gameObject.scene.name + " sceneId assigned to: " + m_SceneId.ToString("X")); + } + } + + // add to sceneIds dict no matter what + // -> even if we didn't generate anything new, because we still need + // existing sceneIds in there to check duplicates + sceneIds[sceneId] = this; + } + + // copy scene path hash into sceneId for scene objects. + // this is the only way for scene file duplication to not contain + // duplicate sceneIds as it seems. + // -> sceneId before: 0x00000000AABBCCDD + // -> then we clear the left 4 bytes, so that our 'OR' uses 0x00000000 + // -> then we OR the hash into the 0x00000000 part + // -> buildIndex is not enough, because Editor and Build have different + // build indices if there are disabled scenes in build settings, and + // if no scene is in build settings then Editor and Build have + // different indices too (Editor=0, Build=-1) + // => ONLY USE THIS FROM POSTPROCESSSCENE! + public void SetSceneIdSceneHashPartInternal() + { + // Use `ToLower` to that because BuildPipeline.BuildPlayer is case insensitive but hash is case sensitive + // If the scene in the project is `forest.unity` but `Forest.unity` is given to BuildPipeline then the + // BuildPipeline will use `Forest.unity` for the build and create a different hash than the editor will. + // Using ToLower will mean the hash will be the same for these 2 paths + // Assets/Scenes/Forest.unity + // Assets/Scenes/forest.unity + string scenePath = gameObject.scene.path.ToLower(); + + // get deterministic scene hash + uint pathHash = (uint)scenePath.GetStableHashCode(); + + // shift hash from 0x000000FFFFFFFF to 0xFFFFFFFF00000000 + ulong shiftedHash = (ulong)pathHash << 32; + + // OR into scene id + sceneId = (sceneId & 0xFFFFFFFF) | shiftedHash; + + // log it. this is incredibly useful to debug sceneId issues. + // Debug.Log(name + " in scene=" + gameObject.scene.name + " scene index hash(" + pathHash.ToString("X") + ") copied into sceneId: " + sceneId.ToString("X")); + } + + void SetupIDs() + { + // is this a prefab? + if (Utils.IsPrefab(gameObject)) + { + // force 0 for prefabs + sceneId = 0; + AssignAssetID(gameObject); + } + // are we currently in prefab editing mode? aka prefab stage + // => check prefabstage BEFORE SceneObjectWithPrefabParent + // (fixes https://github.com/vis2k/Mirror/issues/976) + // => if we don't check GetCurrentPrefabStage and only check + // GetPrefabStage(gameObject), then the 'else' case where we + // assign a sceneId and clear the assetId would still be + // triggered for prefabs. in other words: if we are in prefab + // stage, do not bother with anything else ever! + else if (PrefabStageUtility.GetCurrentPrefabStage() != null) + { + // when modifying a prefab in prefab stage, Unity calls + // OnValidate for that prefab and for all scene objects based on + // that prefab. + // + // is this GameObject the prefab that we modify, and not just a + // scene object based on the prefab? + // * GetCurrentPrefabStage = 'are we editing ANY prefab?' + // * GetPrefabStage(go) = 'are we editing THIS prefab?' + if (PrefabStageUtility.GetPrefabStage(gameObject) != null) + { + // force 0 for prefabs + sceneId = 0; + //Debug.Log(name + " @ scene: " + gameObject.scene.name + " sceneid reset to 0 because CurrentPrefabStage=" + PrefabStageUtility.GetCurrentPrefabStage() + " PrefabStage=" + PrefabStageUtility.GetPrefabStage(gameObject)); + + // get path from PrefabStage for this prefab +#if UNITY_2020_1_OR_NEWER + string path = PrefabStageUtility.GetPrefabStage(gameObject).assetPath; +#else + string path = PrefabStageUtility.GetPrefabStage(gameObject).prefabAssetPath; +#endif + + AssignAssetID(path); + } + } + // is this a scene object with prefab parent? + else if (Utils.IsSceneObjectWithPrefabParent(gameObject, out GameObject prefab)) + { + AssignSceneID(); + AssignAssetID(prefab); + } + else + { + AssignSceneID(); + + // IMPORTANT: DO NOT clear assetId at runtime! + // => fixes a bug where clicking any of the NetworkIdentity + // properties (like ServerOnly/ForceHidden) at runtime would + // call OnValidate + // => OnValidate gets into this else case here because prefab + // connection isn't known at runtime + // => then we would clear the previously assigned assetId + // => and NetworkIdentity couldn't be spawned on other clients + // anymore because assetId was cleared + if (!EditorApplication.isPlaying) + { + m_AssetId = ""; + } + // don't log. would show a lot when pressing play in uMMORPG/uSurvival/etc. + //else Debug.Log($"Avoided clearing assetId at runtime for {name} after (probably) clicking any of the NetworkIdentity properties."); + } + } +#endif + + // OnDestroy is called for all SPAWNED NetworkIdentities + // => scene objects aren't destroyed. it's not called for them. + // + // Note: Unity will Destroy all networked objects on Scene Change, so we + // have to handle that here silently. That means we cannot have any + // warning or logging in this method. + void OnDestroy() + { + // Objects spawned from Instantiate are not allowed so are destroyed right away + // we don't want to call NetworkServer.Destroy if this is the case + if (SpawnedFromInstantiate) + return; + + // If false the object has already been unspawned + // if it is still true, then we need to unspawn it + // if destroy is already called don't call it again + if (isServer && !destroyCalled) + { + // Do not add logging to this (see above) + NetworkServer.Destroy(gameObject); + } + + if (isLocalPlayer) + { + // previously there was a bug where isLocalPlayer was + // false in OnDestroy because it was dynamically defined as: + // isLocalPlayer => NetworkClient.localPlayer == this + // we fixed it by setting isLocalPlayer manually and never + // resetting it. + // + // BUT now we need to be aware of a possible data race like in + // our rooms example: + // => GamePlayer is in world + // => player returns to room + // => GamePlayer is destroyed + // => NetworkClient.localPlayer is set to RoomPlayer + // => GamePlayer.OnDestroy is called 1 frame later + // => GamePlayer.OnDestroy 'isLocalPlayer' is true, so here we + // are trying to clear NetworkClient.localPlayer + // => which would overwrite the new RoomPlayer local player + // + // FIXED by simply only clearing if NetworkClient.localPlayer + // still points to US! + // => see also: https://github.com/vis2k/Mirror/issues/2635 + if (NetworkClient.localPlayer == this) + NetworkClient.localPlayer = null; + } + } + + internal void OnStartServer() + { + // do nothing if already spawned + if (isServer) + return; + + // set isServer flag + isServer = true; + + // set isLocalPlayer earlier, in case OnStartLocalplayer is called + // AFTER OnStartClient, in which case it would still be falsse here. + // many projects will check isLocalPlayer in OnStartClient though. + // TODO ideally set isLocalPlayer when NetworkClient.localPlayer is set? + if (NetworkClient.localPlayer == this) + { + isLocalPlayer = true; + } + + // If the instance/net ID is invalid here then this is an object instantiated from a prefab and the server should assign a valid ID + // NOTE: this might not be necessary because the above m_IsServer + // check already checks netId. BUT this case here checks only + // netId, so it would still check cases where isServer=false + // but netId!=0. + if (netId != 0) + { + // This object has already been spawned, this method might be called again + // if we try to respawn all objects. This can happen when we add a scene + // in that case there is nothing else to do. + return; + } + + netId = GetNextNetworkId(); + observers = new Dictionary(); + + // Debug.Log("OnStartServer " + this + " NetId:" + netId + " SceneId:" + sceneId.ToString("X")); + + // add to spawned (note: the original EnableIsServer isn't needed + // because we already set m_isServer=true above) + spawned[netId] = this; + + // in host mode we set isClient true before calling OnStartServer, + // otherwise isClient is false in OnStartServer. + if (NetworkClient.active) + { + isClient = true; + } + + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStartServer should be caught, so that one + // component's exception doesn't stop all other components from + // being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStartServer(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + internal void OnStopServer() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStartServer should be caught, so that one + // component's exception doesn't stop all other components from + // being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStopServer(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + bool clientStarted; + internal void OnStartClient() + { + if (clientStarted) + return; + clientStarted = true; + + isClient = true; + + // set isLocalPlayer earlier, in case OnStartLocalplayer is called + // AFTER OnStartClient, in which case it would still be falsse here. + // many projects will check isLocalPlayer in OnStartClient though. + // TODO ideally set isLocalPlayer when NetworkClient.localPlayer is set? + if (NetworkClient.localPlayer == this) + { + isLocalPlayer = true; + } + + // Debug.Log("OnStartClient " + gameObject + " netId:" + netId); + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStartClient should be caught, so that one + // component's exception doesn't stop all other components from + // being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + // user implemented startup + comp.OnStartClient(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + internal void OnStopClient() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStopClient should be caught, so that + // one component's exception doesn't stop all other components + // from being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStopClient(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + // TODO any way to make this not static? + // introduced in https://github.com/vis2k/Mirror/commit/c7530894788bb843b0f424e8f25029efce72d8ca#diff-dc8b7a5a67840f75ccc884c91b9eb76ab7311c9ca4360885a7e41d980865bdc2 + // for PR https://github.com/vis2k/Mirror/pull/1263 + // + // explanation: + // we send the spawn message multiple times. Whenever an object changes + // authority, we send the spawn message again for the object. This is + // necessary because we need to reinitialize all variables when + // ownership change due to sync to owner feature. + // Without this static, the second time we get the spawn message we + // would call OnStartLocalPlayer again on the same object + static NetworkIdentity previousLocalPlayer = null; + internal void OnStartLocalPlayer() + { + if (previousLocalPlayer == this) + return; + previousLocalPlayer = this; + + isLocalPlayer = true; + + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStartLocalPlayer should be caught, so that + // one component's exception doesn't stop all other components + // from being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStartLocalPlayer(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + bool hadAuthority; + internal void NotifyAuthority() + { + if (!hadAuthority && hasAuthority) + OnStartAuthority(); + if (hadAuthority && !hasAuthority) + OnStopAuthority(); + hadAuthority = hasAuthority; + } + + internal void OnStartAuthority() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStartAuthority should be caught, so that one + // component's exception doesn't stop all other components from + // being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStartAuthority(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + internal void OnStopAuthority() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + // an exception in OnStopAuthority should be caught, so that one + // component's exception doesn't stop all other components from + // being initialized + // => this is what Unity does for Start() etc. too. + // one exception doesn't stop all the other Start() calls! + try + { + comp.OnStopAuthority(); + } + catch (Exception e) + { + Debug.LogException(e, comp); + } + } + } + + // interest management ///////////////////////////////////////////////// + // obsoletes to still support ProximityChecker while transitioning to + // global Interest Management + // Deprecated 2021-02-17 + [Obsolete("Use NetworkServer.RebuildObservers(identity, initialize) instead.")] + public void RebuildObservers(bool initialize) => NetworkServer.RebuildObservers(this, initialize); + + // vis2k: readstring bug prevention: https://github.com/vis2k/Mirror/issues/2617 + // -> OnSerialize writes length,componentData,length,componentData,... + // -> OnDeserialize carefully extracts each data, then deserializes each component with separate readers + // -> it will be impossible to read too many or too few bytes in OnDeserialize + // -> we can properly track down errors + bool OnSerializeSafely(NetworkBehaviour comp, NetworkWriter writer, bool initialState) + { + // write placeholder length bytes + // (jumping back later is WAY faster than allocating a temporary + // writer for the payload, then writing payload.size, payload) + int headerPosition = writer.Position; + writer.WriteInt(0); + int contentPosition = writer.Position; + + // write payload + bool result = false; + try + { + result = comp.OnSerialize(writer, initialState); + } + catch (Exception e) + { + // show a detailed error and let the user know what went wrong + Debug.LogError("OnSerialize failed for: object=" + name + " component=" + comp.GetType() + " sceneId=" + sceneId.ToString("X") + "\n\n" + e); + } + int endPosition = writer.Position; + + // fill in length now + writer.Position = headerPosition; + writer.WriteInt(endPosition - contentPosition); + writer.Position = endPosition; + + // Debug.Log("OnSerializeSafely written for object=" + comp.name + " component=" + comp.GetType() + " sceneId=" + sceneId.ToString("X") + "header@" + headerPosition + " content@" + contentPosition + " end@" + endPosition + " contentSize=" + (endPosition - contentPosition)); + + return result; + } + + // serialize all components using dirtyComponentsMask + // check ownerWritten/observersWritten to know if anything was written + // We pass dirtyComponentsMask into this function so that we can check + // if any Components are dirty before creating writers + internal void OnSerializeAllSafely(bool initialState, NetworkWriter ownerWriter, NetworkWriter observersWriter) + { + // check if components are in byte.MaxRange just to be 100% sure + // that we avoid overflows + NetworkBehaviour[] components = NetworkBehaviours; + if (components.Length > byte.MaxValue) + throw new IndexOutOfRangeException($"{name} has more than {byte.MaxValue} components. This is not supported."); + + // serialize all components + for (int i = 0; i < components.Length; ++i) + { + // is this component dirty? + // -> always serialize if initialState so all components are included in spawn packet + // -> note: IsDirty() is false if the component isn't dirty or sendInterval isn't elapsed yet + NetworkBehaviour comp = components[i]; + if (initialState || comp.IsDirty()) + { + // Debug.Log("OnSerializeAllSafely: " + name + " -> " + comp.GetType() + " initial=" + initialState); + + // remember start position in case we need to copy it into + // observers writer too + int startPosition = ownerWriter.Position; + + // write index as byte [0..255] + ownerWriter.WriteByte((byte)i); + + // serialize into ownerWriter first + // (owner always gets everything!) + OnSerializeSafely(comp, ownerWriter, initialState); + + // copy into observersWriter too if SyncMode.Observers + // -> we copy instead of calling OnSerialize again because + // we don't know what magic the user does in OnSerialize. + // -> it's not guaranteed that calling it twice gets the + // same result + // -> it's not guaranteed that calling it twice doesn't mess + // with the user's OnSerialize timing code etc. + // => so we just copy the result without touching + // OnSerialize again + if (comp.syncMode == SyncMode.Observers) + { + ArraySegment segment = ownerWriter.ToArraySegment(); + int length = ownerWriter.Position - startPosition; + observersWriter.WriteBytes(segment.Array, startPosition, length); + } + } + } + } + + // get cached serialization for this tick (or serialize if none yet) + // IMPORTANT: int tick avoids floating point inaccuracy over days/weeks + internal NetworkIdentitySerialization GetSerializationAtTick(int tick) + { + // reserialize if tick is different than last changed. + // NOTE: != instead of < because int.max+1 overflows at some point. + if (lastSerialization.tick != tick) + { + // reset + lastSerialization.ownerWriter.Position = 0; + lastSerialization.observersWriter.Position = 0; + + // serialize + OnSerializeAllSafely(false, + lastSerialization.ownerWriter, + lastSerialization.observersWriter); + + // set tick + lastSerialization.tick = tick; + //Debug.Log($"{name} (netId={netId}) serialized for tick={tickTimeStamp}"); + } + + // return it + return lastSerialization; + } + + void OnDeserializeSafely(NetworkBehaviour comp, NetworkReader reader, bool initialState) + { + // read header as 4 bytes and calculate this chunk's start+end + int contentSize = reader.ReadInt(); + int chunkStart = reader.Position; + int chunkEnd = reader.Position + contentSize; + + // call OnDeserialize and wrap it in a try-catch block so there's no + // way to mess up another component's deserialization + try + { + // Debug.Log("OnDeserializeSafely: " + comp.name + " component=" + comp.GetType() + " sceneId=" + sceneId.ToString("X") + " length=" + contentSize); + comp.OnDeserialize(reader, initialState); + } + catch (Exception e) + { + // show a detailed error and let the user know what went wrong + Debug.LogError($"OnDeserialize failed Exception={e.GetType()} (see below) object={name} component={comp.GetType()} sceneId={sceneId:X} length={contentSize}. Possible Reasons:\n" + + $" * Do {comp.GetType()}'s OnSerialize and OnDeserialize calls write the same amount of data({contentSize} bytes)? \n" + + $" * Was there an exception in {comp.GetType()}'s OnSerialize/OnDeserialize code?\n" + + $" * Are the server and client the exact same project?\n" + + $" * Maybe this OnDeserialize call was meant for another GameObject? The sceneIds can easily get out of sync if the Hierarchy was modified only in the client OR the server. Try rebuilding both.\n\n" + + $"Exception {e}"); + } + + // now the reader should be EXACTLY at 'before + size'. + // otherwise the component read too much / too less data. + if (reader.Position != chunkEnd) + { + // warn the user + int bytesRead = reader.Position - chunkStart; + Debug.LogWarning("OnDeserialize was expected to read " + contentSize + " instead of " + bytesRead + " bytes for object:" + name + " component=" + comp.GetType() + " sceneId=" + sceneId.ToString("X") + ". Make sure that OnSerialize and OnDeserialize write/read the same amount of data in all cases."); + + // fix the position, so the following components don't all fail + reader.Position = chunkEnd; + } + } + + internal void OnDeserializeAllSafely(NetworkReader reader, bool initialState) + { + if (NetworkBehaviours == null) + { + Debug.LogError($"NetworkBehaviours array is null on {gameObject.name}!\n" + + $"Typically this can happen when a networked object is a child of a " + + $"non-networked parent that's disabled, preventing Awake on the networked object " + + $"from being invoked, where the NetworkBehaviours array is initialized.", gameObject); + return; + } + + // deserialize all components that were received + NetworkBehaviour[] components = NetworkBehaviours; + while (reader.Remaining > 0) + { + // read & check index [0..255] + byte index = reader.ReadByte(); + if (index < components.Length) + { + // deserialize this component + OnDeserializeSafely(components[index], reader, initialState); + } + } + } + + // Helper function to handle Command/Rpc + internal void HandleRemoteCall(int componentIndex, int functionHash, MirrorInvokeType invokeType, NetworkReader reader, NetworkConnectionToClient senderConnection = null) + { + // check if unity object has been destroyed + if (this == null) + { + Debug.LogWarning($"{invokeType} [{functionHash}] received for deleted object [netId={netId}]"); + return; + } + + // find the right component to invoke the function on + if (componentIndex < 0 || componentIndex >= NetworkBehaviours.Length) + { + Debug.LogWarning($"Component [{componentIndex}] not found for [netId={netId}]"); + return; + } + + NetworkBehaviour invokeComponent = NetworkBehaviours[componentIndex]; + if (!RemoteCallHelper.InvokeHandlerDelegate(functionHash, invokeType, reader, invokeComponent, senderConnection)) + { + Debug.LogError($"Found no receiver for incoming {invokeType} [{functionHash}] on {gameObject.name}, the server and client should have the same NetworkBehaviour instances [netId={netId}]."); + } + } + + // Runs on server + internal CommandInfo GetCommandInfo(int componentIndex, int cmdHash) + { + // check if unity object has been destroyed + if (this == null) + { + // error can be logged later + return default; + } + + // find the right component to invoke the function on + if (0 <= componentIndex && componentIndex < NetworkBehaviours.Length) + { + NetworkBehaviour invokeComponent = NetworkBehaviours[componentIndex]; + return RemoteCallHelper.GetCommandInfo(cmdHash, invokeComponent); + } + else + { + // error can be logged later + return default; + } + } + + // Called when NetworkIdentity is destroyed + internal void ClearObservers() + { + if (observers != null) + { + foreach (NetworkConnection conn in observers.Values) + { + conn.RemoveFromObserving(this, true); + } + observers.Clear(); + } + } + + internal void AddObserver(NetworkConnection conn) + { + if (observers == null) + { + Debug.LogError("AddObserver for " + gameObject + " observer list is null"); + return; + } + + if (observers.ContainsKey(conn.connectionId)) + { + // if we try to add a connectionId that was already added, then + // we may have generated one that was already in use. + return; + } + + // Debug.Log("Added observer " + conn.address + " added for " + gameObject); + + observers[conn.connectionId] = conn; + conn.AddToObserving(this); + } + + /// Assign control of an object to a client via the client's NetworkConnection. + // This causes hasAuthority to be set on the client that owns the object, + // and NetworkBehaviour.OnStartAuthority will be called on that client. + // This object then will be in the NetworkConnection.clientOwnedObjects + // list for the connection. + // + // Authority can be removed with RemoveClientAuthority. Only one client + // can own an object at any time. This does not need to be called for + // player objects, as their authority is setup automatically. + public bool AssignClientAuthority(NetworkConnection conn) + { + if (!isServer) + { + Debug.LogError("AssignClientAuthority can only be called on the server for spawned objects."); + return false; + } + + if (conn == null) + { + Debug.LogError("AssignClientAuthority for " + gameObject + " owner cannot be null. Use RemoveClientAuthority() instead."); + return false; + } + + if (connectionToClient != null && conn != connectionToClient) + { + Debug.LogError("AssignClientAuthority for " + gameObject + " already has an owner. Use RemoveClientAuthority() first."); + return false; + } + + SetClientOwner(conn); + + // The client will match to the existing object + // update all variables and assign authority + NetworkServer.SendSpawnMessage(this, conn); + + clientAuthorityCallback?.Invoke(conn, this, true); + + return true; + } + + /// Removes ownership for an object. + // Applies to objects that had authority set by AssignClientAuthority, + // or NetworkServer.Spawn with a NetworkConnection parameter included. + // Authority cannot be removed for player objects. + public void RemoveClientAuthority() + { + if (!isServer) + { + Debug.LogError("RemoveClientAuthority can only be called on the server for spawned objects."); + return; + } + + if (connectionToClient?.identity == this) + { + Debug.LogError("RemoveClientAuthority cannot remove authority for a player object"); + return; + } + + if (connectionToClient != null) + { + clientAuthorityCallback?.Invoke(connectionToClient, this, false); + + NetworkConnectionToClient previousOwner = connectionToClient; + + // TODO why do we clear this twice? + connectionToClient = null; + + // we need to resynchronize the entire object + // so just spawn it again, + // the client will not create a new instance, it will simply + // reset all variables and remove authority + NetworkServer.SendSpawnMessage(this, previousOwner); + + // TODO why do we clear this twice? + connectionToClient = null; + } + } + + // Reset is called when the user hits the Reset button in the + // Inspector's context menu or when adding the component the first time. + // This function is only called in editor mode. + // + // Reset() seems to be called only for Scene objects. + // we can't destroy them (they are always in the scene). + // instead we disable them and call Reset(). + // + // OLD COMMENT: + // Marks the identity for future reset, this is because we cant reset + // the identity during destroy as people might want to be able to read + // the members inside OnDestroy(), and we have no way of invoking reset + // after OnDestroy is called. + internal void Reset() + { + // make sure to call this before networkBehavioursCache is cleared below + ResetSyncObjects(); + + hasSpawned = false; + clientStarted = false; + isClient = false; + isServer = false; + //isLocalPlayer = false; <- cleared AFTER ClearLocalPlayer below! + + netId = 0; + connectionToServer = null; + connectionToClient = null; + + ClearObservers(); + + // clear local player if it was the local player, + // THEN reset isLocalPlayer AFTERWARDS + if (isLocalPlayer) + { + // only clear NetworkClient.localPlayer IF IT POINTS TO US! + // see OnDestroy() comments. it does the same. + // (https://github.com/vis2k/Mirror/issues/2635) + if (NetworkClient.localPlayer == this) + NetworkClient.localPlayer = null; + } + isLocalPlayer = false; + } + + // clear all component's dirty bits no matter what + internal void ClearAllComponentsDirtyBits() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + comp.ClearAllDirtyBits(); + } + } + + // Clear only dirty component's dirty bits. ignores components which + // may be dirty but not ready to be synced yet (because of syncInterval) + internal void ClearDirtyComponentsDirtyBits() + { + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + if (comp.IsDirty()) + { + comp.ClearAllDirtyBits(); + } + } + } + + void ResetSyncObjects() + { + // ResetSyncObjects is called by Reset, which is called by Unity. + // AddComponent() calls Reset(). + // AddComponent() is called before Awake(). + // so NetworkBehaviours may not be initialized yet. + if (NetworkBehaviours == null) + return; + + foreach (NetworkBehaviour comp in NetworkBehaviours) + { + comp.ResetSyncObjects(); + } + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkIdentity.cs.meta b/Assets/Mirror/Runtime/NetworkIdentity.cs.meta new file mode 100644 index 0000000..7b96521 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkIdentity.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b91ecbcc199f4492b9a91e820070131 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkLoop.cs b/Assets/Mirror/Runtime/NetworkLoop.cs new file mode 100644 index 0000000..5e2dbae --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkLoop.cs @@ -0,0 +1,192 @@ +// our ideal update looks like this: +// transport.process_incoming() +// update_world() +// transport.process_outgoing() +// +// this way we avoid unnecessary latency for low-ish server tick rates. +// for example, if we were to use this tick: +// transport.process_incoming/outgoing() +// update_world() +// +// then anything sent in update_world wouldn't be actually sent out by the +// transport until the next frame. if server runs at 60Hz, then this can add +// 16ms latency for every single packet. +// +// => instead we process incoming, update world, process_outgoing in the same +// frame. it's more clear (no race conditions) and lower latency. +// => we need to add custom Update functions to the Unity engine: +// NetworkEarlyUpdate before Update()/FixedUpdate() +// NetworkLateUpdate after LateUpdate() +// this way the user can update the world in Update/FixedUpdate/LateUpdate +// and networking still runs before/after those functions no matter what! +// => see also: https://docs.unity3d.com/Manual/ExecutionOrder.html +// => update order: +// * we add to the end of EarlyUpdate so it runs after any Unity initializations +// * we add to the end of PreLateUpdate so it runs after LateUpdate(). adding +// to the beginning of PostLateUpdate doesn't actually work. +using System; +using UnityEngine; + +// PlayerLoop and LowLevel were in the Experimental namespace until 2019.3 +// https://docs.unity3d.com/2019.2/Documentation/ScriptReference/Experimental.LowLevel.PlayerLoop.html +// https://docs.unity3d.com/2019.3/Documentation/ScriptReference/LowLevel.PlayerLoop.html +#if UNITY_2019_3_OR_NEWER +using UnityEngine.LowLevel; +using UnityEngine.PlayerLoop; +#else +using UnityEngine.Experimental.LowLevel; +using UnityEngine.Experimental.PlayerLoop; +#endif + +namespace Mirror +{ + internal static class NetworkLoop + { + // helper enum to add loop to begin/end of subSystemList + internal enum AddMode { Beginning, End } + + // helper function to find an update function's index in a player loop + // type. this is used for testing to guarantee our functions are added + // at the beginning/end properly. + internal static int FindPlayerLoopEntryIndex(PlayerLoopSystem.UpdateFunction function, PlayerLoopSystem playerLoop, Type playerLoopSystemType) + { + // did we find the type? e.g. EarlyUpdate/PreLateUpdate/etc. + if (playerLoop.type == playerLoopSystemType) + return Array.FindIndex(playerLoop.subSystemList, (elem => elem.updateDelegate == function)); + + // recursively keep looking + if (playerLoop.subSystemList != null) + { + for(int i = 0; i < playerLoop.subSystemList.Length; ++i) + { + int index = FindPlayerLoopEntryIndex(function, playerLoop.subSystemList[i], playerLoopSystemType); + if (index != -1) return index; + } + } + return -1; + } + + // MODIFIED AddSystemToPlayerLoopList from Unity.Entities.ScriptBehaviourUpdateOrder (ECS) + // + // => adds an update function to the Unity internal update type. + // => Unity has different update loops: + // https://medium.com/@thebeardphantom/unity-2018-and-playerloop-5c46a12a677 + // EarlyUpdate + // FixedUpdate + // PreUpdate + // Update + // PreLateUpdate + // PostLateUpdate + // + // function: the custom update function to add + // IMPORTANT: according to a comment in Unity.Entities.ScriptBehaviourUpdateOrder, + // the UpdateFunction can not be virtual because + // Mono 4.6 has problems invoking virtual methods + // as delegates from native! + // ownerType: the .type to fill in so it's obvious who the new function + // belongs to. seems to be mostly for debugging. pass any. + // addMode: prepend or append to update list + internal static bool AddToPlayerLoop(PlayerLoopSystem.UpdateFunction function, Type ownerType, ref PlayerLoopSystem playerLoop, Type playerLoopSystemType, AddMode addMode) + { + // did we find the type? e.g. EarlyUpdate/PreLateUpdate/etc. + if (playerLoop.type == playerLoopSystemType) + { + // debugging + //Debug.Log($"Found playerLoop of type {playerLoop.type} with {playerLoop.subSystemList.Length} Functions:"); + //foreach (PlayerLoopSystem sys in playerLoop.subSystemList) + // Debug.Log($" ->{sys.type}"); + + // resize & expand subSystemList to fit one more entry + int oldListLength = (playerLoop.subSystemList != null) ? playerLoop.subSystemList.Length : 0; + Array.Resize(ref playerLoop.subSystemList, oldListLength + 1); + + // IMPORTANT: always insert a FRESH PlayerLoopSystem! + // We CAN NOT resize and then OVERWRITE an entry's type/loop. + // => PlayerLoopSystem has native IntPtr loop members + // => forgetting to clear those would cause undefined behaviour! + // see also: https://github.com/vis2k/Mirror/pull/2652 + PlayerLoopSystem system = new PlayerLoopSystem { + type = ownerType, + updateDelegate = function + }; + + // prepend our custom loop to the beginning + if (addMode == AddMode.Beginning) + { + // shift to the right, write into first array element + Array.Copy(playerLoop.subSystemList, 0, playerLoop.subSystemList, 1, playerLoop.subSystemList.Length - 1); + playerLoop.subSystemList[0] = system; + + } + // append our custom loop to the end + else if (addMode == AddMode.End) + { + // simply write into last array element + playerLoop.subSystemList[oldListLength] = system; + } + + // debugging + //Debug.Log($"New playerLoop of type {playerLoop.type} with {playerLoop.subSystemList.Length} Functions:"); + //foreach (PlayerLoopSystem sys in playerLoop.subSystemList) + // Debug.Log($" ->{sys.type}"); + + return true; + } + + // recursively keep looking + if (playerLoop.subSystemList != null) + { + for(int i = 0; i < playerLoop.subSystemList.Length; ++i) + { + if (AddToPlayerLoop(function, ownerType, ref playerLoop.subSystemList[i], playerLoopSystemType, addMode)) + return true; + } + } + return false; + } + + // hook into Unity runtime to actually add our custom functions + [RuntimeInitializeOnLoadMethod] + static void RuntimeInitializeOnLoad() + { + //Debug.Log("Mirror: adding Network[Early/Late]Update to Unity..."); + + // get loop + // 2019 has GetCURRENTPlayerLoop which is safe to use without + // breaking other custom system's custom loops. + // see also: https://github.com/vis2k/Mirror/pull/2627/files + PlayerLoopSystem playerLoop = +#if UNITY_2019_3_OR_NEWER + PlayerLoop.GetCurrentPlayerLoop(); +#else + PlayerLoop.GetDefaultPlayerLoop(); +#endif + + // add NetworkEarlyUpdate to the end of EarlyUpdate so it runs after + // any Unity initializations but before the first Update/FixedUpdate + AddToPlayerLoop(NetworkEarlyUpdate, typeof(NetworkLoop), ref playerLoop, typeof(EarlyUpdate), AddMode.End); + + // add NetworkLateUpdate to the end of PreLateUpdate so it runs after + // LateUpdate(). adding to the beginning of PostLateUpdate doesn't + // actually work. + AddToPlayerLoop(NetworkLateUpdate, typeof(NetworkLoop), ref playerLoop, typeof(PreLateUpdate), AddMode.End); + + // set the new loop + PlayerLoop.SetPlayerLoop(playerLoop); + } + + static void NetworkEarlyUpdate() + { + //Debug.Log("NetworkEarlyUpdate @ " + Time.time); + NetworkServer.NetworkEarlyUpdate(); + NetworkClient.NetworkEarlyUpdate(); + } + + static void NetworkLateUpdate() + { + //Debug.Log("NetworkLateUpdate @ " + Time.time); + NetworkServer.NetworkLateUpdate(); + NetworkClient.NetworkLateUpdate(); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkLoop.cs.meta b/Assets/Mirror/Runtime/NetworkLoop.cs.meta new file mode 100644 index 0000000..52b6e6a --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkLoop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c6cec4e279774b919386e05545317b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkManager.cs b/Assets/Mirror/Runtime/NetworkManager.cs new file mode 100644 index 0000000..2c0a3b4 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkManager.cs @@ -0,0 +1,1344 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using kcp2k; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.Serialization; + +namespace Mirror +{ + public enum PlayerSpawnMethod { Random, RoundRobin } + public enum NetworkManagerMode { Offline, ServerOnly, ClientOnly, Host } + + [DisallowMultipleComponent] + [AddComponentMenu("Network/NetworkManager")] + [HelpURL("https://mirror-networking.gitbook.io/docs/components/network-manager")] + public class NetworkManager : MonoBehaviour + { + /// Enable to keep NetworkManager alive when changing scenes. + // This should be set if your game has a single NetworkManager that exists for the lifetime of the process. If there is a NetworkManager in each scene, then this should not be set. + [Header("Configuration")] + [FormerlySerializedAs("m_DontDestroyOnLoad")] + [Tooltip("Should the Network Manager object be persisted through scene changes?")] + public bool dontDestroyOnLoad = true; + + // Deprecated 2021-03-10 + // Temporary bool to allow Network Manager to persist to offline scene + // Based on Discord convo, BigBox is invoking StopHost in startup sequence, bouncing the server and clients back to offline scene, which resets Network Manager. + // Request is for a checkbox to persist Network Manager to offline scene, despite the collision and warning. + [Obsolete("This was added temporarily and will be removed in a future release.")] + [Tooltip("Should the Network Manager object be persisted through scene change to the offline scene?")] + public bool PersistNetworkManagerToOfflineScene; + + /// Multiplayer games should always run in the background so the network doesn't time out. + [FormerlySerializedAs("m_RunInBackground")] + [Tooltip("Multiplayer games should always run in the background so the network doesn't time out.")] + public bool runInBackground = true; + + /// Should the server auto-start when 'Server Build' is checked in build settings + [Tooltip("Should the server auto-start when 'Server Build' is checked in build settings")] + [FormerlySerializedAs("startOnHeadless")] + public bool autoStartServerBuild = true; + + /// Server Update frequency, per second. Use around 60Hz for fast paced games like Counter-Strike to minimize latency. Use around 30Hz for games like WoW to minimize computations. Use around 1-10Hz for slow paced games like EVE. + [Tooltip("Server Update frequency, per second. Use around 60Hz for fast paced games like Counter-Strike to minimize latency. Use around 30Hz for games like WoW to minimize computations. Use around 1-10Hz for slow paced games like EVE.")] + public int serverTickRate = 30; + + /// Automatically switch to this scene upon going offline (on start / on disconnect / on shutdown). + [Header("Scene Management")] + [Scene] + [FormerlySerializedAs("m_OfflineScene")] + [Tooltip("Scene that Mirror will switch to when the client or server is stopped")] + public string offlineScene = ""; + + /// Automatically switch to this scene upon going online (after connect/startserver). + [Scene] + [FormerlySerializedAs("m_OnlineScene")] + [Tooltip("Scene that Mirror will switch to when the server is started. Clients will recieve a Scene Message to load the server's current scene when they connect.")] + public string onlineScene = ""; + + // transport layer + [Header("Network Info")] + [Tooltip("Transport component attached to this object that server and client will use to connect")] + [SerializeField] + protected Transport transport; + + /// Server's address for clients to connect to. + [FormerlySerializedAs("m_NetworkAddress")] + [Tooltip("Network Address where the client should connect to the server. Server does not use this for anything.")] + public string networkAddress = "localhost"; + + /// The maximum number of concurrent network connections to support. + [FormerlySerializedAs("m_MaxConnections")] + [Tooltip("Maximum number of concurrent connections.")] + public int maxConnections = 100; + + // Deprecated 2021-05-10 + [Obsolete("Transport is responsible for timeouts.")] + public bool disconnectInactiveConnections; + + // Deprecated 2021-05-10 + [Obsolete("Transport is responsible for timeouts. Configure the Transport's timeout setting instead.")] + public float disconnectInactiveTimeout = 60f; + + [Header("Authentication")] + [Tooltip("Authentication component attached to this object")] + public NetworkAuthenticator authenticator; + + /// The default prefab to be used to create player objects on the server. + // Player objects are created in the default handler for AddPlayer() on + // the server. Implementing OnServerAddPlayer overrides this behaviour. + [Header("Player Object")] + [FormerlySerializedAs("m_PlayerPrefab")] + [Tooltip("Prefab of the player object. Prefab must have a Network Identity component. May be an empty game object or a full avatar.")] + public GameObject playerPrefab; + + /// Enable to automatically create player objects on connect and on scene change. + [FormerlySerializedAs("m_AutoCreatePlayer")] + [Tooltip("Should Mirror automatically spawn the player after scene change?")] + public bool autoCreatePlayer = true; + + /// Where to spawn players. + [FormerlySerializedAs("m_PlayerSpawnMethod")] + [Tooltip("Round Robin or Random order of Start Position selection")] + public PlayerSpawnMethod playerSpawnMethod; + + /// Prefabs that can be spawned over the network need to be registered here. + [FormerlySerializedAs("m_SpawnPrefabs"), HideInInspector] + public List spawnPrefabs = new List(); + + /// List of transforms populated by NetworkStartPositions + public static List startPositions = new List(); + public static int startPositionIndex; + + /// The one and only NetworkManager + public static NetworkManager singleton { get; private set; } + + /// Number of active player objects across all connections on the server. + public int numPlayers => NetworkServer.connections.Count(kv => kv.Value.identity != null); + + /// True if the server is running or client is connected/connecting. + public bool isNetworkActive => NetworkServer.active || NetworkClient.active; + + // TODO remove this + static NetworkConnection clientReadyConnection; + + /// True if the client loaded a new scene when connecting to the server. + // This is set before OnClientConnect is called, so it can be checked + // there to perform different logic if a scene load occurred. + [NonSerialized] + public bool clientLoadedScene; + + // helper enum to know if we started the networkmanager as server/client/host. + // -> this is necessary because when StartHost changes server scene to + // online scene, FinishLoadScene is called and the host client isn't + // connected yet (no need to connect it before server was fully set up). + // in other words, we need this to know which mode we are running in + // during FinishLoadScene. + public NetworkManagerMode mode { get; private set; } + + // virtual so that inheriting classes' OnValidate() can call base.OnValidate() too + public virtual void OnValidate() + { + // add transport if there is none yet. makes upgrading easier. + if (transport == null) + { + // was a transport added yet? if not, add one + transport = GetComponent(); + if (transport == null) + { + transport = gameObject.AddComponent(); + Debug.Log("NetworkManager: added default Transport because there was none yet."); + } +#if UNITY_EDITOR + // For some insane reason, this line fails when building unless wrapped in this define. Stupid but true. + // error CS0234: The type or namespace name 'Undo' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?) + UnityEditor.Undo.RecordObject(gameObject, "Added default Transport"); +#endif + } + + // always >= 0 + maxConnections = Mathf.Max(maxConnections, 0); + + if (playerPrefab != null && playerPrefab.GetComponent() == null) + { + Debug.LogError("NetworkManager - Player Prefab must have a NetworkIdentity."); + playerPrefab = null; + } + + // This avoids the mysterious "Replacing existing prefab with assetId ... Old prefab 'Player', New prefab 'Player'" warning. + if (playerPrefab != null && spawnPrefabs.Contains(playerPrefab)) + { + Debug.LogWarning("NetworkManager - Player Prefab should not be added to Registered Spawnable Prefabs list...removed it."); + spawnPrefabs.Remove(playerPrefab); + } + } + + // virtual so that inheriting classes' Awake() can call base.Awake() too + public virtual void Awake() + { + // Don't allow collision-destroyed second instance to continue. + if (!InitializeSingleton()) return; + + Debug.Log("Mirror | mirror-networking.com | discord.gg/N9QVxbM"); + + // Set the networkSceneName to prevent a scene reload + // if client connection to server fails. + networkSceneName = offlineScene; + + // setup OnSceneLoaded callback + SceneManager.sceneLoaded += OnSceneLoaded; + } + + // virtual so that inheriting classes' Start() can call base.Start() too + public virtual void Start() + { + // headless mode? then start the server + // can't do this in Awake because Awake is for initialization. + // some transports might not be ready until Start. + // + // (tick rate is applied in StartServer!) +#if UNITY_SERVER + if (autoStartServerBuild) + { + StartServer(); + } +#endif + } + + // virtual so that inheriting classes' LateUpdate() can call base.LateUpdate() too + public virtual void LateUpdate() + { + UpdateScene(); + } + + // keep the online scene change check in a separate function + bool IsServerOnlineSceneChangeNeeded() + { + // Only change scene if the requested online scene is not blank, and is not already loaded + return !string.IsNullOrEmpty(onlineScene) && !IsSceneActive(onlineScene) && onlineScene != offlineScene; + } + + public static bool IsSceneActive(string scene) + { + Scene activeScene = SceneManager.GetActiveScene(); + return activeScene.path == scene || activeScene.name == scene; + } + + // full server setup code, without spawning objects yet + void SetupServer() + { + // Debug.Log("NetworkManager SetupServer"); + InitializeSingleton(); + + if (runInBackground) + Application.runInBackground = true; + + if (authenticator != null) + { + authenticator.OnStartServer(); + authenticator.OnServerAuthenticated.AddListener(OnServerAuthenticated); + } + + ConfigureHeadlessFrameRate(); + + // Copy auto-disconnect settings to NetworkServer +#pragma warning disable 618 + NetworkServer.disconnectInactiveTimeout = disconnectInactiveTimeout; + NetworkServer.disconnectInactiveConnections = disconnectInactiveConnections; +#pragma warning restore 618 + + // start listening to network connections + NetworkServer.Listen(maxConnections); + + // call OnStartServer AFTER Listen, so that NetworkServer.active is + // true and we can call NetworkServer.Spawn in OnStartServer + // overrides. + // (useful for loading & spawning stuff from database etc.) + // + // note: there is no risk of someone connecting after Listen() and + // before OnStartServer() because this all runs in one thread + // and we don't start processing connects until Update. + OnStartServer(); + + // this must be after Listen(), since that registers the default message handlers + RegisterServerMessages(); + } + + /// Starts the server, listening for incoming connections. + public void StartServer() + { + if (NetworkServer.active) + { + Debug.LogWarning("Server already started."); + return; + } + + mode = NetworkManagerMode.ServerOnly; + + // StartServer is inherently ASYNCHRONOUS (=doesn't finish immediately) + // + // Here is what it does: + // Listen + // if onlineScene: + // LoadSceneAsync + // ... + // FinishLoadSceneServerOnly + // SpawnObjects + // else: + // SpawnObjects + // + // there is NO WAY to make it synchronous because both LoadSceneAsync + // and LoadScene do not finish loading immediately. as long as we + // have the onlineScene feature, it will be asynchronous! + + SetupServer(); + + // scene change needed? then change scene and spawn afterwards. + if (IsServerOnlineSceneChangeNeeded()) + { + ServerChangeScene(onlineScene); + } + // otherwise spawn directly + else + { + NetworkServer.SpawnObjects(); + } + } + + /// Starts the client, connects it to the server with networkAddress. + public void StartClient() + { + if (NetworkClient.active) + { + Debug.LogWarning("Client already started."); + return; + } + + mode = NetworkManagerMode.ClientOnly; + + InitializeSingleton(); + + if (runInBackground) + Application.runInBackground = true; + + if (authenticator != null) + { + authenticator.OnStartClient(); + authenticator.OnClientAuthenticated.AddListener(OnClientAuthenticated); + } + + // In case this is a headless client... + ConfigureHeadlessFrameRate(); + + RegisterClientMessages(); + + if (string.IsNullOrEmpty(networkAddress)) + { + Debug.LogError("Must set the Network Address field in the manager"); + return; + } + // Debug.Log("NetworkManager StartClient address:" + networkAddress); + + NetworkClient.Connect(networkAddress); + + OnStartClient(); + } + + /// Starts the client, connects it to the server via Uri + public void StartClient(Uri uri) + { + if (NetworkClient.active) + { + Debug.LogWarning("Client already started."); + return; + } + + mode = NetworkManagerMode.ClientOnly; + + InitializeSingleton(); + + if (runInBackground) + Application.runInBackground = true; + + if (authenticator != null) + { + authenticator.OnStartClient(); + authenticator.OnClientAuthenticated.AddListener(OnClientAuthenticated); + } + + RegisterClientMessages(); + + // Debug.Log("NetworkManager StartClient address:" + uri); + networkAddress = uri.Host; + + NetworkClient.Connect(uri); + + OnStartClient(); + } + + /// Starts a network "host" - a server and client in the same application. + public void StartHost() + { + if (NetworkServer.active || NetworkClient.active) + { + Debug.LogWarning("Server or Client already started."); + return; + } + + mode = NetworkManagerMode.Host; + + // StartHost is inherently ASYNCHRONOUS (=doesn't finish immediately) + // + // Here is what it does: + // Listen + // ConnectHost + // if onlineScene: + // LoadSceneAsync + // ... + // FinishLoadSceneHost + // FinishStartHost + // SpawnObjects + // StartHostClient <= not guaranteed to happen after SpawnObjects if onlineScene is set! + // ClientAuth + // success: server sends changescene msg to client + // else: + // FinishStartHost + // + // there is NO WAY to make it synchronous because both LoadSceneAsync + // and LoadScene do not finish loading immediately. as long as we + // have the onlineScene feature, it will be asynchronous! + + // setup server first + SetupServer(); + + // call OnStartHost AFTER SetupServer. this way we can use + // NetworkServer.Spawn etc. in there too. just like OnStartServer + // is called after the server is actually properly started. + OnStartHost(); + + // scene change needed? then change scene and spawn afterwards. + // => BEFORE host client connects. if client auth succeeds then the + // server tells it to load 'onlineScene'. we can't do that if + // server is still in 'offlineScene'. so load on server first. + if (IsServerOnlineSceneChangeNeeded()) + { + // call FinishStartHost after changing scene. + finishStartHostPending = true; + ServerChangeScene(onlineScene); + } + // otherwise call FinishStartHost directly + else + { + FinishStartHost(); + } + } + + // This may be set true in StartHost and is evaluated in FinishStartHost + bool finishStartHostPending; + + // FinishStartHost is guaranteed to be called after the host server was + // fully started and all the asynchronous StartHost magic is finished + // (= scene loading), or immediately if there was no asynchronous magic. + // + // note: we don't really need FinishStartClient/FinishStartServer. the + // host version is enough. + void FinishStartHost() + { + // ConnectHost needs to be called BEFORE SpawnObjects: + // https://github.com/vis2k/Mirror/pull/1249/ + // -> this sets NetworkServer.localConnection. + // -> localConnection needs to be set before SpawnObjects because: + // -> SpawnObjects calls OnStartServer in all NetworkBehaviours + // -> OnStartServer might spawn an object and set [SyncVar(hook="OnColorChanged")] object.color = green; + // -> this calls SyncVar.set (generated by Weaver), which has + // a custom case for host mode (because host mode doesn't + // get OnDeserialize calls, where SyncVar hooks are usually + // called): + // + // if (!SyncVarEqual(value, ref color)) + // { + // if (NetworkServer.localClientActive && !getSyncVarHookGuard(1uL)) + // { + // setSyncVarHookGuard(1uL, value: true); + // OnColorChangedHook(value); + // setSyncVarHookGuard(1uL, value: false); + // } + // SetSyncVar(value, ref color, 1uL); + // } + // + // -> localClientActive needs to be true, otherwise the hook + // isn't called in host mode! + // + // TODO call this after spawnobjects and worry about the syncvar hook fix later? + NetworkClient.ConnectHost(); + + // server scene was loaded. now spawn all the objects + NetworkServer.SpawnObjects(); + + // connect client and call OnStartClient AFTER server scene was + // loaded and all objects were spawned. + // DO NOT do this earlier. it would cause race conditions where a + // client will do things before the server is even fully started. + //Debug.Log("StartHostClient called"); + StartHostClient(); + } + + void StartHostClient() + { + //Debug.Log("NetworkManager ConnectLocalClient"); + + if (authenticator != null) + { + authenticator.OnStartClient(); + authenticator.OnClientAuthenticated.AddListener(OnClientAuthenticated); + } + + networkAddress = "localhost"; + NetworkServer.ActivateHostScene(); + RegisterClientMessages(); + + // ConnectLocalServer needs to be called AFTER RegisterClientMessages + // (https://github.com/vis2k/Mirror/pull/1249/) + NetworkClient.ConnectLocalServer(); + + OnStartClient(); + } + + /// This stops both the client and the server that the manager is using. + public void StopHost() + { + OnStopHost(); + + // calling OnTransportDisconnected was needed to fix + // https://github.com/vis2k/Mirror/issues/1515 + // so that the host client receives a DisconnectMessage + // TODO reevaluate if this is still needed after all the disconnect + // fixes, and try to put this into LocalConnection.Disconnect! + NetworkServer.OnTransportDisconnected(NetworkConnection.LocalConnectionId); + + StopClient(); + StopServer(); + } + + /// Stops the server from listening and simulating the game. + public void StopServer() + { + // return if already stopped to avoid recursion deadlock + if (!NetworkServer.active) + return; + + if (authenticator != null) + { + authenticator.OnServerAuthenticated.RemoveListener(OnServerAuthenticated); + authenticator.OnStopServer(); + } + + // Get Network Manager out of DDOL before going to offline scene + // to avoid collision and let a fresh Network Manager be created. + // IMPORTANT: .gameObject can be null if StopClient is called from + // OnApplicationQuit or from tests! +#pragma warning disable 618 + if (gameObject != null && !PersistNetworkManagerToOfflineScene && + gameObject.scene.name == "DontDestroyOnLoad" + && !string.IsNullOrEmpty(offlineScene) + && SceneManager.GetActiveScene().path != offlineScene) + SceneManager.MoveGameObjectToScene(gameObject, SceneManager.GetActiveScene()); +#pragma warning restore 618 + + OnStopServer(); + + //Debug.Log("NetworkManager StopServer"); + NetworkServer.Shutdown(); + + // set offline mode BEFORE changing scene so that FinishStartScene + // doesn't think we need initialize anything. + mode = NetworkManagerMode.Offline; + + if (!string.IsNullOrEmpty(offlineScene)) + { + ServerChangeScene(offlineScene); + } + + startPositionIndex = 0; + + networkSceneName = ""; + } + + /// Stops and disconnects the client. + public void StopClient() + { + if (authenticator != null) + { + authenticator.OnClientAuthenticated.RemoveListener(OnClientAuthenticated); + authenticator.OnStopClient(); + } + + // Get Network Manager out of DDOL before going to offline scene + // to avoid collision and let a fresh Network Manager be created. + // IMPORTANT: .gameObject can be null if StopClient is called from + // OnApplicationQuit or from tests! +#pragma warning disable 618 + if (gameObject != null && !PersistNetworkManagerToOfflineScene && + gameObject.scene.name == "DontDestroyOnLoad" + && !string.IsNullOrEmpty(offlineScene) + && SceneManager.GetActiveScene().path != offlineScene) + SceneManager.MoveGameObjectToScene(gameObject, SceneManager.GetActiveScene()); +#pragma warning restore 618 + + OnStopClient(); + + //Debug.Log("NetworkManager StopClient"); + + // shutdown client + NetworkClient.Disconnect(); + NetworkClient.Shutdown(); + + // set offline mode BEFORE changing scene so that FinishStartScene + // doesn't think we need initialize anything. + mode = NetworkManagerMode.Offline; + + // If this is the host player, StopServer will already be changing scenes. + // Check loadingSceneAsync to ensure we don't double-invoke the scene change. + // Check if NetworkServer.active because we can get here via Disconnect before server has started to change scenes. + if (!string.IsNullOrEmpty(offlineScene) && !IsSceneActive(offlineScene) && loadingSceneAsync == null && !NetworkServer.active) + { + ClientChangeScene(offlineScene, SceneOperation.Normal); + } + + networkSceneName = ""; + } + + // called when quitting the application by closing the window / pressing + // stop in the editor. virtual so that inheriting classes' + // OnApplicationQuit() can call base.OnApplicationQuit() too + public virtual void OnApplicationQuit() + { + // stop client first + // (we want to send the quit packet to the server instead of waiting + // for a timeout) + if (NetworkClient.isConnected) + { + StopClient(); + //Debug.Log("OnApplicationQuit: stopped client"); + } + + // stop server after stopping client (for proper host mode stopping) + if (NetworkServer.active) + { + StopServer(); + //Debug.Log("OnApplicationQuit: stopped server"); + } + } + + // DEPRECATED 2021-07-21 + [Obsolete("Renamed to ConfigureHeadlessFrameRate()")] + public virtual void ConfigureServerFrameRate() {} + + /// Set the frame rate for a headless builds. Override to disable or modify. + // useful for dedicated servers. + // useful for headless benchmark clients. + public virtual void ConfigureHeadlessFrameRate() + { +#if UNITY_SERVER + Application.targetFrameRate = serverTickRate; + // Debug.Log("Server Tick Rate set to: " + Application.targetFrameRate + " Hz."); +#endif + + // call the obsolete function in case someone did anything important +#pragma warning disable 618 + ConfigureServerFrameRate(); +#pragma warning restore 618 + } + + bool InitializeSingleton() + { + if (singleton != null && singleton == this) + return true; + + if (dontDestroyOnLoad) + { + if (singleton != null) + { + Debug.LogWarning("Multiple NetworkManagers detected in the scene. Only one NetworkManager can exist at a time. The duplicate NetworkManager will be destroyed."); + Destroy(gameObject); + + // Return false to not allow collision-destroyed second instance to continue. + return false; + } + //Debug.Log("NetworkManager created singleton (DontDestroyOnLoad)"); + singleton = this; + if (Application.isPlaying) DontDestroyOnLoad(gameObject); + } + else + { + //Debug.Log("NetworkManager created singleton (ForScene)"); + singleton = this; + } + + // set active transport AFTER setting singleton. + // so only if we didn't destroy ourselves. + Transport.activeTransport = transport; + return true; + } + + void RegisterServerMessages() + { + NetworkServer.OnConnectedEvent = OnServerConnectInternal; + NetworkServer.OnDisconnectedEvent = OnServerDisconnect; + NetworkServer.OnErrorEvent = OnServerError; + NetworkServer.RegisterHandler(OnServerAddPlayerInternal); + + // Network Server initially registers its own handler for this, so we replace it here. + NetworkServer.ReplaceHandler(OnServerReadyMessageInternal); + } + + void RegisterClientMessages() + { + NetworkClient.OnConnectedEvent = OnClientConnectInternal; + NetworkClient.OnDisconnectedEvent = OnClientDisconnectInternal; + NetworkClient.OnErrorEvent = OnClientError; + NetworkClient.RegisterHandler(OnClientNotReadyMessageInternal); + NetworkClient.RegisterHandler(OnClientSceneInternal, false); + + if (playerPrefab != null) + NetworkClient.RegisterPrefab(playerPrefab); + + foreach (GameObject prefab in spawnPrefabs.Where(t => t != null)) + NetworkClient.RegisterPrefab(prefab); + } + + // This is the only way to clear the singleton, so another instance can be created. + public static void Shutdown() + { + if (singleton == null) + return; + + startPositions.Clear(); + startPositionIndex = 0; + clientReadyConnection = null; + + singleton.StopHost(); + singleton = null; + } + + // virtual so that inheriting classes' OnDestroy() can call base.OnDestroy() too + public virtual void OnDestroy() + { + //Debug.Log("NetworkManager destroyed"); + } + + /// The name of the current network scene. + // set by NetworkManager when changing the scene. + // new clients will automatically load this scene. + // Loading a scene manually won't set it. + public static string networkSceneName { get; protected set; } = ""; + + public static AsyncOperation loadingSceneAsync; + + /// Change the server scene and all client's scenes across the network. + // Called automatically if onlineScene or offlineScene are set, but it + // can be called from user code to switch scenes again while the game is + // in progress. This automatically sets clients to be not-ready during + // the change and ready again to participate in the new scene. + public virtual void ServerChangeScene(string newSceneName) + { + if (string.IsNullOrEmpty(newSceneName)) + { + Debug.LogError("ServerChangeScene empty scene name"); + return; + } + + // Debug.Log("ServerChangeScene " + newSceneName); + NetworkServer.SetAllClientsNotReady(); + networkSceneName = newSceneName; + + // Let server prepare for scene change + OnServerChangeScene(newSceneName); + + // set server flag to stop processing messages while changing scenes + // it will be re-enabled in FinishLoadScene. + NetworkServer.isLoadingScene = true; + + StartCoroutine(loadScene(newSceneName)); + + } + + + IEnumerator loadScene(string newSceneName) + { + loadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); + + + while (!loadingSceneAsync.isDone) + { + yield return null; + } + // ServerChangeScene can be called when stopping the server + // when this happens the server is not active so does not need to tell clients about the change + if (NetworkServer.active) + { + // notify all clients about the new scene + NetworkServer.SendToAll(new SceneMessage { sceneName = newSceneName }); + } + + startPositionIndex = 0; + startPositions.Clear(); + } + + // This is only set in ClientChangeScene below...never on server. + // We need to check this in OnClientSceneChanged called from FinishLoadSceneClientOnly + // to prevent AddPlayer message after loading/unloading additive scenes + SceneOperation clientSceneOperation = SceneOperation.Normal; + + internal void ClientChangeScene(string newSceneName, SceneOperation sceneOperation = SceneOperation.Normal, bool customHandling = false) + { + if (string.IsNullOrEmpty(newSceneName)) + { + Debug.LogError("ClientChangeScene empty scene name"); + return; + } + + // Debug.Log("ClientChangeScene newSceneName:" + newSceneName + " networkSceneName:" + networkSceneName); + + // Let client prepare for scene change + OnClientChangeScene(newSceneName, sceneOperation, customHandling); + + // After calling OnClientChangeScene, exit if server since server is already doing + // the actual scene change, and we don't need to do it for the host client + if (NetworkServer.active) + return; + + // set client flag to stop processing messages while loading scenes. + // otherwise we would process messages and then lose all the state + // as soon as the load is finishing, causing all kinds of bugs + // because of missing state. + // (client may be null after StopClient etc.) + // Debug.Log("ClientChangeScene: pausing handlers while scene is loading to avoid data loss after scene was loaded."); + NetworkClient.isLoadingScene = true; + + // Cache sceneOperation so we know what was requested by the + // Scene message in OnClientChangeScene and OnClientSceneChanged + clientSceneOperation = sceneOperation; + + // scene handling will happen in overrides of OnClientChangeScene and/or OnClientSceneChanged + // Do not call FinishLoadScene here. Custom handler will assign loadingSceneAsync and we need + // to wait for that to finish. UpdateScene already checks for that to be not null and isDone. + if (customHandling) + return; + + switch (sceneOperation) + { + case SceneOperation.Normal: + loadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); + break; + case SceneOperation.LoadAdditive: + // Ensure additive scene is not already loaded on client by name or path + // since we don't know which was passed in the Scene message + if (!SceneManager.GetSceneByName(newSceneName).IsValid() && !SceneManager.GetSceneByPath(newSceneName).IsValid()) + loadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName, LoadSceneMode.Additive); + else + { + Debug.LogWarning($"Scene {newSceneName} is already loaded"); + + // Reset the flag that we disabled before entering this switch + NetworkClient.isLoadingScene = false; + } + break; + case SceneOperation.UnloadAdditive: + // Ensure additive scene is actually loaded on client by name or path + // since we don't know which was passed in the Scene message + if (SceneManager.GetSceneByName(newSceneName).IsValid() || SceneManager.GetSceneByPath(newSceneName).IsValid()) + loadingSceneAsync = SceneManager.UnloadSceneAsync(newSceneName, UnloadSceneOptions.UnloadAllEmbeddedSceneObjects); + else + { + Debug.LogWarning($"Cannot unload {newSceneName} with UnloadAdditive operation"); + + // Reset the flag that we disabled before entering this switch + NetworkClient.isLoadingScene = false; + } + break; + } + + // don't change the client's current networkSceneName when loading additive scene content + if (sceneOperation == SceneOperation.Normal) + networkSceneName = newSceneName; + } + + // support additive scene loads: + // NetworkScenePostProcess disables all scene objects on load, and + // * NetworkServer.SpawnObjects enables them again on the server when + // calling OnStartServer + // * NetworkClient.PrepareToSpawnSceneObjects enables them again on the + // client after the server sends ObjectSpawnStartedMessage to client + // in SpawnObserversForConnection. this is only called when the + // client joins, so we need to rebuild scene objects manually again + // TODO merge this with FinishLoadScene()? + void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (mode == LoadSceneMode.Additive) + { + if (NetworkServer.active) + { + // TODO only respawn the server objects from that scene later! + NetworkServer.SpawnObjects(); + // Debug.Log("Respawned Server objects after additive scene load: " + scene.name); + } + if (NetworkClient.active) + { + NetworkClient.PrepareToSpawnSceneObjects(); + // Debug.Log("Rebuild Client spawnableObjects after additive scene load: " + scene.name); + } + } + } + + void UpdateScene() + { + if (loadingSceneAsync != null && loadingSceneAsync.isDone) + { + // Debug.Log("ClientChangeScene done readyCon:" + clientReadyConnection); + + // try-finally to guarantee loadingSceneAsync being cleared. + // fixes https://github.com/vis2k/Mirror/issues/2517 where if + // FinishLoadScene throws an exception, loadingSceneAsync would + // never be cleared and this code would run every Update. + try + { + FinishLoadScene(); + } + finally + { + loadingSceneAsync.allowSceneActivation = true; + loadingSceneAsync = null; + } + } + } + + protected void FinishLoadScene() + { + // NOTE: this cannot use NetworkClient.allClients[0] - that client may be for a completely different purpose. + + // process queued messages that we received while loading the scene + Debug.Log("FinishLoadScene: resuming handlers after scene was loading."); + NetworkServer.isLoadingScene = false; + NetworkClient.isLoadingScene = false; + + // host mode? + if (mode == NetworkManagerMode.Host) + { + FinishLoadSceneHost(); + } + // server-only mode? + else if (mode == NetworkManagerMode.ServerOnly) + { + FinishLoadSceneServerOnly(); + } + // client-only mode? + else if (mode == NetworkManagerMode.ClientOnly) + { + FinishLoadSceneClientOnly(); + } + // otherwise we called it after stopping when loading offline scene. + // do nothing then. + } + + // finish load scene part for host mode. makes code easier and is + // necessary for FinishStartHost later. + // (the 3 things have to happen in that exact order) + void FinishLoadSceneHost() + { + // debug message is very important. if we ever break anything then + // it's very obvious to notice. + Debug.Log("Finished loading scene in host mode."); + + if (clientReadyConnection != null) + { + OnClientConnect(clientReadyConnection); + clientLoadedScene = true; + clientReadyConnection = null; + } + + // do we need to finish a StartHost() call? + // then call FinishStartHost and let it take care of spawning etc. + if (finishStartHostPending) + { + finishStartHostPending = false; + FinishStartHost(); + + // call OnServerSceneChanged + OnServerSceneChanged(networkSceneName); + + // DO NOT call OnClientSceneChanged here. + // the scene change happened because StartHost loaded the + // server's online scene. it has nothing to do with the client. + // this was not meant as a client scene load, so don't call it. + // + // otherwise AddPlayer would be called twice: + // -> once for client OnConnected + // -> once in OnClientSceneChanged + } + // otherwise we just changed a scene in host mode + else + { + // spawn server objects + NetworkServer.SpawnObjects(); + + // call OnServerSceneChanged + OnServerSceneChanged(networkSceneName); + + if (NetworkClient.isConnected) + { + // let client know that we changed scene + OnClientSceneChanged(NetworkClient.connection); + } + } + } + + // finish load scene part for server-only. . makes code easier and is + // necessary for FinishStartServer later. + void FinishLoadSceneServerOnly() + { + // debug message is very important. if we ever break anything then + // it's very obvious to notice. + Debug.Log("Finished loading scene in server-only mode."); + + NetworkServer.SpawnObjects(); + OnServerSceneChanged(networkSceneName); + } + + // finish load scene part for client-only. makes code easier and is + // necessary for FinishStartClient later. + void FinishLoadSceneClientOnly() + { + // debug message is very important. if we ever break anything then + // it's very obvious to notice. + Debug.Log("Finished loading scene in client-only mode."); + + if (clientReadyConnection != null) + { + OnClientConnect(clientReadyConnection); + clientLoadedScene = true; + clientReadyConnection = null; + } + + if (NetworkClient.isConnected) + { + OnClientSceneChanged(NetworkClient.connection); + } + } + + /// + /// Registers the transform of a game object as a player spawn location. + /// This is done automatically by NetworkStartPosition components, but can be done manually from user script code. + /// + /// Transform to register. + public static void RegisterStartPosition(Transform start) + { + // Debug.Log("RegisterStartPosition: (" + start.gameObject.name + ") " + start.position); + startPositions.Add(start); + + // reorder the list so that round-robin spawning uses the start positions + // in hierarchy order. This assumes all objects with NetworkStartPosition + // component are siblings, either in the scene root or together as children + // under a single parent in the scene. + startPositions = startPositions.OrderBy(transform => transform.GetSiblingIndex()).ToList(); + } + + /// Unregister a Transform from start positions. + // TODO why is this static? + public static void UnRegisterStartPosition(Transform start) + { + // Debug.Log("UnRegisterStartPosition: (" + start.gameObject.name + ") " + start.position); + startPositions.Remove(start); + } + + /// Get the next NetworkStartPosition based on the selected PlayerSpawnMethod. + public Transform GetStartPosition() + { + // first remove any dead transforms + startPositions.RemoveAll(t => t == null); + + if (startPositions.Count == 0) + return null; + + if (playerSpawnMethod == PlayerSpawnMethod.Random) + { + return startPositions[UnityEngine.Random.Range(0, startPositions.Count)]; + } + else + { + Transform startPosition = startPositions[startPositionIndex]; + startPositionIndex = (startPositionIndex + 1) % startPositions.Count; + return startPosition; + } + } + + void OnServerConnectInternal(NetworkConnection conn) + { + //Debug.Log("NetworkManager.OnServerConnectInternal"); + + if (authenticator != null) + { + // we have an authenticator - let it handle authentication + authenticator.OnServerAuthenticate(conn); + } + else + { + // authenticate immediately + OnServerAuthenticated(conn); + } + } + + // called after successful authentication + // TODO do the NetworkServer.OnAuthenticated thing from x branch + void OnServerAuthenticated(NetworkConnection conn) + { + //Debug.Log("NetworkManager.OnServerAuthenticated"); + + // set connection to authenticated + conn.isAuthenticated = true; + + // proceed with the login handshake by calling OnServerConnect + if (networkSceneName != "" && networkSceneName != offlineScene) + { + SceneMessage msg = new SceneMessage() { sceneName = networkSceneName }; + conn.Send(msg); + } + + OnServerConnect(conn); + } + + void OnServerReadyMessageInternal(NetworkConnection conn, ReadyMessage msg) + { + //Debug.Log("NetworkManager.OnServerReadyMessageInternal"); + OnServerReady(conn); + } + + void OnServerAddPlayerInternal(NetworkConnection conn, AddPlayerMessage msg) + { + //Debug.Log("NetworkManager.OnServerAddPlayer"); + + if (autoCreatePlayer && playerPrefab == null) + { + Debug.LogError("The PlayerPrefab is empty on the NetworkManager. Please setup a PlayerPrefab object."); + return; + } + + if (autoCreatePlayer && playerPrefab.GetComponent() == null) + { + Debug.LogError("The PlayerPrefab does not have a NetworkIdentity. Please add a NetworkIdentity to the player prefab."); + return; + } + + if (conn.identity != null) + { + Debug.LogError("There is already a player for this connection."); + return; + } + + OnServerAddPlayer(conn); + } + + void OnClientConnectInternal() + { + //Debug.Log("NetworkManager.OnClientConnectInternal"); + + if (authenticator != null) + { + // we have an authenticator - let it handle authentication + authenticator.OnClientAuthenticate(); + } + else + { + // authenticate immediately + OnClientAuthenticated(NetworkClient.connection); + } + } + + // called after successful authentication + void OnClientAuthenticated(NetworkConnection conn) + { + //Debug.Log("NetworkManager.OnClientAuthenticated"); + + // set connection to authenticated + conn.isAuthenticated = true; + + // proceed with the login handshake by calling OnClientConnect + if (string.IsNullOrEmpty(onlineScene) || onlineScene == offlineScene || IsSceneActive(onlineScene)) + { + clientLoadedScene = false; + OnClientConnect(conn); + } + else + { + // will wait for scene id to come from the server. + clientLoadedScene = true; + clientReadyConnection = conn; + } + } + + // TODO call OnClientDisconnect directly, don't pass the connection + void OnClientDisconnectInternal() + { + //Debug.Log("NetworkManager.OnClientDisconnectInternal"); + OnClientDisconnect(NetworkClient.connection); + } + + void OnClientNotReadyMessageInternal(NotReadyMessage msg) + { + //Debug.Log("NetworkManager.OnClientNotReadyMessageInternal"); + NetworkClient.ready = false; + OnClientNotReady(NetworkClient.connection); + // NOTE: clientReadyConnection is not set here! don't want OnClientConnect to be invoked again after scene changes. + } + + void OnClientSceneInternal(SceneMessage msg) + { + //Debug.Log("NetworkManager.OnClientSceneInternal"); + + // This needs to run for host client too. NetworkServer.active is checked there + if (NetworkClient.isConnected) + { + ClientChangeScene(msg.sceneName, msg.sceneOperation, msg.customHandling); + } + } + + /// Called on the server when a new client connects. + public virtual void OnServerConnect(NetworkConnection conn) {} + + /// Called on the server when a client disconnects. + // Called by NetworkServer.OnTransportDisconnect! + public virtual void OnServerDisconnect(NetworkConnection conn) + { + // by default, this function destroys the connection's player. + // can be overwritten for cases like delayed logouts in MMOs to + // avoid players escaping from PvP situations by logging out. + NetworkServer.DestroyPlayerForConnection(conn); + //Debug.Log("OnServerDisconnect: Client disconnected."); + } + + /// Called on the server when a client is ready (= loaded the scene) + public virtual void OnServerReady(NetworkConnection conn) + { + if (conn.identity == null) + { + // this is now allowed (was not for a while) + //Debug.Log("Ready with no player object"); + } + NetworkServer.SetClientReady(conn); + } + + /// Called on server when a client requests to add the player. Adds playerPrefab by default. Can be overwritten. + // The default implementation for this function creates a new player object from the playerPrefab. + public virtual void OnServerAddPlayer(NetworkConnection conn) + { + Transform startPos = GetStartPosition(); + GameObject player = startPos != null + ? Instantiate(playerPrefab, startPos.position, startPos.rotation) + : Instantiate(playerPrefab); + + // instantiating a "Player" prefab gives it the name "Player(clone)" + // => appending the connectionId is WAY more useful for debugging! + player.name = $"{playerPrefab.name} [connId={conn.connectionId}]"; + NetworkServer.AddPlayerForConnection(conn, player); + } + + // Deprecated 2021-02-13 + [Obsolete("OnServerError was removed because it hasn't been used in a long time.")] + public virtual void OnServerError(NetworkConnection conn, int errorCode) {} + + /// Called on server when transport raises an exception. NetworkConnection may be null. + public virtual void OnServerError(NetworkConnection conn, Exception exception) {} + + /// Called from ServerChangeScene immediately before SceneManager.LoadSceneAsync is executed + public virtual void OnServerChangeScene(string newSceneName) {} + + /// Called on server after a scene load with ServerChangeScene() is completed. + public virtual void OnServerSceneChanged(string sceneName) {} + + /// Called on the client when connected to a server. By default it sets client as ready and adds a player. + // TODO client only ever uses NetworkClient.connection. this parameter is redundant. + public virtual void OnClientConnect(NetworkConnection conn) + { + // OnClientConnect by default calls AddPlayer but it should not do + // that when we have online/offline scenes. so we need the + // clientLoadedScene flag to prevent it. + if (!clientLoadedScene) + { + // Ready/AddPlayer is usually triggered by a scene load + // completing. if no scene was loaded, then Ready/AddPlayer it + // here instead. + if (!NetworkClient.ready) NetworkClient.Ready(); + if (autoCreatePlayer) + { + NetworkClient.AddPlayer(); + } + } + } + + /// Called on clients when disconnected from a server. + // TODO client only ever uses NetworkClient.connection. this parameter is redundant. + public virtual void OnClientDisconnect(NetworkConnection conn) + { + StopClient(); + } + + // Deprecated 2021-02-13 + [Obsolete("OnClientError was removed because it hasn't been used in a long time.")] + public virtual void OnClientError(NetworkConnection conn, int errorCode) {} + + /// Called on client when transport raises an exception. + public virtual void OnClientError(Exception exception) {} + + /// Called on clients when a servers tells the client it is no longer ready, e.g. when switching scenes. + // TODO client only ever uses NetworkClient.connection. this parameter is redundant. + public virtual void OnClientNotReady(NetworkConnection conn) {} + + /// Called from ClientChangeScene immediately before SceneManager.LoadSceneAsync is executed + // customHandling: indicates if scene loading will be handled through overrides + public virtual void OnClientChangeScene(string newSceneName, SceneOperation sceneOperation, bool customHandling) {} + + /// Called on clients when a scene has completed loaded, when the scene load was initiated by the server. + // Scene changes can cause player objects to be destroyed. The default + // implementation of OnClientSceneChanged in the NetworkManager is to + // add a player object for the connection if no player object exists. + // TODO client only ever uses NetworkClient.connection. this parameter is redundant. + public virtual void OnClientSceneChanged(NetworkConnection conn) + { + // always become ready. + if (!NetworkClient.ready) NetworkClient.Ready(); + + // Only call AddPlayer for normal scene changes, not additive load/unload + if (clientSceneOperation == SceneOperation.Normal && autoCreatePlayer && NetworkClient.localPlayer == null) + { + // add player if existing one is null + NetworkClient.AddPlayer(); + } + } + + // Since there are multiple versions of StartServer, StartClient and + // StartHost, to reliably customize their functionality, users would + // need override all the versions. Instead these callbacks are invoked + // from all versions, so users only need to implement this one case. + + /// This is invoked when a host is started. + public virtual void OnStartHost() {} + + /// This is invoked when a server is started - including when a host is started. + public virtual void OnStartServer() {} + + /// This is invoked when the client is started. + public virtual void OnStartClient() {} + + /// This is called when a server is stopped - including when a host is stopped. + public virtual void OnStopServer() {} + + /// This is called when a client is stopped. + public virtual void OnStopClient() {} + + /// This is called when a host is stopped. + public virtual void OnStopHost() {} + } +} diff --git a/Assets/Mirror/Runtime/NetworkManager.cs.meta b/Assets/Mirror/Runtime/NetworkManager.cs.meta new file mode 100644 index 0000000..0a7564a --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8aab4c8111b7c411b9b92cf3dbc5bd4e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkManagerHUD.cs b/Assets/Mirror/Runtime/NetworkManagerHUD.cs new file mode 100644 index 0000000..0738064 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkManagerHUD.cs @@ -0,0 +1,157 @@ +// vis2k: GUILayout instead of spacey += ...; removed Update hotkeys to avoid +// confusion if someone accidentally presses one. +using System; +using UnityEngine; + +namespace Mirror +{ + /// Shows NetworkManager controls in a GUI at runtime. + [DisallowMultipleComponent] + [AddComponentMenu("Network/NetworkManagerHUD")] + [RequireComponent(typeof(NetworkManager))] + [HelpURL("https://mirror-networking.gitbook.io/docs/components/network-manager-hud")] + public class NetworkManagerHUD : MonoBehaviour + { + NetworkManager manager; + + // Deprecated 2021-02-24 + [Obsolete("showGUI will be removed unless someone has a valid use case. Simply use or don't use the HUD component.")] + public bool showGUI = true; + + public int offsetX; + public int offsetY; + + void Awake() + { + manager = GetComponent(); + } + + void OnGUI() + { +#pragma warning disable 618 + if (!showGUI) return; +#pragma warning restore 618 + + GUILayout.BeginArea(new Rect(10 + offsetX, 40 + offsetY, 215, 9999)); + if (!NetworkClient.isConnected && !NetworkServer.active) + { + StartButtons(); + } + else + { + StatusLabels(); + } + + // client ready + if (NetworkClient.isConnected && !NetworkClient.ready) + { + if (GUILayout.Button("Client Ready")) + { + NetworkClient.Ready(); + if (NetworkClient.localPlayer == null) + { + NetworkClient.AddPlayer(); + } + } + } + + StopButtons(); + + GUILayout.EndArea(); + } + + void StartButtons() + { + if (!NetworkClient.active) + { + // Server + Client + if (Application.platform != RuntimePlatform.WebGLPlayer) + { + if (GUILayout.Button("Host (Server + Client)")) + { + manager.StartHost(); + } + } + + // Client + IP + GUILayout.BeginHorizontal(); + if (GUILayout.Button("Client")) + { + manager.StartClient(); + } + manager.networkAddress = GUILayout.TextField(manager.networkAddress); + GUILayout.EndHorizontal(); + + // Server Only + if (Application.platform == RuntimePlatform.WebGLPlayer) + { + // cant be a server in webgl build + GUILayout.Box("( WebGL cannot be server )"); + } + else + { + if (GUILayout.Button("Server Only")) manager.StartServer(); + } + } + else + { + // Connecting + GUILayout.Label("Connecting to " + manager.networkAddress + ".."); + if (GUILayout.Button("Cancel Connection Attempt")) + { + manager.StopClient(); + } + } + } + + void StatusLabels() + { + // host mode + // display separately because this always confused people: + // Server: ... + // Client: ... + if (NetworkServer.active && NetworkClient.active) + { + GUILayout.Label($"Host: running via {Transport.activeTransport}"); + } + // server only + else if (NetworkServer.active) + { + GUILayout.Label($"Server: running via {Transport.activeTransport}"); + } + // client only + else if (NetworkClient.isConnected) + { + GUILayout.Label($"Client: connected to {manager.networkAddress} via {Transport.activeTransport}"); + } + } + + void StopButtons() + { + // stop host if host mode + if (NetworkServer.active && NetworkClient.isConnected) + { + if (GUILayout.Button("Stop Host")) + { + manager.StopHost(); + } + } + // stop client if client-only + else if (NetworkClient.isConnected) + { + if (GUILayout.Button("Stop Client")) + { + manager.StopClient(); + } + } + // stop server if server-only + else if (NetworkServer.active) + { + if (GUILayout.Button("Stop Server")) + { + manager.StopServer(); + } + } + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkManagerHUD.cs.meta b/Assets/Mirror/Runtime/NetworkManagerHUD.cs.meta new file mode 100644 index 0000000..a720b9c --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkManagerHUD.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6442dc8070ceb41f094e44de0bf87274 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkMessage.cs b/Assets/Mirror/Runtime/NetworkMessage.cs new file mode 100644 index 0000000..7fc387a --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkMessage.cs @@ -0,0 +1,4 @@ +namespace Mirror +{ + public interface NetworkMessage {} +} diff --git a/Assets/Mirror/Runtime/NetworkMessage.cs.meta b/Assets/Mirror/Runtime/NetworkMessage.cs.meta new file mode 100644 index 0000000..73d3d8f --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkMessage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eb04e4848a2e4452aa2dbd7adb801c51 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkReader.cs b/Assets/Mirror/Runtime/NetworkReader.cs new file mode 100644 index 0000000..3efdfbf --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkReader.cs @@ -0,0 +1,424 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using UnityEngine; + +namespace Mirror +{ + /// Helper class that weaver populates with all reader types. + // Note that c# creates a different static variable for each type + // -> Weaver.ReaderWriterProcessor.InitializeReaderAndWriters() populates it + public static class Reader + { + public static Func read; + } + + /// Network Reader for most simple types like floats, ints, buffers, structs, etc. Use NetworkReaderPool.GetReader() to avoid allocations. + // Note: This class is intended to be extremely pedantic, + // and throw exceptions whenever stuff is going slightly wrong. + // The exceptions will be handled in NetworkServer/NetworkClient. + public class NetworkReader + { + // internal buffer + // byte[] pointer would work, but we use ArraySegment to also support + // the ArraySegment constructor + ArraySegment buffer; + + /// Next position to read from the buffer + // 'int' is the best type for .Position. 'short' is too small if we send >32kb which would result in negative .Position + // -> converting long to int is fine until 2GB of data (MAX_INT), so we don't have to worry about overflows here + public int Position; + + /// Total number of bytes to read from buffer + public int Length => buffer.Count; + + /// Remaining bytes that can be read, for convenience. + public int Remaining => Length - Position; + + public NetworkReader(byte[] bytes) + { + buffer = new ArraySegment(bytes); + } + + public NetworkReader(ArraySegment segment) + { + buffer = segment; + } + + // sometimes it's useful to point a reader on another buffer instead of + // allocating a new reader (e.g. NetworkReaderPool) + public void SetBuffer(byte[] bytes) + { + buffer = new ArraySegment(bytes); + Position = 0; + } + + public void SetBuffer(ArraySegment segment) + { + buffer = segment; + Position = 0; + } + + public byte ReadByte() + { + if (Position + 1 > buffer.Count) + { + throw new EndOfStreamException("ReadByte out of range:" + ToString()); + } + return buffer.Array[buffer.Offset + Position++]; + } + + /// Read 'count' bytes into the bytes array + // TODO why does this also return bytes[]??? + public byte[] ReadBytes(byte[] bytes, int count) + { + // check if passed byte array is big enough + if (count > bytes.Length) + { + throw new EndOfStreamException("ReadBytes can't read " + count + " + bytes because the passed byte[] only has length " + bytes.Length); + } + + ArraySegment data = ReadBytesSegment(count); + Array.Copy(data.Array, data.Offset, bytes, 0, count); + return bytes; + } + + /// Read 'count' bytes allocation-free as ArraySegment that points to the internal array. + public ArraySegment ReadBytesSegment(int count) + { + // check if within buffer limits + if (Position + count > buffer.Count) + { + throw new EndOfStreamException("ReadBytesSegment can't read " + count + " bytes because it would read past the end of the stream. " + ToString()); + } + + // return the segment + ArraySegment result = new ArraySegment(buffer.Array, buffer.Offset + Position, count); + Position += count; + return result; + } + + public override string ToString() + { + return $"NetworkReader pos={Position} len={Length} buffer={BitConverter.ToString(buffer.Array, buffer.Offset, buffer.Count)}"; + } + + /// Reads any data type that mirror supports. Uses weaver populated Reader(T).read + public T Read() + { + Func readerDelegate = Reader.read; + if (readerDelegate == null) + { + Debug.LogError($"No reader found for {typeof(T)}. Use a type supported by Mirror or define a custom reader"); + return default; + } + return readerDelegate(this); + } + } + + // Mirror's Weaver automatically detects all NetworkReader function types, + // but they do all need to be extensions. + public static class NetworkReaderExtensions + { + // cache encoding instead of creating it each time + // 1000 readers before: 1MB GC, 30ms + // 1000 readers after: 0.8MB GC, 18ms + static readonly UTF8Encoding encoding = new UTF8Encoding(false, true); + + public static byte ReadByte(this NetworkReader reader) => reader.ReadByte(); + public static sbyte ReadSByte(this NetworkReader reader) => (sbyte)reader.ReadByte(); + public static char ReadChar(this NetworkReader reader) => (char)reader.ReadUShort(); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadBool instead.")] + public static bool ReadBoolean(this NetworkReader reader) => reader.ReadBool(); + public static bool ReadBool(this NetworkReader reader) => reader.ReadByte() != 0; + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadShort instead.")] + public static short ReadInt16(this NetworkReader reader) => reader.ReadShort(); + public static short ReadShort(this NetworkReader reader) => (short)reader.ReadUShort(); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadUShort instead.")] + public static ushort ReadUInt16(this NetworkReader reader) => reader.ReadUShort(); + public static ushort ReadUShort(this NetworkReader reader) + { + ushort value = 0; + value |= reader.ReadByte(); + value |= (ushort)(reader.ReadByte() << 8); + return value; + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadInt instead.")] + public static int ReadInt32(this NetworkReader reader) => reader.ReadInt(); + public static int ReadInt(this NetworkReader reader) => (int)reader.ReadUInt(); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadUInt instead.")] + public static uint ReadUInt32(this NetworkReader reader) => reader.ReadUInt(); + public static uint ReadUInt(this NetworkReader reader) + { + uint value = 0; + value |= reader.ReadByte(); + value |= (uint)(reader.ReadByte() << 8); + value |= (uint)(reader.ReadByte() << 16); + value |= (uint)(reader.ReadByte() << 24); + return value; + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadLong instead.")] + public static long ReadInt64(this NetworkReader reader) => reader.ReadLong(); + public static long ReadLong(this NetworkReader reader) => (long)reader.ReadULong(); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadULong instead.")] + public static ulong ReadUInt64(this NetworkReader reader) => reader.ReadULong(); + public static ulong ReadULong(this NetworkReader reader) + { + ulong value = 0; + value |= reader.ReadByte(); + value |= ((ulong)reader.ReadByte()) << 8; + value |= ((ulong)reader.ReadByte()) << 16; + value |= ((ulong)reader.ReadByte()) << 24; + value |= ((ulong)reader.ReadByte()) << 32; + value |= ((ulong)reader.ReadByte()) << 40; + value |= ((ulong)reader.ReadByte()) << 48; + value |= ((ulong)reader.ReadByte()) << 56; + return value; + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use ReadFloat instead.")] + public static float ReadSingle(this NetworkReader reader) => reader.ReadFloat(); + public static float ReadFloat(this NetworkReader reader) + { + UIntFloat converter = new UIntFloat(); + converter.intValue = reader.ReadUInt(); + return converter.floatValue; + } + + public static double ReadDouble(this NetworkReader reader) + { + UIntDouble converter = new UIntDouble(); + converter.longValue = reader.ReadULong(); + return converter.doubleValue; + } + public static decimal ReadDecimal(this NetworkReader reader) + { + UIntDecimal converter = new UIntDecimal(); + converter.longValue1 = reader.ReadULong(); + converter.longValue2 = reader.ReadULong(); + return converter.decimalValue; + } + + /// if an invalid utf8 string is sent + public static string ReadString(this NetworkReader reader) + { + // read number of bytes + ushort size = reader.ReadUShort(); + + // null support, see NetworkWriter + if (size == 0) + return null; + + int realSize = size - 1; + + // make sure it's within limits to avoid allocation attacks etc. + if (realSize >= NetworkWriter.MaxStringLength) + { + throw new EndOfStreamException("ReadString too long: " + realSize + ". Limit is: " + NetworkWriter.MaxStringLength); + } + + ArraySegment data = reader.ReadBytesSegment(realSize); + + // convert directly from buffer to string via encoding + return encoding.GetString(data.Array, data.Offset, data.Count); + } + + /// if count is invalid + public static byte[] ReadBytesAndSize(this NetworkReader reader) + { + // count = 0 means the array was null + // otherwise count -1 is the length of the array + uint count = reader.ReadUInt(); + // Use checked() to force it to throw OverflowException if data is invalid + return count == 0 ? null : reader.ReadBytes(checked((int)(count - 1u))); + } + + /// if count is invalid + public static ArraySegment ReadBytesAndSizeSegment(this NetworkReader reader) + { + // count = 0 means the array was null + // otherwise count - 1 is the length of the array + uint count = reader.ReadUInt(); + // Use checked() to force it to throw OverflowException if data is invalid + return count == 0 ? default : reader.ReadBytesSegment(checked((int)(count - 1u))); + } + + public static Vector2 ReadVector2(this NetworkReader reader) => new Vector2(reader.ReadFloat(), reader.ReadFloat()); + public static Vector3 ReadVector3(this NetworkReader reader) => new Vector3(reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat()); + // TODO add nullable support to weaver instead + public static Vector3? ReadVector3Nullable(this NetworkReader reader) => reader.ReadBool() ? ReadVector3(reader) : default; + public static Vector4 ReadVector4(this NetworkReader reader) => new Vector4(reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat()); + public static Vector2Int ReadVector2Int(this NetworkReader reader) => new Vector2Int(reader.ReadInt(), reader.ReadInt()); + public static Vector3Int ReadVector3Int(this NetworkReader reader) => new Vector3Int(reader.ReadInt(), reader.ReadInt(), reader.ReadInt()); + public static Color ReadColor(this NetworkReader reader) => new Color(reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat()); + public static Color32 ReadColor32(this NetworkReader reader) => new Color32(reader.ReadByte(), reader.ReadByte(), reader.ReadByte(), reader.ReadByte()); + public static Quaternion ReadQuaternion(this NetworkReader reader) => new Quaternion(reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat()); + // TODO add nullable support to weaver instead + public static Quaternion? ReadQuaternionNullable(this NetworkReader reader) => reader.ReadBool() ? ReadQuaternion(reader) : default; + public static Rect ReadRect(this NetworkReader reader) => new Rect(reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat(), reader.ReadFloat()); + public static Plane ReadPlane(this NetworkReader reader) => new Plane(reader.ReadVector3(), reader.ReadFloat()); + public static Ray ReadRay(this NetworkReader reader) => new Ray(reader.ReadVector3(), reader.ReadVector3()); + public static Matrix4x4 ReadMatrix4x4(this NetworkReader reader) + { + return new Matrix4x4 + { + m00 = reader.ReadFloat(), + m01 = reader.ReadFloat(), + m02 = reader.ReadFloat(), + m03 = reader.ReadFloat(), + m10 = reader.ReadFloat(), + m11 = reader.ReadFloat(), + m12 = reader.ReadFloat(), + m13 = reader.ReadFloat(), + m20 = reader.ReadFloat(), + m21 = reader.ReadFloat(), + m22 = reader.ReadFloat(), + m23 = reader.ReadFloat(), + m30 = reader.ReadFloat(), + m31 = reader.ReadFloat(), + m32 = reader.ReadFloat(), + m33 = reader.ReadFloat() + }; + } + public static byte[] ReadBytes(this NetworkReader reader, int count) + { + byte[] bytes = new byte[count]; + reader.ReadBytes(bytes, count); + return bytes; + } + public static Guid ReadGuid(this NetworkReader reader) => new Guid(reader.ReadBytes(16)); + + public static Transform ReadTransform(this NetworkReader reader) + { + // Don't use null propagation here as it could lead to MissingReferenceException + NetworkIdentity networkIdentity = reader.ReadNetworkIdentity(); + return networkIdentity != null ? networkIdentity.transform : null; + } + + public static GameObject ReadGameObject(this NetworkReader reader) + { + // Don't use null propagation here as it could lead to MissingReferenceException + NetworkIdentity networkIdentity = reader.ReadNetworkIdentity(); + return networkIdentity != null ? networkIdentity.gameObject : null; + } + + public static NetworkIdentity ReadNetworkIdentity(this NetworkReader reader) + { + uint netId = reader.ReadUInt(); + if (netId == 0) + return null; + + if (NetworkIdentity.spawned.TryGetValue(netId, out NetworkIdentity identity)) + { + return identity; + } + + // a netId not being in spawned is common. + // for example, "[SyncVar] NetworkIdentity target" netId would not + // be known on client if the monster walks out of proximity for a + // moment. no need to log any error or warning here. + return null; + } + + public static NetworkBehaviour ReadNetworkBehaviour(this NetworkReader reader) + { + uint netId = reader.ReadUInt(); + if (netId == 0) + return null; + + // if netId is not 0, then index is also sent to read before returning + byte componentIndex = reader.ReadByte(); + + if (NetworkIdentity.spawned.TryGetValue(netId, out NetworkIdentity identity)) + { + return identity.NetworkBehaviours[componentIndex]; + } + + // a netId not being in spawned is common. + // for example, "[SyncVar] NetworkBehaviour target" netId would not + // be known on client if the monster walks out of proximity for a + // moment. no need to log any error or warning here. + return null; + } + + public static T ReadNetworkBehaviour(this NetworkReader reader) where T : NetworkBehaviour + { + return reader.ReadNetworkBehaviour() as T; + } + + public static NetworkBehaviour.NetworkBehaviourSyncVar ReadNetworkBehaviourSyncVar(this NetworkReader reader) + { + uint netId = reader.ReadUInt(); + byte componentIndex = default; + + // if netId is not 0, then index is also sent to read before returning + if (netId != 0) + { + componentIndex = reader.ReadByte(); + } + + return new NetworkBehaviour.NetworkBehaviourSyncVar(netId, componentIndex); + } + + public static List ReadList(this NetworkReader reader) + { + int length = reader.ReadInt(); + if (length < 0) + return null; + List result = new List(length); + for (int i = 0; i < length; i++) + { + result.Add(reader.Read()); + } + return result; + } + + public static T[] ReadArray(this NetworkReader reader) + { + int length = reader.ReadInt(); + + // we write -1 for null + if (length < 0) + return null; + + // todo throw an exception for other negative values (we never write them, likely to be attacker) + + // this assumes that a reader for T reads at least 1 bytes + // we can't know the exact size of T because it could have a user created reader + // NOTE: don't add to length as it could overflow if value is int.max + if (length > reader.Length - reader.Position) + { + throw new EndOfStreamException($"Received array that is too large: {length}"); + } + + T[] result = new T[length]; + for (int i = 0; i < length; i++) + { + result[i] = reader.Read(); + } + return result; + } + + public static Uri ReadUri(this NetworkReader reader) + { + string uriString = reader.ReadString(); + return (string.IsNullOrEmpty(uriString) ? null : new Uri(uriString)); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkReader.cs.meta b/Assets/Mirror/Runtime/NetworkReader.cs.meta new file mode 100644 index 0000000..65ad3f0 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkReader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1610f05ec5bd14d6882e689f7372596a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkReaderPool.cs b/Assets/Mirror/Runtime/NetworkReaderPool.cs new file mode 100644 index 0000000..c410c60 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkReaderPool.cs @@ -0,0 +1,50 @@ +using System; + +namespace Mirror +{ + /// Pooled NetworkReader, automatically returned to pool when using 'using' + public sealed class PooledNetworkReader : NetworkReader, IDisposable + { + internal PooledNetworkReader(byte[] bytes) : base(bytes) {} + internal PooledNetworkReader(ArraySegment segment) : base(segment) {} + public void Dispose() => NetworkReaderPool.Recycle(this); + } + + /// Pool of NetworkReaders to avoid allocations. + public static class NetworkReaderPool + { + // reuse Pool + // we still wrap it in NetworkReaderPool.Get/Recyle so we can reset the + // position and array before reusing. + static readonly Pool Pool = new Pool( + // byte[] will be assigned in GetReader + () => new PooledNetworkReader(new byte[]{}), + // initial capacity to avoid allocations in the first few frames + 1000 + ); + + /// Get the next reader in the pool. If pool is empty, creates a new Reader + public static PooledNetworkReader GetReader(byte[] bytes) + { + // grab from pool & set buffer + PooledNetworkReader reader = Pool.Take(); + reader.SetBuffer(bytes); + return reader; + } + + /// Get the next reader in the pool. If pool is empty, creates a new Reader + public static PooledNetworkReader GetReader(ArraySegment segment) + { + // grab from pool & set buffer + PooledNetworkReader reader = Pool.Take(); + reader.SetBuffer(segment); + return reader; + } + + /// Returns a reader to the pool. + public static void Recycle(PooledNetworkReader reader) + { + Pool.Return(reader); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkReaderPool.cs.meta b/Assets/Mirror/Runtime/NetworkReaderPool.cs.meta new file mode 100644 index 0000000..2c94768 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkReaderPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bacff63613ad634a98f9e4d15d29dbf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkServer.cs b/Assets/Mirror/Runtime/NetworkServer.cs new file mode 100644 index 0000000..1944caa --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkServer.cs @@ -0,0 +1,1672 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Mirror.RemoteCalls; +using UnityEngine; + +namespace Mirror +{ + /// NetworkServer handles remote connections and has a local connection for a local client. + public static class NetworkServer + { + static bool initialized; + public static int maxConnections; + + /// Connection to host mode client (if any) + public static NetworkConnectionToClient localConnection { get; private set; } + + /// True is a local client is currently active on the server + public static bool localClientActive => localConnection != null; + + /// Dictionary of all server connections, with connectionId as key + public static Dictionary connections = + new Dictionary(); + + /// Message Handlers dictionary, with mesageId as key + internal static Dictionary handlers = + new Dictionary(); + + /// Single player mode can use dontListen to not accept incoming connections + // see also: https://github.com/vis2k/Mirror/pull/2595 + public static bool dontListen; + + /// active checks if the server has been started + public static bool active { get; internal set; } + + // scene loading + public static bool isLoadingScene; + + // interest management component (optional) + // by default, everyone observes everyone + public static InterestManagement aoi; + + // Deprecated 2021-05-10 + [Obsolete("Transport is responsible for timeouts.")] + public static bool disconnectInactiveConnections; + + // Deprecated 2021-05-10 + [Obsolete("Transport is responsible for timeouts. Configure the Transport's timeout setting instead.")] + public static float disconnectInactiveTimeout = 60f; + + // OnConnected / OnDisconnected used to be NetworkMessages that were + // invoked. this introduced a bug where external clients could send + // Connected/Disconnected messages over the network causing undefined + // behaviour. + // => public so that custom NetworkManagers can hook into it + public static Action OnConnectedEvent; + public static Action OnDisconnectedEvent; + public static Action OnErrorEvent; + + // initialization / shutdown /////////////////////////////////////////// + static void Initialize() + { + if (initialized) + return; + + initialized = true; + // Debug.Log("NetworkServer Created version " + Version.Current); + + //Make sure connections are cleared in case any old connections references exist from previous sessions + connections.Clear(); + + // reset NetworkTime + NetworkTime.Reset(); + + Debug.Assert(Transport.activeTransport != null, "There was no active transport when calling NetworkServer.Listen, If you are calling Listen manually then make sure to set 'Transport.activeTransport' first"); + AddTransportHandlers(); + } + + static void AddTransportHandlers() + { + Transport.activeTransport.OnServerConnected = OnTransportConnected; + Transport.activeTransport.OnServerDataReceived = OnTransportData; + Transport.activeTransport.OnServerDisconnected = OnTransportDisconnected; + Transport.activeTransport.OnServerError = OnError; + } + + // calls OnStartClient for all SERVER objects in host mode once. + // client doesn't get spawn messages for those, so need to call manually. + public static void ActivateHostScene() + { + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values) + { + if (!identity.isClient) + { + // Debug.Log("ActivateHostScene " + identity.netId + " " + identity); + identity.OnStartClient(); + } + } + } + + internal static void RegisterMessageHandlers() + { + RegisterHandler(OnClientReadyMessage); + RegisterHandler(OnCommandMessage); + RegisterHandler(NetworkTime.OnServerPing, false); + } + + /// Starts server and listens to incoming connections with max connections limit. + public static void Listen(int maxConns) + { + Initialize(); + maxConnections = maxConns; + + // only start server if we want to listen + if (!dontListen) + { + Transport.activeTransport.ServerStart(); + Debug.Log("Server started listening"); + } + + active = true; + RegisterMessageHandlers(); + } + + // Note: NetworkClient.DestroyAllClientObjects does the same on client. + static void CleanupNetworkIdentities() + { + // iterate a COPY of NetworkIdentity.spawned. + // DestroyObject removes them from the original collection. + // removing while iterating is not allowed. + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values.ToList()) + { + if (identity != null) + { + // scene object + if (identity.sceneId != 0) + { + // spawned scene objects are unspawned and reset. + // afterwards we disable them again. + // (they always stay in the scene, we don't destroy them) + DestroyObject(identity, DestroyMode.Reset); + identity.gameObject.SetActive(false); + } + // spawned prefabs + else + { + // spawned prefabs are unspawned and destroyed. + DestroyObject(identity, DestroyMode.Destroy); + } + } + } + + NetworkIdentity.spawned.Clear(); + } + + /// Shuts down the server and disconnects all clients + public static void Shutdown() + { + if (initialized) + { + DisconnectAll(); + + // stop the server. + // we do NOT call Transport.Shutdown, because someone only + // called NetworkServer.Shutdown. we can't assume that the + // client is supposed to be shut down too! + // + // NOTE: stop no matter what, even if 'dontListen': + // someone might enabled dontListen at runtime. + // but we still need to stop the server. + // fixes https://github.com/vis2k/Mirror/issues/2536 + Transport.activeTransport.ServerStop(); + initialized = false; + } + dontListen = false; + active = false; + handlers.Clear(); + + CleanupNetworkIdentities(); + NetworkIdentity.ResetNextNetworkId(); + + // clear events. someone might have hooked into them before, but + // we don't want to use those hooks after Shutdown anymore. + OnConnectedEvent = null; + OnDisconnectedEvent = null; + } + + // connections ///////////////////////////////////////////////////////// + /// Add a connection and setup callbacks. Returns true if not added yet. + public static bool AddConnection(NetworkConnectionToClient conn) + { + if (!connections.ContainsKey(conn.connectionId)) + { + // connection cannot be null here or conn.connectionId + // would throw NRE + connections[conn.connectionId] = conn; + return true; + } + // already a connection with this id + return false; + } + + /// Removes a connection by connectionId. Returns true if removed. + public static bool RemoveConnection(int connectionId) + { + return connections.Remove(connectionId); + } + + // called by LocalClient to add itself. don't call directly. + // TODO consider internal setter instead? + internal static void SetLocalConnection(LocalConnectionToClient conn) + { + if (localConnection != null) + { + Debug.LogError("Local Connection already exists"); + return; + } + + localConnection = conn; + } + + // removes local connection to client + internal static void RemoveLocalConnection() + { + if (localConnection != null) + { + localConnection.Disconnect(); + localConnection = null; + } + RemoveConnection(0); + } + + /// True if we have no external connections (host is allowed) + public static bool NoExternalConnections() + { + return connections.Count == 0 || + (connections.Count == 1 && localConnection != null); + } + + // Deprecated 2021-03-07 + [Obsolete("NoConnections was renamed to NoExternalConnections because that's what it checks for.")] + public static bool NoConnections() => NoExternalConnections(); + + // send //////////////////////////////////////////////////////////////// + /// Send a message to all clients, even those that haven't joined the world yet (non ready) + public static void SendToAll(T message, int channelId = Channels.Reliable, bool sendToReadyOnly = false) + where T : struct, NetworkMessage + { + if (!active) + { + Debug.LogWarning("Can not send using NetworkServer.SendToAll(T msg) because NetworkServer is not active"); + return; + } + + // Debug.Log("Server.SendToAll id:" + typeof(T)); + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // pack message only once + MessagePacking.Pack(message, writer); + ArraySegment segment = writer.ToArraySegment(); + + // filter and then send to all internet connections at once + // -> makes code more complicated, but is HIGHLY worth it to + // avoid allocations, allow for multicast, etc. + int count = 0; + foreach (NetworkConnectionToClient conn in connections.Values) + { + if (sendToReadyOnly && !conn.isReady) + continue; + + count++; + conn.Send(segment, channelId); + } + + NetworkDiagnostics.OnSend(message, channelId, segment.Count, count); + } + } + + /// Send a message to all clients which have joined the world (are ready). + // TODO put rpcs into NetworkServer.Update WorldState packet, then finally remove SendToReady! + public static void SendToReady(T message, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + if (!active) + { + Debug.LogWarning("Can not send using NetworkServer.SendToReady(T msg) because NetworkServer is not active"); + return; + } + + SendToAll(message, channelId, true); + } + + /// Send a message to only clients which are ready with option to include the owner of the object identity + // TODO put rpcs into NetworkServer.Update WorldState packet, then finally remove SendToReady! + public static void SendToReady(NetworkIdentity identity, T message, bool includeOwner = true, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + // Debug.Log("Server.SendToReady msgType:" + typeof(T)); + if (identity == null || identity.observers == null || identity.observers.Count == 0) + return; + + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // pack message only once + MessagePacking.Pack(message, writer); + ArraySegment segment = writer.ToArraySegment(); + + int count = 0; + foreach (NetworkConnection conn in identity.observers.Values) + { + bool isOwner = conn == identity.connectionToClient; + if ((!isOwner || includeOwner) && conn.isReady) + { + count++; + conn.Send(segment, channelId); + } + } + + NetworkDiagnostics.OnSend(message, channelId, segment.Count, count); + } + } + + /// Send a message to only clients which are ready including the owner of the NetworkIdentity + // TODO put rpcs into NetworkServer.Update WorldState packet, then finally remove SendToReady! + public static void SendToReady(NetworkIdentity identity, T message, int channelId) + where T : struct, NetworkMessage + { + SendToReady(identity, message, true, channelId); + } + + // this is like SendToReady - but it doesn't check the ready flag on the connection. + // this is used for ObjectDestroy messages. + static void SendToObservers(NetworkIdentity identity, T message, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + // Debug.Log("Server.SendToObservers id:" + typeof(T)); + if (identity == null || identity.observers == null || identity.observers.Count == 0) + return; + + using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter()) + { + // pack message into byte[] once + MessagePacking.Pack(message, writer); + ArraySegment segment = writer.ToArraySegment(); + + foreach (NetworkConnection conn in identity.observers.Values) + { + conn.Send(segment, channelId); + } + + NetworkDiagnostics.OnSend(message, channelId, segment.Count, identity.observers.Count); + } + } + + /// Send this message to the player only + // Deprecated 2021-03-04 + [Obsolete("Use identity.connectionToClient.Send() instead! Previously Mirror needed this function internally, but not anymore.")] + public static void SendToClientOfPlayer(NetworkIdentity identity, T msg, int channelId = Channels.Reliable) + where T : struct, NetworkMessage + { + if (identity != null) + { + identity.connectionToClient.Send(msg, channelId); + } + else + { + Debug.LogError("SendToClientOfPlayer: player has no NetworkIdentity: " + identity); + } + } + + // transport events //////////////////////////////////////////////////// + // called by transport + static void OnTransportConnected(int connectionId) + { + // Debug.Log("Server accepted client:" + connectionId); + + // connectionId needs to be != 0 because 0 is reserved for local player + // note that some transports like kcp generate connectionId by + // hashing which can be < 0 as well, so we need to allow < 0! + if (connectionId == 0) + { + Debug.LogError("Server.HandleConnect: invalid connectionId: " + connectionId + " . Needs to be != 0, because 0 is reserved for local player."); + Transport.activeTransport.ServerDisconnect(connectionId); + return; + } + + // connectionId not in use yet? + if (connections.ContainsKey(connectionId)) + { + Transport.activeTransport.ServerDisconnect(connectionId); + // Debug.Log("Server connectionId " + connectionId + " already in use. kicked client:" + connectionId); + return; + } + + // are more connections allowed? if not, kick + // (it's easier to handle this in Mirror, so Transports can have + // less code and third party transport might not do that anyway) + // (this way we could also send a custom 'tooFull' message later, + // Transport can't do that) + if (connections.Count < maxConnections) + { + // add connection + NetworkConnectionToClient conn = new NetworkConnectionToClient(connectionId); + OnConnected(conn); + } + else + { + // kick + Transport.activeTransport.ServerDisconnect(connectionId); + // Debug.Log("Server full, kicked client:" + connectionId); + } + } + + internal static void OnConnected(NetworkConnectionToClient conn) + { + // Debug.Log("Server accepted client:" + conn); + + // add connection and invoke connected event + AddConnection(conn); + OnConnectedEvent?.Invoke(conn); + } + + static bool UnpackAndInvoke(NetworkConnectionToClient connection, NetworkReader reader, int channelId) + { + if (MessagePacking.Unpack(reader, out ushort msgType)) + { + // try to invoke the handler for that message + if (handlers.TryGetValue(msgType, out NetworkMessageDelegate handler)) + { + handler.Invoke(connection, reader, channelId); + connection.lastMessageTime = Time.time; + return true; + } + else + { + // Debug.Log("Unknown message ID " + msgType + " " + this + ". May be due to no existing RegisterHandler for this message."); + return false; + } + } + else + { + Debug.LogError("Closed connection: " + connection + ". Invalid message header."); + connection.Disconnect(); + return false; + } + } + + // called by transport + internal static void OnTransportData(int connectionId, ArraySegment data, int channelId) + { + if (connections.TryGetValue(connectionId, out NetworkConnectionToClient connection)) + { + // client might batch multiple messages into one packet. + // feed it to the Unbatcher. + // NOTE: we don't need to associate a channelId because we + // always process all messages in the batch. + if (!connection.unbatcher.AddBatch(data)) + { + Debug.LogWarning($"NetworkServer: received Message was too short (messages should start with message id)"); + connection.Disconnect(); + return; + } + + // process all messages in the batch. + // only while NOT loading a scene. + // if we get a scene change message, then we need to stop + // processing. otherwise we might apply them to the old scene. + // => fixes https://github.com/vis2k/Mirror/issues/2651 + // + // NOTE: is scene starts loading, then the rest of the batch + // would only be processed when OnTransportData is called + // the next time. + // => consider moving processing to NetworkEarlyUpdate. + while (!isLoadingScene && + connection.unbatcher.GetNextMessage(out NetworkReader reader, out double remoteTimestamp)) + { + // enough to read at least header size? + if (reader.Remaining >= MessagePacking.HeaderSize) + { + // make remoteTimeStamp available to the user + connection.remoteTimeStamp = remoteTimestamp; + + // handle message + if (!UnpackAndInvoke(connection, reader, channelId)) + break; + } + // otherwise disconnect + else + { + Debug.LogError($"NetworkServer: received Message was too short (messages should start with message id). Disconnecting {connectionId}"); + connection.Disconnect(); + return; + } + } + } + else Debug.LogError("HandleData Unknown connectionId:" + connectionId); + } + + // called by transport + // IMPORTANT: often times when disconnecting, we call this from Mirror + // too because we want to remove the connection and handle + // the disconnect immediately. + // => which is fine as long as we guarantee it only runs once + // => which we do by removing the connection! + internal static void OnTransportDisconnected(int connectionId) + { + // Debug.Log("Server disconnect client:" + connectionId); + if (connections.TryGetValue(connectionId, out NetworkConnectionToClient conn)) + { + RemoveConnection(connectionId); + // Debug.Log("Server lost client:" + connectionId); + + // NetworkManager hooks into OnDisconnectedEvent to make + // DestroyPlayerForConnection(conn) optional, e.g. for PvP MMOs + // where players shouldn't be able to escape combat instantly. + if (OnDisconnectedEvent != null) + { + OnDisconnectedEvent.Invoke(conn); + } + // if nobody hooked into it, then simply call DestroyPlayerForConnection + else + { + DestroyPlayerForConnection(conn); + } + } + } + + static void OnError(int connectionId, Exception exception) + { + Debug.LogException(exception); + // try get connection. passes null otherwise. + connections.TryGetValue(connectionId, out NetworkConnectionToClient conn); + OnErrorEvent?.Invoke(conn, exception); + } + + // message handlers //////////////////////////////////////////////////// + /// Register a handler for message type T. Most should require authentication. + public static void RegisterHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + if (handlers.ContainsKey(msgType)) + { + Debug.LogWarning($"NetworkServer.RegisterHandler replacing handler for {typeof(T).FullName}, id={msgType}. If replacement is intentional, use ReplaceHandler instead to avoid this warning."); + } + handlers[msgType] = MessagePacking.WrapHandler(handler, requireAuthentication); + } + + /// Register a handler for message type T. Most should require authentication. + // Deprecated 2021-02-24 + [Obsolete("Use RegisterHandler(Action(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + RegisterHandler((_, value) => { handler(value); }, requireAuthentication); + } + + /// Replace a handler for message type T. Most should require authentication. + public static void ReplaceHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + handlers[msgType] = MessagePacking.WrapHandler(handler, requireAuthentication); + } + + /// Replace a handler for message type T. Most should require authentication. + public static void ReplaceHandler(Action handler, bool requireAuthentication = true) + where T : struct, NetworkMessage + { + ReplaceHandler((_, value) => { handler(value); }, requireAuthentication); + } + + /// Unregister a handler for a message type T. + public static void UnregisterHandler() + where T : struct, NetworkMessage + { + ushort msgType = MessagePacking.GetId(); + handlers.Remove(msgType); + } + + /// Clears all registered message handlers. + public static void ClearHandlers() => handlers.Clear(); + + internal static bool GetNetworkIdentity(GameObject go, out NetworkIdentity identity) + { + identity = go.GetComponent(); + if (identity == null) + { + Debug.LogError($"GameObject {go.name} doesn't have NetworkIdentity."); + return false; + } + return true; + } + + // disconnect ////////////////////////////////////////////////////////// + /// Disconnect all connections, including the local connection. + // synchronous: handles disconnect events and cleans up fully before returning! + public static void DisconnectAll() + { + // disconnect and remove all connections. + // we can not use foreach here because if + // conn.Disconnect -> Transport.ServerDisconnect calls + // OnDisconnect -> NetworkServer.OnDisconnect(connectionId) + // immediately then OnDisconnect would remove the connection while + // we are iterating here. + // see also: https://github.com/vis2k/Mirror/issues/2357 + // this whole process should be simplified some day. + // until then, let's copy .Values to avoid InvalidOperatinException. + // note that this is only called when stopping the server, so the + // copy is no performance problem. + foreach (NetworkConnectionToClient conn in connections.Values.ToList()) + { + // disconnect via connection->transport + conn.Disconnect(); + + // we want this function to be synchronous: handle disconnect + // events and clean up fully before returning. + // -> OnTransportDisconnected can safely be called without + // waiting for the Transport's callback. + // -> it has checks to only run once. + + // call OnDisconnected unless local player in host mod + // TODO unnecessary check? + if (conn.connectionId != NetworkConnection.LocalConnectionId) + OnTransportDisconnected(conn.connectionId); + } + + // cleanup + connections.Clear(); + localConnection = null; + active = false; + } + + // Deprecated 2021-05-11 + [Obsolete("Call NetworkClient.DisconnectAll() instead")] + public static void DisconnectAllExternalConnections() => DisconnectAll(); + + // Deprecated 2021-05-11 + [Obsolete("Call NetworkClient.DisconnectAll() instead")] + public static void DisconnectAllConnections() => DisconnectAll(); + + // add/remove/replace player /////////////////////////////////////////// + /// Called by server after AddPlayer message to add the player for the connection. + // When a player is added for a connection, the client for that + // connection is made ready automatically. The player object is + // automatically spawned, so you do not need to call NetworkServer.Spawn + // for that object. This function is used for "adding" a player, not for + // "replacing" the player on a connection. If there is already a player + // on this playerControllerId for this connection, this will fail. + public static bool AddPlayerForConnection(NetworkConnection conn, GameObject player) + { + NetworkIdentity identity = player.GetComponent(); + if (identity == null) + { + Debug.LogWarning("AddPlayer: playerGameObject has no NetworkIdentity. Please add a NetworkIdentity to " + player); + return false; + } + + // cannot have a player object in "Add" version + if (conn.identity != null) + { + Debug.Log("AddPlayer: player object already exists"); + return false; + } + + // make sure we have a controller before we call SetClientReady + // because the observers will be rebuilt only if we have a controller + conn.identity = identity; + + // Set the connection on the NetworkIdentity on the server, NetworkIdentity.SetLocalPlayer is not called on the server (it is on clients) + identity.SetClientOwner(conn); + + // special case, we are in host mode, set hasAuthority to true so that all overrides see it + if (conn is LocalConnectionToClient) + { + identity.hasAuthority = true; + NetworkClient.InternalAddPlayer(identity); + } + + // set ready if not set yet + SetClientReady(conn); + + // Debug.Log("Adding new playerGameObject object netId: " + identity.netId + " asset ID " + identity.assetId); + + Respawn(identity); + return true; + } + + /// Called by server after AddPlayer message to add the player for the connection. + // When a player is added for a connection, the client for that + // connection is made ready automatically. The player object is + // automatically spawned, so you do not need to call NetworkServer.Spawn + // for that object. This function is used for "adding" a player, not for + // "replacing" the player on a connection. If there is already a player + // on this playerControllerId for this connection, this will fail. + public static bool AddPlayerForConnection(NetworkConnection conn, GameObject player, Guid assetId) + { + if (GetNetworkIdentity(player, out NetworkIdentity identity)) + { + identity.assetId = assetId; + } + return AddPlayerForConnection(conn, player); + } + + /// Replaces connection's player object. The old object is not destroyed. + // This does NOT change the ready state of the connection, so it can + // safely be used while changing scenes. + public static bool ReplacePlayerForConnection(NetworkConnection conn, GameObject player, bool keepAuthority = false) + { + NetworkIdentity identity = player.GetComponent(); + if (identity == null) + { + Debug.LogError("ReplacePlayer: playerGameObject has no NetworkIdentity. Please add a NetworkIdentity to " + player); + return false; + } + + if (identity.connectionToClient != null && identity.connectionToClient != conn) + { + Debug.LogError("Cannot replace player for connection. New player is already owned by a different connection" + player); + return false; + } + + //NOTE: there can be an existing player + //Debug.Log("NetworkServer ReplacePlayer"); + + NetworkIdentity previousPlayer = conn.identity; + + conn.identity = identity; + + // Set the connection on the NetworkIdentity on the server, NetworkIdentity.SetLocalPlayer is not called on the server (it is on clients) + identity.SetClientOwner(conn); + + // special case, we are in host mode, set hasAuthority to true so that all overrides see it + if (conn is LocalConnectionToClient) + { + identity.hasAuthority = true; + NetworkClient.InternalAddPlayer(identity); + } + + // add connection to observers AFTER the playerController was set. + // by definition, there is nothing to observe if there is no player + // controller. + // + // IMPORTANT: do this in AddPlayerForConnection & ReplacePlayerForConnection! + SpawnObserversForConnection(conn); + + // Debug.Log("Replacing playerGameObject object netId: " + player.GetComponent().netId + " asset ID " + player.GetComponent().assetId); + + Respawn(identity); + + if (!keepAuthority) + previousPlayer.RemoveClientAuthority(); + + return true; + } + + /// Replaces connection's player object. The old object is not destroyed. + // This does NOT change the ready state of the connection, so it can + // safely be used while changing scenes. + public static bool ReplacePlayerForConnection(NetworkConnection conn, GameObject player, Guid assetId, bool keepAuthority = false) + { + if (GetNetworkIdentity(player, out NetworkIdentity identity)) + { + identity.assetId = assetId; + } + return ReplacePlayerForConnection(conn, player, keepAuthority); + } + + // ready /////////////////////////////////////////////////////////////// + /// Flags client connection as ready (=joined world). + // When a client has signaled that it is ready, this method tells the + // server that the client is ready to receive spawned objects and state + // synchronization updates. This is usually called in a handler for the + // SYSTEM_READY message. If there is not specific action a game needs to + // take for this message, relying on the default ready handler function + // is probably fine, so this call wont be needed. + public static void SetClientReady(NetworkConnection conn) + { + // Debug.Log("SetClientReadyInternal for conn:" + conn); + + // set ready + conn.isReady = true; + + // client is ready to start spawning objects + if (conn.identity != null) + SpawnObserversForConnection(conn); + } + + /// Marks the client of the connection to be not-ready. + // Clients that are not ready do not receive spawned objects or state + // synchronization updates. They client can be made ready again by + // calling SetClientReady(). + public static void SetClientNotReady(NetworkConnection conn) + { + if (conn.isReady) + { + // Debug.Log("PlayerNotReady " + conn); + conn.isReady = false; + conn.RemoveFromObservingsObservers(); + + conn.Send(new NotReadyMessage()); + } + } + + /// Marks all connected clients as no longer ready. + // All clients will no longer be sent state synchronization updates. The + // player's clients can call ClientManager.Ready() again to re-enter the + // ready state. This is useful when switching scenes. + public static void SetAllClientsNotReady() + { + foreach (NetworkConnectionToClient conn in connections.Values) + { + SetClientNotReady(conn); + } + } + + // default ready handler. + static void OnClientReadyMessage(NetworkConnection conn, ReadyMessage msg) + { + // Debug.Log("Default handler for ready message from " + conn); + SetClientReady(conn); + } + + // show / hide for connection ////////////////////////////////////////// + internal static void ShowForConnection(NetworkIdentity identity, NetworkConnection conn) + { + if (conn.isReady) + SendSpawnMessage(identity, conn); + } + + internal static void HideForConnection(NetworkIdentity identity, NetworkConnection conn) + { + ObjectHideMessage msg = new ObjectHideMessage + { + netId = identity.netId + }; + conn.Send(msg); + } + + /// Removes the player object from the connection + // destroyServerObject: Indicates whether the server object should be destroyed + public static void RemovePlayerForConnection(NetworkConnection conn, bool destroyServerObject) + { + if (conn.identity != null) + { + if (destroyServerObject) + Destroy(conn.identity.gameObject); + else + UnSpawn(conn.identity.gameObject); + + conn.identity = null; + } + //else Debug.Log($"Connection {conn} has no identity"); + } + + // remote calls //////////////////////////////////////////////////////// + // Handle command from specific player, this could be one of multiple + // players on a single client + static void OnCommandMessage(NetworkConnection conn, CommandMessage msg) + { + if (!NetworkIdentity.spawned.TryGetValue(msg.netId, out NetworkIdentity identity)) + { + Debug.LogWarning("Spawned object not found when handling Command message [netId=" + msg.netId + "]"); + return; + } + + CommandInfo commandInfo = identity.GetCommandInfo(msg.componentIndex, msg.functionHash); + + // Commands can be for player objects, OR other objects with client-authority + // -> so if this connection's controller has a different netId then + // only allow the command if clientAuthorityOwner + bool requiresAuthority = commandInfo.requiresAuthority; + if (requiresAuthority && identity.connectionToClient != conn) + { + Debug.LogWarning("Command for object without authority [netId=" + msg.netId + "]"); + return; + } + + // Debug.Log("OnCommandMessage for netId=" + msg.netId + " conn=" + conn); + + using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(msg.payload)) + identity.HandleRemoteCall(msg.componentIndex, msg.functionHash, MirrorInvokeType.Command, networkReader, conn as NetworkConnectionToClient); + } + + // spawning //////////////////////////////////////////////////////////// + static ArraySegment CreateSpawnMessagePayload(bool isOwner, NetworkIdentity identity, PooledNetworkWriter ownerWriter, PooledNetworkWriter observersWriter) + { + // Only call OnSerializeAllSafely if there are NetworkBehaviours + if (identity.NetworkBehaviours.Length == 0) + { + return default; + } + + // serialize all components with initialState = true + // (can be null if has none) + identity.OnSerializeAllSafely(true, ownerWriter, observersWriter); + + // convert to ArraySegment to avoid reader allocations + // if nothing was written, .ToArraySegment returns an empty segment. + ArraySegment ownerSegment = ownerWriter.ToArraySegment(); + ArraySegment observersSegment = observersWriter.ToArraySegment(); + + // use owner segment if 'conn' owns this identity, otherwise + // use observers segment + ArraySegment payload = isOwner ? ownerSegment : observersSegment; + + return payload; + } + + internal static void SendSpawnMessage(NetworkIdentity identity, NetworkConnection conn) + { + if (identity.serverOnly) return; + + // Debug.Log("Server SendSpawnMessage: name=" + identity.name + " sceneId=" + identity.sceneId.ToString("X") + " netid=" + identity.netId); + + // one writer for owner, one for observers + using (PooledNetworkWriter ownerWriter = NetworkWriterPool.GetWriter(), observersWriter = NetworkWriterPool.GetWriter()) + { + bool isOwner = identity.connectionToClient == conn; + ArraySegment payload = CreateSpawnMessagePayload(isOwner, identity, ownerWriter, observersWriter); + SpawnMessage message = new SpawnMessage + { + netId = identity.netId, + isLocalPlayer = conn.identity == identity, + isOwner = isOwner, + sceneId = identity.sceneId, + assetId = identity.assetId, + // use local values for VR support + position = identity.transform.localPosition, + rotation = identity.transform.localRotation, + scale = identity.transform.localScale, + payload = payload + }; + conn.Send(message); + } + } + + static void SpawnObject(GameObject obj, NetworkConnection ownerConnection) + { + // verify if we an spawn this + if (Utils.IsPrefab(obj)) + { + Debug.LogError($"GameObject {obj.name} is a prefab, it can't be spawned. Instantiate it first."); + return; + } + + if (!active) + { + Debug.LogError("SpawnObject for " + obj + ", NetworkServer is not active. Cannot spawn objects without an active server."); + return; + } + + NetworkIdentity identity = obj.GetComponent(); + if (identity == null) + { + Debug.LogError("SpawnObject " + obj + " has no NetworkIdentity. Please add a NetworkIdentity to " + obj); + return; + } + + if (identity.SpawnedFromInstantiate) + { + // Using Instantiate on SceneObject is not allowed, so stop spawning here + // NetworkIdentity.Awake already logs error, no need to log a second error here + return; + } + + identity.connectionToClient = (NetworkConnectionToClient)ownerConnection; + + // special case to make sure hasAuthority is set + // on start server in host mode + if (ownerConnection is LocalConnectionToClient) + identity.hasAuthority = true; + + identity.OnStartServer(); + + // Debug.Log("SpawnObject instance ID " + identity.netId + " asset ID " + identity.assetId); + + if (aoi) + { + // This calls user code which might throw exceptions + // We don't want this to leave us in bad state + try + { + aoi.OnSpawned(identity); + } + catch (Exception e) + { + Debug.LogException(e); + } + } + + RebuildObservers(identity, true); + } + + /// Spawn the given game object on all clients which are ready. + // This will cause a new object to be instantiated from the registered + // prefab, or from a custom spawn function. + public static void Spawn(GameObject obj, NetworkConnection ownerConnection = null) + { + SpawnObject(obj, ownerConnection); + } + + /// Spawns an object and also assigns Client Authority to the specified client. + // This is the same as calling NetworkIdentity.AssignClientAuthority on the spawned object. + public static void Spawn(GameObject obj, GameObject ownerPlayer) + { + NetworkIdentity identity = ownerPlayer.GetComponent(); + if (identity == null) + { + Debug.LogError("Player object has no NetworkIdentity"); + return; + } + + if (identity.connectionToClient == null) + { + Debug.LogError("Player object is not a player."); + return; + } + + Spawn(obj, identity.connectionToClient); + } + + /// Spawns an object and also assigns Client Authority to the specified client. + // This is the same as calling NetworkIdentity.AssignClientAuthority on the spawned object. + public static void Spawn(GameObject obj, Guid assetId, NetworkConnection ownerConnection = null) + { + if (GetNetworkIdentity(obj, out NetworkIdentity identity)) + { + identity.assetId = assetId; + } + SpawnObject(obj, ownerConnection); + } + + internal static bool ValidateSceneObject(NetworkIdentity identity) + { + if (identity.gameObject.hideFlags == HideFlags.NotEditable || + identity.gameObject.hideFlags == HideFlags.HideAndDontSave) + return false; + +#if UNITY_EDITOR + if (UnityEditor.EditorUtility.IsPersistent(identity.gameObject)) + return false; +#endif + + // If not a scene object + return identity.sceneId != 0; + } + + /// Spawns NetworkIdentities in the scene on the server. + // NetworkIdentity objects in a scene are disabled by default. Calling + // SpawnObjects() causes these scene objects to be enabled and spawned. + // It is like calling NetworkServer.Spawn() for each of them. + public static bool SpawnObjects() + { + // only if server active + if (!active) + return false; + + NetworkIdentity[] identities = Resources.FindObjectsOfTypeAll(); + + // first pass: activate all scene objects + foreach (NetworkIdentity identity in identities) + { + if (ValidateSceneObject(identity)) + { + // Debug.Log("SpawnObjects sceneId:" + identity.sceneId.ToString("X") + " name:" + identity.gameObject.name); + identity.gameObject.SetActive(true); + + // fix https://github.com/vis2k/Mirror/issues/2778: + // -> SetActive(true) does NOT call Awake() if the parent + // is inactive + // -> we need Awake() to initialize NetworkBehaviours[] etc. + // because our second pass below spawns and works with it + // => detect this situation and manually call Awake for + // proper initialization + if (!identity.gameObject.activeInHierarchy) + identity.Awake(); + } + } + + // second pass: spawn all scene objects + foreach (NetworkIdentity identity in identities) + { + if (ValidateSceneObject(identity)) + Spawn(identity.gameObject); + } + return true; + } + + static void Respawn(NetworkIdentity identity) + { + if (identity.netId == 0) + { + // If the object has not been spawned, then do a full spawn and update observers + Spawn(identity.gameObject, identity.connectionToClient); + } + else + { + // otherwise just replace his data + SendSpawnMessage(identity, identity.connectionToClient); + } + } + + static void SpawnObserversForConnection(NetworkConnection conn) + { + // Debug.Log("Spawning " + NetworkIdentity.spawned.Count + " objects for conn " + conn); + + if (!conn.isReady) + { + // client needs to finish initializing before we can spawn objects + // otherwise it would not find them. + return; + } + + // let connection know that we are about to start spawning... + conn.Send(new ObjectSpawnStartedMessage()); + + // add connection to each nearby NetworkIdentity's observers, which + // internally sends a spawn message for each one to the connection. + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values) + { + // try with far away ones in ummorpg! + if (identity.gameObject.activeSelf) //TODO this is different + { + // Debug.Log("Sending spawn message for current server objects name='" + identity.name + "' netId=" + identity.netId + " sceneId=" + identity.sceneId.ToString("X")); + + // we need to support three cases: + // - legacy system (identity has .visibility) + // - new system (networkserver has .aoi) + // - default case: no .visibility and no .aoi means add all + // connections by default) + // + // ForceHidden/ForceShown overwrite all systems so check it + // first! + + // ForceShown: add no matter what + if (identity.visible == Visibility.ForceShown) + { + identity.AddObserver(conn); + } + // ForceHidden: don't show no matter what + else if (identity.visible == Visibility.ForceHidden) + { + // do nothing + } + // default: legacy system / new system / no system support + else if (identity.visible == Visibility.Default) + { + // legacy system +#pragma warning disable 618 + if (identity.visibility != null) + { + // call OnCheckObserver + if (identity.visibility.OnCheckObserver(conn)) + identity.AddObserver(conn); + } +#pragma warning restore 618 + // new system + else if (aoi != null) + { + // call OnCheckObserver + if (aoi.OnCheckObserver(identity, conn)) + identity.AddObserver(conn); + } + // no system: add all observers by default + else + { + identity.AddObserver(conn); + } + } + } + } + + // let connection know that we finished spawning, so it can call + // OnStartClient on each one (only after all were spawned, which + // is how Unity's Start() function works too) + conn.Send(new ObjectSpawnFinishedMessage()); + } + + /// This takes an object that has been spawned and un-spawns it. + // The object will be removed from clients that it was spawned on, or + // the custom spawn handler function on the client will be called for + // the object. + // Unlike when calling NetworkServer.Destroy(), on the server the object + // will NOT be destroyed. This allows the server to re-use the object, + // even spawn it again later. + public static void UnSpawn(GameObject obj) => DestroyObject(obj, DestroyMode.Reset); + + // destroy ///////////////////////////////////////////////////////////// + /// Destroys all of the connection's owned objects on the server. + // This is used when a client disconnects, to remove the players for + // that client. This also destroys non-player objects that have client + // authority set for this connection. + public static void DestroyPlayerForConnection(NetworkConnection conn) + { + // destroy all objects owned by this connection, including the player object + conn.DestroyOwnedObjects(); + // remove connection from all of its observing entities observers + // fixes https://github.com/vis2k/Mirror/issues/2737 + // -> cleaning those up in NetworkConnection.Disconnect is NOT enough + // because voluntary disconnects from the other end don't call + // NetworkConnectionn.Disconnect() + conn.RemoveFromObservingsObservers(); + conn.identity = null; + } + + // sometimes we want to GameObject.Destroy it. + // sometimes we want to just unspawn on clients and .Reset() it on server. + // => 'bool destroy' isn't obvious enough. it's really destroy OR reset! + enum DestroyMode { Destroy, Reset } + + static void DestroyObject(NetworkIdentity identity, DestroyMode mode) + { + if (aoi) + { + // This calls user code which might throw exceptions + // We don't want this to leave us in bad state + try + { + aoi.OnDestroyed(identity); + } + catch (Exception e) + { + Debug.LogException(e); + } + } + // Debug.Log("DestroyObject instance:" + identity.netId); + NetworkIdentity.spawned.Remove(identity.netId); + + identity.connectionToClient?.RemoveOwnedObject(identity); + + // send object destroy message to all observers, clear observers + SendToObservers(identity, new ObjectDestroyMessage{netId = identity.netId}); + identity.ClearObservers(); + + // in host mode, call OnStopClient manually + if (NetworkClient.active && localClientActive) + { + identity.OnStopClient(); + // The object may have been spawned with host client ownership, + // e.g. a pet so we need to clear hasAuthority and call + // NotifyAuthority which invokes OnStopAuthority if hasAuthority. + identity.hasAuthority = false; + identity.NotifyAuthority(); + } + + // we are on the server. call OnStopServer. + identity.OnStopServer(); + + // are we supposed to GameObject.Destroy() it completely? + if (mode == DestroyMode.Destroy) + { + identity.destroyCalled = true; + UnityEngine.Object.Destroy(identity.gameObject); + } + // otherwise simply .Reset() and set inactive again + else if (mode == DestroyMode.Reset) + { + identity.Reset(); + } + } + + static void DestroyObject(GameObject obj, DestroyMode mode) + { + if (obj == null) + { + Debug.Log("NetworkServer DestroyObject is null"); + return; + } + + if (GetNetworkIdentity(obj, out NetworkIdentity identity)) + { + DestroyObject(identity, mode); + } + } + + /// Destroys this object and corresponding objects on all clients. + // In some cases it is useful to remove an object but not delete it on + // the server. For that, use NetworkServer.UnSpawn() instead of + // NetworkServer.Destroy(). + public static void Destroy(GameObject obj) => DestroyObject(obj, DestroyMode.Destroy); + + // interest management ///////////////////////////////////////////////// + // Helper function to add all server connections as observers. + // This is used if none of the components provides their own + // OnRebuildObservers function. + internal static void AddAllReadyServerConnectionsToObservers(NetworkIdentity identity) + { + // add all server connections + foreach (NetworkConnectionToClient conn in connections.Values) + { + // only if authenticated (don't send to people during logins) + if (conn.isReady) + identity.AddObserver(conn); + } + + // add local host connection (if any) + if (localConnection != null && localConnection.isReady) + { + identity.AddObserver(localConnection); + } + } + + // allocate newObservers helper HashSet only once + static readonly HashSet newObservers = new HashSet(); + + // rebuild observers default method (no AOI) - adds all connections + static void RebuildObserversDefault(NetworkIdentity identity, bool initialize) + { + // only add all connections when rebuilding the first time. + // second time we just keep them without rebuilding anything. + if (initialize) + { + // not force hidden? + if (identity.visible != Visibility.ForceHidden) + { + AddAllReadyServerConnectionsToObservers(identity); + } + } + } + + // rebuild observers via interest management system + static void RebuildObserversCustom(NetworkIdentity identity, bool initialize) + { + // clear newObservers hashset before using it + newObservers.Clear(); + + // not force hidden? + if (identity.visible != Visibility.ForceHidden) + { + // obsolete legacy system support (for now) +#pragma warning disable 618 + if (identity.visibility != null) + identity.visibility.OnRebuildObservers(newObservers, initialize); +#pragma warning restore 618 + else + aoi.OnRebuildObservers(identity, newObservers, initialize); + } + + // IMPORTANT: AFTER rebuilding add own player connection in any case + // to ensure player always sees himself no matter what. + // -> OnRebuildObservers might clear observers, so we need to add + // the player's own connection AFTER. 100% fail safe. + // -> fixes https://github.com/vis2k/Mirror/issues/692 where a + // player might teleport out of the ProximityChecker's cast, + // losing the own connection as observer. + if (identity.connectionToClient != null) + { + newObservers.Add(identity.connectionToClient); + } + + bool changed = false; + + // add all newObservers that aren't in .observers yet + foreach (NetworkConnection conn in newObservers) + { + // only add ready connections. + // otherwise the player might not be in the world yet or anymore + if (conn != null && conn.isReady) + { + if (initialize || !identity.observers.ContainsKey(conn.connectionId)) + { + // new observer + conn.AddToObserving(identity); + // Debug.Log("New Observer for " + gameObject + " " + conn); + changed = true; + } + } + } + + // remove all old .observers that aren't in newObservers anymore + foreach (NetworkConnection conn in identity.observers.Values) + { + if (!newObservers.Contains(conn)) + { + // removed observer + conn.RemoveFromObserving(identity, false); + // Debug.Log("Removed Observer for " + gameObject + " " + conn); + changed = true; + } + } + + // copy new observers to observers + if (changed) + { + identity.observers.Clear(); + foreach (NetworkConnection conn in newObservers) + { + if (conn != null && conn.isReady) + identity.observers.Add(conn.connectionId, conn); + } + } + + // special case for host mode: we use SetHostVisibility to hide + // NetworkIdentities that aren't in observer range from host. + // this is what games like Dota/Counter-Strike do too, where a host + // does NOT see all players by default. they are in memory, but + // hidden to the host player. + // + // this code is from UNET, it's a bit strange but it works: + // * it hides newly connected identities in host mode + // => that part was the intended behaviour + // * it hides ALL NetworkIdentities in host mode when the host + // connects but hasn't selected a character yet + // => this only works because we have no .localConnection != null + // check. at this stage, localConnection is null because + // StartHost starts the server first, then calls this code, + // then starts the client and sets .localConnection. so we can + // NOT add a null check without breaking host visibility here. + // * it hides ALL NetworkIdentities in server-only mode because + // observers never contain the 'null' .localConnection + // => that was not intended, but let's keep it as it is so we + // don't break anything in host mode. it's way easier than + // iterating all identities in a special function in StartHost. + if (initialize) + { + if (!newObservers.Contains(localConnection)) + { + // obsolete legacy system support (for now) +#pragma warning disable 618 + if (identity.visibility != null) + identity.visibility.OnSetHostVisibility(false); +#pragma warning restore 618 + else if (aoi != null) + aoi.SetHostVisibility(identity, false); + } + } + } + + // RebuildObservers does a local rebuild for the NetworkIdentity. + // This causes the set of players that can see this object to be rebuild. + // + // IMPORTANT: + // => global rebuild would be more simple, BUT + // => local rebuild is way faster for spawn/despawn because we can + // simply rebuild a select NetworkIdentity only + // => having both .observers and .observing is necessary for local + // rebuilds + // + // in other words, this is the perfect solution even though it's not + // completely simple (due to .observers & .observing) + // + // Mirror maintains .observing automatically in the background. best of + // both worlds without any worrying now! + public static void RebuildObservers(NetworkIdentity identity, bool initialize) + { + // observers are null until OnStartServer creates them + if (identity.observers == null) + return; + + // legacy proximitychecker support: + // make sure user doesn't use both new and old system. +#pragma warning disable 618 + if (aoi != null & identity.visibility != null) + { + Debug.LogError($"RebuildObservers: {identity.name} has {identity.visibility.GetType()} component but there is also a global {aoi.GetType()} component. Can't use both systems at the same time!"); + return; + } +#pragma warning restore 618 + + // if there is no interest management system, + // or if 'force shown' then add all connections +#pragma warning disable 618 + if ((aoi == null && identity.visibility == null) || + identity.visible == Visibility.ForceShown) +#pragma warning restore 618 + { + RebuildObserversDefault(identity, initialize); + } + // otherwise let interest management system rebuild + else + { + RebuildObserversCustom(identity, initialize); + } + } + + // broadcasting //////////////////////////////////////////////////////// + // helper function to get the right serialization for a connection + static NetworkWriter GetEntitySerializationForConnection(NetworkIdentity identity, NetworkConnectionToClient connection) + { + // get serialization for this entity (cached) + // IMPORTANT: int tick avoids floating point inaccuracy over days/weeks + NetworkIdentitySerialization serialization = identity.GetSerializationAtTick(Time.frameCount); + + // is this entity owned by this connection? + bool owned = identity.connectionToClient == connection; + + // send serialized data + // owner writer if owned + if (owned) + { + // was it dirty / did we actually serialize anything? + if (serialization.ownerWriter.Position > 0) + return serialization.ownerWriter; + } + // observers writer if not owned + else + { + // was it dirty / did we actually serialize anything? + if (serialization.observersWriter.Position > 0) + return serialization.observersWriter; + } + + // nothing was serialized + return null; + } + + // helper function to clear dirty bits of all spawned entities + static void ClearSpawnedDirtyBits() + { + // TODO clear dirty bits when removing the last observer instead! + // no need to do it for ALL entities ALL the time. + // + // for each spawned: + // clear dirty bits if it has no observers. + // we did this before push->pull broadcasting so let's keep + // doing this for now. + foreach (NetworkIdentity identity in NetworkIdentity.spawned.Values) + { + if (identity.observers == null || identity.observers.Count == 0) + { + // clear all component's dirty bits. + // it would be spawned on new observers anyway. + identity.ClearAllComponentsDirtyBits(); + } + } + } + + // helper function to broadcast the world to a connection + static void BroadcastToConnection(NetworkConnectionToClient connection) + { + // for each entity that this connection is seeing + foreach (NetworkIdentity identity in connection.observing) + { + // make sure it's not null or destroyed. + // (which can happen if someone uses + // GameObject.Destroy instead of + // NetworkServer.Destroy) + if (identity != null) + { + // get serialization for this entity viewed by this connection + // (if anything was serialized this time) + NetworkWriter serialization = GetEntitySerializationForConnection(identity, connection); + if (serialization != null) + { + EntityStateMessage message = new EntityStateMessage + { + netId = identity.netId, + payload = serialization.ToArraySegment() + }; + connection.Send(message); + } + + // clear dirty bits only for the components that we serialized + // DO NOT clean ALL component's dirty bits, because + // components can have different syncIntervals and we don't + // want to reset dirty bits for the ones that were not + // synced yet. + // (we serialized only the IsDirty() components, or all of + // them if initialState. clearing the dirty ones is enough.) + // + // NOTE: this is what we did before push->pull + // broadcasting. let's keep doing this for + // feature parity to not break anyone's project. + // TODO make this more simple / unnecessary later. + identity.ClearDirtyComponentsDirtyBits(); + } + // spawned list should have no null entries because we + // always call Remove in OnObjectDestroy everywhere. + // if it does have null then someone used + // GameObject.Destroy instead of NetworkServer.Destroy. + else Debug.LogWarning("Found 'null' entry in observing list for connectionId=" + connection.connectionId + ". Please call NetworkServer.Destroy to destroy networked objects. Don't use GameObject.Destroy."); + } + } + + // helper function to check a connection for inactivity + // and disconnect if necessary + // => returns true if disconnected + static bool DisconnectIfInactive(NetworkConnectionToClient connection) + { + // check for inactivity +#pragma warning disable 618 + if (disconnectInactiveConnections && + !connection.IsAlive(disconnectInactiveTimeout)) + { + Debug.LogWarning($"Disconnecting {connection} for inactivity!"); + connection.Disconnect(); + return true; + } +#pragma warning restore 618 + return false; + } + + // NetworkLateUpdate called after any Update/FixedUpdate/LateUpdate + // (we add this to the UnityEngine in NetworkLoop) + static readonly List connectionsCopy = + new List(); + + static void Broadcast() + { + // copy all connections into a helper collection so that + // OnTransportDisconnected can be called while iterating. + // -> OnTransportDisconnected removes from the collection + // -> which would throw 'can't modify while iterating' errors + // => see also: https://github.com/vis2k/Mirror/issues/2739 + // (copy nonalloc) + // TODO remove this when we move to 'lite' transports with only + // socket send/recv later. + connectionsCopy.Clear(); + connections.Values.CopyTo(connectionsCopy); + + // go through all connections + foreach (NetworkConnectionToClient connection in connectionsCopy) + { + // check for inactivity. disconnects if necessary. + if (DisconnectIfInactive(connection)) + continue; + + // has this connection joined the world yet? + // for each READY connection: + // pull in UpdateVarsMessage for each entity it observes + if (connection.isReady) + { + // broadcast world state to this connection + BroadcastToConnection(connection); + } + + // update connection to flush out batched messages + connection.Update(); + } + + // TODO we already clear the serialized component's dirty bits above + // might as well clear everything??? + // + // TODO this unfortunately means we still need to iterate ALL + // spawned and not just the ones with observers. figure + // out a way to get rid of this. + // + // TODO clear dirty bits when removing the last observer instead! + // no need to do it for ALL entities ALL the time. + // + ClearSpawnedDirtyBits(); + } + + // update ////////////////////////////////////////////////////////////// + // NetworkEarlyUpdate called before any Update/FixedUpdate + // (we add this to the UnityEngine in NetworkLoop) + internal static void NetworkEarlyUpdate() + { + // process all incoming messages first before updating the world + if (Transport.activeTransport != null) + Transport.activeTransport.ServerEarlyUpdate(); + } + + internal static void NetworkLateUpdate() + { + // only broadcast world if active + if (active) + Broadcast(); + + // process all outgoing messages after updating the world + // (even if not active. still want to process disconnects etc.) + if (Transport.activeTransport != null) + Transport.activeTransport.ServerLateUpdate(); + } + + // obsolete to not break people's projects. Update was public. + // Deprecated 2021-03-02 + [Obsolete("NetworkServer.Update is now called internally from our custom update loop. No need to call Update manually anymore.")] + public static void Update() => NetworkLateUpdate(); + } +} diff --git a/Assets/Mirror/Runtime/NetworkServer.cs.meta b/Assets/Mirror/Runtime/NetworkServer.cs.meta new file mode 100644 index 0000000..9861342 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5f5ec068f5604c32b160bc49ee97b75 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkStartPosition.cs b/Assets/Mirror/Runtime/NetworkStartPosition.cs new file mode 100644 index 0000000..91f2623 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkStartPosition.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace Mirror +{ + /// Start position for player spawning, automatically registers itself in the NetworkManager. + [DisallowMultipleComponent] + [AddComponentMenu("Network/NetworkStartPosition")] + [HelpURL("https://mirror-networking.gitbook.io/docs/components/network-start-position")] + public class NetworkStartPosition : MonoBehaviour + { + public void Awake() + { + NetworkManager.RegisterStartPosition(transform); + } + + public void OnDestroy() + { + NetworkManager.UnRegisterStartPosition(transform); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkStartPosition.cs.meta b/Assets/Mirror/Runtime/NetworkStartPosition.cs.meta new file mode 100644 index 0000000..ae9ab89 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkStartPosition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41f84591ce72545258ea98cb7518d8b9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkTime.cs b/Assets/Mirror/Runtime/NetworkTime.cs new file mode 100644 index 0000000..c3331ea --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkTime.cs @@ -0,0 +1,161 @@ +using System; +using Stopwatch = System.Diagnostics.Stopwatch; + +namespace Mirror +{ + /// Synchronizes server time to clients. + public static class NetworkTime + { + /// Ping message frequency, used to calculate network time and RTT + public static float PingFrequency = 2.0f; + + /// Average out the last few results from Ping + public static int PingWindowSize = 10; + + static double lastPingTime; + + // Date and time when the application started + // TODO Unity 2020 / 2021 supposedly has double Time.time now? + static readonly Stopwatch stopwatch = new Stopwatch(); + + static NetworkTime() + { + stopwatch.Start(); + } + + static ExponentialMovingAverage _rtt = new ExponentialMovingAverage(10); + static ExponentialMovingAverage _offset = new ExponentialMovingAverage(10); + + // the true offset guaranteed to be in this range + static double offsetMin = double.MinValue; + static double offsetMax = double.MaxValue; + + /// Returns double precision clock time _in this system_, unaffected by the network. + // useful until we have Unity's 'double' Time.time + // + // CAREFUL: unlike Time.time, this is not a FRAME time. + // it changes during the frame too. + public static double localTime => stopwatch.Elapsed.TotalSeconds; + + /// The time in seconds since the server started. + // + // I measured the accuracy of float and I got this: + // for the same day, accuracy is better than 1 ms + // after 1 day, accuracy goes down to 7 ms + // after 10 days, accuracy is 61 ms + // after 30 days , accuracy is 238 ms + // after 60 days, accuracy is 454 ms + // in other words, if the server is running for 2 months, + // and you cast down to float, then the time will jump in 0.4s intervals. + // + // TODO consider using Unbatcher's remoteTime for NetworkTime + public static double time => localTime - _offset.Value; + + /// Time measurement variance. The higher, the less accurate the time is. + // TODO does this need to be public? user should only need NetworkTime.time + public static double timeVariance => _offset.Var; + + // Deprecated 2021-03-10 + [Obsolete("NetworkTime.timeVar was renamed to timeVariance")] + public static double timeVar => timeVariance; + + /// Time standard deviation. The highe, the less accurate the time is. + // TODO does this need to be public? user should only need NetworkTime.time + public static double timeStandardDeviation => Math.Sqrt(timeVariance); + + // Deprecated 2021-03-10 + [Obsolete("NetworkTime.timeSd was renamed to timeStandardDeviation")] + public static double timeSd => timeStandardDeviation; + + /// Clock difference in seconds between the client and the server. Always 0 on server. + public static double offset => _offset.Value; + + /// Round trip time (in seconds) that it takes a message to go client->server->client. + public static double rtt => _rtt.Value; + + /// Round trip time variance. The higher, the less accurate the rtt is. + // TODO does this need to be public? user should only need NetworkTime.time + public static double rttVariance => _rtt.Var; + + // Deprecated 2021-03-02 + [Obsolete("NetworkTime.rttVar was renamed to rttVariance")] + public static double rttVar => rttVariance; + + /// Round trip time standard deviation. The higher, the less accurate the rtt is. + // TODO does this need to be public? user should only need NetworkTime.time + public static double rttStandardDeviation => Math.Sqrt(rttVariance); + + // Deprecated 2021-03-02 + [Obsolete("NetworkTime.rttSd was renamed to rttStandardDeviation")] + public static double rttSd => rttStandardDeviation; + + public static void Reset() + { + stopwatch.Restart(); + _rtt = new ExponentialMovingAverage(PingWindowSize); + _offset = new ExponentialMovingAverage(PingWindowSize); + offsetMin = double.MinValue; + offsetMax = double.MaxValue; + lastPingTime = 0; + } + + internal static void UpdateClient() + { + // localTime (double) instead of Time.time for accuracy over days + if (localTime - lastPingTime >= PingFrequency) + { + NetworkPingMessage pingMessage = new NetworkPingMessage(localTime); + NetworkClient.Send(pingMessage, Channels.Unreliable); + lastPingTime = localTime; + } + } + + // executed at the server when we receive a ping message + // reply with a pong containing the time from the client + // and time from the server + internal static void OnServerPing(NetworkConnection conn, NetworkPingMessage message) + { + // Debug.Log("OnPingServerMessage conn=" + conn); + NetworkPongMessage pongMessage = new NetworkPongMessage + { + clientTime = message.clientTime, + serverTime = localTime + }; + conn.Send(pongMessage, Channels.Unreliable); + } + + // Executed at the client when we receive a Pong message + // find out how long it took since we sent the Ping + // and update time offset + internal static void OnClientPong(NetworkPongMessage message) + { + double now = localTime; + + // how long did this message take to come back + double newRtt = now - message.clientTime; + _rtt.Add(newRtt); + + // the difference in time between the client and the server + // but subtract half of the rtt to compensate for latency + // half of rtt is the best approximation we have + double newOffset = now - newRtt * 0.5f - message.serverTime; + + double newOffsetMin = now - newRtt - message.serverTime; + double newOffsetMax = now - message.serverTime; + offsetMin = Math.Max(offsetMin, newOffsetMin); + offsetMax = Math.Min(offsetMax, newOffsetMax); + + if (_offset.Value < offsetMin || _offset.Value > offsetMax) + { + // the old offset was offrange, throw it away and use new one + _offset = new ExponentialMovingAverage(PingWindowSize); + _offset.Add(newOffset); + } + else if (newOffset >= offsetMin || newOffset <= offsetMax) + { + // new offset looks reasonable, add to the average + _offset.Add(newOffset); + } + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkTime.cs.meta b/Assets/Mirror/Runtime/NetworkTime.cs.meta new file mode 100644 index 0000000..1dc9e0a --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkTime.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 09a0c241fc4a5496dbf4a0ab6e9a312c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkVisibility.cs b/Assets/Mirror/Runtime/NetworkVisibility.cs new file mode 100644 index 0000000..aa0c2cf --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkVisibility.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror +{ + // the name NetworkProximityCheck implies that it's only about objects in + // proximity to the player. But we might have room based, guild based, + // instanced based checks too, so NetworkVisibility is more fitting. + // + // note: we inherit from NetworkBehaviour so we can reuse .netIdentity, etc. + // note: unlike UNET, we only allow 1 proximity checker per NetworkIdentity. + + // obsolete message in a not-obsolete class to avoid obsolete warnings when + // obsoleting with the obsolete message. got it? + public static class NetworkVisibilityObsoleteMessage + { + // obsolete message in one place. show them everywhere. + public const string Message = "Per-NetworkIdentity Interest Management is being replaced by global Interest Management.\n\nWe already converted some components to the new system. For those, please remove Proximity checkers from NetworkIdentity prefabs and add one global InterestManagement component to your NetworkManager instead. If we didn't convert this one yet, then simply wait. See our Benchmark example and our Mirror/Components/InterestManagement for available implementations.\n\nIf you need to port a custom solution, move your code into a new class that inherits from InterestManagement and add one global update method instead of using NetworkBehaviour.Update.\n\nDon't panic. The whole change mostly moved code from NetworkVisibility components into one global place on NetworkManager. Allows for Spatial Hashing which is ~30x faster.\n\n(╯°□°)╯︵ ┻━┻"; + } + + // Deprecated 2021-02-17 + [Obsolete(NetworkVisibilityObsoleteMessage.Message)] + [DisallowMultipleComponent] + public abstract class NetworkVisibility : NetworkBehaviour + { + /// Callback used by the visibility system to determine if an observer (player) can see this object. + // Called from NetworkServer.SpawnObserversForConnection the first time + // a NetworkIdentity is spawned. + public abstract bool OnCheckObserver(NetworkConnection conn); + + /// Callback used by the visibility system to (re)construct the set of observers that can see this object. + // Implementations of this callback should add network connections of + // players that can see this object to the observers set. + public abstract void OnRebuildObservers(HashSet observers, bool initialize); + + /// Callback used by the visibility system for objects on a host. + public virtual void OnSetHostVisibility(bool visible) + { + foreach (Renderer rend in GetComponentsInChildren()) + rend.enabled = visible; + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkVisibility.cs.meta b/Assets/Mirror/Runtime/NetworkVisibility.cs.meta new file mode 100644 index 0000000..f71b7be --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkVisibility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c08f1a030234d49d391d7223a8592f15 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkWriter.cs b/Assets/Mirror/Runtime/NetworkWriter.cs new file mode 100644 index 0000000..e22db68 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkWriter.cs @@ -0,0 +1,471 @@ +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; +using UnityEngine; + +namespace Mirror +{ + /// Helper class that weaver populates with all writer types. + // Note that c# creates a different static variable for each type + // -> Weaver.ReaderWriterProcessor.InitializeReaderAndWriters() populates it + public static class Writer + { + public static Action write; + } + + /// Network Writer for most simple types like floats, ints, buffers, structs, etc. Use NetworkWriterPool.GetReader() to avoid allocations. + public class NetworkWriter + { + public const int MaxStringLength = 1024 * 32; + + // create writer immediately with it's own buffer so no one can mess with it and so that we can resize it. + // note: BinaryWriter allocates too much, so we only use a MemoryStream + // => 1500 bytes by default because on average, most packets will be <= MTU + byte[] buffer = new byte[1500]; + + /// Next position to write to the buffer + public int Position; + + /// Reset both the position and length of the stream + // Leaves the capacity the same so that we can reuse this writer without + // extra allocations + public void Reset() + { + Position = 0; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + void EnsureCapacity(int value) + { + if (buffer.Length < value) + { + int capacity = Math.Max(value, buffer.Length * 2); + Array.Resize(ref buffer, capacity); + } + } + + /// Copies buffer until 'Position' to a new array. + public byte[] ToArray() + { + byte[] data = new byte[Position]; + Array.ConstrainedCopy(buffer, 0, data, 0, Position); + return data; + } + + /// Returns allocation-free ArraySegment until 'Position'. + public ArraySegment ToArraySegment() + { + return new ArraySegment(buffer, 0, Position); + } + + public void WriteByte(byte value) + { + EnsureCapacity(Position + 1); + buffer[Position++] = value; + } + + // for byte arrays with consistent size, where the reader knows how many to read + // (like a packet opcode that's always the same) + public void WriteBytes(byte[] buffer, int offset, int count) + { + EnsureCapacity(Position + count); + Array.ConstrainedCopy(buffer, offset, this.buffer, Position, count); + Position += count; + } + + /// Writes any type that mirror supports. Uses weaver populated Writer(T).write. + public void Write(T value) + { + Action writeDelegate = Writer.write; + if (writeDelegate == null) + { + Debug.LogError($"No writer found for {typeof(T)}. Use a type supported by Mirror or define a custom writer"); + } + else + { + writeDelegate(this, value); + } + } + } + + // Mirror's Weaver automatically detects all NetworkWriter function types, + // but they do all need to be extensions. + public static class NetworkWriterExtensions + { + // cache encoding instead of creating it with BinaryWriter each time + // 1000 readers before: 1MB GC, 30ms + // 1000 readers after: 0.8MB GC, 18ms + static readonly UTF8Encoding encoding = new UTF8Encoding(false, true); + static readonly byte[] stringBuffer = new byte[NetworkWriter.MaxStringLength]; + + public static void WriteByte(this NetworkWriter writer, byte value) => writer.WriteByte(value); + + public static void WriteSByte(this NetworkWriter writer, sbyte value) => writer.WriteByte((byte)value); + + public static void WriteChar(this NetworkWriter writer, char value) => writer.WriteUShort(value); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteBool instead.")] + public static void WriteBoolean(this NetworkWriter writer, bool value) => writer.WriteBool(value); + public static void WriteBool(this NetworkWriter writer, bool value) => writer.WriteByte((byte)(value ? 1 : 0)); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteUShort instead.")] + public static void WriteUInt16(this NetworkWriter writer, ushort value) => writer.WriteUShort(value); + public static void WriteUShort(this NetworkWriter writer, ushort value) + { + writer.WriteByte((byte)value); + writer.WriteByte((byte)(value >> 8)); + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteShort instead.")] + public static void WriteInt16(this NetworkWriter writer, short value) => writer.WriteShort(value); + public static void WriteShort(this NetworkWriter writer, short value) => writer.WriteUShort((ushort)value); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteUInt instead.")] + public static void WriteUInt32(this NetworkWriter writer, uint value) => writer.WriteUInt(value); + public static void WriteUInt(this NetworkWriter writer, uint value) + { + writer.WriteByte((byte)value); + writer.WriteByte((byte)(value >> 8)); + writer.WriteByte((byte)(value >> 16)); + writer.WriteByte((byte)(value >> 24)); + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteInt instead.")] + public static void WriteInt32(this NetworkWriter writer, int value) => writer.WriteInt(value); + public static void WriteInt(this NetworkWriter writer, int value) => writer.WriteUInt((uint)value); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteULong instead.")] + public static void WriteUInt64(this NetworkWriter writer, ulong value) => writer.WriteULong(value); + public static void WriteULong(this NetworkWriter writer, ulong value) + { + writer.WriteByte((byte)value); + writer.WriteByte((byte)(value >> 8)); + writer.WriteByte((byte)(value >> 16)); + writer.WriteByte((byte)(value >> 24)); + writer.WriteByte((byte)(value >> 32)); + writer.WriteByte((byte)(value >> 40)); + writer.WriteByte((byte)(value >> 48)); + writer.WriteByte((byte)(value >> 56)); + } + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteLong instead.")] + public static void WriteInt64(this NetworkWriter writer, long value) => writer.WriteLong(value); + public static void WriteLong(this NetworkWriter writer, long value) => writer.WriteULong((ulong)value); + + // Deprecated 2021-05-18 + [Obsolete("We've cleaned up the API. Use WriteFloat instead.")] + public static void WriteSingle(this NetworkWriter writer, float value) => writer.WriteFloat(value); + public static void WriteFloat(this NetworkWriter writer, float value) + { + UIntFloat converter = new UIntFloat + { + floatValue = value + }; + writer.WriteUInt(converter.intValue); + } + + public static void WriteDouble(this NetworkWriter writer, double value) + { + UIntDouble converter = new UIntDouble + { + doubleValue = value + }; + writer.WriteULong(converter.longValue); + } + + public static void WriteDecimal(this NetworkWriter writer, decimal value) + { + // the only way to read it without allocations is to both read and + // write it with the FloatConverter (which is not binary compatible + // to writer.Write(decimal), hence why we use it here too) + UIntDecimal converter = new UIntDecimal + { + decimalValue = value + }; + writer.WriteULong(converter.longValue1); + writer.WriteULong(converter.longValue2); + } + + public static void WriteString(this NetworkWriter writer, string value) + { + // write 0 for null support, increment real size by 1 + // (note: original HLAPI would write "" for null strings, but if a + // string is null on the server then it should also be null + // on the client) + if (value == null) + { + writer.WriteUShort(0); + return; + } + + // write string with same method as NetworkReader + // convert to byte[] + int size = encoding.GetBytes(value, 0, value.Length, stringBuffer, 0); + + // check if within max size + if (size >= NetworkWriter.MaxStringLength) + { + throw new IndexOutOfRangeException("NetworkWriter.Write(string) too long: " + size + ". Limit: " + NetworkWriter.MaxStringLength); + } + + // write size and bytes + writer.WriteUShort(checked((ushort)(size + 1))); + writer.WriteBytes(stringBuffer, 0, size); + } + + // for byte arrays with dynamic size, where the reader doesn't know how many will come + // (like an inventory with different items etc.) + public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer, int offset, int count) + { + // null is supported because [SyncVar]s might be structs with null byte[] arrays + // write 0 for null array, increment normal size by 1 to save bandwidth + // (using size=-1 for null would limit max size to 32kb instead of 64kb) + if (buffer == null) + { + writer.WriteUInt(0u); + return; + } + writer.WriteUInt(checked((uint)count) + 1u); + writer.WriteBytes(buffer, offset, count); + } + + // Weaver needs a write function with just one byte[] parameter + // (we don't name it .Write(byte[]) because it's really a WriteBytesAndSize since we write size / null info too) + public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer) + { + // buffer might be null, so we can't use .Length in that case + writer.WriteBytesAndSize(buffer, 0, buffer != null ? buffer.Length : 0); + } + + public static void WriteBytesAndSizeSegment(this NetworkWriter writer, ArraySegment buffer) + { + writer.WriteBytesAndSize(buffer.Array, buffer.Offset, buffer.Count); + } + + public static void WriteVector2(this NetworkWriter writer, Vector2 value) + { + writer.WriteFloat(value.x); + writer.WriteFloat(value.y); + } + + public static void WriteVector3(this NetworkWriter writer, Vector3 value) + { + writer.WriteFloat(value.x); + writer.WriteFloat(value.y); + writer.WriteFloat(value.z); + } + + // TODO add nullable support to weaver instead + public static void WriteVector3Nullable(this NetworkWriter writer, Vector3? value) + { + writer.WriteBool(value.HasValue); + if (value.HasValue) + writer.WriteVector3(value.Value); + } + + public static void WriteVector4(this NetworkWriter writer, Vector4 value) + { + writer.WriteFloat(value.x); + writer.WriteFloat(value.y); + writer.WriteFloat(value.z); + writer.WriteFloat(value.w); + } + + public static void WriteVector2Int(this NetworkWriter writer, Vector2Int value) + { + writer.WriteInt(value.x); + writer.WriteInt(value.y); + } + + public static void WriteVector3Int(this NetworkWriter writer, Vector3Int value) + { + writer.WriteInt(value.x); + writer.WriteInt(value.y); + writer.WriteInt(value.z); + } + + public static void WriteColor(this NetworkWriter writer, Color value) + { + writer.WriteFloat(value.r); + writer.WriteFloat(value.g); + writer.WriteFloat(value.b); + writer.WriteFloat(value.a); + } + + public static void WriteColor32(this NetworkWriter writer, Color32 value) + { + writer.WriteByte(value.r); + writer.WriteByte(value.g); + writer.WriteByte(value.b); + writer.WriteByte(value.a); + } + + public static void WriteQuaternion(this NetworkWriter writer, Quaternion value) + { + writer.WriteFloat(value.x); + writer.WriteFloat(value.y); + writer.WriteFloat(value.z); + writer.WriteFloat(value.w); + } + + // TODO add nullable support to weaver instead + public static void WriteQuaternionNullable(this NetworkWriter writer, Quaternion? value) + { + writer.WriteBool(value.HasValue); + if (value.HasValue) + writer.WriteQuaternion(value.Value); + } + + public static void WriteRect(this NetworkWriter writer, Rect value) + { + writer.WriteFloat(value.xMin); + writer.WriteFloat(value.yMin); + writer.WriteFloat(value.width); + writer.WriteFloat(value.height); + } + + public static void WritePlane(this NetworkWriter writer, Plane value) + { + writer.WriteVector3(value.normal); + writer.WriteFloat(value.distance); + } + + public static void WriteRay(this NetworkWriter writer, Ray value) + { + writer.WriteVector3(value.origin); + writer.WriteVector3(value.direction); + } + + public static void WriteMatrix4x4(this NetworkWriter writer, Matrix4x4 value) + { + writer.WriteFloat(value.m00); + writer.WriteFloat(value.m01); + writer.WriteFloat(value.m02); + writer.WriteFloat(value.m03); + writer.WriteFloat(value.m10); + writer.WriteFloat(value.m11); + writer.WriteFloat(value.m12); + writer.WriteFloat(value.m13); + writer.WriteFloat(value.m20); + writer.WriteFloat(value.m21); + writer.WriteFloat(value.m22); + writer.WriteFloat(value.m23); + writer.WriteFloat(value.m30); + writer.WriteFloat(value.m31); + writer.WriteFloat(value.m32); + writer.WriteFloat(value.m33); + } + + public static void WriteGuid(this NetworkWriter writer, Guid value) + { + byte[] data = value.ToByteArray(); + writer.WriteBytes(data, 0, data.Length); + } + + public static void WriteNetworkIdentity(this NetworkWriter writer, NetworkIdentity value) + { + if (value == null) + { + writer.WriteUInt(0); + return; + } + writer.WriteUInt(value.netId); + } + + public static void WriteNetworkBehaviour(this NetworkWriter writer, NetworkBehaviour value) + { + if (value == null) + { + writer.WriteUInt(0); + return; + } + writer.WriteUInt(value.netId); + writer.WriteByte((byte)value.ComponentIndex); + } + + public static void WriteTransform(this NetworkWriter writer, Transform value) + { + if (value == null) + { + writer.WriteUInt(0); + return; + } + NetworkIdentity identity = value.GetComponent(); + if (identity != null) + { + writer.WriteUInt(identity.netId); + } + else + { + Debug.LogWarning("NetworkWriter " + value + " has no NetworkIdentity"); + writer.WriteUInt(0); + } + } + + public static void WriteGameObject(this NetworkWriter writer, GameObject value) + { + if (value == null) + { + writer.WriteUInt(0); + return; + } + NetworkIdentity identity = value.GetComponent(); + if (identity != null) + { + writer.WriteUInt(identity.netId); + } + else + { + Debug.LogWarning("NetworkWriter " + value + " has no NetworkIdentity"); + writer.WriteUInt(0); + } + } + + public static void WriteUri(this NetworkWriter writer, Uri uri) + { + writer.WriteString(uri?.ToString()); + } + + public static void WriteList(this NetworkWriter writer, List list) + { + if (list is null) + { + writer.WriteInt(-1); + return; + } + writer.WriteInt(list.Count); + for (int i = 0; i < list.Count; i++) + writer.Write(list[i]); + } + + public static void WriteArray(this NetworkWriter writer, T[] array) + { + if (array is null) + { + writer.WriteInt(-1); + return; + } + writer.WriteInt(array.Length); + for (int i = 0; i < array.Length; i++) + writer.Write(array[i]); + } + + public static void WriteArraySegment(this NetworkWriter writer, ArraySegment segment) + { + int length = segment.Count; + writer.WriteInt(length); + for (int i = 0; i < length; i++) + { + writer.Write(segment.Array[segment.Offset + i]); + } + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkWriter.cs.meta b/Assets/Mirror/Runtime/NetworkWriter.cs.meta new file mode 100644 index 0000000..c938496 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkWriter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48d2207bcef1f4477b624725f075f9bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/NetworkWriterPool.cs b/Assets/Mirror/Runtime/NetworkWriterPool.cs new file mode 100644 index 0000000..785d4e7 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkWriterPool.cs @@ -0,0 +1,41 @@ +using System; + +namespace Mirror +{ + /// Pooled NetworkWriter, automatically returned to pool when using 'using' + public sealed class PooledNetworkWriter : NetworkWriter, IDisposable + { + public void Dispose() => NetworkWriterPool.Recycle(this); + } + + /// Pool of NetworkWriters to avoid allocations. + public static class NetworkWriterPool + { + // reuse Pool + // we still wrap it in NetworkWriterPool.Get/Recycle so we can reset the + // position before reusing. + // this is also more consistent with NetworkReaderPool where we need to + // assign the internal buffer before reusing. + static readonly Pool Pool = new Pool( + () => new PooledNetworkWriter(), + // initial capacity to avoid allocations in the first few frames + // 1000 * 1200 bytes = around 1 MB. + 1000 + ); + + /// Get a writer from the pool. Creates new one if pool is empty. + public static PooledNetworkWriter GetWriter() + { + // grab from pool & reset position + PooledNetworkWriter writer = Pool.Take(); + writer.Reset(); + return writer; + } + + /// Return a writer to the pool. + public static void Recycle(PooledNetworkWriter writer) + { + Pool.Return(writer); + } + } +} diff --git a/Assets/Mirror/Runtime/NetworkWriterPool.cs.meta b/Assets/Mirror/Runtime/NetworkWriterPool.cs.meta new file mode 100644 index 0000000..19d2bb7 --- /dev/null +++ b/Assets/Mirror/Runtime/NetworkWriterPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f34b53bea38e4f259eb8dc211e4fdb6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Pool.cs b/Assets/Mirror/Runtime/Pool.cs new file mode 100644 index 0000000..5e078f7 --- /dev/null +++ b/Assets/Mirror/Runtime/Pool.cs @@ -0,0 +1,35 @@ +// Pool to avoid allocations (from libuv2k) +using System; +using System.Collections.Generic; + +namespace Mirror +{ + public class Pool + { + // Mirror is single threaded, no need for concurrent collections + readonly Stack objects = new Stack(); + + // some types might need additional parameters in their constructor, so + // we use a Func generator + readonly Func objectGenerator; + + public Pool(Func objectGenerator, int initialCapacity) + { + this.objectGenerator = objectGenerator; + + // allocate an initial pool so we have fewer (if any) + // allocations in the first few frames (or seconds). + for (int i = 0; i < initialCapacity; ++i) + objects.Push(objectGenerator()); + } + + // take an element from the pool, or create a new one if empty + public T Take() => objects.Count > 0 ? objects.Pop() : objectGenerator(); + + // return an element to the pool + public void Return(T item) => objects.Push(item); + + // count to see how many objects are in the pool. useful for tests. + public int Count => objects.Count; + } +} diff --git a/Assets/Mirror/Runtime/Pool.cs.meta b/Assets/Mirror/Runtime/Pool.cs.meta new file mode 100644 index 0000000..7d12a20 --- /dev/null +++ b/Assets/Mirror/Runtime/Pool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 845bb05fa349344c3811022f4f15dfbc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/RemoteCallHelper.cs b/Assets/Mirror/Runtime/RemoteCallHelper.cs new file mode 100644 index 0000000..dad6cbb --- /dev/null +++ b/Assets/Mirror/Runtime/RemoteCallHelper.cs @@ -0,0 +1,152 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror.RemoteCalls +{ + // command function delegate + public delegate void CmdDelegate(NetworkBehaviour obj, NetworkReader reader, NetworkConnectionToClient senderConnection); + + class Invoker + { + public Type invokeClass; + public MirrorInvokeType invokeType; + public CmdDelegate invokeFunction; + public bool cmdRequiresAuthority; + + public bool AreEqual(Type invokeClass, MirrorInvokeType invokeType, CmdDelegate invokeFunction) + { + return (this.invokeClass == invokeClass && + this.invokeType == invokeType && + this.invokeFunction == invokeFunction); + } + } + + public struct CommandInfo + { + public bool requiresAuthority; + } + + /// Used to help manage remote calls for NetworkBehaviours + public static class RemoteCallHelper + { + static readonly Dictionary cmdHandlerDelegates = new Dictionary(); + + internal static int GetMethodHash(Type invokeClass, string methodName) + { + // (invokeClass + ":" + cmdName).GetStableHashCode() would cause allocations. + // so hash1 + hash2 is better. + unchecked + { + int hash = invokeClass.FullName.GetStableHashCode(); + return hash * 503 + methodName.GetStableHashCode(); + } + } + + internal static int RegisterDelegate(Type invokeClass, string cmdName, MirrorInvokeType invokerType, CmdDelegate func, bool cmdRequiresAuthority = true) + { + // type+func so Inventory.RpcUse != Equipment.RpcUse + int cmdHash = GetMethodHash(invokeClass, cmdName); + + if (CheckIfDeligateExists(invokeClass, invokerType, func, cmdHash)) + return cmdHash; + + Invoker invoker = new Invoker + { + invokeType = invokerType, + invokeClass = invokeClass, + invokeFunction = func, + cmdRequiresAuthority = cmdRequiresAuthority, + }; + + cmdHandlerDelegates[cmdHash] = invoker; + + //string ingoreAuthorityMessage = invokerType == MirrorInvokeType.Command ? $" requiresAuthority:{cmdRequiresAuthority}" : ""; + //Debug.Log($"RegisterDelegate hash: {cmdHash} invokerType: {invokerType} method: {func.GetMethodName()}{ingoreAuthorityMessage}"); + + return cmdHash; + } + + static bool CheckIfDeligateExists(Type invokeClass, MirrorInvokeType invokerType, CmdDelegate func, int cmdHash) + { + if (cmdHandlerDelegates.ContainsKey(cmdHash)) + { + // something already registered this hash + Invoker oldInvoker = cmdHandlerDelegates[cmdHash]; + if (oldInvoker.AreEqual(invokeClass, invokerType, func)) + { + // it's all right, it was the same function + return true; + } + + Debug.LogError($"Function {oldInvoker.invokeClass}.{oldInvoker.invokeFunction.GetMethodName()} and {invokeClass}.{func.GetMethodName()} have the same hash. Please rename one of them"); + } + + return false; + } + + public static void RegisterCommandDelegate(Type invokeClass, string cmdName, CmdDelegate func, bool requiresAuthority) + { + RegisterDelegate(invokeClass, cmdName, MirrorInvokeType.Command, func, requiresAuthority); + } + + public static void RegisterRpcDelegate(Type invokeClass, string rpcName, CmdDelegate func) + { + RegisterDelegate(invokeClass, rpcName, MirrorInvokeType.ClientRpc, func); + } + + // We need this in order to clean up tests + internal static void RemoveDelegate(int hash) + { + cmdHandlerDelegates.Remove(hash); + } + + static bool GetInvokerForHash(int cmdHash, MirrorInvokeType invokeType, out Invoker invoker) + { + if (cmdHandlerDelegates.TryGetValue(cmdHash, out invoker) && invoker != null && invoker.invokeType == invokeType) + { + return true; + } + + // debug message if not found, or null, or mismatched type + // (no need to throw an error, an attacker might just be trying to + // call an cmd with an rpc's hash) + // Debug.Log("GetInvokerForHash hash:" + cmdHash + " not found"); + return false; + } + + // InvokeCmd/Rpc Delegate can all use the same function here + internal static bool InvokeHandlerDelegate(int cmdHash, MirrorInvokeType invokeType, NetworkReader reader, NetworkBehaviour invokingType, NetworkConnectionToClient senderConnection = null) + { + if (GetInvokerForHash(cmdHash, invokeType, out Invoker invoker) && invoker.invokeClass.IsInstanceOfType(invokingType)) + { + invoker.invokeFunction(invokingType, reader, senderConnection); + return true; + } + return false; + } + + internal static CommandInfo GetCommandInfo(int cmdHash, NetworkBehaviour invokingType) + { + if (GetInvokerForHash(cmdHash, MirrorInvokeType.Command, out Invoker invoker) && invoker.invokeClass.IsInstanceOfType(invokingType)) + { + return new CommandInfo + { + requiresAuthority = invoker.cmdRequiresAuthority + }; + } + return default; + } + + /// Gets the handler function by hash. Useful for profilers and debuggers. + public static CmdDelegate GetDelegate(int cmdHash) + { + if (cmdHandlerDelegates.TryGetValue(cmdHash, out Invoker invoker)) + { + return invoker.invokeFunction; + } + return null; + } + } +} + diff --git a/Assets/Mirror/Runtime/RemoteCallHelper.cs.meta b/Assets/Mirror/Runtime/RemoteCallHelper.cs.meta new file mode 100644 index 0000000..62b3288 --- /dev/null +++ b/Assets/Mirror/Runtime/RemoteCallHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d2cdbcbd1e377d6408a91acbec31ba16 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SnapshotInterpolation.meta b/Assets/Mirror/Runtime/SnapshotInterpolation.meta new file mode 100644 index 0000000..85ac9a9 --- /dev/null +++ b/Assets/Mirror/Runtime/SnapshotInterpolation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4468e736f87964eaebb9d55fc3e132f7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs b/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs new file mode 100644 index 0000000..fbf2c24 --- /dev/null +++ b/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs @@ -0,0 +1,20 @@ +// Snapshot interface so we can reuse it for all kinds of systems. +// for example, NetworkTransform, NetworkRigidbody, CharacterController etc. +// NOTE: we use '' and 'where T : Snapshot' to avoid boxing. +// List would cause allocations through boxing. +namespace Mirror +{ + public interface Snapshot + { + // snapshots have two timestamps: + // -> the remote timestamp (when it was sent by the remote) + // used to interpolate. + // -> the local timestamp (when we received it) + // used to know if the first two snapshots are old enough to start. + // + // IMPORTANT: the timestamp does _NOT_ need to be sent over the + // network. simply get it from batching. + double remoteTimestamp { get; set; } + double localTimestamp { get; set; } + } +} diff --git a/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs.meta b/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs.meta new file mode 100644 index 0000000..24eedd7 --- /dev/null +++ b/Assets/Mirror/Runtime/SnapshotInterpolation/Snapshot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12afea28fdb94154868a0a3b7a9df55b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs b/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs new file mode 100644 index 0000000..1a47ddc --- /dev/null +++ b/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs @@ -0,0 +1,302 @@ +// snapshot interpolation algorithms only, +// independent from Unity/NetworkTransform/MonoBehaviour/Mirror/etc. +// the goal is to remove all the magic from it. +// => a standalone snapshot interpolation algorithm +// => that can be simulated with unit tests easily +// +// BOXING: in C#, uses does not box! passing the interface would box! +using System; +using System.Collections.Generic; + +namespace Mirror +{ + public static class SnapshotInterpolation + { + // insert into snapshot buffer if newer than first entry + // this should ALWAYS be used when inserting into a snapshot buffer! + public static void InsertIfNewEnough(T snapshot, SortedList buffer) + where T : Snapshot + { + // we need to drop any snapshot which is older ('<=') + // the snapshots we are already working with. + double timestamp = snapshot.remoteTimestamp; + + // if size == 1, then only add snapshots that are newer. + // for example, a snapshot before the first one might have been + // lagging. + if (buffer.Count == 1 && + timestamp <= buffer.Values[0].remoteTimestamp) + return; + + // for size >= 2, we are already interpolating between the first two + // so only add snapshots that are newer than the second entry. + // aka the 'ACB' problem: + // if we have a snapshot A at t=0 and C at t=2, + // we start interpolating between them. + // if suddenly B at t=1 comes in unexpectely, + // we should NOT suddenly steer towards B. + if (buffer.Count >= 2 && + timestamp <= buffer.Values[1].remoteTimestamp) + return; + + // otherwise sort it into the list + // an UDP messages might arrive twice sometimes. + // SortedList throws if key already exists, so check. + if (!buffer.ContainsKey(timestamp)) + buffer.Add(timestamp, snapshot); + } + + // helper function to check if we have >= n old enough snapshots. + // NOTE: we check LOCAL timestamp here. + // not REMOTE timestamp. + // we buffer for 'bufferTime' locally. + // it has nothing to do with remote timestamp. + // and we wouldn't know the current remoteTime either. + public static bool HasAmountOlderThan(SortedList buffer, double threshold, int amount) + where T : Snapshot => + buffer.Count >= amount && + buffer.Values[amount - 1].localTimestamp <= threshold; + + // calculate catchup. + // the goal is to buffer 'bufferTime' snapshots. + // for whatever reason, we might see growing buffers. + // in which case we should speed up to avoid ever growing delay. + // -> everything after 'threshold' is multiplied by 'multiplier' + public static double CalculateCatchup(SortedList buffer, int catchupThreshold, double catchupMultiplier) + where T : Snapshot + { + // NOTE: we count ALL buffer entires > threshold as excess. + // not just the 'old enough' ones. + // if buffer keeps growing, we have to catch up no matter what. + int excess = buffer.Count - catchupThreshold; + return excess > 0 ? excess * catchupMultiplier : 0; + } + + // get first & second buffer entries and delta between them. + // helper function because we use this several times. + // => assumes at least two entries in buffer. + public static void GetFirstSecondAndDelta(SortedList buffer, out T first, out T second, out double delta) + where T : Snapshot + { + // get first & second + first = buffer.Values[0]; + second = buffer.Values[1]; + + // delta between first & second is needed a lot + delta = second.remoteTimestamp - first.remoteTimestamp; + } + + // the core snapshot interpolation algorithm. + // for a given remoteTime, interpolationTime and buffer, + // we tick the snapshot simulation once. + // => it's the same one on server and client + // => should be called every Update() depending on authority + // + // time: LOCAL time since startup in seconds. like Unity's Time.time. + // deltaTime: Time.deltaTime from Unity. parameter for easier tests. + // interpolationTime: time in interpolation. moved along deltaTime. + // between [0, delta] where delta is snapshot + // B.timestamp - A.timestamp. + // IMPORTANT: + // => we use actual time instead of a relative + // t [0,1] because overshoot is easier to handle. + // if relative t overshoots but next snapshots are + // further apart than the current ones, it's not + // obvious how to calculate it. + // => for example, if t = 3 every time we skip we would have to + // make sure to adjust the subtracted value relative to the + // skipped delta. way too complex. + // => actual time can overshoot without problems. + // we know it's always by actual time. + // bufferTime: time in seconds that we buffer snapshots. + // buffer: our buffer of snapshots. + // Compute() assumes full integrity of the snapshots. + // for example, when interpolating between A=0 and C=2, + // make sure that you don't add B=1 between A and C if that + // snapshot arrived after we already started interpolating. + // => InsertIfNewEnough needs to protect against the 'ACB' problem + // catchupThreshold: amount of buffer entries after which we start to + // accelerate to catch up. + // if 'bufferTime' is 'sendInterval * 3', then try + // a value > 3 like 6. + // catchupMultiplier: catchup by % per additional excess buffer entry + // over the amount of 'catchupThreshold'. + // Interpolate: interpolates one snapshot to another, returns the result + // T Interpolate(T from, T to, double t); + // => needs to be Func instead of a function in the Snapshot + // interface because that would require boxing. + // => make sure to only allocate that function once. + // + // returns + // 'true' if it spit out a snapshot to apply. + // 'false' means computation moved along, but nothing to apply. + public static bool Compute( + double time, + double deltaTime, + ref double interpolationTime, + double bufferTime, + SortedList buffer, + int catchupThreshold, + float catchupMultiplier, + Func Interpolate, + out T computed) + where T : Snapshot + { + // we buffer snapshots for 'bufferTime' + // for example: + // * we buffer for 3 x sendInterval = 300ms + // * the idea is to wait long enough so we at least have a few + // snapshots to interpolate between + // * we process anything older 100ms immediately + // + // IMPORTANT: snapshot timestamps are _remote_ time + // we need to interpolate and calculate buffer lifetimes based on it. + // -> we don't know remote's current time + // -> NetworkTime.time fluctuates too much, that's no good + // -> we _could_ calculate an offset when the first snapshot arrives, + // but if there was high latency then we'll always calculate time + // with high latency + // -> at any given time, we are interpolating from snapshot A to B + // => seems like A.timestamp += deltaTime is a good way to do it + + computed = default; + //Debug.Log($"{name} snapshotbuffer={buffer.Count}"); + + // we always need two OLD ENOUGH snapshots to interpolate. + // otherwise there's nothing to do. + double threshold = time - bufferTime; + if (!HasAmountOlderThan(buffer, threshold, 2)) + return false; + + // multiply deltaTime by catchup. + // for example, assuming a catch up of 50%: + // - deltaTime = 1s => 1.5s + // - deltaTime = 0.1s => 0.15s + // in other words, variations in deltaTime don't matter. + // simply multiply. that's just how time works. + // (50% catch up means 0.5, so we multiply by 1.5) + // + // if '0' catchup then we multiply by '1', which changes nothing. + // (faster branch prediction) + double catchup = CalculateCatchup(buffer, catchupThreshold, catchupMultiplier); + deltaTime *= (1 + catchup); + + // interpolationTime starts at 0 and we add deltaTime to move + // along the interpolation. + // + // ONLY while we have snapshots to interpolate. + // otherwise we might increase it to infinity which would lead + // to skipping the next snapshots entirely. + // + // IMPORTANT: interpolationTime as actual time instead of + // t [0,1] allows us to overshoot and subtract easily. + // if t was [0,1], and we overshoot by 0.1, that's a + // RELATIVE overshoot for the delta between B.time - A.time. + // => if the next C.time - B.time is not the same delta, + // then the relative overshoot would speed up or slow + // down the interpolation! CAREFUL. + // + // IMPORTANT: we NEVER add deltaTime to 'time'. + // 'time' is already NOW. that's how Unity works. + interpolationTime += deltaTime; + + // get first & second & delta + GetFirstSecondAndDelta(buffer, out T first, out T second, out double delta); + + // reached goal and have more old enough snapshots in buffer? + // then skip and move to next. + // for example, if we have snapshots at t=1,2,3 + // and we are at interpolationTime = 2.5, then + // we should skip the first one, subtract delta and interpolate + // between 2,3 instead. + // + // IMPORTANT: we only ever use old enough snapshots. + // if we wouldn't check for old enough, then we would + // move to the next one, interpolate a little bit, + // and then in next compute() wait again because it + // wasn't old enough yet. + while (interpolationTime >= delta && + HasAmountOlderThan(buffer, threshold, 3)) + { + // subtract exactly delta from interpolation time + // instead of setting to '0', where we would lose the + // overshoot part and see jitter again. + // + // IMPORTANT: subtracting delta TIME works perfectly. + // subtracting '1' from a ratio of t [0,1] would + // leave the overshoot as relative between the + // next delta. if next delta is different, then + // overshoot would be bigger than planned and + // speed up the interpolation. + interpolationTime -= delta; + //Debug.LogWarning($"{name} overshot and is now at: {interpolationTime}"); + + // remove first, get first, second & delta again after change. + buffer.RemoveAt(0); + GetFirstSecondAndDelta(buffer, out first, out second, out delta); + + // NOTE: it's worth consider spitting out all snapshots + // that we skipped, in case someone still wants to move + // along them to avoid physics collisions. + // * for NetworkTransform it's unnecessary as we always + // set transform.position, which can go anywhere. + // * for CharacterController it's worth considering + } + + // interpolationTime is actual time, NOT a 't' ratio [0,1]. + // we need 't' between [0,1] relative. + // InverseLerp calculates just that. + // InverseLerp CLAMPS between [0,1] and DOES NOT extrapolate! + // => we already skipped ahead as many as possible above. + // => we do NOT extrapolate for the reasons below. + // + // IMPORTANT: + // we should NOT extrapolate & predict while waiting for more + // snapshots as this would introduce a whole range of issues: + // * player might be extrapolated WAY out if we wait for long + // * player might be extrapolated behind walls + // * once we receive a new snapshot, we would interpolate + // not from the last valid position, but from the + // extrapolated position. this could be ANYWHERE. the + // player might get stuck in walls, etc. + // => we are NOT doing client side prediction & rollback here + // => we are simply interpolating with known, valid positions + // + // SEE TEST: Compute_Step5_OvershootWithoutEnoughSnapshots_NeverExtrapolates() + double t = Mathd.InverseLerp(first.remoteTimestamp, second.remoteTimestamp, first.remoteTimestamp + interpolationTime); + //Debug.Log($"InverseLerp({first.remoteTimestamp:F2}, {second.remoteTimestamp:F2}, {first.remoteTimestamp} + {interpolationTime:F2}) = {t:F2} snapshotbuffer={buffer.Count}"); + + // interpolate snapshot, return true to indicate we computed one + computed = Interpolate(first, second, t); + + // interpolationTime: + // overshooting is ONLY allowed for smooth transitions when + // immediately moving to the NEXT snapshot afterwards. + // + // if there is ANY break, for example: + // * reached second snapshot and waiting for more + // * reached second snapshot and next one isn't old enough yet + // + // then we SHOULD NOT overshoot because: + // * increasing interpolationTime by deltaTime while waiting + // would make it grow HUGE to 100+. + // * once we have more snapshots, we would skip most of them + // instantly instead of actually interpolating through them. + // + // in other words, if we DON'T have >= 3 old enough. + if (!HasAmountOlderThan(buffer, threshold, 3)) + { + // interpolationTime is always from 0..delta. + // so we cap it at delta. + // DO NOT cap it at second.remoteTimestamp. + // (that's why when interpolating the third parameter is + // first.time + interpolationTime) + // => covered with test: + // Compute_Step5_OvershootWithEnoughSnapshots_NextIsntOldEnough() + interpolationTime = Math.Min(interpolationTime, delta); + } + + return true; + } + } +} diff --git a/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs.meta b/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs.meta new file mode 100644 index 0000000..244c5fb --- /dev/null +++ b/Assets/Mirror/Runtime/SnapshotInterpolation/SnapshotInterpolation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 72c16070d85334011853813488ab1431 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SyncDictionary.cs b/Assets/Mirror/Runtime/SyncDictionary.cs new file mode 100644 index 0000000..f3a0b5a --- /dev/null +++ b/Assets/Mirror/Runtime/SyncDictionary.cs @@ -0,0 +1,303 @@ +using System.Collections; +using System.Collections.Generic; +using JetBrains.Annotations; + +namespace Mirror +{ + public class SyncIDictionary : IDictionary, SyncObject, IReadOnlyDictionary + { + public delegate void SyncDictionaryChanged(Operation op, TKey key, TValue item); + + protected readonly IDictionary objects; + + public int Count => objects.Count; + public bool IsReadOnly { get; private set; } + public event SyncDictionaryChanged Callback; + + public enum Operation : byte + { + OP_ADD, + OP_CLEAR, + OP_REMOVE, + OP_SET + } + + struct Change + { + internal Operation operation; + internal TKey key; + internal TValue item; + } + + readonly List changes = new List(); + // how many changes we need to ignore + // this is needed because when we initialize the list, + // we might later receive changes that have already been applied + // so we need to skip them + int changesAhead; + + public void Reset() + { + IsReadOnly = false; + changes.Clear(); + changesAhead = 0; + objects.Clear(); + } + + public bool IsDirty => changes.Count > 0; + + public ICollection Keys => objects.Keys; + + public ICollection Values => objects.Values; + + IEnumerable IReadOnlyDictionary.Keys => objects.Keys; + + IEnumerable IReadOnlyDictionary.Values => objects.Values; + + // throw away all the changes + // this should be called after a successful sync + public void Flush() => changes.Clear(); + + public SyncIDictionary(IDictionary objects) + { + this.objects = objects; + } + + void AddOperation(Operation op, TKey key, TValue item) + { + if (IsReadOnly) + { + throw new System.InvalidOperationException("SyncDictionaries can only be modified by the server"); + } + + Change change = new Change + { + operation = op, + key = key, + item = item + }; + + changes.Add(change); + + Callback?.Invoke(op, key, item); + } + + public void OnSerializeAll(NetworkWriter writer) + { + // if init, write the full list content + writer.WriteUInt((uint)objects.Count); + + foreach (KeyValuePair syncItem in objects) + { + writer.Write(syncItem.Key); + writer.Write(syncItem.Value); + } + + // all changes have been applied already + // thus the client will need to skip all the pending changes + // or they would be applied again. + // So we write how many changes are pending + writer.WriteUInt((uint)changes.Count); + } + + public void OnSerializeDelta(NetworkWriter writer) + { + // write all the queued up changes + writer.WriteUInt((uint)changes.Count); + + for (int i = 0; i < changes.Count; i++) + { + Change change = changes[i]; + writer.WriteByte((byte)change.operation); + + switch (change.operation) + { + case Operation.OP_ADD: + case Operation.OP_REMOVE: + case Operation.OP_SET: + writer.Write(change.key); + writer.Write(change.item); + break; + case Operation.OP_CLEAR: + break; + } + } + } + + public void OnDeserializeAll(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + // if init, write the full list content + int count = (int)reader.ReadUInt(); + + objects.Clear(); + changes.Clear(); + + for (int i = 0; i < count; i++) + { + TKey key = reader.Read(); + TValue obj = reader.Read(); + objects.Add(key, obj); + } + + // We will need to skip all these changes + // the next time the list is synchronized + // because they have already been applied + changesAhead = (int)reader.ReadUInt(); + } + + public void OnDeserializeDelta(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + int changesCount = (int)reader.ReadUInt(); + + for (int i = 0; i < changesCount; i++) + { + Operation operation = (Operation)reader.ReadByte(); + + // apply the operation only if it is a new change + // that we have not applied yet + bool apply = changesAhead == 0; + TKey key = default; + TValue item = default; + + switch (operation) + { + case Operation.OP_ADD: + case Operation.OP_SET: + key = reader.Read(); + item = reader.Read(); + if (apply) + { + objects[key] = item; + } + break; + + case Operation.OP_CLEAR: + if (apply) + { + objects.Clear(); + } + break; + + case Operation.OP_REMOVE: + key = reader.Read(); + item = reader.Read(); + if (apply) + { + objects.Remove(key); + } + break; + } + + if (apply) + { + Callback?.Invoke(operation, key, item); + } + // we just skipped this change + else + { + changesAhead--; + } + } + } + + public void Clear() + { + objects.Clear(); + AddOperation(Operation.OP_CLEAR, default, default); + } + + public bool ContainsKey(TKey key) => objects.ContainsKey(key); + + public bool Remove(TKey key) + { + if (objects.TryGetValue(key, out TValue item) && objects.Remove(key)) + { + AddOperation(Operation.OP_REMOVE, key, item); + return true; + } + return false; + } + + public TValue this[TKey i] + { + get => objects[i]; + set + { + if (ContainsKey(i)) + { + objects[i] = value; + AddOperation(Operation.OP_SET, i, value); + } + else + { + objects[i] = value; + AddOperation(Operation.OP_ADD, i, value); + } + } + } + + public bool TryGetValue(TKey key, out TValue value) => objects.TryGetValue(key, out value); + + public void Add(TKey key, TValue value) + { + objects.Add(key, value); + AddOperation(Operation.OP_ADD, key, value); + } + + public void Add(KeyValuePair item) => Add(item.Key, item.Value); + + public bool Contains(KeyValuePair item) + { + return TryGetValue(item.Key, out TValue val) && EqualityComparer.Default.Equals(val, item.Value); + } + + public void CopyTo([NotNull] KeyValuePair[] array, int arrayIndex) + { + if (arrayIndex < 0 || arrayIndex > array.Length) + { + throw new System.ArgumentOutOfRangeException(nameof(arrayIndex), "Array Index Out of Range"); + } + if (array.Length - arrayIndex < Count) + { + throw new System.ArgumentException("The number of items in the SyncDictionary is greater than the available space from arrayIndex to the end of the destination array"); + } + + int i = arrayIndex; + foreach (KeyValuePair item in objects) + { + array[i] = item; + i++; + } + } + + public bool Remove(KeyValuePair item) + { + bool result = objects.Remove(item.Key); + if (result) + { + AddOperation(Operation.OP_REMOVE, item.Key, item.Value); + } + return result; + } + + public IEnumerator> GetEnumerator() => objects.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() => objects.GetEnumerator(); + } + + public class SyncDictionary : SyncIDictionary + { + public SyncDictionary() : base(new Dictionary()) {} + public SyncDictionary(IEqualityComparer eq) : base(new Dictionary(eq)) {} + public new Dictionary.ValueCollection Values => ((Dictionary)objects).Values; + public new Dictionary.KeyCollection Keys => ((Dictionary)objects).Keys; + public new Dictionary.Enumerator GetEnumerator() => ((Dictionary)objects).GetEnumerator(); + + } +} diff --git a/Assets/Mirror/Runtime/SyncDictionary.cs.meta b/Assets/Mirror/Runtime/SyncDictionary.cs.meta new file mode 100644 index 0000000..1c20b57 --- /dev/null +++ b/Assets/Mirror/Runtime/SyncDictionary.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b346c49cfdb668488a364c3023590e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SyncList.cs b/Assets/Mirror/Runtime/SyncList.cs new file mode 100644 index 0000000..1ac230e --- /dev/null +++ b/Assets/Mirror/Runtime/SyncList.cs @@ -0,0 +1,419 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Mirror +{ + // Deprecated 2020-10-02 + [Obsolete("Use SyncList instead")] + public class SyncListString : SyncList {} + + // Deprecated 2020-10-02 + [Obsolete("Use SyncList instead")] + public class SyncListFloat : SyncList {} + + // Deprecated 2020-10-02 + [Obsolete("Use SyncList instead")] + public class SyncListInt : SyncList {} + + // Deprecated 2020-10-02 + [Obsolete("Use SyncList instead")] + public class SyncListUInt : SyncList {} + + // Deprecated 2020-10-02 + [Obsolete("Use SyncList instead")] + public class SyncListBool : SyncList {} + + public class SyncList : IList, IReadOnlyList, SyncObject + { + public delegate void SyncListChanged(Operation op, int itemIndex, T oldItem, T newItem); + + readonly IList objects; + readonly IEqualityComparer comparer; + + public int Count => objects.Count; + public bool IsReadOnly { get; private set; } + public event SyncListChanged Callback; + + public enum Operation : byte + { + OP_ADD, + OP_CLEAR, + OP_INSERT, + OP_REMOVEAT, + OP_SET + } + + struct Change + { + internal Operation operation; + internal int index; + internal T item; + } + + readonly List changes = new List(); + // how many changes we need to ignore + // this is needed because when we initialize the list, + // we might later receive changes that have already been applied + // so we need to skip them + int changesAhead; + + public SyncList() : this(EqualityComparer.Default) {} + + public SyncList(IEqualityComparer comparer) + { + this.comparer = comparer ?? EqualityComparer.Default; + objects = new List(); + } + + public SyncList(IList objects, IEqualityComparer comparer = null) + { + this.comparer = comparer ?? EqualityComparer.Default; + this.objects = objects; + } + + public bool IsDirty => changes.Count > 0; + + // throw away all the changes + // this should be called after a successful sync + public void Flush() => changes.Clear(); + + public void Reset() + { + IsReadOnly = false; + changes.Clear(); + changesAhead = 0; + objects.Clear(); + } + + void AddOperation(Operation op, int itemIndex, T oldItem, T newItem) + { + if (IsReadOnly) + { + throw new InvalidOperationException("Synclists can only be modified at the server"); + } + + Change change = new Change + { + operation = op, + index = itemIndex, + item = newItem + }; + + changes.Add(change); + + Callback?.Invoke(op, itemIndex, oldItem, newItem); + } + + public void OnSerializeAll(NetworkWriter writer) + { + // if init, write the full list content + writer.WriteUInt((uint)objects.Count); + + for (int i = 0; i < objects.Count; i++) + { + T obj = objects[i]; + writer.Write(obj); + } + + // all changes have been applied already + // thus the client will need to skip all the pending changes + // or they would be applied again. + // So we write how many changes are pending + writer.WriteUInt((uint)changes.Count); + } + + public void OnSerializeDelta(NetworkWriter writer) + { + // write all the queued up changes + writer.WriteUInt((uint)changes.Count); + + for (int i = 0; i < changes.Count; i++) + { + Change change = changes[i]; + writer.WriteByte((byte)change.operation); + + switch (change.operation) + { + case Operation.OP_ADD: + writer.Write(change.item); + break; + + case Operation.OP_CLEAR: + break; + + case Operation.OP_REMOVEAT: + writer.WriteUInt((uint)change.index); + break; + + case Operation.OP_INSERT: + case Operation.OP_SET: + writer.WriteUInt((uint)change.index); + writer.Write(change.item); + break; + } + } + } + + public void OnDeserializeAll(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + // if init, write the full list content + int count = (int)reader.ReadUInt(); + + objects.Clear(); + changes.Clear(); + + for (int i = 0; i < count; i++) + { + T obj = reader.Read(); + objects.Add(obj); + } + + // We will need to skip all these changes + // the next time the list is synchronized + // because they have already been applied + changesAhead = (int)reader.ReadUInt(); + } + + public void OnDeserializeDelta(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + int changesCount = (int)reader.ReadUInt(); + + for (int i = 0; i < changesCount; i++) + { + Operation operation = (Operation)reader.ReadByte(); + + // apply the operation only if it is a new change + // that we have not applied yet + bool apply = changesAhead == 0; + int index = 0; + T oldItem = default; + T newItem = default; + + switch (operation) + { + case Operation.OP_ADD: + newItem = reader.Read(); + if (apply) + { + index = objects.Count; + objects.Add(newItem); + } + break; + + case Operation.OP_CLEAR: + if (apply) + { + objects.Clear(); + } + break; + + case Operation.OP_INSERT: + index = (int)reader.ReadUInt(); + newItem = reader.Read(); + if (apply) + { + objects.Insert(index, newItem); + } + break; + + case Operation.OP_REMOVEAT: + index = (int)reader.ReadUInt(); + if (apply) + { + oldItem = objects[index]; + objects.RemoveAt(index); + } + break; + + case Operation.OP_SET: + index = (int)reader.ReadUInt(); + newItem = reader.Read(); + if (apply) + { + oldItem = objects[index]; + objects[index] = newItem; + } + break; + } + + if (apply) + { + Callback?.Invoke(operation, index, oldItem, newItem); + } + // we just skipped this change + else + { + changesAhead--; + } + } + } + + public void Add(T item) + { + objects.Add(item); + AddOperation(Operation.OP_ADD, objects.Count - 1, default, item); + } + + public void AddRange(IEnumerable range) + { + foreach (T entry in range) + { + Add(entry); + } + } + + public void Clear() + { + objects.Clear(); + AddOperation(Operation.OP_CLEAR, 0, default, default); + } + + public bool Contains(T item) => IndexOf(item) >= 0; + + public void CopyTo(T[] array, int index) => objects.CopyTo(array, index); + + public int IndexOf(T item) + { + for (int i = 0; i < objects.Count; ++i) + if (comparer.Equals(item, objects[i])) + return i; + return -1; + } + + public int FindIndex(Predicate match) + { + for (int i = 0; i < objects.Count; ++i) + if (match(objects[i])) + return i; + return -1; + } + + public T Find(Predicate match) + { + int i = FindIndex(match); + return (i != -1) ? objects[i] : default; + } + + public List FindAll(Predicate match) + { + List results = new List(); + for (int i = 0; i < objects.Count; ++i) + if (match(objects[i])) + results.Add(objects[i]); + return results; + } + + public void Insert(int index, T item) + { + objects.Insert(index, item); + AddOperation(Operation.OP_INSERT, index, default, item); + } + + public void InsertRange(int index, IEnumerable range) + { + foreach (T entry in range) + { + Insert(index, entry); + index++; + } + } + + public bool Remove(T item) + { + int index = IndexOf(item); + bool result = index >= 0; + if (result) + { + RemoveAt(index); + } + return result; + } + + public void RemoveAt(int index) + { + T oldItem = objects[index]; + objects.RemoveAt(index); + AddOperation(Operation.OP_REMOVEAT, index, oldItem, default); + } + + public int RemoveAll(Predicate match) + { + List toRemove = new List(); + for (int i = 0; i < objects.Count; ++i) + if (match(objects[i])) + toRemove.Add(objects[i]); + + foreach (T entry in toRemove) + { + Remove(entry); + } + + return toRemove.Count; + } + + public T this[int i] + { + get => objects[i]; + set + { + if (!comparer.Equals(objects[i], value)) + { + T oldItem = objects[i]; + objects[i] = value; + AddOperation(Operation.OP_SET, i, oldItem, value); + } + } + } + + public Enumerator GetEnumerator() => new Enumerator(this); + + IEnumerator IEnumerable.GetEnumerator() => new Enumerator(this); + + IEnumerator IEnumerable.GetEnumerator() => new Enumerator(this); + + // default Enumerator allocates. we need a custom struct Enumerator to + // not allocate on the heap. + // (System.Collections.Generic.List source code does the same) + // + // benchmark: + // uMMORPG with 800 monsters, Skills.GetHealthBonus() which runs a + // foreach on skills SyncList: + // before: 81.2KB GC per frame + // after: 0KB GC per frame + // => this is extremely important for MMO scale networking + public struct Enumerator : IEnumerator + { + readonly SyncList list; + int index; + public T Current { get; private set; } + + public Enumerator(SyncList list) + { + this.list = list; + index = -1; + Current = default; + } + + public bool MoveNext() + { + if (++index >= list.Count) + { + return false; + } + Current = list[index]; + return true; + } + + public void Reset() => index = -1; + object IEnumerator.Current => Current; + public void Dispose() {} + } + } +} diff --git a/Assets/Mirror/Runtime/SyncList.cs.meta b/Assets/Mirror/Runtime/SyncList.cs.meta new file mode 100644 index 0000000..088ef1e --- /dev/null +++ b/Assets/Mirror/Runtime/SyncList.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 744fc71f748fe40d5940e04bf42b29f3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SyncObject.cs b/Assets/Mirror/Runtime/SyncObject.cs new file mode 100644 index 0000000..48bd5f8 --- /dev/null +++ b/Assets/Mirror/Runtime/SyncObject.cs @@ -0,0 +1,28 @@ +namespace Mirror +{ + /// SyncObjects sync state between server and client. E.g. SyncLists. + public interface SyncObject + { + /// True if there are changes since the last flush + bool IsDirty { get; } + + /// Discard all the queued changes + // Consider the object fully synchronized with clients + void Flush(); + + /// Write a full copy of the object + void OnSerializeAll(NetworkWriter writer); + + /// Write the changes made to the object since last sync + void OnSerializeDelta(NetworkWriter writer); + + /// Reads a full copy of the object + void OnDeserializeAll(NetworkReader reader); + + /// Reads the changes made to the object since last sync + void OnDeserializeDelta(NetworkReader reader); + + /// Resets the SyncObject so that it can be re-used + void Reset(); + } +} diff --git a/Assets/Mirror/Runtime/SyncObject.cs.meta b/Assets/Mirror/Runtime/SyncObject.cs.meta new file mode 100644 index 0000000..736c651 --- /dev/null +++ b/Assets/Mirror/Runtime/SyncObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ae226d17a0c844041aa24cc2c023dd49 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/SyncSet.cs b/Assets/Mirror/Runtime/SyncSet.cs new file mode 100644 index 0000000..29dc2ed --- /dev/null +++ b/Assets/Mirror/Runtime/SyncSet.cs @@ -0,0 +1,340 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Mirror +{ + public class SyncSet : ISet, SyncObject + { + public delegate void SyncSetChanged(Operation op, T item); + + protected readonly ISet objects; + + public int Count => objects.Count; + public bool IsReadOnly { get; private set; } + public event SyncSetChanged Callback; + + public enum Operation : byte + { + OP_ADD, + OP_CLEAR, + OP_REMOVE + } + + struct Change + { + internal Operation operation; + internal T item; + } + + readonly List changes = new List(); + // how many changes we need to ignore + // this is needed because when we initialize the list, + // we might later receive changes that have already been applied + // so we need to skip them + int changesAhead; + + public SyncSet(ISet objects) + { + this.objects = objects; + } + + public void Reset() + { + IsReadOnly = false; + changes.Clear(); + changesAhead = 0; + objects.Clear(); + } + + public bool IsDirty => changes.Count > 0; + + // throw away all the changes + // this should be called after a successful sync + public void Flush() => changes.Clear(); + + void AddOperation(Operation op, T item) + { + if (IsReadOnly) + { + throw new InvalidOperationException("SyncSets can only be modified at the server"); + } + + Change change = new Change + { + operation = op, + item = item + }; + + changes.Add(change); + + Callback?.Invoke(op, item); + } + + void AddOperation(Operation op) => AddOperation(op, default); + + public void OnSerializeAll(NetworkWriter writer) + { + // if init, write the full list content + writer.WriteUInt((uint)objects.Count); + + foreach (T obj in objects) + { + writer.Write(obj); + } + + // all changes have been applied already + // thus the client will need to skip all the pending changes + // or they would be applied again. + // So we write how many changes are pending + writer.WriteUInt((uint)changes.Count); + } + + public void OnSerializeDelta(NetworkWriter writer) + { + // write all the queued up changes + writer.WriteUInt((uint)changes.Count); + + for (int i = 0; i < changes.Count; i++) + { + Change change = changes[i]; + writer.WriteByte((byte)change.operation); + + switch (change.operation) + { + case Operation.OP_ADD: + writer.Write(change.item); + break; + + case Operation.OP_CLEAR: + break; + + case Operation.OP_REMOVE: + writer.Write(change.item); + break; + } + } + } + + public void OnDeserializeAll(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + // if init, write the full list content + int count = (int)reader.ReadUInt(); + + objects.Clear(); + changes.Clear(); + + for (int i = 0; i < count; i++) + { + T obj = reader.Read(); + objects.Add(obj); + } + + // We will need to skip all these changes + // the next time the list is synchronized + // because they have already been applied + changesAhead = (int)reader.ReadUInt(); + } + + public void OnDeserializeDelta(NetworkReader reader) + { + // This list can now only be modified by synchronization + IsReadOnly = true; + + int changesCount = (int)reader.ReadUInt(); + + for (int i = 0; i < changesCount; i++) + { + Operation operation = (Operation)reader.ReadByte(); + + // apply the operation only if it is a new change + // that we have not applied yet + bool apply = changesAhead == 0; + T item = default; + + switch (operation) + { + case Operation.OP_ADD: + item = reader.Read(); + if (apply) + { + objects.Add(item); + } + break; + + case Operation.OP_CLEAR: + if (apply) + { + objects.Clear(); + } + break; + + case Operation.OP_REMOVE: + item = reader.Read(); + if (apply) + { + objects.Remove(item); + } + break; + } + + if (apply) + { + Callback?.Invoke(operation, item); + } + // we just skipped this change + else + { + changesAhead--; + } + } + } + + public bool Add(T item) + { + if (objects.Add(item)) + { + AddOperation(Operation.OP_ADD, item); + return true; + } + return false; + } + + void ICollection.Add(T item) + { + if (objects.Add(item)) + { + AddOperation(Operation.OP_ADD, item); + } + } + + public void Clear() + { + objects.Clear(); + AddOperation(Operation.OP_CLEAR); + } + + public bool Contains(T item) => objects.Contains(item); + + public void CopyTo(T[] array, int index) => objects.CopyTo(array, index); + + public bool Remove(T item) + { + if (objects.Remove(item)) + { + AddOperation(Operation.OP_REMOVE, item); + return true; + } + return false; + } + + public IEnumerator GetEnumerator() => objects.GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + + public void ExceptWith(IEnumerable other) + { + if (other == this) + { + Clear(); + return; + } + + // remove every element in other from this + foreach (T element in other) + { + Remove(element); + } + } + + public void IntersectWith(IEnumerable other) + { + if (other is ISet otherSet) + { + IntersectWithSet(otherSet); + } + else + { + HashSet otherAsSet = new HashSet(other); + IntersectWithSet(otherAsSet); + } + } + + void IntersectWithSet(ISet otherSet) + { + List elements = new List(objects); + + foreach (T element in elements) + { + if (!otherSet.Contains(element)) + { + Remove(element); + } + } + } + + public bool IsProperSubsetOf(IEnumerable other) => objects.IsProperSubsetOf(other); + + public bool IsProperSupersetOf(IEnumerable other) => objects.IsProperSupersetOf(other); + + public bool IsSubsetOf(IEnumerable other) => objects.IsSubsetOf(other); + + public bool IsSupersetOf(IEnumerable other) => objects.IsSupersetOf(other); + + public bool Overlaps(IEnumerable other) => objects.Overlaps(other); + + public bool SetEquals(IEnumerable other) => objects.SetEquals(other); + + // custom implementation so we can do our own Clear/Add/Remove for delta + public void SymmetricExceptWith(IEnumerable other) + { + if (other == this) + { + Clear(); + } + else + { + foreach (T element in other) + { + if (!Remove(element)) + { + Add(element); + } + } + } + } + + // custom implementation so we can do our own Clear/Add/Remove for delta + public void UnionWith(IEnumerable other) + { + if (other != this) + { + foreach (T element in other) + { + Add(element); + } + } + } + } + + public class SyncHashSet : SyncSet + { + public SyncHashSet() : this(EqualityComparer.Default) {} + public SyncHashSet(IEqualityComparer comparer) : base(new HashSet(comparer ?? EqualityComparer.Default)) {} + + // allocation free enumerator + public new HashSet.Enumerator GetEnumerator() => ((HashSet)objects).GetEnumerator(); + } + + public class SyncSortedSet : SyncSet + { + public SyncSortedSet() : this(Comparer.Default) {} + public SyncSortedSet(IComparer comparer) : base(new SortedSet(comparer ?? Comparer.Default)) {} + + // allocation free enumerator + public new SortedSet.Enumerator GetEnumerator() => ((SortedSet)objects).GetEnumerator(); + } +} diff --git a/Assets/Mirror/Runtime/SyncSet.cs.meta b/Assets/Mirror/Runtime/SyncSet.cs.meta new file mode 100644 index 0000000..6eeef1c --- /dev/null +++ b/Assets/Mirror/Runtime/SyncSet.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a31599d9f9dd4ef9999f7b9707c832c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport.meta b/Assets/Mirror/Runtime/Transport.meta new file mode 100644 index 0000000..fc29442 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7825d46cd73fe47938869eb5427b40fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/FallbackTransport.cs b/Assets/Mirror/Runtime/Transport/FallbackTransport.cs new file mode 100644 index 0000000..738a474 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/FallbackTransport.cs @@ -0,0 +1,178 @@ +// uses the first available transport for server and client. +// example: to use Apathy if on Windows/Mac/Linux and fall back to Telepathy +// otherwise. +using System; +using UnityEngine; + +namespace Mirror +{ + // Deprecated 2021-05-13 + [HelpURL("https://mirror-networking.gitbook.io/docs/transports/fallback-transport")] + [DisallowMultipleComponent] + [Obsolete("Fallback Transport will be retired. It was only needed for Apathy/Libuv. Use kcp or Telepathy instead, those run everywhere.")] + public class FallbackTransport : Transport + { + public Transport[] transports; + + // the first transport that is available on this platform + Transport available; + + public void Awake() + { + if (transports == null || transports.Length == 0) + { + throw new Exception("FallbackTransport requires at least 1 underlying transport"); + } + available = GetAvailableTransport(); + Debug.Log("FallbackTransport available: " + available.GetType()); + } + + void OnEnable() + { + available.enabled = true; + } + + void OnDisable() + { + available.enabled = false; + } + + // The client just uses the first transport available + Transport GetAvailableTransport() + { + foreach (Transport transport in transports) + { + if (transport.Available()) + { + return transport; + } + } + throw new Exception("No transport suitable for this platform"); + } + + public override bool Available() + { + return available.Available(); + } + + public override void ClientConnect(string address) + { + available.OnClientConnected = OnClientConnected; + available.OnClientDataReceived = OnClientDataReceived; + available.OnClientError = OnClientError; + available.OnClientDisconnected = OnClientDisconnected; + available.ClientConnect(address); + } + + public override void ClientConnect(Uri uri) + { + foreach (Transport transport in transports) + { + if (transport.Available()) + { + try + { + transport.ClientConnect(uri); + available = transport; + } + catch (ArgumentException) + { + // transport does not support the schema, just move on to the next one + } + } + } + throw new Exception("No transport suitable for this platform"); + } + + public override bool ClientConnected() + { + return available.ClientConnected(); + } + + public override void ClientDisconnect() + { + available.ClientDisconnect(); + } + + public override void ClientSend(ArraySegment segment, int channelId) + { + available.ClientSend(segment, channelId); + } + + // right now this just returns the first available uri, + // should we return the list of all available uri? + public override Uri ServerUri() => available.ServerUri(); + + public override bool ServerActive() + { + return available.ServerActive(); + } + + public override string ServerGetClientAddress(int connectionId) + { + return available.ServerGetClientAddress(connectionId); + } + + public override void ServerDisconnect(int connectionId) + { + available.ServerDisconnect(connectionId); + } + + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + available.ServerSend(connectionId, segment, channelId); + } + + public override void ServerStart() + { + available.OnServerConnected = OnServerConnected; + available.OnServerDataReceived = OnServerDataReceived; + available.OnServerError = OnServerError; + available.OnServerDisconnected = OnServerDisconnected; + available.ServerStart(); + } + + public override void ServerStop() + { + available.ServerStop(); + } + + public override void ClientEarlyUpdate() => available.ClientEarlyUpdate(); + public override void ServerEarlyUpdate() => available.ServerEarlyUpdate(); + public override void ClientLateUpdate() => available.ClientLateUpdate(); + public override void ServerLateUpdate() => available.ServerLateUpdate(); + + public override void Shutdown() + { + available.Shutdown(); + } + + public override int GetMaxPacketSize(int channelId = 0) + { + // finding the max packet size in a fallback environment has to be + // done very carefully: + // * servers and clients might run different transports depending on + // which platform they are on. + // * there should only ever be ONE true max packet size for everyone, + // otherwise a spawn message might be sent to all tcp sockets, but + // be too big for some udp sockets. that would be a debugging + // nightmare and allow for possible exploits and players on + // different platforms seeing a different game state. + // => the safest solution is to use the smallest max size for all + // transports. that will never fail. + int mininumAllowedSize = int.MaxValue; + foreach (Transport transport in transports) + { + int size = transport.GetMaxPacketSize(channelId); + mininumAllowedSize = Mathf.Min(size, mininumAllowedSize); + } + return mininumAllowedSize; + } + + public override string ToString() + { + return available.ToString(); + } + + } +} diff --git a/Assets/Mirror/Runtime/Transport/FallbackTransport.cs.meta b/Assets/Mirror/Runtime/Transport/FallbackTransport.cs.meta new file mode 100644 index 0000000..509a58f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/FallbackTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 330c9aab13d2d42069c6ebbe582b73ca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance.meta b/Assets/Mirror/Runtime/Transport/Ignorance.meta new file mode 100644 index 0000000..b56e66c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc98cd95e3fb22b4eb88082706967357 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Core.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Core.meta new file mode 100644 index 0000000..2b3246b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e03829cb9e647274db0f6a7b8b1b757b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs new file mode 100644 index 0000000..2542fd4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs @@ -0,0 +1,296 @@ +// Ignorance 1.4.x +// Ignorance. It really kicks the Unity LLAPIs ass. +// https://github.com/SoftwareGuy/Ignorance +// ----------------- +// Copyright (c) 2019 - 2020 Matt Coburn (SoftwareGuy/Coburn64) +// Ignorance Transport is licensed under the MIT license. Refer +// to the LICENSE file for more information. + +using ENet; +// using NetStack.Buffers; +using System; +using System.Collections.Concurrent; +using System.Threading; +using UnityEngine; +using Event = ENet.Event; // fixes CS0104 ambigous reference between the same thing in UnityEngine +using EventType = ENet.EventType; // fixes CS0104 ambigous reference between the same thing in UnityEngine +using Object = System.Object; // fixes CS0104 ambigous reference between the same thing in UnityEngine + +namespace IgnoranceTransport +{ + public class IgnoranceClient + { + // Client connection address and port + public string ConnectAddress = "127.0.0.1"; + public int ConnectPort = 7777; + // How many channels are expected + public int ExpectedChannels = 2; + // Native poll waiting time + public int PollTime = 1; + // Maximum Packet Size + public int MaximumPacketSize = 33554432; + // General Verbosity by default. + public int Verbosity = 1; + + // Queues + public ConcurrentQueue Incoming = new ConcurrentQueue(); + public ConcurrentQueue Outgoing = new ConcurrentQueue(); + public ConcurrentQueue Commands = new ConcurrentQueue(); + public ConcurrentQueue ConnectionEvents = new ConcurrentQueue(); + public ConcurrentQueue StatusUpdates = new ConcurrentQueue(); + + public bool IsAlive => WorkerThread != null && WorkerThread.IsAlive; + + private volatile bool CeaseOperation = false; + private Thread WorkerThread; + + public void Start() + { + Debug.Log("IgnoranceClient.Start()"); + + if (WorkerThread != null && WorkerThread.IsAlive) + { + // Cannot do that. + Debug.LogError("A worker thread is already running. Cannot start another."); + return; + } + + CeaseOperation = false; + ThreadParamInfo threadParams = new ThreadParamInfo() + { + Address = ConnectAddress, + Port = ConnectPort, + Channels = ExpectedChannels, + PollTime = PollTime, + PacketSizeLimit = MaximumPacketSize, + Verbosity = Verbosity + }; + + // Drain queues. + if (Incoming != null) while (Incoming.TryDequeue(out _)) ; + if (Outgoing != null) while (Outgoing.TryDequeue(out _)) ; + if (Commands != null) while (Commands.TryDequeue(out _)) ; + if (ConnectionEvents != null) while (ConnectionEvents.TryDequeue(out _)) ; + if (StatusUpdates != null) while (StatusUpdates.TryDequeue(out _)) ; + + WorkerThread = new Thread(ThreadWorker); + WorkerThread.Start(threadParams); + + Debug.Log("Client has dispatched worker thread."); + } + + public void Stop() + { + Debug.Log("Telling client thread to stop, this may take a while depending on network load"); + CeaseOperation = true; + } + + // This runs in a seperate thread, be careful accessing anything outside of it's thread + // or you may get an AccessViolation/crash. + private void ThreadWorker(Object parameters) + { + if (Verbosity > 0) + Debug.Log("Ignorance Client: Initializing. Please stand by..."); + + ThreadParamInfo setupInfo; + Address clientAddress = new Address(); + Peer clientPeer; + Host clientENetHost; + Event clientENetEvent; + IgnoranceClientStats icsu = default; + + // Grab the setup information. + if (parameters.GetType() == typeof(ThreadParamInfo)) + { + setupInfo = (ThreadParamInfo)parameters; + } + else + { + Debug.LogError("Ignorance Client: Startup failure: Invalid thread parameters. Aborting."); + return; + } + + // Attempt to initialize ENet inside the thread. + if (Library.Initialize()) + { + Debug.Log("Ignorance Client: ENet initialized."); + } + else + { + Debug.LogError("Ignorance Client: Failed to initialize ENet. This threads' fucked."); + return; + } + + // Attempt to connect to our target. + clientAddress.SetHost(setupInfo.Address); + clientAddress.Port = (ushort)setupInfo.Port; + + using (clientENetHost = new Host()) + { + // TODO: Maybe try catch this + clientENetHost.Create(); + clientPeer = clientENetHost.Connect(clientAddress, setupInfo.Channels); + + while (!CeaseOperation) + { + bool pollComplete = false; + + // Step 0: Handle commands. + while (Commands.TryDequeue(out IgnoranceCommandPacket commandPacket)) + { + switch (commandPacket.Type) + { + default: + break; + + case IgnoranceCommandType.ClientWantsToStop: + CeaseOperation = true; + break; + + case IgnoranceCommandType.ClientRequestsStatusUpdate: + // Respond with statistics so far. + if (!clientPeer.IsSet) + break; + + icsu.RTT = clientPeer.RoundTripTime; + + icsu.BytesReceived = clientPeer.BytesReceived; + icsu.BytesSent = clientPeer.BytesSent; + + icsu.PacketsReceived = clientENetHost.PacketsReceived; + icsu.PacketsSent = clientPeer.PacketsSent; + icsu.PacketsLost = clientPeer.PacketsLost; + + StatusUpdates.Enqueue(icsu); + break; + } + } + // Step 1: Send out data. + // ---> Sending to Server + while (Outgoing.TryDequeue(out IgnoranceOutgoingPacket outgoingPacket)) + { + // TODO: Revise this, could we tell the Peer to disconnect right here? + // Stop early if we get a client stop packet. + // if (outgoingPacket.Type == IgnorancePacketType.ClientWantsToStop) break; + + int ret = clientPeer.Send(outgoingPacket.Channel, ref outgoingPacket.Payload); + + if (ret < 0 && setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Client: ENet error code {ret} while sending packet to Peer {outgoingPacket.NativePeerId}."); + } + + // Step 2: + // <----- Receive Data packets + // This loops until polling is completed. It may take a while, if it's + // a slow networking day. + while (!pollComplete) + { + Packet incomingPacket; + Peer incomingPeer; + int incomingPacketLength; + + // Any events worth checking out? + if (clientENetHost.CheckEvents(out clientENetEvent) <= 0) + { + // If service time is met, break out of it. + if (clientENetHost.Service(setupInfo.PollTime, out clientENetEvent) <= 0) break; + + // Poll is done. + pollComplete = true; + } + + // Setup the packet references. + incomingPeer = clientENetEvent.Peer; + + // Now, let's handle those events. + switch (clientENetEvent.Type) + { + case EventType.None: + default: + break; + + case EventType.Connect: + ConnectionEvents.Enqueue(new IgnoranceConnectionEvent() + { + NativePeerId = incomingPeer.ID, + IP = incomingPeer.IP, + Port = incomingPeer.Port + }); + break; + + case EventType.Disconnect: + case EventType.Timeout: + ConnectionEvents.Enqueue(new IgnoranceConnectionEvent() + { + WasDisconnect = true + }); + break; + + + case EventType.Receive: + // Receive event type usually includes a packet; so cache its reference. + incomingPacket = clientENetEvent.Packet; + + if (!incomingPacket.IsSet) + { + if (setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Client: A receive event did not supply us with a packet to work with. This should never happen."); + break; + } + + incomingPacketLength = incomingPacket.Length; + + // Never consume more than we can have capacity for. + if (incomingPacketLength > setupInfo.PacketSizeLimit) + { + if (setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Client: Incoming packet is too big. My limit is {setupInfo.PacketSizeLimit} byte(s) whilest this packet is {incomingPacketLength} bytes."); + + incomingPacket.Dispose(); + break; + } + + IgnoranceIncomingPacket incomingQueuePacket = new IgnoranceIncomingPacket + { + Channel = clientENetEvent.ChannelID, + NativePeerId = incomingPeer.ID, + Payload = incomingPacket + }; + + Incoming.Enqueue(incomingQueuePacket); + break; + } + } + } + + Debug.Log("Ignorance Server: Shutdown commencing, disconnecting and flushing connection."); + + // Flush the client and disconnect. + clientPeer.Disconnect(0); + clientENetHost.Flush(); + + // Fix for client stuck in limbo, since the disconnection event may not be fired until next loop. + ConnectionEvents.Enqueue(new IgnoranceConnectionEvent() + { + WasDisconnect = true + }); + } + + // Deinitialize + Library.Deinitialize(); + if (setupInfo.Verbosity > 0) + Debug.Log("Ignorance Client: Shutdown complete."); + } + + + private struct ThreadParamInfo + { + public int Channels; + public int PollTime; + public int Port; + public int PacketSizeLimit; + public int Verbosity; + public string Address; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs.meta new file mode 100644 index 0000000..fe965ca --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceClient.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7b9e2c091c3d42439840a02fe700252 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs new file mode 100644 index 0000000..4f71947 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs @@ -0,0 +1,328 @@ +// Ignorance 1.4.x +// Ignorance. It really kicks the Unity LLAPIs ass. +// https://github.com/SoftwareGuy/Ignorance +// ----------------- +// Copyright (c) 2019 - 2020 Matt Coburn (SoftwareGuy/Coburn64) +// Ignorance Transport is licensed under the MIT license. Refer +// to the LICENSE file for more information. + +using ENet; +// using NetStack.Buffers; +using System.Collections.Concurrent; +using System.Threading; +using UnityEngine; +using Event = ENet.Event; // fixes CS0104 ambigous reference between the same thing in UnityEngine +using EventType = ENet.EventType; // fixes CS0104 ambigous reference between the same thing in UnityEngine +using Object = System.Object; // fixes CS0104 ambigous reference between the same thing in UnityEngine + +namespace IgnoranceTransport +{ + public class IgnoranceServer + { + // Server Properties + // - Bind Settings + public string BindAddress = "127.0.0.1"; + public int BindPort = 7777; + // - Maximum allowed channels, peers, etc. + public int MaximumChannels = 2; + public int MaximumPeers = 100; + public int MaximumPacketSize = 33554432; // ENet.cs: uint maxPacketSize = 32 * 1024 * 1024 = 33554432 + // - Native poll waiting time + public int PollTime = 1; + public int Verbosity = 1; + + public bool IsAlive => WorkerThread != null && WorkerThread.IsAlive; + + private volatile bool CeaseOperation = false; + + // Queues + public ConcurrentQueue Incoming = new ConcurrentQueue(); + public ConcurrentQueue Outgoing = new ConcurrentQueue(); + public ConcurrentQueue Commands = new ConcurrentQueue(); + public ConcurrentQueue ConnectionEvents = new ConcurrentQueue(); + public ConcurrentQueue DisconnectionEvents = new ConcurrentQueue(); + + // Thread + private Thread WorkerThread; + + public void Start() + { + if (WorkerThread != null && WorkerThread.IsAlive) + { + // Cannot do that. + Debug.LogError("A worker thread is already running. Cannot start another."); + return; + } + + CeaseOperation = false; + ThreadParamInfo threadParams = new ThreadParamInfo() + { + Address = BindAddress, + Port = BindPort, + Peers = MaximumPeers, + Channels = MaximumChannels, + PollTime = PollTime, + PacketSizeLimit = MaximumPacketSize, + Verbosity = Verbosity + }; + + // Drain queues. + if (Incoming != null) while (Incoming.TryDequeue(out _)) ; + if (Outgoing != null) while (Outgoing.TryDequeue(out _)) ; + if (Commands != null) while (Commands.TryDequeue(out _)) ; + if (ConnectionEvents != null) while (ConnectionEvents.TryDequeue(out _)) ; + if (DisconnectionEvents != null) while (DisconnectionEvents.TryDequeue(out _)) ; + + WorkerThread = new Thread(ThreadWorker); + WorkerThread.Start(threadParams); + + // Announce + if (Verbosity > 0) + Debug.Log("Server has dispatched worker thread."); + } + + public void Stop() + { + if (Verbosity > 0) + Debug.Log("Telling server thread to stop, this may take a while depending on network load"); + CeaseOperation = true; + } + + private void ThreadWorker(Object parameters) + { + if (Verbosity > 0) + Debug.Log("Ignorance Server: Initializing. Please stand by..."); + + // Thread cache items + ThreadParamInfo setupInfo; + Address serverAddress = new Address(); + Host serverENetHost; + Event serverENetEvent; + + Peer[] serverPeerArray; + + // Grab the setup information. + if (parameters.GetType() == typeof(ThreadParamInfo)) + { + setupInfo = (ThreadParamInfo)parameters; + } + else + { + Debug.LogError("Ignorance Server: Startup failure: Invalid thread parameters. Aborting."); + return; + } + + // Attempt to initialize ENet inside the thread. + if (Library.Initialize()) + { + Debug.Log("Ignorance Server: ENet initialized."); + } + else + { + Debug.LogError("Ignorance Server: Failed to initialize ENet. This threads' fucked."); + return; + } + + // Configure the server address. + serverAddress.SetHost(setupInfo.Address); + serverAddress.Port = (ushort)setupInfo.Port; + serverPeerArray = new Peer[setupInfo.Peers]; + + using (serverENetHost = new Host()) + { + // Create the server object. + serverENetHost.Create(serverAddress, setupInfo.Peers, setupInfo.Channels); + + // Loop until we're told to cease operations. + while (!CeaseOperation) + { + // Intermission: Command Handling + while (Commands.TryDequeue(out IgnoranceCommandPacket commandPacket)) + { + switch (commandPacket.Type) + { + default: + break; + + // Boot a Peer off the Server. + case IgnoranceCommandType.ServerKickPeer: + uint targetPeer = commandPacket.PeerId; + + if (!serverPeerArray[targetPeer].IsSet) continue; + if (setupInfo.Verbosity > 0) + Debug.Log($"Ignorance Server: Booting Peer {targetPeer} off this server instance."); + + IgnoranceConnectionEvent iced = new IgnoranceConnectionEvent() + { + WasDisconnect = true, + NativePeerId = targetPeer + }; + + DisconnectionEvents.Enqueue(iced); + + // Disconnect and reset the peer array's entry for that peer. + serverPeerArray[targetPeer].DisconnectNow(0); + serverPeerArray[targetPeer] = default; + break; + } + } + + // Step One: + // ---> Sending to peers + while (Outgoing.TryDequeue(out IgnoranceOutgoingPacket outgoingPacket)) + { + // Only create a packet if the server knows the peer. + if (serverPeerArray[outgoingPacket.NativePeerId].IsSet) + { + int ret = serverPeerArray[outgoingPacket.NativePeerId].Send(outgoingPacket.Channel, ref outgoingPacket.Payload); + + if (ret < 0 && setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Server: ENet error code {ret} while sending packet to Peer {outgoingPacket.NativePeerId}."); + } + else + { + // A peer might have disconnected, this is OK - just log the packet if set to paranoid. + if (setupInfo.Verbosity > 1) + Debug.LogWarning("Ignorance Server: Can't send packet, a native peer object is not set. This may be normal if the Peer has disconnected before this send cycle."); + } + + } + + // Step 2 + // <--- Receiving from peers + bool pollComplete = false; + + while (!pollComplete) + { + Packet incomingPacket; + Peer incomingPeer; + int incomingPacketLength; + + // Any events happening? + if (serverENetHost.CheckEvents(out serverENetEvent) <= 0) + { + // If service time is met, break out of it. + if (serverENetHost.Service(setupInfo.PollTime, out serverENetEvent) <= 0) break; + + pollComplete = true; + } + + // Setup the packet references. + incomingPeer = serverENetEvent.Peer; + + switch (serverENetEvent.Type) + { + // Idle. + case EventType.None: + default: + break; + + // Connection Event. + case EventType.Connect: + if (setupInfo.Verbosity > 1) + Debug.Log("Ignorance Server: Here comes a new Peer connection."); + + IgnoranceConnectionEvent ice = new IgnoranceConnectionEvent() + { + NativePeerId = incomingPeer.ID, + IP = incomingPeer.IP, + Port = incomingPeer.Port + }; + + ConnectionEvents.Enqueue(ice); + + // Assign a reference to the Peer. + serverPeerArray[incomingPeer.ID] = incomingPeer; + break; + + // Disconnect/Timeout. Mirror doesn't care if it's either, so we lump them together. + case EventType.Disconnect: + case EventType.Timeout: + if (!serverPeerArray[incomingPeer.ID].IsSet) break; + + if (setupInfo.Verbosity > 1) + Debug.Log("Ignorance Server: Peer disconnection."); + + IgnoranceConnectionEvent iced = new IgnoranceConnectionEvent() + { + WasDisconnect = true, + NativePeerId = incomingPeer.ID + }; + + DisconnectionEvents.Enqueue(iced); + + // Reset the peer array's entry for that peer. + serverPeerArray[incomingPeer.ID] = default; + break; + + case EventType.Receive: + // Receive event type usually includes a packet; so cache its reference. + incomingPacket = serverENetEvent.Packet; + if (!incomingPacket.IsSet) + { + if (setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Server: A receive event did not supply us with a packet to work with. This should never happen."); + break; + } + + incomingPacketLength = incomingPacket.Length; + + // Firstly check if the packet is too big. If it is, do not process it - drop it. + if (incomingPacketLength > setupInfo.PacketSizeLimit) + { + if (setupInfo.Verbosity > 0) + Debug.LogWarning($"Ignorance Server: Incoming packet is too big. My limit is {setupInfo.PacketSizeLimit} byte(s) whilest this packet is {incomingPacketLength} bytes."); + + incomingPacket.Dispose(); + break; + } + + IgnoranceIncomingPacket incomingQueuePacket = new IgnoranceIncomingPacket + { + Channel = serverENetEvent.ChannelID, + NativePeerId = incomingPeer.ID, + Payload = incomingPacket, + }; + + // Enqueue. + Incoming.Enqueue(incomingQueuePacket); + break; + } + } + } + + if (Verbosity > 0) + Debug.Log("Ignorance Server: Shutdown commencing, flushing connections."); + + // Cleanup and flush everything. + serverENetHost.Flush(); + + // Kick everyone. + for (int i = 0; i < serverPeerArray.Length; i++) + { + if (!serverPeerArray[i].IsSet) continue; + serverPeerArray[i].DisconnectNow(0); + } + } + + // Flush again to ensure ENet gets those Disconnection stuff out. + // May not be needed; better to err on side of caution + + if (setupInfo.Verbosity > 0) + Debug.Log("Ignorance Server: Shutdown complete."); + + Library.Deinitialize(); + } + + private struct ThreadParamInfo + { + public int Channels; + public int Peers; + public int PollTime; + public int Port; + public int PacketSizeLimit; + public int Verbosity; + public string Address; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs.meta new file mode 100644 index 0000000..8b3212b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Core/IgnoranceServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1069f42b88a4adb4ab1990cec4949343 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies.meta new file mode 100644 index 0000000..565dc3b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12f903db684732e45b130ad56f7c86c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs new file mode 100644 index 0000000..cf4336c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs @@ -0,0 +1,1411 @@ +/* + * Managed C# wrapper for an extended version of ENet + * This is a fork from upstream and is available at http://github.com/SoftwareGuy/ENet-CSharp + * + * Copyright (c) 2019 Matt Coburn (SoftwareGuy/Coburn64), Chris Burns (c6burns) + * Copyright (c) 2013 James Bellinger, 2016 Nate Shoffner, 2018 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +using System; +using System.Runtime.InteropServices; +using System.Security; +using System.Text; + +namespace ENet +{ + [Flags] + public enum PacketFlags + { + None = 0, + Reliable = 1 << 0, + Unsequenced = 1 << 1, + NoAllocate = 1 << 2, + UnreliableFragmented = 1 << 3, + Instant = 1 << 4, + Unthrottled = 1 << 5, + Sent = 1 << 8 + } + + public enum EventType + { + None = 0, + Connect = 1, + Disconnect = 2, + Receive = 3, + Timeout = 4 + } + + public enum PeerState + { + Uninitialized = -1, + Disconnected = 0, + Connecting = 1, + AcknowledgingConnect = 2, + ConnectionPending = 3, + ConnectionSucceeded = 4, + Connected = 5, + DisconnectLater = 6, + Disconnecting = 7, + AcknowledgingDisconnect = 8, + Zombie = 9 + } + + [StructLayout(LayoutKind.Explicit, Size = 18)] + internal struct ENetAddress + { + [FieldOffset(16)] + public ushort port; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ENetEvent + { + public EventType type; + public IntPtr peer; + public byte channelID; + public uint data; + public IntPtr packet; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ENetCallbacks + { + public AllocCallback malloc; + public FreeCallback free; + public NoMemoryCallback noMemory; + } + + public delegate IntPtr AllocCallback(IntPtr size); + public delegate void FreeCallback(IntPtr memory); + public delegate void NoMemoryCallback(); + public delegate void PacketFreeCallback(Packet packet); + public delegate int InterceptCallback(ref Event @event, ref Address address, IntPtr receivedData, int receivedDataLength); + public delegate ulong ChecksumCallback(IntPtr buffers, int bufferCount); + + internal static class ArrayPool + { + [ThreadStatic] + private static byte[] byteBuffer; + [ThreadStatic] + private static IntPtr[] pointerBuffer; + + public static byte[] GetByteBuffer() + { + if (byteBuffer == null) + byteBuffer = new byte[64]; + + return byteBuffer; + } + + public static IntPtr[] GetPointerBuffer() + { + if (pointerBuffer == null) + pointerBuffer = new IntPtr[Library.maxPeers]; + + return pointerBuffer; + } + } + + public struct Address + { + private ENetAddress nativeAddress; + + internal ENetAddress NativeData + { + get + { + return nativeAddress; + } + + set + { + nativeAddress = value; + } + } + + internal Address(ENetAddress address) + { + nativeAddress = address; + } + + public ushort Port + { + get + { + return nativeAddress.port; + } + + set + { + nativeAddress.port = value; + } + } + + public string GetIP() + { + StringBuilder ip = new StringBuilder(1025); + + if (Native.enet_address_get_ip(ref nativeAddress, ip, (IntPtr)ip.Capacity) != 0) + return String.Empty; + + return ip.ToString(); + } + + public bool SetIP(string ip) + { + if (ip == null) + throw new ArgumentNullException("ip"); + + return Native.enet_address_set_ip(ref nativeAddress, ip) == 0; + } + + public string GetHost() + { + StringBuilder hostName = new StringBuilder(1025); + + if (Native.enet_address_get_hostname(ref nativeAddress, hostName, (IntPtr)hostName.Capacity) != 0) + return String.Empty; + + return hostName.ToString(); + } + + public bool SetHost(string hostName) + { + if (hostName == null) + throw new ArgumentNullException("hostName"); + + return Native.enet_address_set_hostname(ref nativeAddress, hostName) == 0; + } + } + + public struct Event + { + private ENetEvent nativeEvent; + + internal ENetEvent NativeData + { + get + { + return nativeEvent; + } + + set + { + nativeEvent = value; + } + } + + internal Event(ENetEvent @event) + { + nativeEvent = @event; + } + + public EventType Type + { + get + { + return nativeEvent.type; + } + } + + public Peer Peer + { + get + { + return new Peer(nativeEvent.peer); + } + } + + public byte ChannelID + { + get + { + return nativeEvent.channelID; + } + } + + public uint Data + { + get + { + return nativeEvent.data; + } + } + + public Packet Packet + { + get + { + return new Packet(nativeEvent.packet); + } + } + } + + public class Callbacks + { + private ENetCallbacks nativeCallbacks; + + internal ENetCallbacks NativeData + { + get + { + return nativeCallbacks; + } + + set + { + nativeCallbacks = value; + } + } + + public Callbacks(AllocCallback allocCallback, FreeCallback freeCallback, NoMemoryCallback noMemoryCallback) + { + nativeCallbacks.malloc = allocCallback; + nativeCallbacks.free = freeCallback; + nativeCallbacks.noMemory = noMemoryCallback; + } + } + + public struct Packet : IDisposable + { + private IntPtr nativePacket; + + internal IntPtr NativeData + { + get + { + return nativePacket; + } + + set + { + nativePacket = value; + } + } + + internal Packet(IntPtr packet) + { + nativePacket = packet; + } + + public void Dispose() + { + if (nativePacket != IntPtr.Zero) + { + Native.enet_packet_dispose(nativePacket); + nativePacket = IntPtr.Zero; + } + } + + public bool IsSet + { + get + { + return nativePacket != IntPtr.Zero; + } + } + + public IntPtr Data + { + get + { + ThrowIfNotCreated(); + + return Native.enet_packet_get_data(nativePacket); + } + } + + public IntPtr UserData + { + get + { + ThrowIfNotCreated(); + + return Native.enet_packet_get_user_data(nativePacket); + } + + set + { + ThrowIfNotCreated(); + + Native.enet_packet_set_user_data(nativePacket, value); + } + } + + public int Length + { + get + { + ThrowIfNotCreated(); + + return Native.enet_packet_get_length(nativePacket); + } + } + + public bool HasReferences + { + get + { + ThrowIfNotCreated(); + + return Native.enet_packet_check_references(nativePacket) != 0; + } + } + + internal void ThrowIfNotCreated() + { + if (nativePacket == IntPtr.Zero) + throw new InvalidOperationException("Packet not created"); + } + + public void SetFreeCallback(IntPtr callback) + { + ThrowIfNotCreated(); + + Native.enet_packet_set_free_callback(nativePacket, callback); + } + + public void SetFreeCallback(PacketFreeCallback callback) + { + ThrowIfNotCreated(); + + Native.enet_packet_set_free_callback(nativePacket, Marshal.GetFunctionPointerForDelegate(callback)); + } + + public void Create(byte[] data) + { + if (data == null) + throw new ArgumentNullException("data"); + + Create(data, data.Length); + } + + public void Create(byte[] data, int length) + { + Create(data, length, PacketFlags.None); + } + + public void Create(byte[] data, PacketFlags flags) + { + Create(data, data.Length, flags); + } + + public void Create(byte[] data, int length, PacketFlags flags) + { + if (data == null) + throw new ArgumentNullException("data"); + + if (length < 0 || length > data.Length) + throw new ArgumentOutOfRangeException("length"); + + nativePacket = Native.enet_packet_create(data, (IntPtr)length, flags); + } + + public void Create(IntPtr data, int length, PacketFlags flags) + { + if (data == IntPtr.Zero) + throw new ArgumentNullException("data"); + + if (length < 0) + throw new ArgumentOutOfRangeException("length"); + + nativePacket = Native.enet_packet_create(data, (IntPtr)length, flags); + } + + public void Create(byte[] data, int offset, int length, PacketFlags flags) + { + if (data == null) + throw new ArgumentNullException("data"); + + if (offset < 0) + throw new ArgumentOutOfRangeException("offset"); + + if (length < 0 || length > data.Length) + throw new ArgumentOutOfRangeException("length"); + + nativePacket = Native.enet_packet_create_offset(data, (IntPtr)length, (IntPtr)offset, flags); + } + + public void Create(IntPtr data, int offset, int length, PacketFlags flags) + { + if (data == IntPtr.Zero) + throw new ArgumentNullException("data"); + + if (offset < 0) + throw new ArgumentOutOfRangeException("offset"); + + if (length < 0) + throw new ArgumentOutOfRangeException("length"); + + nativePacket = Native.enet_packet_create_offset(data, (IntPtr)length, (IntPtr)offset, flags); + } + + public void CopyTo(byte[] destination, int startPos = 0) + { + if (destination == null) + throw new ArgumentNullException("destination"); + + // Fix by katori, prevents trying to copy a NULL + // from native world (ie. disconnect a client) + if (Data == null) + { + return; + } + + Marshal.Copy(Data, destination, startPos, Length); + } + } + + public class Host : IDisposable + { + private IntPtr nativeHost; + + internal IntPtr NativeData + { + get + { + return nativeHost; + } + + set + { + nativeHost = value; + } + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (nativeHost != IntPtr.Zero) + { + Native.enet_host_destroy(nativeHost); + nativeHost = IntPtr.Zero; + } + } + + ~Host() + { + Dispose(false); + } + + public bool IsSet + { + get + { + return nativeHost != IntPtr.Zero; + } + } + + public uint PeersCount + { + get + { + ThrowIfNotCreated(); + + return Native.enet_host_get_peers_count(nativeHost); + } + } + + public uint PacketsSent + { + get + { + ThrowIfNotCreated(); + + return Native.enet_host_get_packets_sent(nativeHost); + } + } + + public uint PacketsReceived + { + get + { + ThrowIfNotCreated(); + + return Native.enet_host_get_packets_received(nativeHost); + } + } + + public uint BytesSent + { + get + { + ThrowIfNotCreated(); + + return Native.enet_host_get_bytes_sent(nativeHost); + } + } + + public uint BytesReceived + { + get + { + ThrowIfNotCreated(); + + return Native.enet_host_get_bytes_received(nativeHost); + } + } + + internal void ThrowIfNotCreated() + { + if (nativeHost == IntPtr.Zero) + throw new InvalidOperationException("Host not created"); + } + + private static void ThrowIfChannelsExceeded(int channelLimit) + { + if (channelLimit < 0 || channelLimit > Library.maxChannelCount) + throw new ArgumentOutOfRangeException("channelLimit"); + } + + public void Create() + { + Create(null, 1, 0); + } + + public void Create(int bufferSize) + { + Create(null, 1, 0, 0, 0, bufferSize); + } + + public void Create(Address? address, int peerLimit) + { + Create(address, peerLimit, 0); + } + + public void Create(Address? address, int peerLimit, int channelLimit) + { + Create(address, peerLimit, channelLimit, 0, 0, 0); + } + + public void Create(int peerLimit, int channelLimit) + { + Create(null, peerLimit, channelLimit, 0, 0, 0); + } + + public void Create(int peerLimit, int channelLimit, uint incomingBandwidth, uint outgoingBandwidth) + { + Create(null, peerLimit, channelLimit, incomingBandwidth, outgoingBandwidth, 0); + } + + public void Create(Address? address, int peerLimit, int channelLimit, uint incomingBandwidth, uint outgoingBandwidth) + { + Create(address, peerLimit, channelLimit, incomingBandwidth, outgoingBandwidth, 0); + } + + public void Create(Address? address, int peerLimit, int channelLimit, uint incomingBandwidth, uint outgoingBandwidth, int bufferSize) + { + if (nativeHost != IntPtr.Zero) + throw new InvalidOperationException("Host already created"); + + if (peerLimit < 0 || peerLimit > Library.maxPeers) + throw new ArgumentOutOfRangeException("peerLimit"); + + ThrowIfChannelsExceeded(channelLimit); + + if (address != null) + { + var nativeAddress = address.Value.NativeData; + + nativeHost = Native.enet_host_create(ref nativeAddress, (IntPtr)peerLimit, (IntPtr)channelLimit, incomingBandwidth, outgoingBandwidth, bufferSize); + } + else + { + nativeHost = Native.enet_host_create(IntPtr.Zero, (IntPtr)peerLimit, (IntPtr)channelLimit, incomingBandwidth, outgoingBandwidth, bufferSize); + } + + if (nativeHost == IntPtr.Zero) + throw new InvalidOperationException("Host creation call failed"); + } + + public void PreventConnections(bool state) + { + ThrowIfNotCreated(); + + Native.enet_host_prevent_connections(nativeHost, (byte)(state ? 1 : 0)); + } + + public void Broadcast(byte channelID, ref Packet packet) + { + ThrowIfNotCreated(); + + packet.ThrowIfNotCreated(); + Native.enet_host_broadcast(nativeHost, channelID, packet.NativeData); + packet.NativeData = IntPtr.Zero; + } + + public void Broadcast(byte channelID, ref Packet packet, Peer excludedPeer) + { + ThrowIfNotCreated(); + + packet.ThrowIfNotCreated(); + Native.enet_host_broadcast_exclude(nativeHost, channelID, packet.NativeData, excludedPeer.NativeData); + packet.NativeData = IntPtr.Zero; + } + + public void Broadcast(byte channelID, ref Packet packet, Peer[] peers) + { + if (peers == null) + throw new ArgumentNullException("peers"); + + ThrowIfNotCreated(); + + packet.ThrowIfNotCreated(); + + if (peers.Length > 0) + { + IntPtr[] nativePeers = ArrayPool.GetPointerBuffer(); + int nativeCount = 0; + + for (int i = 0; i < peers.Length; i++) + { + if (peers[i].NativeData != IntPtr.Zero) + { + nativePeers[nativeCount] = peers[i].NativeData; + nativeCount++; + } + } + + Native.enet_host_broadcast_selective(nativeHost, channelID, packet.NativeData, nativePeers, (IntPtr)nativeCount); + } + + packet.NativeData = IntPtr.Zero; + } + + public int CheckEvents(out Event @event) + { + ThrowIfNotCreated(); + + ENetEvent nativeEvent; + + var result = Native.enet_host_check_events(nativeHost, out nativeEvent); + + if (result <= 0) + { + @event = default(Event); + + return result; + } + + @event = new Event(nativeEvent); + + return result; + } + + public Peer Connect(Address address) + { + return Connect(address, 0, 0); + } + + public Peer Connect(Address address, int channelLimit) + { + return Connect(address, channelLimit, 0); + } + + public Peer Connect(Address address, int channelLimit, uint data) + { + ThrowIfNotCreated(); + ThrowIfChannelsExceeded(channelLimit); + + var nativeAddress = address.NativeData; + var peer = new Peer(Native.enet_host_connect(nativeHost, ref nativeAddress, (IntPtr)channelLimit, data)); + + if (peer.NativeData == IntPtr.Zero) + throw new InvalidOperationException("Host connect call failed"); + + return peer; + } + + public int Service(int timeout, out Event @event) + { + if (timeout < 0) + throw new ArgumentOutOfRangeException("timeout"); + + ThrowIfNotCreated(); + + ENetEvent nativeEvent; + + var result = Native.enet_host_service(nativeHost, out nativeEvent, (uint)timeout); + + if (result <= 0) + { + @event = default(Event); + + return result; + } + + @event = new Event(nativeEvent); + + return result; + } + + public void SetBandwidthLimit(uint incomingBandwidth, uint outgoingBandwidth) + { + ThrowIfNotCreated(); + + Native.enet_host_bandwidth_limit(nativeHost, incomingBandwidth, outgoingBandwidth); + } + + public void SetChannelLimit(int channelLimit) + { + ThrowIfNotCreated(); + ThrowIfChannelsExceeded(channelLimit); + + Native.enet_host_channel_limit(nativeHost, (IntPtr)channelLimit); + } + + public void SetMaxDuplicatePeers(ushort number) + { + ThrowIfNotCreated(); + + Native.enet_host_set_max_duplicate_peers(nativeHost, number); + } + + public void SetInterceptCallback(IntPtr callback) + { + ThrowIfNotCreated(); + + Native.enet_host_set_intercept_callback(nativeHost, callback); + } + + public void SetInterceptCallback(InterceptCallback callback) + { + ThrowIfNotCreated(); + + Native.enet_host_set_intercept_callback(nativeHost, Marshal.GetFunctionPointerForDelegate(callback)); + } + + public void SetChecksumCallback(IntPtr callback) + { + ThrowIfNotCreated(); + + Native.enet_host_set_checksum_callback(nativeHost, callback); + } + + public void SetChecksumCallback(ChecksumCallback callback) + { + ThrowIfNotCreated(); + + Native.enet_host_set_checksum_callback(nativeHost, Marshal.GetFunctionPointerForDelegate(callback)); + } + + public void Flush() + { + ThrowIfNotCreated(); + + Native.enet_host_flush(nativeHost); + } + } + + public struct Peer + { + private IntPtr nativePeer; + private uint nativeID; + + internal IntPtr NativeData + { + get + { + return nativePeer; + } + + set + { + nativePeer = value; + } + } + + internal Peer(IntPtr peer) + { + nativePeer = peer; + nativeID = nativePeer != IntPtr.Zero ? Native.enet_peer_get_id(nativePeer) : 0; + } + + public bool IsSet + { + get + { + return nativePeer != IntPtr.Zero; + } + } + + public uint ID + { + get + { + return nativeID; + } + } + + public string IP + { + get + { + ThrowIfNotCreated(); + + byte[] ip = ArrayPool.GetByteBuffer(); + + if (Native.enet_peer_get_ip(nativePeer, ip, (IntPtr)ip.Length) == 0) + return Encoding.ASCII.GetString(ip, 0, ip.StringLength()); + else + return String.Empty; + } + } + + public ushort Port + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_port(nativePeer); + } + } + + public uint MTU + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_mtu(nativePeer); + } + } + + public PeerState State + { + get + { + return nativePeer == IntPtr.Zero ? PeerState.Uninitialized : Native.enet_peer_get_state(nativePeer); + } + } + + public uint RoundTripTime + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_rtt(nativePeer); + } + } + + public uint LastRoundTripTime + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_last_rtt(nativePeer); + } + } + + public uint LastSendTime + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_lastsendtime(nativePeer); + } + } + + public uint LastReceiveTime + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_lastreceivetime(nativePeer); + } + } + + public ulong PacketsSent + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_packets_sent(nativePeer); + } + } + + public ulong PacketsLost + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_packets_lost(nativePeer); + } + } + + public float PacketsThrottle + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_packets_throttle(nativePeer); + } + } + + public ulong BytesSent + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_bytes_sent(nativePeer); + } + } + + public ulong BytesReceived + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_bytes_received(nativePeer); + } + } + + public IntPtr Data + { + get + { + ThrowIfNotCreated(); + + return Native.enet_peer_get_data(nativePeer); + } + + set + { + ThrowIfNotCreated(); + + Native.enet_peer_set_data(nativePeer, value); + } + } + + internal void ThrowIfNotCreated() + { + if (nativePeer == IntPtr.Zero) + throw new InvalidOperationException("Peer not created"); + } + + public void ConfigureThrottle(uint interval, uint acceleration, uint deceleration, uint threshold) + { + ThrowIfNotCreated(); + + Native.enet_peer_throttle_configure(nativePeer, interval, acceleration, deceleration, threshold); + } + + public int Send(byte channelID, ref Packet packet) + { + ThrowIfNotCreated(); + + packet.ThrowIfNotCreated(); + + return Native.enet_peer_send(nativePeer, channelID, packet.NativeData); + } + + public bool Receive(out byte channelID, out Packet packet) + { + ThrowIfNotCreated(); + + IntPtr nativePacket = Native.enet_peer_receive(nativePeer, out channelID); + + if (nativePacket != IntPtr.Zero) + { + packet = new Packet(nativePacket); + + return true; + } + + packet = default(Packet); + + return false; + } + + public void Ping() + { + ThrowIfNotCreated(); + + Native.enet_peer_ping(nativePeer); + } + + public void PingInterval(uint interval) + { + ThrowIfNotCreated(); + + Native.enet_peer_ping_interval(nativePeer, interval); + } + + public void Timeout(uint timeoutLimit, uint timeoutMinimum, uint timeoutMaximum) + { + ThrowIfNotCreated(); + + Native.enet_peer_timeout(nativePeer, timeoutLimit, timeoutMinimum, timeoutMaximum); + } + + public void Disconnect(uint data) + { + ThrowIfNotCreated(); + + Native.enet_peer_disconnect(nativePeer, data); + } + + public void DisconnectNow(uint data) + { + ThrowIfNotCreated(); + + Native.enet_peer_disconnect_now(nativePeer, data); + } + + public void DisconnectLater(uint data) + { + ThrowIfNotCreated(); + + Native.enet_peer_disconnect_later(nativePeer, data); + } + + public void Reset() + { + ThrowIfNotCreated(); + + Native.enet_peer_reset(nativePeer); + } + } + + public static class Extensions + { + public static int StringLength(this byte[] data) + { + if (data == null) + throw new ArgumentNullException("data"); + + int i; + + for (i = 0; i < data.Length && data[i] != 0; i++) ; + + return i; + } + } + + public static class Library + { + public const uint maxChannelCount = 0xFF; + public const uint maxPeers = 0xFFF; + public const uint maxPacketSize = 32 * 1024 * 1024; + public const uint throttleThreshold = 40; + public const uint throttleScale = 32; + public const uint throttleAcceleration = 2; + public const uint throttleDeceleration = 2; + public const uint throttleInterval = 5000; + public const uint timeoutLimit = 32; + public const uint timeoutMinimum = 5000; + public const uint timeoutMaximum = 30000; + public const uint version = (2 << 16) | (4 << 8) | (7); + + public static uint Time + { + get + { + return Native.enet_time_get(); + } + } + + public static bool Initialize() + { + if (Native.enet_linked_version() != version) + throw new InvalidOperationException("ENet native is out of date. Download the latest release from https://github.com/SoftwareGuy/ENet-CSharp/releases"); + + return Native.enet_initialize() == 0; + } + + public static bool Initialize(Callbacks callbacks) + { + if (callbacks == null) + throw new ArgumentNullException("callbacks"); + + if (Native.enet_linked_version() != version) + throw new InvalidOperationException("ENet native is out of date. Download the latest release from https://github.com/SoftwareGuy/ENet-CSharp/releases"); + + ENetCallbacks nativeCallbacks = callbacks.NativeData; + + return Native.enet_initialize_with_callbacks(version, ref nativeCallbacks) == 0; + } + + public static void Deinitialize() + { + Native.enet_deinitialize(); + } + + public static ulong CRC64(IntPtr buffers, int bufferCount) + { + return Native.enet_crc64(buffers, bufferCount); + } + } + + [SuppressUnmanagedCodeSecurity] + internal static class Native + { + // This should address Unity usage and bug #66: Platform specific Enet / libenet + // https://github.com/SoftwareGuy/Ignorance/issues/66 +#if UNITY_EDITOR + // We are inside the Unity Editor. +#if UNITY_EDITOR_OSX + // Unity Editor on macOS needs to use libenet. + private const string nativeLibrary = "libenet"; +#else + private const string nativeLibrary = "enet"; +#endif +#endif + +#if !UNITY_EDITOR + // We're not inside the Unity Editor. +#if __APPLE__ && !(__IOS__ || UNITY_IOS) + // Use libenet on macOS. + private const string nativeLibrary = "libenet"; +#elif __IOS__ || UNITY_IOS + // We're building for a certain mobile fruity OS. + private const string nativeLibrary = "__Internal"; +#else + // Assume everything else, Windows et al. + private const string nativeLibrary = "enet"; +#endif +#endif + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_initialize(); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_initialize_with_callbacks(uint version, ref ENetCallbacks inits); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_deinitialize(); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_linked_version(); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_time_get(); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ulong enet_crc64(IntPtr buffers, int bufferCount); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_address_set_ip(ref ENetAddress address, string ip); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_address_set_hostname(ref ENetAddress address, string hostName); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_address_get_ip(ref ENetAddress address, StringBuilder ip, IntPtr ipLength); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_address_get_hostname(ref ENetAddress address, StringBuilder hostName, IntPtr nameLength); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_create(byte[] data, IntPtr dataLength, PacketFlags flags); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_create(IntPtr data, IntPtr dataLength, PacketFlags flags); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_create_offset(byte[] data, IntPtr dataLength, IntPtr dataOffset, PacketFlags flags); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_create_offset(IntPtr data, IntPtr dataLength, IntPtr dataOffset, PacketFlags flags); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_packet_check_references(IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_get_data(IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_get_user_data(IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_packet_set_user_data(IntPtr packet, IntPtr userData); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_packet_get_length(IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_packet_set_free_callback(IntPtr packet, IntPtr callback); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_packet_dispose(IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_host_create(ref ENetAddress address, IntPtr peerLimit, IntPtr channelLimit, uint incomingBandwidth, uint outgoingBandwidth, int bufferSize); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_host_create(IntPtr address, IntPtr peerLimit, IntPtr channelLimit, uint incomingBandwidth, uint outgoingBandwidth, int bufferSize); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_host_connect(IntPtr host, ref ENetAddress address, IntPtr channelCount, uint data); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_broadcast(IntPtr host, byte channelID, IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_broadcast_exclude(IntPtr host, byte channelID, IntPtr packet, IntPtr excludedPeer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_broadcast_selective(IntPtr host, byte channelID, IntPtr packet, IntPtr[] peers, IntPtr peersLength); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_host_service(IntPtr host, out ENetEvent @event, uint timeout); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_host_check_events(IntPtr host, out ENetEvent @event); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_channel_limit(IntPtr host, IntPtr channelLimit); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_bandwidth_limit(IntPtr host, uint incomingBandwidth, uint outgoingBandwidth); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_host_get_peers_count(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_host_get_packets_sent(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_host_get_packets_received(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_host_get_bytes_sent(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_host_get_bytes_received(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_set_max_duplicate_peers(IntPtr host, ushort number); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_set_intercept_callback(IntPtr host, IntPtr callback); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_set_checksum_callback(IntPtr host, IntPtr callback); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_flush(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_destroy(IntPtr host); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_host_prevent_connections(IntPtr host, byte state); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_throttle_configure(IntPtr peer, uint interval, uint acceleration, uint deceleration, uint threshold); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_id(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_peer_get_ip(IntPtr peer, byte[] ip, IntPtr ipLength); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ushort enet_peer_get_port(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_mtu(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern PeerState enet_peer_get_state(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_rtt(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_last_rtt(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_lastsendtime(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern uint enet_peer_get_lastreceivetime(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ulong enet_peer_get_packets_sent(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ulong enet_peer_get_packets_lost(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern float enet_peer_get_packets_throttle(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ulong enet_peer_get_bytes_sent(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern ulong enet_peer_get_bytes_received(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_peer_get_data(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_set_data(IntPtr peer, IntPtr data); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern int enet_peer_send(IntPtr peer, byte channelID, IntPtr packet); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr enet_peer_receive(IntPtr peer, out byte channelID); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_ping(IntPtr peer); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_ping_interval(IntPtr peer, uint pingInterval); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_timeout(IntPtr peer, uint timeoutLimit, uint timeoutMinimum, uint timeoutMaximum); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_disconnect(IntPtr peer, uint data); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_disconnect_now(IntPtr peer, uint data); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_disconnect_later(IntPtr peer, uint data); + + [DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)] + internal static extern void enet_peer_reset(IntPtr peer); + +#if UNITY_EDITOR + public static string nativeLibraryName { get { return nativeLibrary; } } +#endif + + } +} diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs.meta new file mode 100644 index 0000000..d58413a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Dependencies/ENet.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12a7875e95f5ebb4a9b58390441dd933 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Editor.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Editor.meta new file mode 100644 index 0000000..40c6fd2 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0995e08af14888348b42ecaa6eb21544 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs new file mode 100644 index 0000000..0ff3186 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs @@ -0,0 +1,83 @@ +#if UNITY_EDITOR +using System.Collections.Generic; +using System.Linq; +using UnityEditor; + +namespace IgnoranceTransport +{ + /// + /// Adds the given define symbols to PlayerSettings define symbols. + /// Just add your own define symbols to the Symbols property at the below. + /// + [InitializeOnLoad] + public class AddIgnoranceDefine : Editor + { + private static string existingDefines = string.Empty; + + /// + /// Symbols that will be added to the editor + /// + public static readonly string[] Symbols = new string[] { + "IGNORANCE", // Ignorance exists + "IGNORANCE_1", // Major version + "IGNORANCE_1_4" // Major and minor version + }; + + /// + /// Do not remove these symbols + /// + public static readonly string[] DoNotRemoveTheseSymbols = new string[] + { + "IGNORANCE_NO_UPNP", + "IGNORANCE_MIRROR_POLLING" + }; + + /// + /// Add define symbols as soon as Unity gets done compiling. + /// + static AddIgnoranceDefine() + { + // Get the current scripting defines + string definesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); + if (existingDefines == definesString) + { + // 1.2.6: There is no need to apply the changes, return. + return; + } + + // Convert the string to a list + List allDefines = definesString.Split(';').ToList(); + // Remove any old version defines from previous installs + allDefines.RemoveAll(IsSafeToRemove); + // x => x.StartsWith("IGNORANCE") && !DoesSymbolExistInBlacklist(x)); + // Add any symbols that weren't already in the list + allDefines.AddRange(Symbols.Except(allDefines)); + + string newDefines = string.Join(";", allDefines.ToArray()); + PlayerSettings.SetScriptingDefineSymbolsForGroup( + EditorUserBuildSettings.selectedBuildTargetGroup, + newDefines + ); + + existingDefines = newDefines; + } + + // 1.2.4: Workaround to stop things from eating custom IGNORANCE_ symbols + static bool DoesSymbolExistInBlacklist(string symbol) + { + foreach(string s in DoNotRemoveTheseSymbols) + { + if (s == symbol.Trim()) return true; + } + + return false; + } + + static bool IsSafeToRemove (string input) + { + if (input.StartsWith("IGNORANCE") && !DoesSymbolExistInBlacklist(input)) return true; + return false; + } + } +} +#endif diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs.meta new file mode 100644 index 0000000..dbff870 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/AddScriptingDefine.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed8acbde141f2d8469baf2142712de9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs new file mode 100644 index 0000000..dee6b62 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs @@ -0,0 +1,44 @@ +#if UNITY_EDITOR +using System.Collections.Generic; +using UnityEditor; + +namespace IgnoranceTransport +{ + public class IgnoranceToolbox + { +#pragma warning disable IDE0051 + [MenuItem("Ignorance/Mirror/Switch Update Method")] + public static void SwitchIgnoranceUpdateMethod () + { + + } + + [MenuItem("Ignorance/Debug/Reveal ENet Native Library Name")] + public static void RevealEnetLibraryName() + { + EditorUtility.DisplayDialog("Enet Library Name", $"Use this for debugging.\nYour platform expects the native Enet library to be called: {ENet.Native.nativeLibraryName}", "Got it"); + } + + [MenuItem("Ignorance/RTFM/Github Repository")] + private static void LaunchGithubRepo() + { + UnityEngine.Application.OpenURL("https://github.com/SoftwareGuy/Ignorance"); + } + + [MenuItem("Ignorance/RTFM/Github Issue Tracker")] + private static void LaunchGithubIssueTracker() + { + UnityEngine.Application.OpenURL("https://github.com/SoftwareGuy/Ignorance/issues"); + } + + [MenuItem("Ignorance/RTFM/ENet-CSharp Fork")] + private static void LaunchENetCSharpForkRepo() + { + UnityEngine.Application.OpenURL("https://github.com/SoftwareGuy/ENet-CSharp"); + } + + +#pragma warning restore + } +} +#endif diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs.meta new file mode 100644 index 0000000..cf61ba3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Editor/IgnoranceToolbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1fdecc996313d614ca16214d4e2b9162 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs b/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs new file mode 100644 index 0000000..28dbf7a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs @@ -0,0 +1,746 @@ +// Ignorance 1.4.x +// Ignorance. It really kicks the Unity LLAPIs ass. +// https://github.com/SoftwareGuy/Ignorance +// ----------------- +// Copyright (c) 2019 - 2020 Matt Coburn (SoftwareGuy/Coburn64) +// Ignorance Transport is licensed under the MIT license. Refer +// to the LICENSE file for more information. +// ----------------- +// Ignorance Experimental (New) Version +// ----------------- +using ENet; +using Mirror; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace IgnoranceTransport +{ + [DisallowMultipleComponent] + public class Ignorance : Transport + { + #region Inspector options + public int port = 7777; + + [Header("Debug & Logging Configuration")] + [Tooltip("How verbose do you want Ignorance to be?")] + public IgnoranceLogType LogType = IgnoranceLogType.Standard; + [Tooltip("Uses OnGUI to present you with statistics for Server and Client backend instances.")] + public bool DebugDisplay = false; + + [Header("Server Configuration")] + [Tooltip("Should the server bind to all interfaces?")] + public bool serverBindsAll = true; + [Tooltip("This is only used if Server Binds All is unticked.")] + public string serverBindAddress = string.Empty; + [Tooltip("This tells ENet how many Peer slots to create. Helps performance, avoids looping over huge native arrays. Recommended: Max Mirror players, rounded to nearest 10. (Example: 16 -> 20).")] + public int serverMaxPeerCapacity = 50; + [Tooltip("How long ENet waits in native world. The higher this value, the more CPU usage. Lower values may/may not impact performance at high packet load.")] + public int serverMaxNativeWaitTime = 1; + + [Header("Client Configuration")] + [Tooltip("How long ENet waits in native world. The higher this value, the more CPU usage used. This is for the client, unlike the one above. Higher value probably trades CPU for more responsive networking.")] + public int clientMaxNativeWaitTime = 3; + [Tooltip("Interval between asking ENet for client status updates. Set to -1 to disable.")] + public int clientStatusUpdateInterval = -1; + + [Header("Channel Configuration")] + [Tooltip("You must define your channels in the array shown here, otherwise ENet will not know what channel delivery type to use.")] + public IgnoranceChannelTypes[] Channels; + + [Header("Low-level Tweaking")] + [Tooltip("Used internally to keep allocations to a minimum. This is how much memory will be consumed by the packet buffer on startup, and then reused.")] + public int PacketBufferCapacity = 4096; + + [Tooltip("For UDP based protocols, it's best to keep your data under the safe MTU of 1200 bytes. You can increase this, however beware this may open you up to allocation attacks.")] + public int MaxAllowedPacketSize = 33554432; + #endregion + + #region Public Statistics + public IgnoranceClientStats ClientStatistics; + #endregion + +#if MIRROR_26_0_OR_NEWER + public override bool Available() + { + // Ignorance is not available for Unity WebGL, the PS4 (no dev kit to confirm) or Switch (port exists but I have no access to said code). + // Ignorance is available for most other operating systems. +#if (UNITY_WEBGL || UNITY_PS4 || UNITY_SWITCH) + return false; +#else + return true; +#endif + } + + public void Awake() + { + if (LogType != IgnoranceLogType.Nothing) + Debug.Log($"Thanks for using Ignorance {IgnoranceInternals.Version}. Keep up to date, report bugs and support the developer at https://github.com/SoftwareGuy/Ignorance!"); + } + + public override string ToString() + { + return $"Ignorance v{IgnoranceInternals.Version}"; + } + + public override void ClientConnect(string address) + { + ClientState = ConnectionState.Connecting; + cachedConnectionAddress = address; + + // Initialize. + InitializeClientBackend(); + + // Get going. + ignoreDataPackets = false; + + // Start! + Client.Start(); + } + + public override void ClientConnect(Uri uri) + { + if (uri.Scheme != IgnoranceInternals.Scheme) + throw new ArgumentException($"You used an invalid URI: {uri}. Please use {IgnoranceInternals.Scheme}://host:port instead", nameof(uri)); + + if (!uri.IsDefaultPort) + // Set the communication port to the one specified. + port = uri.Port; + + // Pass onwards to the proper handler. + ClientConnect(uri.Host); + } + + public override bool ClientConnected() => ClientState == ConnectionState.Connected; + + public override void ClientDisconnect() + { + if (Client != null) + Client.Stop(); + + // TODO: Figure this one out to see if it's related to a race condition. + // Maybe experiment with a while loop to pause main thread when disconnecting, + // since client might not stop on a dime. + // while(Client.IsAlive) ; + // v1.4.0b1: Probably fixed in IgnoranceClient.cs; need further testing. + + // ignoreDataPackets = true; + ClientState = ConnectionState.Disconnected; + } + +#if !MIRROR_37_0_OR_NEWER + public override void ClientSend(int channelId, ArraySegment segment) +#else + // v1.4.0b6: Mirror rearranged the ClientSend params, so we need to apply a fix for that or + // we end up using the obsoleted version. The obsolete version isn't a fatal error, but + // it's best to stick with the new structures. + public override void ClientSend(ArraySegment segment, int channelId) +#endif + { + if (Client == null) + { + Debug.LogError("Client object is null, this shouldn't really happen but it did..."); + return; + } + + if (channelId < 0 || channelId > Channels.Length) + { + Debug.LogError("Channel ID is out of bounds."); + return; + } + + // Create our struct... + Packet clientOutgoingPacket = default; + int byteCount = segment.Count; + int byteOffset = segment.Offset; + // Set our desired flags... + PacketFlags desiredFlags = (PacketFlags)Channels[channelId]; + + // Warn if over recommended MTU... + bool flagsSet = (desiredFlags & ReliableOrUnreliableFragmented) > 0; + + if (LogType != IgnoranceLogType.Nothing && byteCount > 1200 && !flagsSet) + Debug.LogWarning($"Warning: Client trying to send a Unreliable packet bigger than the recommended ENet 1200 byte MTU ({byteCount} > 1200). ENet will force Reliable Fragmented delivery."); + + // Create the packet. + clientOutgoingPacket.Create(segment.Array, byteOffset, byteCount + byteOffset, desiredFlags); + // byteCount + + // Enqueue the packet. + IgnoranceOutgoingPacket dispatchPacket = new IgnoranceOutgoingPacket + { + Channel = (byte)channelId, + Payload = clientOutgoingPacket + }; + + // Pass the packet onto the thread for dispatch. + Client.Outgoing.Enqueue(dispatchPacket); + } + + public override bool ServerActive() + { + // Very simple check. + return Server != null && Server.IsAlive; + } + +#if !MIRROR_37_0_OR_NEWER + // Workaround for legacy Mirror versions. + public override bool ServerDisconnect(int connectionId) => ServerDisconnectLegacy(connectionId); +#else + public override void ServerDisconnect(int connectionId) + { + if (Server == null) + { + Debug.LogError("Cannot enqueue kick packet; our Server object is null. Something has gone wrong."); + // Return here because otherwise we will get a NRE when trying to enqueue the kick packet. + return; + } + + IgnoranceCommandPacket kickPacket = new IgnoranceCommandPacket + { + Type = IgnoranceCommandType.ServerKickPeer, + PeerId = (uint)connectionId - 1 // ENet's native peer ID will be ConnID - 1 + }; + + // Pass the packet onto the thread for dispatch. + Server.Commands.Enqueue(kickPacket); + } +#endif + + public override string ServerGetClientAddress(int connectionId) + { + if (ConnectionLookupDict.TryGetValue(connectionId, out PeerConnectionData details)) + return $"{details.IP}:{details.Port}"; + + return "(unavailable)"; + } + +#if !MIRROR_37_0_OR_NEWER + public override void ServerSend(int connectionId, int channelId, ArraySegment segment) +#else + // v1.4.0b6: Mirror rearranged the ServerSend params, so we need to apply a fix for that or + // we end up using the obsoleted version. The obsolete version isn't a fatal error, but + // it's best to stick with the new structures. + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) +#endif + { + // Debug.Log($"ServerSend({connectionId}, {channelId}, <{segment.Count} byte segment>)"); + + if (Server == null) + { + Debug.LogError("Cannot enqueue data packet; our Server object is null. Something has gone wrong."); + return; + } + + if (channelId < 0 || channelId > Channels.Length) + { + Debug.LogError("Channel ID is out of bounds."); + return; + } + + // Packet Struct + Packet serverOutgoingPacket = default; + int byteCount = segment.Count; + int byteOffset = segment.Offset; + PacketFlags desiredFlags = (PacketFlags)Channels[channelId]; + + // Warn if over recommended MTU + bool flagsSet = (desiredFlags & ReliableOrUnreliableFragmented) > 0; + + if (LogType != IgnoranceLogType.Nothing && byteCount > 1200 && !flagsSet) + Debug.LogWarning($"Warning: Server trying to send a Unreliable packet bigger than the recommended ENet 1200 byte MTU ({byteCount} > 1200). ENet will force Reliable Fragmented delivery."); + + // Create the packet. + serverOutgoingPacket.Create(segment.Array, byteOffset, byteCount + byteOffset, (PacketFlags)Channels[channelId]); + + // Enqueue the packet. + IgnoranceOutgoingPacket dispatchPacket = new IgnoranceOutgoingPacket + { + Channel = (byte)channelId, + NativePeerId = (uint)connectionId - 1, // ENet's native peer ID will be ConnID - 1 + Payload = serverOutgoingPacket + }; + + Server.Outgoing.Enqueue(dispatchPacket); + + } + + public override void ServerStart() + { + if (LogType != IgnoranceLogType.Nothing) + Debug.Log("Ignorance Server Instance starting up..."); + + InitializeServerBackend(); + + Server.Start(); + } + + public override void ServerStop() + { + if (Server != null) + { + if (LogType != IgnoranceLogType.Nothing) + Debug.Log("Ignorance Server Instance shutting down..."); + + Server.Stop(); + } + + ConnectionLookupDict.Clear(); + } + + public override Uri ServerUri() + { + UriBuilder builder = new UriBuilder + { + Scheme = IgnoranceInternals.Scheme, + Host = serverBindAddress, + Port = port + }; + + return builder.Uri; + } + + public override void Shutdown() + { + // TODO: Nothing needed here? + } + + // Check to ensure channels 0 and 1 mimic LLAPI. Override this at your own risk. + private void OnValidate() + { + if (Channels != null && Channels.Length >= 2) + { + // Check to make sure that Channel 0 and 1 are correct. + if (Channels[0] != IgnoranceChannelTypes.Reliable) + { + Debug.LogWarning("Please do not modify Ignorance Channel 0. The channel will be reset to Reliable delivery. If you need a channel with a different delivery, define and use it instead."); + Channels[0] = IgnoranceChannelTypes.Reliable; + } + if (Channels[1] != IgnoranceChannelTypes.Unreliable) + { + Debug.LogWarning("Please do not modify Ignorance Channel 1. The channel will be reset to Unreliable delivery. If you need a channel with a different delivery, define and use it instead."); + Channels[1] = IgnoranceChannelTypes.Unreliable; + } + } + else + { + Debug.LogWarning("Invalid Channels setting, fixing. If you've just added Ignorance to your NetworkManager GameObject, seeing this message is normal."); + Channels = new IgnoranceChannelTypes[2] + { + + IgnoranceChannelTypes.Reliable, + IgnoranceChannelTypes.Unreliable + }; + } + + // ENet only supports a maximum of 32MB packet size. + if (MaxAllowedPacketSize > 33554432) + MaxAllowedPacketSize = 33554432; + } + + private void InitializeServerBackend() + { + if (Server == null) + { + Debug.LogWarning("IgnoranceServer reference for Server mode was null. This shouldn't happen, but to be safe we'll reinitialize it."); + Server = new IgnoranceServer(); + } + + // Set up the new IgnoranceServer reference. + if (serverBindsAll) + // MacOS is special. It's also a massive thorn in my backside. + Server.BindAddress = IgnoranceInternals.BindAllMacs; + else + // Use the supplied bind address. + Server.BindAddress = serverBindAddress; + + // Sets port, maximum peers, max channels, the server poll time, maximum packet size and verbosity. + Server.BindPort = port; + Server.MaximumPeers = serverMaxPeerCapacity; + Server.MaximumChannels = Channels.Length; + Server.PollTime = serverMaxNativeWaitTime; + Server.MaximumPacketSize = MaxAllowedPacketSize; + Server.Verbosity = (int)LogType; + + // Initializes the packet buffer. + // Allocates once, that's it. + if (InternalPacketBuffer == null) + InternalPacketBuffer = new byte[PacketBufferCapacity]; + } + + private void InitializeClientBackend() + { + if (Client == null) + { + Debug.LogWarning("Ignorance: IgnoranceClient reference for Client mode was null. This shouldn't happen, but to be safe we'll reinitialize it."); + Client = new IgnoranceClient(); + } + + // Sets address, port, channels to expect, verbosity, the server poll time and maximum packet size. + Client.ConnectAddress = cachedConnectionAddress; + Client.ConnectPort = port; + Client.ExpectedChannels = Channels.Length; + Client.PollTime = clientMaxNativeWaitTime; + Client.MaximumPacketSize = MaxAllowedPacketSize; + Client.Verbosity = (int)LogType; + + // Initializes the packet buffer. + // Allocates once, that's it. + if (InternalPacketBuffer == null) + InternalPacketBuffer = new byte[PacketBufferCapacity]; + } + + private void ProcessServerPackets() + { + IgnoranceIncomingPacket incomingPacket; + IgnoranceConnectionEvent connectionEvent; + int adjustedConnectionId; + Packet payload; + + // Incoming connection events. + while (Server.ConnectionEvents.TryDequeue(out connectionEvent)) + { + adjustedConnectionId = (int)connectionEvent.NativePeerId + 1; + + if (LogType == IgnoranceLogType.Verbose) + Debug.Log($"Processing a server connection event from ENet native peer {connectionEvent.NativePeerId}. This peer would be Mirror ConnID {adjustedConnectionId}."); + + // TODO: Investigate ArgumentException: An item with the same key has already been added. Key: + ConnectionLookupDict.Add(adjustedConnectionId, new PeerConnectionData + { + NativePeerId = connectionEvent.NativePeerId, + IP = connectionEvent.IP, + Port = connectionEvent.Port + }); + + OnServerConnected?.Invoke(adjustedConnectionId); + } + + // Handle incoming data packets. + // Console.WriteLine($"Server Incoming Queue is {Server.Incoming.Count}"); + while (Server.Incoming.TryDequeue(out incomingPacket)) + { + adjustedConnectionId = (int)incomingPacket.NativePeerId + 1; + payload = incomingPacket.Payload; + + int length = payload.Length; + ArraySegment dataSegment; + + // Copy to working buffer and dispose of it. + if (length > InternalPacketBuffer.Length) + { + byte[] oneFreshNTastyGcAlloc = new byte[length]; + + payload.CopyTo(oneFreshNTastyGcAlloc); + dataSegment = new ArraySegment(oneFreshNTastyGcAlloc, 0, length); + } + else + { + payload.CopyTo(InternalPacketBuffer); + dataSegment = new ArraySegment(InternalPacketBuffer, 0, length); + } + + payload.Dispose(); + + OnServerDataReceived?.Invoke(adjustedConnectionId, dataSegment, incomingPacket.Channel); + + // Some messages can disable the transport + // If the transport was disabled by any of the messages, we have to break out of the loop and wait until we've been re-enabled. + if (!enabled) + break; + } + + // Disconnection events. + while (Server.DisconnectionEvents.TryDequeue(out IgnoranceConnectionEvent disconnectionEvent)) + { + adjustedConnectionId = (int)disconnectionEvent.NativePeerId + 1; + + if (LogType == IgnoranceLogType.Verbose) + Debug.Log($"ProcessServerPackets fired; handling disconnection event from native peer {disconnectionEvent.NativePeerId}."); + + ConnectionLookupDict.Remove(adjustedConnectionId); + + // Invoke Mirror handler. + OnServerDisconnected?.Invoke(adjustedConnectionId); + } + } + + private void ProcessClientPackets() + { + IgnoranceIncomingPacket incomingPacket; + IgnoranceCommandPacket commandPacket; + IgnoranceClientStats clientStats; + Packet payload; + IgnoranceConnectionEvent connectionEvent; + + // Handle connection events. + while (Client.ConnectionEvents.TryDequeue(out connectionEvent)) + { + if (LogType == IgnoranceLogType.Verbose) + Debug.Log($"ProcessClientConnectionEvents fired: processing a client ConnectionEvents queue item."); + + if (connectionEvent.WasDisconnect) + { + // Disconnected from server. + ClientState = ConnectionState.Disconnected; + + if (LogType != IgnoranceLogType.Nothing) + Debug.Log($"Ignorance Client has been disconnected from server."); + + ignoreDataPackets = true; + OnClientDisconnected?.Invoke(); + } + else + { + // Connected to server. + ClientState = ConnectionState.Connected; + + if (LogType != IgnoranceLogType.Nothing) + Debug.Log($"Ignorance Client successfully connected to server at address {connectionEvent.IP}:{connectionEvent.Port}"); + + ignoreDataPackets = false; + OnClientConnected?.Invoke(); + } + } + + // Now handle the incoming messages. + while (Client.Incoming.TryDequeue(out incomingPacket)) + { + // Temporary fix: if ENet thread is too fast for Mirror, then ignore the packet. + // This is seen sometimes if you stop the client and there's still stuff in the queue. + if (ignoreDataPackets) + { + if (LogType == IgnoranceLogType.Verbose) + Debug.Log("ProcessClientPackets cycle skipped; ignoring data packet"); + break; + } + + + // Otherwise client recieved data, advise Mirror. + // print($"Byte array: {incomingPacket.RentedByteArray.Length}. Packet Length: {incomingPacket.Length}"); + payload = incomingPacket.Payload; + int length = payload.Length; + ArraySegment dataSegment; + + // Copy to working buffer and dispose of it. + if (length > InternalPacketBuffer.Length) + { + // Unity's favourite: A fresh 'n' tasty GC Allocation! + byte[] oneFreshNTastyGcAlloc = new byte[length]; + + payload.CopyTo(oneFreshNTastyGcAlloc); + dataSegment = new ArraySegment(oneFreshNTastyGcAlloc, 0, length); + } + else + { + payload.CopyTo(InternalPacketBuffer); + dataSegment = new ArraySegment(InternalPacketBuffer, 0, length); + } + + payload.Dispose(); + + OnClientDataReceived?.Invoke(dataSegment, incomingPacket.Channel); + + // Some messages can disable the transport + // If the transport was disabled by any of the messages, we have to break out of the loop and wait until we've been re-enabled. + if (!enabled) + break; + } + + // Step 3: Handle other commands. + while (Client.Commands.TryDequeue(out commandPacket)) + { + switch (commandPacket.Type) + { + // ... + default: + break; + } + } + + // Step 4: Handle status updates. + if (Client.StatusUpdates.TryDequeue(out clientStats)) + { + ClientStatistics = clientStats; + } + } + + #region Main Thread Processing and Polling + // Ignorance 1.4.0b5: To use Mirror's polling or not use Mirror's polling, that is up to the developer to decide +#if !IGNORANCE_MIRROR_POLLING + // IMPORTANT: Set Ignorance' execution order before everything else. Yes, that's -32000 !! + // This ensures it has priority over other things. + + // FixedUpdate can be called many times per frame. + // Once we've handled stuff, we set a flag so that we don't poll again for this frame. + + private bool fixedUpdateCompletedWork; + public void FixedUpdate() + { + if (!enabled) return; + if (fixedUpdateCompletedWork) return; + + ProcessAndExecuteAllPackets(); + + // Flip the bool to signal we've done our work. + fixedUpdateCompletedWork = true; + } + + // Normally, Mirror blocks Update() due to poor design decisions... + // But thanks to Vincenzo, we've found a way to bypass that block. + // Update is called once per frame. We don't have to worry about this shit now. + public new void Update() + { + if (!enabled) return; + + // Process what FixedUpdate missed, only if the boolean is not set. + if (!fixedUpdateCompletedWork) + ProcessAndExecuteAllPackets(); + + // Flip back the bool, so it can be reset. + fixedUpdateCompletedWork = false; + } + + // Processes and Executes All Packets. + private void ProcessAndExecuteAllPackets() + { + // Process Server Events... + if (Server.IsAlive) + ProcessServerPackets(); + + // Process Client Events... + if (Client.IsAlive) + { + ProcessClientPackets(); + + if (ClientState == ConnectionState.Connected && clientStatusUpdateInterval > -1) + { + statusUpdateTimer += Time.deltaTime; + + if (statusUpdateTimer >= clientStatusUpdateInterval) + { + Client.Commands.Enqueue(new IgnoranceCommandPacket { Type = IgnoranceCommandType.ClientRequestsStatusUpdate }); + statusUpdateTimer = 0f; + } + } + } + } +#else + // This section will be compiled in instead if you enable IGNORANCE_MIRROR_POLLING. + + public override void ServerEarlyUpdate() { + // This is used by Mirror to consume the incoming server packets. + if (!enabled) return; + + // Process Server Events... + if (Server.IsAlive) + ProcessServerPackets(); + } + + public override void ClientEarlyUpdate() { + // This is used by Mirror to consume the incoming client packets. + if(!enabled) return; + + if(Client.IsAlive) + { + ProcessClientPackets(); + + if (ClientState == ConnectionState.Connected && clientStatusUpdateInterval > -1) + { + statusUpdateTimer += Time.deltaTime; + + if (statusUpdateTimer >= clientStatusUpdateInterval) + { + Client.Commands.Enqueue(new IgnoranceCommandPacket { Type = IgnoranceCommandType.ClientRequestsStatusUpdate }); + statusUpdateTimer = 0f; + } + } + } + + } + + /* + public override void ClientLateUpdate() { + // This is used by Mirror to send out the outgoing client packets. + if (!enabled) return; + } + + public override void ServerLateUpdate() { + // This is used by Mirror to send out the outgoing server packets. + if (!enabled) return; + } + */ +#endif + #endregion + + #region Debug + private void OnGUI() + { + if (DebugDisplay) + GUI.Box(new Rect( + new Vector2(32, Screen.height - 240), new Vector2(200, 160)), + + "-- CLIENT --\n" + + $"State: {ClientState}\n" + + $"Incoming Queue: {Client.Incoming.Count}\n" + + $"Outgoing Queue: {Client.Outgoing.Count}\n\n" + + + "-- SERVER --\n" + + $"Incoming Queue: {Server.Incoming.Count}\n" + + $"Outgoing Queue: {Server.Outgoing.Count}\n" + + $"ConnEvent Queue: {Server.ConnectionEvents.Count}" + ); + } + #endregion + + public override int GetMaxPacketSize(int channelId = 0) => MaxAllowedPacketSize; + + // UDP Recommended Max MTU = 1200. + public override int GetMaxBatchSize(int channelId) { + bool isFragmentedAlready = ((PacketFlags)Channels[channelId] & ReliableOrUnreliableFragmented) > 0; + return isFragmentedAlready ? MaxAllowedPacketSize : 1200; + } + + #region Internals + private bool ignoreDataPackets; + private string cachedConnectionAddress = string.Empty; + private IgnoranceServer Server = new IgnoranceServer(); + private IgnoranceClient Client = new IgnoranceClient(); + private Dictionary ConnectionLookupDict = new Dictionary(); + + private enum ConnectionState { Connecting, Connected, Disconnecting, Disconnected } + private ConnectionState ClientState = ConnectionState.Disconnected; + private byte[] InternalPacketBuffer; + + private const PacketFlags ReliableOrUnreliableFragmented = PacketFlags.Reliable | PacketFlags.UnreliableFragmented; + + private float statusUpdateTimer = 0f; + #endregion + + #region Legacy Overrides +#if !MIRROR_37_0_OR_NEWER + public bool ServerDisconnectLegacy(int connectionId) + { + if (Server == null) + { + Debug.LogError("Cannot enqueue kick packet; our Server object is null. Something has gone wrong."); + // Return here because otherwise we will get a NRE when trying to enqueue the kick packet. + return false; + } + + IgnoranceCommandPacket kickPacket = new IgnoranceCommandPacket + { + Type = IgnoranceCommandType.ServerKickPeer, + PeerId = (uint)connectionId - 1 // ENet's native peer ID will be ConnID - 1 + }; + + // Pass the packet onto the thread for dispatch. + Server.Commands.Enqueue(kickPacket); + return true; + } +#endif + #endregion +#endif + + } +} diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs.meta new file mode 100644 index 0000000..9703c34 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Ignorance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 872fa23ef6e77334ca452ce16f6cd091 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -32000 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs b/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs new file mode 100644 index 0000000..ca677ac --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs @@ -0,0 +1,94 @@ +using System; +using ENet; + +namespace IgnoranceTransport +{ + // Snipped from the transport files, as this will help + // me keep things up to date. + [Serializable] + public enum IgnoranceChannelTypes + { + Reliable = PacketFlags.Reliable, // TCP Emulation. + ReliableUnsequenced = PacketFlags.Reliable | PacketFlags.Unsequenced, // TCP Emulation, but no sequencing. + Unreliable = PacketFlags.Unsequenced, // Pure UDP. + UnreliableFragmented = PacketFlags.UnreliableFragmented, // Pure UDP, but fragmented. + UnreliableSequenced = PacketFlags.None, // Pure UDP, but sequenced. + Unthrottled = PacketFlags.Unthrottled, // Apparently ENet's version of Taco Bell. + } + + public class IgnoranceInternals + { + public const string Version = "1.4.0b6"; + public const string Scheme = "enet"; + public const string BindAllIPv4 = "0.0.0.0"; + public const string BindAllMacs = "::0"; + } + + public enum IgnoranceLogType + { + Nothing, + Standard, + Verbose + } + + // Struct optimized for cache efficiency. (Thanks Vincenzo!) + public struct IgnoranceIncomingPacket + { + public byte Channel; + public uint NativePeerId; + public Packet Payload; + } + + // Struct optimized for cache efficiency. (Thanks Vincenzo!) + public struct IgnoranceOutgoingPacket + { + public byte Channel; + public uint NativePeerId; + public Packet Payload; + } + + // Struct optimized for cache efficiency. (Thanks Vincenzo!) + public struct IgnoranceConnectionEvent + { + public bool WasDisconnect; + public ushort Port; + public uint NativePeerId; + public string IP; + } + + public struct IgnoranceCommandPacket + { + public IgnoranceCommandType Type; + public uint PeerId; + } + + public struct IgnoranceClientStats + { + // Stats only - may not always be used! + public uint RTT; + public ulong BytesReceived; + public ulong BytesSent; + public ulong PacketsReceived; + public ulong PacketsSent; + public ulong PacketsLost; + } + + public enum IgnoranceCommandType + { + // Client + ClientWantsToStop, + ClientRequestsStatusUpdate, + // ENet internal + ResponseToClientStatusRequest, + // Server + ServerKickPeer + } + + // TODO: Optimize struct for Cache performance. + public struct PeerConnectionData + { + public ushort Port; + public uint NativePeerId; + public string IP; + } +} diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs.meta b/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs.meta new file mode 100644 index 0000000..444855c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/IgnoranceDefinitions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3b2d1f7f7d9d3d64297755419f6ab925 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins.meta new file mode 100644 index 0000000..def60ed --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8bd04b9965420e40ac911fbf4294e1c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android.meta new file mode 100644 index 0000000..f51f451 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c90c88052305a054d87177362f63dea8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a.meta new file mode 100644 index 0000000..738b943 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4a42b5855436864693138f74335c094 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so new file mode 100644 index 0000000000000000000000000000000000000000..5a48a3bcb96e549104f848d26611ac59ed6f21bb GIT binary patch literal 47024 zcmdqK30PD|_BUL&8}xQJD4U|V0IuDjiMx{EZ~=`h#wcQ9%mRpLH;p2TOS`d{r4cn^ zOiUyhh;b4cbz&0C*x5u)G8j!J#w3$TG7&M8X+Vv8Xe0LfJ9ohg(Rt>3|L^xc-}AN4 zrEZ;Dx9ZfXb55Oes_I%ab^3i8j$_JC%l^VBH!4zs2=aq{Z^}1F1U8BB_}hmCi)FoU zJ^KBfLk20SpOmLIy5U;6N6N2!zjIoxmGZoolrs4}4YKs!7Wus`@_R~pLGFr@^789c zjaU^`K)){O5DChZR4fY^rF5BVqyk;j7bGxKQsupw|0-NS_Xp$$UDH&#e@d#nHw*7k z|Nh&bOcs_Rw|6Ic+U53?R2gwu ztjAS>YaOl>T=eso5;j>*DG9;#Ag*#;3vkhI04@d3skonmD-2g(T*bKPcaM~?8A#{i zvfhQmt3NIiu4r8J3&b^Fyp#T{kngGQ8*xp; zwFFlvt_irh{;~mh64xwTljMiXkXmuY;0neShpRWP99%SxvvDauJ8lNanN>(f;7Y}n zB*Q4ll<()ssU9iOo__hbR^nQXi^Q`4*HBzhxCZ0ejH?eW<#)ewBd4R0X5iW)=Y8c= zNi4WY$2AZa4Z0auJgzKU^m`f?@e2K(k&=$TWgT~njmP~MTo2(IDZ?K|I$ge}WU1J085=#uZL%HO5BPgC7@z2#MaBHT~G<%Mgk3Qo6ocga7l%HOBD z@1eT)mhTtI=_5#&*^ z&n8^NX9_Qm!ad0n@i_6iT2~N%D7uXJm~^AU$D||ZC*UGpqF)>?8cX6s;(xV_AS?3D zOr&!tgWrR=NUoG0=}M9<`jO6{u_8Vqy3WU?{1)Iw89Qa1&46X&vdV=NIV2rOa<&u~ z$sOq(1fhLB%jKUc(X*#JRzq~A$=NG8Lo{oOi4E3hV&Nwp24*RSD@~z zABJ9X{`(&Te*X8bwT_L$_nlo8-Lh--DzB@v{yp929DB`o**wqB7hl)9dz^lAP1DIC zv5(H*K5NkO)aY%a7p)0;xZ7dRd#`od$=(>}`egr?9$mn~7dNW` zM`vQP%bF%e|6Dxsp4Wf8y5(=1?|bbZ+^J)q5BTxr+CDu#dgO`akDoPdnHfLwT-@Ks z+3%}c5I^`qo%-!|&Be4o&E4^HRNc*YCpU!U{4xJuAD#O2o?*pHAF$S?%vllo#*H4|=FRP& zQSUllcJ17kAI?18y*2ucAH%-5dH%gKTi49F>#nN5zVd+g^uNp=v|k&sBXCjJ)uwMB z{bR;~N4_5XV(tLb&%1w|cHfOviJxss%KZ2@egWH*@%EPs{*k}oJ=?+W9_puAJM%*O zpYqw*n|oGkdbw9k?(MW)os%$V?z&RrhCeNRZo6@7kH_`>o?W*4*NiXLemJGreZTpk zBFE@`Pu;`kPFtVV9b-^zocq(-O9un<&)(H->9?2vroEc|@4$;s|9#WJnr~0@)s~DI zlXU)PMbm+X?~Xq$Net)=5_7BX0O#=ZcI9V7FWe4JvU)o> z*(kSze{zR*=idQN`r~%>gx{h3AMXGc?tuTnJCxsj2e<}G^>+Ateuw&>zC%5YcYuF? z2l)Owz+HEMC*6T=d$hO5|H2*W`Roqxx4PZFp0Dmu{e+?KI{@;vkrXU`7*_GO7=l6YeWZ}_3lsk`cG63NpOq(r1tdWDy@@H2%CG5C zPm)|eZ{7lN1*pFVKC(lw zOD?|-DYYvUOMpr8IDRR&dm~GN?~xL=NUnd#2noruaK8_p4^1lvn(mdt`h* zlJQaa>h3%6$rmym`pbrWwNxFm%Jlp~#z&z~j@<6HE_C=2?@_<}{mdWkjkmYoy41e?ve0aZH{||EgL*(*(<@)!@bXMqdQ>L@f1)qa5e7fA< zC**owmFYRtECG(A9Q{tq% z`*mS~1fL|AFOuPVy0kk+h9B<&pKyn9ccDHSuPX<$7R0#s0%&|?l6w;$n+7N0o2`Jrt^Nep1LmeOqS(q+gu5eFJyey%Jm#b zmjS?!el0S5!NXF%MoQQNa=(5e1%=;nDPf^9Jct~7{2Il-j1|fBnI!Y4LbuoDasNsl zcbYHh_ks*BmgQoU1ZHF9`mf0KUy$Mca=)TwdM=gW+hqKwkh6>5`>2c>EAU#FDJ-Dd;_q+6KrCiUrv$QIEqob{CcUpJiJUJ)AJ=cfYl~HSS-`c zm?f20^lh=sSAKR0uJrfsa`}Do{IyMb%+AR8yf5p?IvIXR)>kv1mH-Q4h85hgG(G7k zou8j!OS2TDt;)*J%~~K;k(r-4VVrckAj`7EQfQHSBeuCPKTB?%a7mk=v1Gvt%Ys64 zT8?EgIw_Xv@}$t5pIca%)9JPR+>8a883mnQP+)0UD>HMJEx2v@w1TXhtjt2oa`n?p zbHT2fe`!Ynfvr8Ct{XXa;NkW@t$WEB+V=h{?|g*nR#%&I(% z#(Z00RzX^RR%RCPk%=ev{no<*wB6;cr5OCI!aKgFJigtVSy}l7X_>jpI@P%}U+f{^ zVz(^0OVpjs#{lIn2H83xSdf*!+>)v8F>!@RuYzTZ(=s!1a^?d~73Lz>EGf*&&&*ni zlD99gIAdknf@Mo{ESVr@+EPMSs-i0w-O8t}uz-1#`sCs{mL=A#1!>FiKDr}Skz)b7 zW#(jMc3~OzWjGno*c(PO~h@%w23* zvIr#1v1H880YbTp7lQ#6O5VQovL*ki{4H7PENCK5w;tXSmyQQ2!cxOj)*?%3M;S#C zb^vmql+yAGmElxgB(U7RsGmg^>huy2Sa6$1iwl>jNJThE!ʶ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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so.meta new file mode 100644 index 0000000..63cd799 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/arm64-v8a/libenet.so.meta @@ -0,0 +1,111 @@ +fileFormatVersion: 2 +guid: 4b3abd2268dea254da11190b00d16051 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARM64 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + WebGL: WebGL + second: + enabled: 0 + settings: {} + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a.meta new file mode 100644 index 0000000..bbb65c6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfbaf4fbcf8987e4585ca666e28f4871 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so new file mode 100644 index 0000000000000000000000000000000000000000..e8be7347c21fe3c59ee1076e224aad64d1011720 GIT binary patch literal 42636 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so.meta new file mode 100644 index 0000000..07ea880 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/armeabi-v7a/libenet.so.meta @@ -0,0 +1,106 @@ +fileFormatVersion: 2 +guid: e3ce4b8600e09d74ead46137ba184d01 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86.meta new file mode 100644 index 0000000..4491214 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3486c84aaebff4489e2e11f5bd3030f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so new file mode 100644 index 0000000000000000000000000000000000000000..391f83e8361d805df9b7936823579a58cbac0573 GIT binary patch literal 50764 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so.meta new file mode 100644 index 0000000..c57aeaa --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Android/x86/libenet.so.meta @@ -0,0 +1,80 @@ +fileFormatVersion: 2 +guid: ba78b07719f786c4cae4c52b9528903f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 0 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: x86 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 0 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux.meta new file mode 100644 index 0000000..f1aae5d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e3ca9b41c9f4064581a6b56ae549a9c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux/libenet.so b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/Linux/libenet.so new file mode 100644 index 0000000000000000000000000000000000000000..c64bfb75bee9db3d5c8c0c23fd880b209259ea50 GIT binary patch literal 60144 zcmeFadt6ji7e71$h-l;)jfzYQYceP+Q1fBD+k3f@2~MJ+S!f|vA+m?0LTmGgerK4*r*q|f{Nyr1`<_x&_AoU_*6 zd+oi~UVH7e*4}%ZZ?UC?>Git6CtP=zj-Z-k1!GndijSx-c$js`y36qQI$dv;H=;f1 zA8&GB1r>Pe3<^wjbfVWp1rB|h3KV?csV&FqTdtN1dA@h8f)6~kU4o;Xt{c|T}Xlq0_UpMF$!>h4wRyVN*Dsr?Q- zRrWGo5)B%j^m{UO$W}vbQJcroV^o;Zdw5;v20t-9@-6qOvL6-?&tCXPel(JGIr!d$ zFVX6XudX6YSDE;1&+sr^R3Ec7>avJEhB#m&7T9#pM`T32u8XeNLQ=W_G61O$qk#(3 znQL@6)K(6NGbD}BMHsHAYTXv~&Zfv7k0o}|zmO3Yc4cx!oZhT6R#ia?M(C(BaU-@E zrx+^qsCYz098pO{nwi?t7vG!lrB6J*3HaWE?``G%rxTJhC>Yyj-|j#iQP;yFfrr^i@)GgbILJhSi} zkM9J0C*m9UWaDMB3J}lf^B}%c@XaFtpQ*}2myah+_lNMEhHoLhfzJ%Q6yZA)-x7SC z_`2{7e9H0ihziVApY!poz!yWN^WdxfECf)kA{OB(;(JAxZ+^I`<+J18_da&~>^pBi zcJs=Uj~uf_|2p)<>$7J^{4x3g|FP4$H!pX+6@ISUp^xSq-fQG1Jh*i94M|hy#M~db z$^ZGAk*`Mea6DhPYLDN4;>N8N(YM4{3#FW|uiJ8D_(S61{|r4=aogaxe)?nauE*2f z{9ga_mpgmUnshQ@aYo8*Cr5lY@TX<(#By84SBYt#PWilg=&+AlHvarnx4V01&%Tf| zb695C4a<(?pU+Bv=)j+|&Tv1?esKB@%l@Tdr?cP4df}Mq(+lf{)yEb7v}17JmrH)x zQc*l=+I1iP)osgQ(uX|1m{qU!a8HYOeX}EAI^Y+_cu6t!vC)=7aH>?W3 z<%KJz#{DsQ?f7qx?4R)88=o)gop9{kpVHI*dc^v*cVzC?Kchb0Gv)g{oj0fS(a#?a zo14-6_Zua;0TN5lSj=y>t|GrLMp-X3|y>FV#i8&~W< z6t%n{=bq#)-A@LmwK`JmkK_oQu17l*aYWqvy$cyJc ziuQDG&lY^kx&-~)OW<2j@?!1Wb&346@Lnu`BNXDr@Y^oIx3o*-KY59ICtQL~{w44g zm!N~@UzE>xT%upcFVRjz=Zp9EflKf+?h@^3yTtg$UxNP6m+0>om!KbY34Hw}`rGdk z{JHEB^`;^J4fuwBuD(S6!Ix;y$tdDyH(lIw3Z=_cf^!-FyXjV{i$O0HzmoB-o34Qr zG(MzL>GQctN2k(Zi!bnzY(93=>7HlVbX}B(E{3(In{GKRB=}sRJao;h{oQnpw8-G| zx$@8*RqLJnu!7jG;(rA}YJYP`y@S+x<3j5FM9sf4B>&57+`H)#mnwtFAJtySqaS`~y^OlMU2Z@6EXr-R1KH;Xa{}j)b^N1DsYyH=K^@OodG&Wk&W8fptkb^rI;>79p7Tr zIO(n87pd)u3*mn+b=(a@m5j^O{5g0M{Th}30Y2E(_Q$F1#|&Ygzg2llRQV9#k3r>+ zIfOqqtNog+_UlfS&Q3Ldjhf%6;-{$XT&~JzVBW1%$GwphDLxM=58Vj0JTd-T;)Sx{ti;{lSBBqL>-p~RqqAX)|IN<8YVNcx(el?o1wPT z5Yo;zwLOigO2$cm>GOzM@8Xbp?+=V)x{@zn%`d3=i$n5Xt=7Bz5hec?<)M3Bt+!d_ zj}iT$&x-;2Rs{~&)DNoTRiP@RtxB@)DHR{5>iIWS{QiL6o~$4O^C%M_oA0We2juWQ z6+c;>UvWw?-7J-UMzMm}rQ&sJzY^7ckv~8m@)OuRRq1zUSokU`oyF=r^`W2i84-{x zRgWE2(7GZOKUtMGRL4HN+OI}+J-S1sL+zq^7pv_bpyuDM)@yiJL0D8g&3nq9sOFDX z@q5*JGgJW=Rs4Tde1qB^G=qH}!(XCfQ0ZKy;y+a7vssnTDs_Bib=)gPC>gI+<>y8y z97gAP1rKpzpZRM38dVRhQ1OFQ{7O}ity1yj>in%y<@{z9AEn|eLgw{ZRo<4{l#FN9 z{0G(i234K|?YU9KFAkyex!RsMwO_ZYbR>1WD#-D~XQA@Y6{vWFidV%#cS@D3VwHZh zn!meBzha1js8aDat8{8qdAMH14_E0lKdT@D?QaR>pRC|>)p5B=9k1o&WaCqz;&s{C zQ>Pcr$S!r}lsL1qb=lUj_UtKnC3#Z|N}YKnW9=!0MKkio<~&%Kr=(pxB|En~C)-gl zBd4(7kvv`Aj67%d^qj)NqFm+OQIe-(3qdwJw=gfKL`h+A!Hm+p5~l`Hk~h6*mbOF) zSQ@OQuwcftyeZkU@=8hzie@Mza!N{a9?mW(&3+`Wq$qESf^-&4&&!^g=hWq*RnzE= zFz7yd4mdY|TDBvnpis%2Tar6ypz>ObRP-jdBrnIAr<1IUJ>+&bqFa znUYuPEGY`)E-7*r}`Tv6Hyt`)ho6|v@IgH1Dv$_n$QOwF4PQkvGG$*$sTl$lyYG}ZoVGAIQ8 zM}`1zsF#j{sjd<&m#Co{V(4>mjx#qOZAVR1p=(A-USR=AaG-8&KmVEkf8|!18YCU) z3&bKg_>8H=C5)kgVS#9>bt){^4wgCyIT*jf?81WS1uE|t{y|7eS-})%{{Kh`a7ST6 z&Xg$_;nHjpl!9U%BrrF>L{~sFve+4%A(~87&x{;Q1xyJlTrk5?q@xKN1einy=pq-< zWdvt9i;6qeN~v0cM3@nziGy}9QUx;#oCO+9(GF*q6`-rR&>Rm!o>Z1i0fmkQ7;8$v znxg6GCuX=hn~NM%a@6Toib;;PJXkPe3fek|TA!UWqhlg9R_zv1pdySBtdS}K(ocD+ zUQto1Do`M$M`{Z3yr|eoiU_ZS1f+B1&Ty(TNX!=Icm0LCx zkET{lLLqdvDs(FA13DGYS-~D@hEJ)f!&sE%U`iGj6{=&%IED3URzYq+4Jk_mjp~#f zXO7yGcBBir|CvI?y9|!U9Nn zp3*L*b1Ji;a%d$YaS!QzFazsY_R^x;2hkh#5P&Y-W*w1|-T(Hafx*}I zx1|3Bk^OHcZ!Jvyul+3?n1~==Nv9pTKu+zmy_6oI>i>WINA|iN92f;3iuMWU^URaa z!t?8-o1)@k3JMT1jnEaT@KTl@u6tO8T|EonB82Ix0MjS14-I#ReTr3oR<~1u1NcN0 zZ{E`pAAt9(4l^2q*0g^bHTZyUOR2I3Py42UPqPLe7eM0KrorE!!Dp!Lf!m~u)!?%< zc({JS&twfg;QCNvY=e@8+DNnlpEwQv!2lA^cnyB42A`3@u4gL`gUbkBT zNNx=pe3S+sh)q$lL4)t1$seo1U!lRrY4Gzj_;?LIMT1Y&;IGu+lQsBC4c@H52VzQ; zENJjoYw~Ak@Ut}dEDgS&20vMY52!Xu&e!0}H2I4)_-i!yat%ILgRjuwEgJkH4ZcW& zU#!9R)Zm}f;MLF%OI@zPU#rQ#LWA$6!LQWd(=_$mjnND;9m~>%YlD6pm5*} zcinlxeKJarI(`2#%zjUeGtA#0xVJ=YW*Pi<9tOI_f71~>xa)P4pZT{fzC(V$e=&o} zVQ=y64#MQ{xAkm8}vU2ljDN^2Vrtp(ElJzjs*H2gvo(G|AR0Y_UQlLf&Rxa_)rigLmuNFgegFT z@ejgexTF6;m<)6DKM3E%;3tD{Uj|nO;hPyeGYH2sI41}vFnDwjzJ1^S=J;6p(;iNU*raDN8Z24QmS(ElJzfeZ9M2vfKf z;~#`6u!Qjs!vA6L%pjc1;G7^#jy1+V2$O?`@ejh}(4zlAn9g#b|3R1>G>m@`rn5pA z{~$b^!KeQW^xw?jLqV8l@a`Zyg2A;xIEBF<1z>2Cxi6A7N!2lZ0@xb@dqUvQ{H~Dn z=^=1l2s|+a&J2O=A+RL`9u@-M83NxH0^bw@_YQ%t41q5Xfjfo3f4|U?Uw?$azlOlS zgup+Bz~6?zUx&b3L*Vrx@Tw5_{Sf$#5O`S#yd(tnhQOW>cy0*n3W2AGz7QwZEU1imr^zB~l(6axSKe8~8Rz`usTzl6X)hQQy3z+Z>J zTSMUWA@HgY`27(0jSzTQ2)rZ&_J+Wo5O{6~>2V}0?IhSC za5L&0Twx8@z4K;GUhaA`)3<^&E{eJ>-X)0l;jOvx-2 zvzgM@c8&g!|$K<=u`~5;ej8V7ag&{)tSa4M8batu2`u;+~CP8cv)*T$U z`nv@`U7I4DJxp+|+(VG&7-Odh1BNnsE*|3$Pva_hAFWy6>~9vhk1nUP%z{|Emds(n zv)%b+M_LK>?c|z1l>4J0N_#!6^Bzw1-s2bQYN%f}Z>Kl&a5K+ctGCu3im>X>Q9T$B zsVqv+?-NWdrF}72s(iRNf#J3NNBD(WUlg~x#yTJx{j3*E`&>r^cb&mz+U43L)(U5- z8*yiMi<`LZLhYeAZU;KnrG9fq1~UHfnO5;{er%>7{xL?}OWuL|aD=n>M&hLWWt-n` z6}OP2PP2*mQB4pHtmA@rUcCHad)g?$TOKcnjS*I0$fDNKOB}tB`(YCs$4}%Z@HBfs-;#8+Nml(2ejIPk#DPb)|&90)jL04*0*Q5zrD4s&gi?n18=v9=jFxc z{QlI0CSL4k)Uf|PC$#J>X`m-yR6-*B`@ zEf*+H`Q67k=(irZV2l*e_D^}2s`sNN>4`@CHPx5JNYyLxCRVS&UkoqfpLeu=_X+(b zQ%l*f@ap%F;EfTIYD_I9kxIJ6a!X5VkYs9@Wlm^N%CBWJt$qGWPY`Ws=@JP>YBlf2tZ8T%52wpdPnChJOTE*Yx2fzeD+-mn6 zbwZxaSMrM@j5aAROOWPf@a{rmtX=^BI>|lGQoi5hu6XiLjS)hEyAkwM!BO=I_&;E_;}Mb6z8V$*QT7Uu#8mYP#t+ z*KxcXs5b9w^st)#a>X_cb}XhAl`C0Uvgx?fC|45=sXPnaqP8D&7scvb-^v;2Y12+c zEE;kFHxaKkB;>A|G~P#(pmeCvkLyvzLlt^ zy?yVR89nx}ntpZlY_g+$vP8ttNH?B#(=X0soA?W0jF?V-g3+CuMV;`s0;y)L(QFeYSeX8Z)f!EpeJ|+DwhJF1L!`_a9x=Ku?Ef20ax8$xqU(&+?yWgYN~n?uuN=O$7G@85KTA@I&oz6X@2tGr(s0 z_|C!U)2J)99!TkCx7^9yrk{1KG!FAH-Qd~dge6kZ3`bj!r%ccG`PH6Zzqvz!6>5PM zfdYy>f`#U9c}xp6@wb|_eneZ6_Hf-TS%P={WVDOx?pcJUQKH~J-UblX4#1*L^Bs7K zmRLcu7=R{4MCfv$g*uN6kh+DGwQ9-?q|{l=fCyW!V)Gd`U&S(AYBmaWmSVz)9uhZE zPH3yMloP_cXg{bX)i}f@e*r{A6@Uhz_uyK`kF|RpSx}rTST{clQ<|T?MUAA)z1LB0V+>M8;Q2~{JR z&F;2NTou`>W$A7?93xm(MsuzXyp~v_zzhn$@pTr)Dyuj>iWe<0{Ca8+EyJmz9FQ_B zYL3P3wl1y#N?E=xtsl!K{zl~~=-08loZSos@)?s~t2B=_*)tZRXG!|C=~YD@ZQk`} z5V4uq!?|A&f1(!tg3efJWMO7(A?g%DWYk&9Y(rRfuIheJtMgE&m6n{ciO1z+bk8>& zDH?l0(fEvco>s0Z8QEb%2-5tlx=4_Qo;^eS73$KW2()=;81NoT?~K#0;6>he`VuUD z9I0igDvJxz0fm9`Boyet=(=#FoztSkl$cBL_g19{kx^N!kgLOwR8UJ|5yTXQuXW+XRduXEHOSRm(E0~g4`VQWR;2Lj@yGAG3x5Lk z>)P`m#HBWiYiLesEfiXBJ*{iwlyuLYwTlo8X zv^>U+8G2-o3a}e61Gv@q>4hQVGD-&t-k7JjHM7Em+QSh-_&9-EGqSJP?5LHa#U0*q zgQNCDw8ONM8&Sut+2b7<$*rj|)y}zpqkwv3|F1z?c94Zz^Q$|hJWB8?Hh{P-Rm?Y> z;fgF!73LVc*r8(tBVID&xb7JP<=q&7P)k+k-V|kOn7^FNz9RvDi^-m*@iu9yz^$Ga zpUSPCksuESU#(&dx5i?$>1*^Ud|+j;>bF$wDIeOp$qai1 z>C)Udo?BxxhG8-70(Zf|ivWO%Fgiqg52!};zb2}wf4lw065)+mlC~#pcUa&Tg~1&| zK@>^Vlu2rJALc;d7KiBSTW6t&HMEz7O^Ax~ot;xF&UbNf+#2_N5NN6ddHWGJz`sPG z1o4!jH+=7$f}8~XN0cC~X@Q1E$C9>FBX>F(9QmPvF^&(6 zaWWg@RIxY?ZOJzZVpbLg9LC8(XM{T?R&NuJ*+jqG2Q)g2KePKai)Uc`A+SORS2Q`P zCRJos_*w~V$8d;iwxGG(PLUbb@Xem6A$Ys!gk38h6XB;O?ZMziW6&^E@|{hn8%A$3 zTvElwb#+2pgw66nq-fee{J2>C?)m0U&YmG8jEn@+*K0j!7-~k_!0J7$(wY;{IA6&R zQw<&LdH7=_<2J9u%oeCvn>5cXP^0ap<6IS~XRFu>r_v_=X@l1Fen>jMDHr-#{EioE z9JRkiJ9tc4hiMb%HX#j;D<&i+g`aoVMDnIK&U+YWn>0i){lrz#x+6$q5ODZSegKo0 zmzGc^o;_R@U33(r0nq0*(-CJ5w>l-p-N+5?;=G4jGsXb%PwR_XT-C6=V3j5^a-B8g zE@R}pjNEpvDn=n^6@PAekH(W*lhOmTB`sc%u0;i|mu;qFipgq~&|j;voXJ}u8@$98 zCbD89LB%RfGCLMqO+PqO1o1}{7fgl5C?`|P4mO+}3{wf?uNtOsc5VXesk6QD1PRxA zj8v?4VGfLkBb6-V8rXj-uRPz-yLiEOf^5RYR+vh(7I@3EWCLpD+x5I}D{=_ZAgk$T zuIdX$VRn@76TFa}{~9v;ra>r_d8nmRk49-nbD|CnDE(qq*BzgSoXQ#zJgou;>W`&C$Le~GY#7YUfsk=j7|rZ#xN{ZShzalUK_DIfwr9U57DD<<`uN;MUZFd39LfxvF>Bl%6Qqy>_$J^gUNa z+sCGcvH?Ca27}{=tP9RUp3Ay1&5;V3SokP12-5f{R*ZxmNd||hwrr1&O`SEhRKasd zuu2n?Q9&YdI9T zegplra_Rf{4ZtG0yvN2_T1I(?uC~@5k05Jgz!6fOsYXE%H?zpeBUD@hG0EP`4x$+p z!=!Z=djLh`s1-^_wr!fn}&>HeXVS$ZHyj9E;&~{8YsT5 z%E%mCSYB)C!23w=KrG2;N~fv)QcO#jcS(MSI7INyPJ|7W5{5r__r;$v@p4Zz6nL}X z-kc#{4uBkcOVUBEd&+8jw~@*akahg0Hj4LbE_sialuFSN9*b-*u71M;Og1#Umt=`` zpl=3lJ1T}qK+!pkJ-K?M8F_9el_bLomJ@7Ep8MKSyA3X_(-=pkVp#4tmb)Ki{Q_Aj z2bhpdHjmSI6)$~iqRQOtgV13<WA0+98G)%|zDo8}jWkwmPeKLVG6 zy__-u0T?BoB9_I9<9gMlGw)pMOojTxh`TW14HaB@5Qc?^2Xw0|4my*5dy8ARhvdmU zH&(}0)#249Eu$!oAbBaMBU<9b%@*-zi{~I$wSsa=bImqsda`8cC5Usd%Tj<2&{X)1 zf~{}km0yQ3^z)z5U+k7}RXgF`F6No5h*fA-w^R|Ub8TZM{_JVkh*s0zoSTH-Ci)P3 z3D`T*OtbgCKi%i`Wlm{y7UELVP50xPHqU*yFICDZ7YbVT+8@Lq9R>zFAgB7)p6Fz1 znUyX!6J<=Z>cOZsX%Bz)cd>FMxM`|ffxojNMfMc$pTfJF^n5}KpK!X4&qtCH_O9bu zFi5DZrEUqPU0n4{bOil(cBdW=Q~=I%8Iq;Ueq@?1M&VS+6dlj-q#LdYM$x^VpBm3MuCqL%o5ZYL;?vZX4W1TR{V{(k9B* z+7o@*a9n}R>b#eV1LF{p8ZMLzofNjzl^vt8^(ZS#Dwr2XJ;(4~rWsyF>^rtToCwe> zF?;X%(|t}~cC+b$Db5?j1#EB@sDs0vbtBk#)QwPwf^|?ZeOI>0_b7-d^N=FSZq$hl z#ra?wjr3VoUl@356Hg?yvV77=v)k8+>bu_bz+`7nY2*YLixH;UQciqeGVlHkGO$z8 zy_Lawb~G)oV?qNyC}QDTk2Qn!cmQ5lXPNmRr~brdlq)?@+b|e(VCG{% ziIQ(XiH%(eff!hvVtLBFF`^K!XKFA;wA%-Z^Xz_1e8eN!bV3|CdLu=NtWfq$QNw0R zHU5RaV~rP@K2z$;B$W%BnoP;0R;9xH4oV;ks~6(Zh)LU^=Rk`&{#-(;F^>Ku(jT*Y zMd={J)>G&JL@J}Khz-&QKxS8IbOavJ@)~dn zavj~Y8vQM@Mo}Rwcy^totBES1XhXG;hJI3R83QCW0xaW68!}dDk#qX67 zU?U=@9rXLhPsG6R6EGGS2MmH@cWs~%lhZ&Hw&V`M>xyP2*_brdsrCcozqp%iUkYLi zYQy}Z3Nd>(^a240Kq5sWI__Y{C)KPa@?1g$f)dBcCx>ZlAZft}#UTZ&S4|YH>;}>n zT_1{)=b$AI+>f@T(S}-Y+Kr7(YK7cWptJ~yWGkp$5F{*Qk1Nv$9CCDRP+P@{J60`rMRkWM-bMpVK;R#{;95ZE}jjs$^*F-$(I zHd8Y=*P`NN*rPbTaE+6hbcUoFt~=I{rp@wq-v{k@>Ob2auROUN^fXPXGCl`{GS8#g z+JR<8R{$p;M}6)#zcYbbGZv!cJ|E^Bj``+3-_>;$p?aXLPzjFOO%S$lhd2f<-eZhh zyYvhdDz_{LvGK~dsQO8$qmVPYl@f&s8iS%;#gu4nO{%en5=2ZvH<~_@uVg(?`HA>3 znVOu??3+uBZkI-7J|R}=4`UP4%ssO$X;0-gJ$|d%w;R1+`i^XzMCiY0P481-5Y|8o zan=j!7W55pbk%i;6ks&JHUf=a*Ass>&{|xU=cMqG;>nMV( z%xai1@*De50Y#~V|99x`Sx0B6L4OmiOa|FP^d}R2&G^wOy@8l0_oZYW$%~olV6XBk zKr(rOxL}HFe7PtRl_(eDcDrp}oHSTRL&Z3SDHB0}JP;h~APZ0`?UMmInw{w~t9r6g z9*D{U_If~HkOpA0zC-0&#bFg26|J8JJ8WA}ji^c=fpXFo5ASD9aT(;_zQJ2^DYryf zqC)gL>8|9>@;l!`mV@zmMPIm2nme=s0c%nYY-xhN8cFAEU>+!HLtdfu-FZpfU}JG= zby)L|93(ehVCKTem_x=zVcCr6%=5FK}d{qkvUROGa3OtNM_YllOxZTj1q;&=FpY6zfP7Jo!k*UV$v2 zEHB-KZeTMOICiuJ^)9Lgz<)+R7g6~q{as7ZsdXf#JZJl!2^b|HVl`^N{2(L-R9Nx` z6x7KX3PwD@bc)OeK_-#?0a8sy6ta3}MaZYo3{TC&F=u$L2uH8D?vox1}ZOtloK96blEH2%6iVnP#Sy z56E5udV>$Pm%*<%tWz^_pPq8ep&XEPXnKGP$%~|2`<663d2wMqVA}Vj!q&Qli`n)p zdtE`skAhv<{@Q^2Dt3SSD+L_!2?K>j6^qKAU5j_Bv<**r@g9gkK^lwESf%@tq4)*b zfOsASh4oi1jjkPh;EPc(|DeAGalcJ0H3W7C6B@Rq^udw4w(xB!aejgOa4XJaBvXx8 z+Iq@^Kp9yL7)tpTAi>YZl?E0dKZ5dDmRnR$v5x5NW(UB3(BC8Nt4*b zW{rQw=0(yT#qt~qS;T;o*zIlzik(MMqr0hQmS%mK3;|6s4JrF67Q)qXrd9;Y3Op0b~@ZIx?gYPJ;+wr@cvyy2{7dStt{y z5l(uU8FlsRpm@m-E7(Rt!PliTZ&%RcY-cU!?vHt4^S(_YW)s`&;%`=QEBIseRyWhK zhkiuyQgtFEhBVwC$cCdET-8aupt)A}dNzfub)LWkLxkN@4wz;cGGXpn*guNmBp<6d z8W_7Ywb|-ThYwBU4HTrTGC&hqy`IO=8mssH$B>KCVxdd2?A}!?fF>CGHL`#}8Qj=k zaCo%oj&}PU4Tp_nb#F7slSx3}R3w9?!jK7w>Q&td^?}_o+mI>7SgtA??ZO61F)x)h z3JKc;_l3^f!jV75tUBz#UFzUJ0t}DsD4A&X&njid(YDJLk`HOP&4jft1J&`8JwvSLZ%wZl<{#g;6SweB)MocijiZgx zKCDOBUXwi_1D~&p-87u5dX~{(HNf5Ds>T3D=r*%lz+ARjMb?tmZDy{D)5KK=h{a-hEP{gRUx?|w z>h(pq>^b6EqXdKK+5_G7F|uOekO3Gcpv_yc{%yEl@Ki*)t151AV0 zii5zouH_|m4oR6n5AD#dC-Ax!5x02##5q>|%f&?2?WsV6^nnTFtN)8gR{=+|n~i1D z91u~?b3fQaQt5dJFVqQMS~>?*#QKDWgdK`dr*Gm->1(;_be1K((R!<;SYQ+WPGT;6 zL9BH@Gk)Q`8_D|;_-4LXB(hcfbBLkNcQ?SrU3Ng);CpKXkn?zu;(Gyq9E;Vd!+C1a zXkQ^35|E!?d_#bO9Oh$jAocReIlmvybysFDFu#XdLUFcU%2M?J)~WmshJ{&CLUpiB zag5PSJ{&~6JWBS|Q$L`%B%B51s%o+10P5HDzQS_{CA;SslXb4|eXk=?PTfvCRrV*y zbddLASTO!%|BIH4iM}IkY&>aw?_keonW3{IIxLC;mRlTO;XLy&klboA_i-w0NO}h6 zE(9hOJBl`GoWUx7haE%vkOex}g39();2@O{o-SD3>(~+qOI}is6z6}V?CaW1GPkfl zNZsvCjrZe-z}Y{_ga(h|s-iJe+?vkYQjJ{}(OD)eGGs$^wRxu) z4bT|T6lc2`?7;kqAmODS+J+wy4f`tTR~+=gYm=+p-l0=RD1!a3e4|Y)&!X;iS(Fyf zy16I~5g8D7h-v+BFjJ{4?RIcJT1-n6W%pJ+b_dc1QeE_tjDWXAe~Mm*$~RyHC?VC< z%q{Fhd`f8EI2i+KHEp$V>9Tx!8;uC_h&(O`5)CEJJ|B1X#5|KX(~ydF@{4utDJ~xq zqo&OE_JcLpD&Itd)}4e_taTp>cb^M$&Rd~(J_t4$7Lp>3N!rdrPPk@4Gr>VsL*K82 zOVHZcz&^ecXM=>PdJhrXFu!vtRn(a(x~gdjlXpT` z6+~6iukGz+o#gdJvDDFCj>Ymp>Yt*|%+xBC39e%}2=EZNqShlwvke&M2zeU#f&qx| z*=g=!e?C3TLEc~0G0aa$1W878P%L~$ftCLQ!YUmm@5)6MI@>`WEG&vqWwj^<55Pn7CIpD9c6^hQu6vF z@Jr(%u>Rn7&c60bM7W-Fkq$+|x_bg6%1dcVpXQ-YdrKcg7jQ1}SU~@>e&MLpkIt)D z=UP(X*_3Ui-pxhl>=*CbcB0C+MjBikx^`7Sr_uRk>PH&&W*iMO(T{?GP! zGtMElJZn7KH4cqJUGIZYlEsW_P$Q;}-p_rBy9ZPaOz3NHPJkUpbT^vaHL185B==n&V zL6EA++O=Vk69SOU35>v@`RAaHWbYLb|x(eXldKmc6Wm>OEmGxPXE< z5|HG#i@$@;K#(DNERbNQgEKgjHpkeXoZ2`_^Nm9RCLg%-hpVg?`e9}s;smMJF01!( z=7gEP;@tF)J_+7T18|B_Iu@IFxT590z%1}p%^+o$?kN_;)3$`2bOdt2QE~-v8XmHX zco=Gdxm;#UP1vsg2?yx71zT7;6bwRORR~=jr7Ti<9E7u9Yv(xE%{cA&Dag8OuryxJ ziwxk0usa!Cbt_5->=M6R4h~z%!sMzlv3%kHUL51Y1$iE&NTaeSM3o*dh!dl%;ggDO zVjf(JNyP}MV)R5D%>a;Eoj0^Z3np(6x$lKqZW3E@2Mr)-TAL`yR|l8y^xaOGf0 z0ntXJtZsIRL{Gk_Z3xymrvrzr)8o-K@fEBlC^QO(MOT+4h%o+fgdF|uZyn--iSZ74 zDR>927HW^d?l@x&pNJU21ni5lix%*G29nUqGMq7a8`%wB|4wfY!{Eg2Uh2^ z)mvpGX|dBbV3QU1PlH~U6|RgNzY5j{M7WO5r zcAW#`eGMHs@6V!>dynDhprcD!gu|UWDpF4d5Ul;a7y{C;H{uNCN%Re(A>-kVSOmmZ zgn$FVeOS+nqk7rBUJ7B@P3)nZ?8R{=8=csZN8vuKjW#7=me|ByayDRS_6!mc(4g}> z=|%@%c~7~{%Nuh0E2!n%hu+`mDXphTga(uu`S4X#bFHtF=^Qs=7cLuAzX{HP zvqOQ_vEStg>KjMpAwTEfFB{dD^Uz5=ZcU5#9u9NZQ90-CNI!hgZK!mk9~0&?+H`>r zC!XW?o)b^+JUI?My@Z?y&Sqe?EvAaL07*x|+SU`>NZ?s749FI& zUy;8$GjsAGhQ8TIrS%@NgNTlYG#Xq5AmQQD$N)zV&hxT@qp1oUJvfg996VpT-b7xE z{|mIL47hgvi4)&6N_6mgTn`EX;cPfsX2Tms^+%gH#TX@Swn-QdJ1!lI-!%*0!p1%UHZzuKkgI_3v|CHqmJX)D|vqNnuU1{TEo z;@}BE#WH@_Fhy}VkauiT=&ow1?<8ghKW!otY@-2x$c)CCXF514q?e#p(lzFnjEk0tH_&is-i<2v*~Mo zEd&Y-m8;PwjlGI~#N#@Chpxop4nsY*r_{|s+%?A?^%?c*jv!aGJE68d+I%ik;?uporJ_ZCI%Wh)EWh|CQ=+~q{D`Dj1h1# zxX-ZmAqa0XMtp|YA^!bkXD0^XzywoS@(ZZZQ&WDIvJ>r$r48*!u>m)R!f=1seOT`d zch`rB;fTD_$$+2(;u-*!8G`(J8VA?h$q}xrTEinC7vWSbyz4JjJ}HjTdf5iHYDA3n zhho5I)hq0D4;gn-Do;|>Pt&(5<61_LBG}{AD{6>r0*7lj%DptX5vDhDHKsyaAgJi- zzm_pddWjWA%N55S(adX5ta1z05wJ7a6?L;tz8h@D%tJ^^Ov}JJX5gj!;>6m7-GR{2 z2`ns?=hzv*r8QU|Jtu)+yHM<`?O8bi$Jkjj8j*lza8=BEgaj8uf@3J!V)wpDQFt>SzmP0VtHkzsc=y6Zfb@3p1KJm|iqF!X5V@A{rg7%w0(@(K18Z&nKx?-%(?-dN zgM{2d+PAYxs~G|5aS9S}Yw%MUPMjLW;cu~x7uy^+>C9Mo8vRee*~1McguLz7Y`3}( zU9h@+SPk3s!Zp7N?q4pz3W-)g>;g0btchTj%BN87AOJ^^tD;e(+b;GYX=cuSg7}4b zLl0?EvR%K~BBhuu6g$`j9M8h|TUlynJAQb>J|M+tA8>a+dzV@l2Q@o>Ak^f4X&23T z8SkE*h*{ z#}vaxNEwKA_im%j8*{s$Z?T&8aPAS{y1Fdvwu#@`#UDu@<9 zbxPkX1Xu*V)qyKa7#Z&_&NFO{aaCDYqdVlc7aC*qoaZbEs&fi=%g$nE$a`>v9fIog zvMF@~GO!a|?DE-J`6zrWCdSjCqFD|da*%O^mCcYKvq0o5{I10WV`0;<_Vrjifw_jD zBW7kHtz^_+-2{Y#Q+CT0pR&y&Pb^4cK`D&js_p~N)$zjbo^^<{Nv>%>T_w1L`#CU2%De`(Wy z$(me?CY!mX+ssj?UCXSdb7jws^2StfYg`d1w!?}mr}pqnf!(K}d#7}EoEPgsM#fdP z-Q2=KXgSSn+^jM1xX5OKBtMY=_DYuMRLLHN$Q%}K2{CeRdn(qfWQH(fRi_*6^$6c9 zLC5P*B-LcYxl8vIctvoZ3}gYn?ZPbxBLsGH+~?3!u@2Q8OiifcO@DIL$APg+BXHYc zq}gt&cMfKa0!>}hP3k)3Fr6>Eu>{uv*5G=L=>q5Wy563BE zQ@Ql-h46B0s~(Vl`-BW#BvXyayo8^O*n>DBBqC{#P25K&=@-aCa^xeE7V;77(KQa! zcie)Tz`Qa|@Abjn*So&)bw;Ynr+}by?x#SgUD&zm1%OH5BQ7TJXSk;z@SJBNGO0q( zRc8Qz;73C6dA4Hv{4{sr*Fh6phC~Thjkk-4kn%W?fh$XhUcc2Hej6SBhEKhPFrFn0 zgWC(he8DhohA}cs4a3X?25s$Svc$s(0AQCCqu#rO%vBpMLiY5{#O;ote_)pgi{I%W zB=0Ua=v^oIit+@%>lcPk1)i+|*2=jVbo*e|&9K99>$-aND3rjoy&6F+hZq1|Q4aT8 zpCSn>Zyjx)o5_+*Rt6PYY4Ws>)iI=npGlb6N>r%nU1P>Z6m#&DpAoql z%cn{ZyXRxE0UQ32Vn`;EkYe>(rI_XWoR=dM7@me*DCQ(thuAYpv0rJ=z}9cXIyzU# zg0mFd#282Ni!6Qc?2KoeWWfX-#*QAQZ(3)@YBP-fa3eN><<01OX=hNS7fk1Mv};b; z>4EH2OexE99CIl|}Gxc>HvAh3PReyjm| z^c5gNAKICxCl*r{&*1AKjK~eksu0`%m^d-MHBf!LlxZf1|3kdH&*K!pn+$m$cwmnd z_t6$9FE)@XpVSJYMpvQJb=g^Yh@PpYS}(j}%!Bl^2`%d0T(tw`ahIQ}LPK$#U);wA z;nat$#T3xMXeN^W-55?MrzB)0ke6*wpn&Ur@TH6ZVh9uj#E#VF*A_mJRTpFx}_VTWA~J=c1c zViEJ;>YtJ)p#!ANH8*B`2aw)w-|#pAp!s%4}|nGxI$NY56~k}{*%J84TPGn&2E z;N7WxkKcEXvdJv)odk422L3u=<>=S54T?Zc%lGn@XUdVD$5b{if z`g>TlCk(ZRanp7Q&3Q~6s7|gr8devYPbg9mzH2+yz3?)?zT5Ffu`lr}2{5oS5qIp# zGR`%7$I*2su9|-LirHB(vtVTj%*ukXQpe1!T65Gc&U364yi;r~uKIfbY@vcWT~EJF z!xpSmZ?&!hO@ciGzu~<1Bc{MoPGk3-TR0CzEaKi&Z0A%Sp_r7T@|Zt7HQ{?09#z+) z@3_Q+@a<#}gI3C-fx{=EnSQ4Shz1n_gP;8v4)!b)+5*3ygI~*`U%T;I$NJICInyG)G1Zmoht6%dzkO?3~K{P zh;Q>BBr0>kyt!cBkAO%Ex=(as%=;QJcwvvUOaE0ZKj=Vi&2EK_+)|C@htL;t+e`SyW28?%v?`=IrwSbj7J=iyt4JIOt)Jp}_00rvv%EY+KC;MTN~9q8T`nQGd`J=Pa= zux3au)dFM&Ukq-3kv*7<4QaCe)XU1%eUO<(!yQX6Vhv4eGu`r!0&IsfvB3X3hKXDA zJv;Pq&O%<#NuXf*;r8&zL^AzuWzD$`1JZOA`5mzPIQL*|c__ACy~fr%irCRaw)+Z0 z^fZP-@KzZsFgA*@LUvgOm+%rpA!{DOQrl>>1TNuq<6`6ka(bKt5$Xj1@IxO7?-`fl zO)h>{89sr`HTrokW+0A0OaHfl`1=|3TQv}qI~s`Q|7{@dd|Ndxs75o-ejI@FybgLn z15rX2CNNI{>sSmKP%Pdqj6<=Qtty9HM}0?NsjBuM36pnZ8!n7-3$sv?ltBibV3#a| zq@oIOJgpkDgpgz2qIxo+E#{iV2HIumgY1$88}*nS`!O(LgRdL4f%%p2aG^E(0wzaf zL2pW^wS-0S74s5xT-8m;4`0alTMM-)6%!MuE$C|I??BKgsyJ@VePQI^By1}%Bd3Xk2}4 z_`I;E6+TKX11{^f3hc_PVoL8u4r{?Z>akxO<m30qIfJE)A}4Avw=d)Wu=S80a+Pr#JOYwW;Dy z8!=K)le=+Ee(!PK^TjICl3Y~;SmV1MHNyQSi?R9#$d<1g5Nf+K<4qa8Tx)$d0>%7V zL@=(#yVbOz4YhC!yE0&wVCB+g32>=aQ-ms!Z8y^T4?QAZ{|54l7W{Gzl;;7Ak%SxG z+-iFqt*)ePDKx{*M3cxQVqwDtYt{*?=)$%_=0H+(FfKEV>;MvNM@yM8v~Xr-NtvPH*gMHNWRcY`0Y}0AAXtAeJtF4INY4P zlN#5DOKss7x#EzmGaVx_Um`EEQL=!%?A%~7ehCUc=h9H>r0uv2I@<)-pb(y@xV7Cr zpkF>ZD0t^4Iz&qt&Q*z)zU*&2EUJk*dG70&KHj+)zO5N@F#s~W>0*@ychfDno1Q74 z$ftt-fMEKzVT{RSj+TKFW;|>=wLSR(yZ8xBsi&9M!?y1xLn}pwxbiz7%NZ; zw}UzL_C9tacXFu+2-NUgT8-+T)InP3_C#h1<1t?av8reAE_jtVA4NKu`ywhAyWsRV z#4n7bB-kE2w;IkmbbCEQfn)-c7j9nkg>fO?DNSH0v>KovBpH-gjVDwKOL|F3B0*vB zas{plz^^md(hKxg;8jj}6&<97{RC4K%v&Z}&(yeU!XfR6a(CpQW>}P8Zh?P=s40%h zu0jFdI;@rJ=qE-5?zK&vdl%kFEC2Wk6pZpaJv1lia4(Cr9>EJ~Yu|WyI${F`jl7cG zGREd4UVOQvkFkVSH;^&QtHxqGDNg08dgAb%ZyZ2% z{jf@GtIg_Nl1Qo?jzf3fWXx#xyD{(=#^T-KF7FFfVO3t?i63T;_z%bpp#c`h+mi6J zN;SSB%x!OmVi&G}#8u2y7`;dYAh#_?D>QaB^^)`ShQtKy>d4oSL-R{OW6)ZJ3aDvT z?<)2%HM_3xEe1J7KOs(FH8nf?P>i6j&UuaE+xVDobA(blC$;)$`3m|3x1XdyC47R> z>;)>n7hZfR_#^I2*eAA#+YorDUX3~fULjnC9J+NJ3=S~(C0t7g9g6&%=T&htW( zW?;PlKrI;_9R{}-N!TMm$rHh9yV%5{k$jz-)E#|nbS`TGt`1CpnVNw&-u-z7CGvGC zOzJq#2$Z*pKhcoLvmlmAHsz-|DW|UwGANyE_wM9q^ox0O)VXBeD6EC#WPH?fbGx#A%F5;b$&gHa@hM-23_3`E+L$W#f&&l9uaQe^zDi+ z`9=eW6^{Axr#k7IeHJWdims_%Ml0LhSnuQ_)IrlMin_B5oTf9eo}XaV2O8?z%>ZT( zArqUUCMxw0@%`Bcsz)IP0Rdwh)V}*jssnpBY&U}JlV^^TCJ)>X#xI!C50qC>1++g4 zIIaUMmUVz}XcEb!`qcblnL(Q$ryV+^v(pdGPQaOUzG;vM%?6-SUo~BNV(A1+)fJ!& zFjb*1RWIrYr_bp~zna?8p5H;2-PSVqGQD{%$%+F?KeZW7haj#YYoX))Yar=PRIq-) zw8<5Ov0vX4Km`b?_igHozA+eP*df$jqz}}lOVzZZ0TXC{x*0$_zocrKwVL#53b<(D zkp5QFiqf8r^H$F(2(vm~)yuUo4q5@EmHLdp-BNRgyT8*aEWh;p2v6;GaOFH-kl_J( z>BXq60z_2$>B${nu`GFWAdSvvx&!|@5|#M(^DhVf<-orj_?H9!a^U}a9C#W#Hu3n< zGYir6LF$)qM>oI_}CCQT7_XZuumXe1uyw{SiCc_zIgv5Ej^}9UVLcfAJU7HGP0h`f8vSN z{BxzhB-gYKcdqz+N#nY?uiw&kBx2E>5w~4mf2%WNl`^|KFc{r}2p^;`VuCUv5axZF?`$U0ZQ|%iZFfroVgu%ZzMt%0xwA1GKv+wggbN=~VkuAC3Pk5AHRn{l} z;mtivqr0t`Xua&gL$`VcgkLk}jQILr>jovf=pOx3+tP$XE6?hmth}z*?(*vIo4R^N zRK{KP(Uj8YvX5j(!FBGHo1VAnuc2sC%5Rf z8IP<#@W{_sy*_@V>z!BMST?*<&)bIVxaH{T#9My3yGKUji+3E}Ief(R&-duLCvwya zc|F9`1(SYiIWbK)^W$efxMgwAy^r+hGU#4s?gOK4s7-scn_Szy zJ(=(9@0IcSQ&(--G%oM^$6x*F)1J5G{Ql%af7Fb8Fm~?i4-8xRRP58o&Uel0bAIWG zqFsaEAAQ5GFMhG*h5p+g=yLeZ)9;-BY(Z(k2Opk)HU7k3hMQm5@laO(g)v<{VSK*_ zw@-Jk>@QAO_sOx?QxER`de6|8pFDW)HS4>kO^3kmFiyKEX7T^| zQy$Op3>dI_?Tf#kxNdsxsf07LpI(|Zrtkf?>X)udfAR9$X5VvaK*_sXC%!f?Z$-a9 zmwol+=e_z|^JV52SJa+d_TG`x2XnKQ#5}*(^zP?3T=ztsJ7@6T_oqg-eDe0l%f8FK z_1D=8?i&AG&sX=~J@Ov+;U`TCukG=3({y>|C$}E>aKP2i=dP73|GE22;|cHQ-t?!% zX*2gWeY@|^$R2IS4)%WY#yMAgd+v%sdrAisP5A1@3$MOwJzDov>6-&KZ(DZHTPZVA zuKi-w_PgIpc>291Uzz8#uP;BfR7K3PxGq$AfBzwR%~k(dKWX~H}kWWat@|U)W-|qOhw`G07oez96B;Mt^=GVAQ@{Qk~ zs9dt;^PH=Gx#6^ZL*jX1)gzN{O0t&D^?Ypj`)>QB2kp;Kc|T&{cjM-cj&aS~XzOxY z7fapz+g1Pm zRb}2iHEDk@`>Av0io1V&?dyfl4!gPk*k}K~=h!b3Q>vFu+&ypEXM?+~n0`$+%jS=k zv<~B6zRgzOYxCveZ+{H>D(Q!iW%{&=WqZung{u6d*XBUe6_{?39W=evI0 zdf@0y`<}7x8~NIF!?6jbZi(@&_pFXs;n+BO{_KTc?ccC9^WG`<9DncBqx}w!o_EI& zgPPwmbGMh-C(Zw9`{3&~4qMpi!=6bS;@-G$Xy4NjkIUcoeQ{#c13#@yy(h+4S#+v= z;IlL0-Yf1q#=Nc1{Wn>zdNJ|3@q0F0o3{CtS>L?-pWA0$w)=w*#$%!RaP?3BxgqR> z8B@1K+TVV@`L5yPW^8IOZ0&aT=GAMz8FpaX4`Ysd|z1h zn^n(NZF;=?cGnYwu6>~OrE!0)i`;w5?Z6q3Te22kNWA^cz59pUUw33p-O5)!F8sgRyZ-37syhFY z36O2-G=O4&y3DdY5}<@BloGTqNt$0RDUEI123vVEnR!XZPG-iL7n&d|gRN=Qw2f<# z_>*|-V$fECh*V`YM@6bzXqM$bTtTbbJ;ZZZjSDW>UDmgs@4ese%$t`N&YrV-_Al=_ z)6adM`@P?L@ArQ1_uhH$P5Ro^PhR$utFFB6%elYY+p=Twy!*cM_J?lXd9cPD-|l4U zDy~U)Uw*}kzqvnmv+>BbkGybE>#CDKxX(HM#MXy)?)vSe&vp#mfB)4tM$PBne)`F8 zo4V40j|LCnppS^kY&reLWz236(lV4tU zeDC@j4*&W~tH1ue%Nl?2z(3x5;PCV7&U@kA!Jq!(@ML;N?SYqn+cx{yl_8u6YVjeI zL^s&zL;uwUp6;kJ%F};%L3d~9BZ=o})?qZ4Q!2dopo5O5y29$5Jq z)CabI)^R=uocbK@1p-e3U#IfVJ5DtoMV|zA0PAt9X_T&kv%vOA$9Wkz1*E_2QHi_N zU4(c(GY%ZZqtzFH6Tk&v%~u?UZmQM;yMW!me&GCZyuVA=IOCoL4&jVjjT>Kcz>UC@ z(~ff&T?5B~^$+9R3v36{>+2_g&(ihR(GIZk5yyFR73=}51-1h>0*4-ToCt6pco$uN z6ZQoz0v`ufK8A4t>Al*sz=>}=P8bKzn(yFT4V(k!3BM0H;3Dv4;QSNNj~8lA;CG*+ zz|ki$|G;|u1i2nBRGkFIfulc0|A9lNasDPA_$qK>)^Td!Z&Vj0qO>J7@q*H2F?M)zF~2zU~>9ykYV2hIa`0~diAVC8S&$G{rk1h5u( z4A>2v0rmr*1r7n{fuq3Jft22?!6>_PyHSR>9WPyZUgbCz=o;{=sSFR+IbFac7Zl2UqLj z7LkvG3%R(J7sKG8#swFfaDEME_d zgPQ{PdE#1w)d$O4f;D4-#$afqqB&T*@0?cX$gK$0HU~qE!J4LEbyKjiwaRFR_$2DC zJmff!a^1t_O~IN&ftFzCU`0!?cI=$SV0h%*O~Lwo=d}eJ%0ILsSl=8BHwJ5)f+0w1 zUF}r{^_%|oQ69RkBwbsA)g$HGe?&$n`_gX-j-U)-S|#FEgPR0Lwx_fnpD?(MhaKmG zL|`mq<>>JUjb&d&`Ryx$HI1tGZB@-G+d}#`LX>_}vLE%J-)Wwr01m`<2Z`=e>>^Icvu(4bFf0` zQu9*Kb!a(VG>-kybpm_HTac$j+yuBEf>Ub**W^dXz%76yzxVZ{Hu%w)$B*EbRF{5w zW`7F%0QdJG+28GhRQE;Hy~X8&+p5&sUW4^Jbsz3WaJz@gxA^#Av-sdvKNqCANkY#8 z^bC@o_F!juAJ$Ey_RUe0bz#5U$z|_H5te|Ox1%VVKv_5D&)3%OdFu@HmciICzh@C_ zsUkZpK-V$s$FEU4YAtRiJ7DFFRFr=N{;O9^M^$SfPu)=cSc^SAgFT$iBCdX@wW#JC zD{tgnWrt>r?y&EiW4tuKL(p~f3yy__I|gnN+}%FoEUtCdKVBBN0*l3GwPVJ$ z54`|=vp6$Q%%w!_E`WOh9NvRciQ28e8Dt(D`JroE9$zlDdm**E)W8@S;x;~A&{vDI zNg8?5H&%{dFcR1n48>s7W(jXfHV@e(WZzQo%XX6O2^)0x6nLq3w90!ySsyt)?jyIu=CCpE|-^h zQ-kwX^8=0pP>F1}78ecRcDc9)aAV+LR+Y%lyTFZtdp|L>KkP30c?M-KpzNc%tfAaO z8DdHZ*JCK_#2M~8REF5K59@5YtUS9SSlvjgf%-5FnU^8sj?+H`w+QYss)rQ9XAWG& zl;d1WzNB{$an{33myMkXgtE20C~Qb?`C~*#KVmuo@_> zi`6LWd`O?s^?reU`w;C}J~4i>EHHkq@4A3Rbz4a?2F}251L(bJhdT36TcaqeK-sT- z*8Y47MBJKfbv{w)|rSVf35quokilko_es_Tu?L`Gbnj zD*m&t=F0+K^q(UYCuu#lSj#gIHY6!OFHO^4V`d zW(a??B}Fn6Un0e|N#CnZq3nlLrs{XV{qNRmvrV5}UZwi@PIc#{kWptB<=4f1tax_W z9L$%~@zy8Yx2Sm3uoCO%#nN@&1#Zg2^@BU=;qC%A2@cCvC9=slxX*dyj)I%;$ejRp z1f0YYs(Xs{0aPOH3@%6?hFsuY1xNbaTqV9ol0J7|R)ZV&$c4d;fxE(`uNfST*WGS6 zI2x~;OM;{EQW&5_{mX-+{sB}X?g%cZe{Q)caMV9{pXpa7)IWEhXTeeb+;V5Zje596 zaQi*nN*qS=9xep#E^zK~tOqyb;o8C3;MTatu^Sxq&s{eIj{4^w+kSA=KQ}i4j`}AY ztNkPV(E|S`7RcPB)r1-8_(^FS_6|yLKb3CdYw=+tta&USmDYY*|62Xr&}; zQ|?h1PitPz$$D338eG$HN~Kv1 ztk#HdeY!tG2}eMc@N;~XMnf8f&-0;D`dP__l65KV{eh4BVU~CJTI{;O*EN5t_2UIw z_4T08Pfh>7|69rP;cYm~^W4DL$rxeGFyH`b~dLyTd@2F6at2xEpZ&p6IF$vDk8!#K-$hH-&W-PD2!s_EtyQiw6k*udDy z7-7`X_&)fIVB)-8iT&*L~=^a9w!)m70EIHL5gV zl;Q9CEENpksmn=UK43^(an}kM6^6u(^ZtKopU6U&>b+5vMyW&0YtZuFTc{rc;O9OO5n{+ce zA27~0CLZ+TFEEVbe*A@o>AtKyg1XMpv{{w;cjmHbjWPk{I9|0!%>Ww1{t+d=lR`;{K-=Kr8I%f9z@#a9~* zU(~#8>~ycD41O{*srh~`J_#f{Om5PIy624S@9?4VPI9{uU2Fs}aFWkhnxN-`lxmp| z<@B}s?ujhf$!}b@qM*#Uz?h&*`8sT^A>kFB0P&{9_U^~l)SihVfW6XE%(!w9* zIyUq9CQYd48OZKeJPWztK9;Y(Pm^$Ol^$M3{xr*XHfg!FEdLVt5a-?ZYPv~|q@GCv=a`@6 zd6c=BXMX%0O5BiR(|;*mbMAjHK8Nk_Ud`fCrK_2r=Kjd~Y8Uw(T25@=ZeU7Fkd~a`4*P%W8Pr<$a=p=@hs$m zds#kjYI20j9%OzzsR?!e8QBxe(+_4TO=&RxPVs!^iTMSNpW^4c6z}Q?XVc5@2UyQ!hZcN|xTAx)M1yNTs9w`uw;m%dN&C8Fvg!}61C zPh6_>QRYJ&=dWh|3(M$vl;s;d`{0wy$p1{_TeV`D$5)s)Jo9xS3_^COX1mFI8f%!3 zu%G{!`&qAezHmVY%XhMVG^bL8`GuSG^(D-Ifcf!=CUB|Jh{&_Qsb`=l`I6#U$OVtF ze1_v2hZW;F=4ZG+Yq-wuMgL!Dg7!;FD-oc`4zp~BuW8!2g!u^ThdZfsmE!rr1vj(2 z;qkZK%vZDjsAs0Amsv*7hnL}xu$~OZ2leai;CihYPt+^xu%G`Q5uc&}$Z&-R2`mGHB(?EuVj7~^C3Q0 z(DxQf!_3d{I=VvB#%GzI+^UH@&m+Ch<`?JbIgB6wYu0my&yDK&EU835qw$8h|Fzui zD&{lXA6%+*CG*ps_0`P$8TOy|v;2F7XZ!DDKB0KNaKVRIev;Sq<6QOy;XUnsi}{65 zX+fEX{wMPxPaL}d2WCHeUafe1FW~j{L2lq(%#X8vm|dk^BJbg| z;4fzxHymR5h(~@>@oq_-|2E6d@cdrJB2O(NZ^W{8&K|@sq+>?h%36JioNZ-Id%%n( z(48krvaNVseRxCIU&!oDq!MN{n~e^eR?5x} z8@<`+fMv!92L^^w#dT#u(k>CTQkIP_ zj>MhlCdr$bY}!u8(&%U+mxNHWFA(=_{w?Cb;&776JBN4M)Oe||fZOcfI zHBxpu)6me?vAJoJd0pLgbvJ0aTspP~rF)~IDq~^7`#>e5Ih%%0<}Q(qTRA(M9xmaM zzQqY;ml+@};q~e-T5?L!}*+#S{owfaxL{(2AVh&=cW;|*~VI?b@O{L9b zIu^AP>6BkR8c;e#UJy&CQdZ11%*|a}&7yz9(B$3PkMz`1oevCJgVvI1)%_iaCefrp z_8G|a`LxP*rQYVOBsH2yZHUI>Su>g%_K{aJDE%w;fs7CLLqj%cOlSNoqw4l#)6sYg zb7u6$Qg*Vm39MdtC}x%P6^qv0s7Ip|luWCdkD|rQRC=##qKXAB5?vh3EHziIf6$Jn z_xjFEaYo5;%ovQ?1J2bcvR@*F7!_n5uWgv*5Mb%nS^D=raDBF4D-NQ6xgeQzRe_nXPYfUGf9Le=yTa&VCp=Ge~0`m@E^DXdX4j#kNDMODd{tQ?0r zzJMN>i`Q7GSFjhNcUqIX21%w6i%Z%d*EZN=(!KGhpVK1vZeZJ}*7Q_ZcVILUgJ~fZ z-337fbE(_m>7%g}*YkiifHC;kfJeS`g{XeI7EC{)zD@fxvjBLs5qC?BCYFUDwtt)FK6SUzK_b@$p zx4)a|-d>ooWIm%YT0)vqDodn{q#4@ERZzJjnsiMh zSwMMkZV>04l31h+mbC`bvV7Pb*+mS!9W2)%bqnUfPOOHdlqFKw!%AmJBBiTKJ%#9D zi(gZ1%P*Q1W0Sczfp{Y$aIZw_iNu_O#-gp&2CVlzuBFaesHOW;rW?5I{+Z*nl#uX|EB+wn=xEPAsmMq<0fnSg6hB$6?cOZ6uD z2D9#kT-ZTPYbcf+jB{CGJPG$%g)CWIF3Ch{j}R` z^-4Jo^#i@eLt~doRf!sE4yQ02Ka^@!DGTpS4`An!9kHTXm;S6!qnPKEk#NXI<+60^)9Piew|la&`WB&}4R-A{W4`Rp=#hU%;Y zfzs~L@tI4CCuk*4O;V|uwQ&?RV?$B;YM@RP%h`jfkTjhH-k>`?p?vJuSEVYAy4>)9 z9qj?yS&jXYOQmhAt}iuMhsBjaa2hu13RKTvA{oC1D?kbKN3jm;;=?H@(`aXPiL3x6 z#up~aux&)C0_QSG+o)4tU+R#p>r3O3GC3<|)Y;Y$F6rwcq|<69>#TnMg4iF2Ho4L| z^fyIaL-J@UI*@=es3y(mC4F6}>%obsj$#J+)BiqQ3Keuu43DW)lJ_74L(B`veL=ad zL&jZS-j@)R`*tEGlKGd8`Xa+KHmBt2S-E1 zV+oz)IWr^qmpe&6gd0J|U0>cy5mdjG6k%XB=LJ9EsW0!Z2#TDjkZZxucIwTGGVbxqdozN#%~g^--7y~G`ZE8&XRi;g{Ok=ktWE|$_xWIZ>W1JoHw2>#7YDCj zef8(htE`+D%2$2ys?^4b6HeV<_^e(%W6(o*_3ElYO}VEJ-hunn&8H7eQ|^qx66IFq z^PM(0N##3buo8FTgj4q4f;)Kg3>80k^Qn3F#r=|R@aB_M_>yZ@u97z2-@}%e$8+^< zWuEq1wyY?mjd;!sPAZ-}-6I`-$&Kx9$Mq|JC$X--*yAZxQDd$rLZl#EM^^wl$!e0x8TFS7iSsD7#L@w`Q{#}AJA z_x$mL`Oa(aXkST^!W}qN`TqQ2`96Q$YBCBgJ>b++UMPf{|BHA$a|{0ezqp3EEEHUF z*-|6@>KeoH^<;}YM%^QZ84ay4tk>)Qu5FL|cbr6T&FezZxOEh#)v%szBSXXqd~Irx zNAs8VM?*yCagY#$e=bQ8Zw-~t5b?RJ=s*y=y@)AlF{QN zrzWiax&wx_&z^F<$7A$llauPQ!_(&+JICWmmhEu(8=g!a!+OfFp0LlQ8N*5dUEO2$ ztyf9lJ0YPxBmKylLjXA)n!L!`i=7I@@dwG+VuP&y@NI{E&M-HBvJ#x?i=24h5 z|J-tF*QR)#z-;n?gR#WAEJ;+Huhp7cVm4MdfeKY0RVakfu{_3v-pUO#8S)Fs1;G?bky z@o={Njk;`~8i27<3O)r|!rEi>_X+*=9JnQ%$ei|7y0o>~(#xH_&DNA=?_hJdx8oFD z+g2WTvf8#jqi(>+4VTC3rtc%A{iS$1=kGai>*LV2ab&-d8wxss>w)~pQ`S*ypA-0O zp%+%x$Q=qAllmcn_xC{Pcc-u`Cvf9rdJXXz&e>1nb$e(onjSUvV831~nfe|R`28~B zsxDg!gIuCZUs}MiedcF89_xOaX%(w;bjyiahoUtrL;5c1qS5fs2r1S`%z8Fvy%y2F z-miE4(`JFtHhzL{YeBGQPikVcVZ(H-`)nf2j!@6vweC~!Cd^-jI%<Pco6XrZHjz ziLU+pu^mq}f6gDX{&3`Z!&*=uwVq9Qb9!#LG#(!4I7^$+O%W>ABWc^0K3cS{B$2vTu677UEd}BidtzQm8iL)Hpa+<_Sc3t#9&HmV<7QM1*injoPK1)uol-d z)BqT@Y=Lope!h)?8f<7^kv!F!yNpV}@1q@>?hKgiE21?6Zj=87n7^Ub)RxgiYXfNL zH^N7?^ml>NYAVprT4=P5l_aGyco| zJTcmzlT-`;ZGWbINPk%P4C$0UerObfHG1}F-48-Bil>h29vzdu*TyWQh1X^9>KQTp zaMqvnI!&zn$xut(bKsgW>N%V|KR+MhR>hyGGdVSVBV)z_tj5g#+v&96^cmqlxBp3% ziCSf9X;aIbs##Nb6KtDRtZD;9+4XXb2w?ofr9mQBSR*`ak*^s9jQ zho{W(c#1r0C+4H@C#*&zR(E)Qrld3x&UVa?XIcypZnwqETCg@E0-@=Nr?V|lvwasS zkW4Y&KO31#T1e5RY`g(BfpZHE%a>tzpGbsr?Yp$?3rr=qz&oY*o2L_~h5xBQkicvw@Vo@9N8D2N zPGG+Z|Jn^-JQF9IZfk-v{bxlaI(}cOERhweeE4ErLvz?-Ezw0=WB|>MyP+)p4 zoxx0ojIOsGjdizDiI?^IRZzs0eLMY7sZi(&CvcW(|DaGrl@mByg-AFqzs%Y-EMYsO zTmsfrE6nDZFR%f)<~?DWabbYZ{8D;SpsnX5WOmdK-`vcm1dnW9p0MwwP^>PiXIhFg z^8-#G>MIgC3&EI8hLb!i!Jdf4_@>Y*J+pL{EK?;QHkN5R)eyP;Y_c2HB*Xf>{j4Fq zpJb$uIZ4gv`FpaVCwt=sPT+EtWdQ@#q5wjIY{DbLIK42v}wmnbL{tcZmkPa$335hPauYA3Mv z{TV^zDt$*W(_}2uq7TnhbX=x$B@>-IUAmlETyBTsB4^z=S@Xx3AC2W!jG00gT zhS~j%)gGUW`a@gU^5fh$Q8^Fb?_tCUi1eWWL?N;a;%HOSJ8+o2h8Zaz zUHz>N#FE|QIjFL3xCw7JP~eChg(LE{(VsqwBczMh1J&_YjJG`RCEp>*7aq~lKO@b^ zJY2;98NZqE^!}G_-m>5}!~EV+W)vi6)FACzj~YjY+WI$@!#{}i?oXJ%4T>-KHk;We z46E13*`GGNgCNjWFgK0hg%1IK89ul>J{J89YnJkYwWeyM*u4&4PHp{^x ztKdN`{Uhl%`nMDQZgs^_oSU{z3K0dvx^L=5Vhp{3e zdwDl6nq7zya%2v$UzWunxKzJP2{njyh%BO;5ar89`(=n3ow?PGhxjZZHVDyi+)luG9mfu?tE+s_i{dso_1X zTQJv?)i#T2zzr3pCC*6;&Wx4lc+!g7nD+~3GfYdEmx%wfqbNVz>fs^@>rrP=_46gl z(NC0Th_uz|PkEAODcFY&NQG_(PJxxF%sbu8$v-*$U5=2qcKfGbCdc*m@8Nvr+w++p zkeUPes|8t(&#s^t0TO)`2OH$kH3DiVAgo?GE1jLR0(Ko7>YY`G(A#1E? z=xUKYuNtppGR&{aicugZ_H$nql#YfKdfLK+ZCYdRF5zTt;oh~AwC%ly*(FOspSC?) z@CxA@U9TPlRj6X${s|LGRI%NmEHOKap+V_U&i{(hTm(b7*hQCm8-rZ4FQapw& zncr2TxRWfS^K;z(SVzSmyA8IK*^=bRJF6LOCvd)MS_D3nrRJLQ;n_xJKEm)Rqw%SU zPGCAA#`mK}#$b^%fd6oE61y-c&aPc5Xfta>-Y{8KM1rvT%nfWYgq?lZ_V)wu<@pD@ z-(ztFWO*u+0El5zkCJ zFJbMrH(n;tM$K@|yB`X0L;yC_K2&&Xo^XZ#oss9kI>Q8i%O;Cus}B!9!lJAA@YoQz z{5pMO6+l0eI>oRkG+ILCMIHIuv2tW6A1f{6Su#HO80o?B5o|*J?+d>#9saDgnaB>- zvsOHk(T}B%7HhZdVbo=Fp2KC~u`ihnL)f=F8ahMtKdicN#LzByq3DQq3g2@Tjat** z&52MjGk>}hc<+Zoqe=nfr4M-pP~9F>Kx(668bP&BF%5T{0>!k_*62>Ax@J$jP{CJ_&0CfaePfaf@dL=8{Y{ZF)d5#>ZyC>9g#O3$qce?6mvC~U z!NWAnbfJwFe{yoa9ua_mbH!Gw{Fv$Mr-$#-3XT1Nnk<`F(rNYcTbC1W&$OSGQHp4*2&@-MI z^7B70J6>L!$Xt#l0A0i0gtec!84o|Fb@xhV)*GI6wK}I&Gqvq4{x&Dq7T%wl(WaY= zW?DuRqMy{}>}~VzS22c#hPf|=GPO_ZPE)*YPjhBt1cZ_tujb69oXt2N^dCjYlK3VX zrjAw)iQjB2PoNl)ShFf_wv_AXT`d&#q|S~D=S$}x5%QuriJKD>raxgWD%blrN*>7; z&*%{~Zg8ErwLfm{wNE1277R>Xx;Nk6$C}K?HA8%)5H6?C&ocd+ybciIB`0;puE|{y8yhL+zgt=Bjgeg z(hEY!EBVc-33E!qyktB=fPCoZf&qlf?jI^tw3ZKva#!2FmmxjYmK&;Q%e_`1@S?5s zw?(zaTw65U-#%H}{)cpL8JPycd)sd^tSSNf^Z%cKov^AD9qk5%N+Jg5()z0Zr>!?z zbN%RyTH}ym98@)%#R+q2vryU?70Ga0Cnl`NIl_y}MsJzuW|jUgS<0A-vV|>_B z=Q8XC-!!yyvTtgi@$E(U5%*c#zQ^d_=w3ijWOdo&iwpl9Yh2Pt&#R`VZ*29*29y=C zumM%x<2D>>{cI6sudJU}D7LB?Z4Zq0)_YveTERlvas>GeLV+uu=IJfSg+YNa9mGZ0?5l#h4WW!+guo&EDOw`5hJX(bVT3{mlr286`gd= zX!h=DWt@J zE=hQAG#I7Q0{nxFnv>Ky+_+LQAzf`A`y{A znGnw`j|}~koYa;Gm7w2!UHO-?w%OsgQxgQB>ae}`w{dH^(VSTriHDy_-Wt=km4phc zK6$3Lz0n_jySzQscsz;bU6&HAn>1 zTHl;$s*S_VW~pk9Nj16lNm5O&BM|Oi3*AfMgQ>p^mul%cRVv1iY!*#cydiT)7Mirk zD^am%K)i-a+2_3_sw+{YYTaTaq^5%tSod8am7_u`lQ`!lH1v$y{b;DT4eb8tMUA3C(+soTFmGfHe4G=jl2H1PmbOb>>1v_fa8x?oKU}TUBX`nf`j#q>oVCqU zvNW9G2@${nXf28EENKyD&bpaY3SA|=tFyyC`<26PbbNrIFYzbz$Xk;XWL9G zxNC6NCrq{6;%ufA&Q{lvHH*+aIQ?B?>PBU25F|2ccI{AUzvdejL9Xnm?-6`Tqo_E( zu>bz9QGH|AsJ^jlRNtu9SZD=}R@WbK#7he=x-qf<%lEuj)b{Uh=QZ6R@YhOI_q6$v+I1rb=cNQ&K<5ZfHNeFQ7C8}JzFQU#pif1 zxoVs|DUp9VO_?7z{RYFIV!W~sA^8ci;4l3WS^@ds4CqLOIpk+`R*1& zWP{xE)W{C%So^PqOMyEyGN^wa{5st*uQm8kU{oqCY;4r{VsALQE?ci6QmzpJDQ=Ch zTX_YAiPlpDjVHp_v}kELI{;&d9Y%=}-Xdov+NKvIvOoJrmYs_;CBkkz&E7{b*ZQ3- zM0B>wx%2r6 zoyW>k0oFyMSRIA6h4*%p?v6z&hRca8$G4eXrW3exi2N6q7?~wIVs$UJnXy*GT(ZN+ z#CA|=HfH@(bQCgo-TfHaO7^YRGiv37OB-6_LHPdHgd}AF)Vf7#6Z;cw`@S}_HH0dw zRog~uP1V}=SSzdHxzWw5XQ9`UhMONC;yfo1Ai%k-*~B651pH>xY=CkC?=qQnj)I#w zHhc!Z*>sWaJYra}Y}ES>=RQbZ0w}fyvX0eDN6eeEQ6zzlmw-ycTCyWr)W-1}xx$0V znys>vE9{FWDg_`bh%D`k)i~vQ9v)0RjpC}&3H-<1(lbhDnyDd|tZ_HjG)8IEZ|*)) zoq^tXeAd+O-Ms?#oq|5Zyfvc3axG}C?6Xd^dPCmm=Ii&M`1J3N4a7P3riYBc6T=@n z+*_2I?v9(@&{EtX8Oof%OE2d$OeTDr6L{JUvkSPYBrl5$-vz*~ATok?XdP(aEOJ1` zf&te2%?G3AilAtSIKh_Dq4#943lcfPf{l{dbGX#6bsu4_#;vRT_PrlJUia}XwRt1we z>m4XsxW044EGKoUwtbVZYzTLt&EZ%~h1$?@4mV3(-Ps#Y(zX{P*-L8FM6x&eC;7bl zBFR9Tv*|KMSCx(ui&flkAllFvOqH}bbBie{dA05HaTiRLHpn$IVKz>~Ma#D4CBb^* zIntDfMn}t%lha2hq-gUFsd%^qbBC!;z;N@O%Z@-8oy!_UMnM>;GR)6FEwXkOSc$@z z!jG^tWl!3YKl|0KgXTAXEmUJ+x+m+YZXGkfDhp-QG_yF?UbPFe*o8gwH-h_IUDxB{ z7t0BBu{r#TC3_6sd!j%j@2g`d0G+7*uzw2z z9{V@!u}rm$?~t`!*I*_+drY;Q?~qeNVsfTh)5oNj#~#x&k#{&PvF1kB&dN(MvGkYS zjq2R7jjHm>MwP*i^tl<=P9LAK(>+p^jGdzyWj#!U$`>zzXRl|gt&Yw!-;|?sS)*4O z)+-6~>d=Zr=KJ43_mDtu)tbnZM8wjkCC<{F`K~*%VYs|3O2VrX-a}aXP~1plcFJx) zfv8yD%;_0NAFg1;+Uy=15py3oFfwFNf?}xG9lA$FU;TWsUx1@O%Og314fsGB{!Gt$vs6BAAWkcED zQ7|bOlvqRjc-qx)>PaT>x$OMa&^b96hOMzPqDS!u!v{A04zYR@&U1p|JeQa2*1Q(@*$z(x zR;Evww_aFpQIDW;=&)4Nb3p4>2c8>(9<4{znTLymTF(#hSUtbuJDn{{ADUq*f4E1D z#BH02XG}Xp9lK#_ULI>~RlA*zR<%oHw{uu_J0I98F8GQptYg5BZRcdS_EAaAPd1qs zLP=0OTAOu#O<@G@ty8t093Vhp!<#;|u6R1^NuF$EGH!X%zKrL`%}iRK%(0oQwi<)+^do-5OEqaYtUt~i7G*>zZnCQvw`ks) z;mMt!^4v5*?K!`Ykv>9(@pON!;q(YIP*q@A@0x4L1Rv%K2@FE4ncWd3E&Vr|3v+rV_28cQqA+yqG8ma zc!#kWU9Tv%B|G+b*Q>($WIM6SIPyw7_sP}o6H?QyyAP_-d)$8QMaRhl$H zsGPg&+T5%j)~mFQ$e12$i|pDM+6u{(b5G_cM$KHs5hq-wG?xL$fx@%rl&g_uyDt zWWrk;W%5TeC7acugjEz{3m(;ezEP$>{^?BdxSY#idW6V|Op0<{j%j8kOb#xZg$pE* zTTkFnD9HtbxmCJ%?lg0wjK5&2=LMGNQ4Qwtme8!W>7(A8CiXW8o;@m9l;l=J$xSE9 z{0;V(vM#YiURK^eZyG-6W3Tu#mEbO~)r9J{VDb&s_;V(pEZceaor zJ>=E8k%2`+sdfL^^(1GfkCmjh>-jq+dVd+5*%LRHms^%lqHZpn#`LuJ|056okXXGK znFnP@YFM8#!q}dq)b3$nc|5b!Z(z%eBoI+dmhG=>H5dU`?bM{yPODp;W)vn13u>q9 zO_}*@C$Gk1#Y&7>=|j{WH&>I3ssM`hPyuB$sD_i%`_s}T{yD3fr#Mx@tW#%nSCzYX zj%VhIaI|)Mv|;h6?O0yW5i>F+==3*6eAGb;sw(Mr+U<7JG`E^!Ap>wOG9bH5_iX(N zR|*>^f6dIxUvtNcRe4LbQTb~)^gj{4@+XWUtZ{YD(pRWcMrE6=G~uYh$Bu@^i-Z5A zeS&U9B532{a&RaHwIa^Qy&mLpt$R8i=2;y5-*=uBX)D&EBWoeqcfH{0B+bg6jaJl& zP8#6)$Jr7U?$tA<#Od0+JxuicEY{M45RY}|K`@FyYgvcz=*o68rbYYfobdj2lPzUc zXDWlc;j1!w(SF<88^xgdOiS6<6{!?ASA+7etBIJUn1qKe(OmRL*qt!FH22a&MTldUB!RxfOHZ^5i7 ztPHr@tC`S(P`Ze{MX~70VExLkVPyuHM^N@u0 zaj0W|A5I0cNWa2$!%bvMzfzK1sE7Zc^~hcl=9aoKYTjIHHAeJszsv2W3b#9@zf>58 zVO~{k-l90gk6v+{p?=~pk7ZK1+-~T8$&^uN1e}MvvJzogqg427q(eCpgxkFNC+bKO z1*a|C3oW!Stu9Gt-vN%br#5W(@20k4KGZ2~n;X{P{f6>BbPrC{{FFfL&UbU(wBZw} zF{0hoAI&tegmVG)ar;yhV(u~!5l&)Li@h_> zpPQ|tP9XjVnOfO+CXzR8);8@DSgu)`H->G(7k8;t46MTWE6@Y#Z1 zsQ*WDAs5!YU5wH?E=X9bjpp#9&DuPBerC2(u*JRqIeOh#$L71!12KO(j5y>_GCV@6#-W%#9R&Hikn*>tsWxS9QKSo&F zwjgLK-X67{=isKP^dcv!#SZE3J)(EM=#75z`BYinPu4S{n^y*{A<0*Ek)y@z$a{}Q zI{)U4d~zsNmiNnrkjUn1&xmJAum#9=ER`D}$LoLpU%4JapU@bW(+4=q!?MfVA$aB1 z?9hne}Tp-Y2o2+xIwTxjL2y|VEePzkvqfA0AT(|Su#6Mmut zoy~*d9}bZBcNmDw-8=kTcz_#@%H-HuH@)X@s>B)@F3tVJpL+?>Z()TKxcPUqKC(6+ zT206r(Zh$^C#yE1*5NR^-KLSzYb|N?E}xNHW7k@uo39SdjBLJ6F0{-eNw=P0e}EpQ zK?NQsz_^_&g%;+ov&>L|{B@S85>VWboTxjCRahv1FxOe$cuLZ)qS99=KL2>6V@itX76(DfN-}Duoxd|JF8brV>+Mr z?(#&KCegEAcvxoFt`fdb59DW6>jI1#Lw*mnx}yZuok5 zz7bv;(bAs~Fs^x4u?Fw*dKkP&2SH+$ba0Y_Qq5c=+!zw0z)iwu2%MY3h^TRPTZ5X# z$%*L=wT{;F68jvsn+vKsCVX0=m%MY=MhA3v(D zp;EQVfl8-VOq}b95R{3(*7>?%#0WpC^`vFbMGfcVS&Fa{l%9&~!A#sjMUATp#fuu( z7}nRNYVfKm^uED0u3~lZqKeAoQuAi;l*m**^D}O8B4cx467kH>R4`nJ6Pa5|5@^Xc z{lzDIv;|Glf`LT>*y z(0*Y?SJL;1*gmAn@_Qx8z4--prYJT}7%P})6 z?tMKGzQa9dDk8N&q%t0|$u37qo{tBvUY4 zK#rk{kB8w5;>ICkD#1Jq_dcPpaVYM6D-r&Yi;Xwc=(z21oK4P`>pM03+sr$q zj`ZJV{GZ-t84g%EilcS$S>5i1n18d|BZ8^Is5M)U$*2Ln44_ctw&(Il^AH)&z2>tX zS6jcQ4$Ym={ZK0qK`Hl!fL~3lZmtxM&L^Q`E%Wch2*=gBe}fOCE@VD0d>nKyj!-r$ zT%n5;C0(yq9-r2|T6x%tFA~q&c&@}V)XY~R`u*?Cm&Ac<#UYym&F3t|gfin3l&0UPRFl0ft~@@JA)xUa*E1$n<^FXlrw zpEEA;cs|YN0H2rmtX}N#{CEkLh`7JQ6>I)S`Ka@(@#o_ljstfD-4z!KMmS(W;5Wi^ z;bbvrQ&dgr`3!B-C*0X*z(8K!D->}ObapiE{X^9Jbx2TUm?tH|54lr$0+|iVQfn(R z-o|4>Ltgj(58+KigoS6y&M=Xgjfvb#oYSNXCty)G^+M6}Ms4D<>OdlVG_%OhJr}g| zh?g60p$c*hU=_!87pNtD9Wj;+-$Lqu_IQEB2{bDIG){E5x2^nsvs<0`I)RT6j#`6y z*SoF}mz*)j!hh4!V#b^Z-|6;c4uNR?lsFcCR!g5tgwFoFW}h5nZ#s=2XRw&G&8u}) z4`SF>18kSg+={p|Y9*(+R&rCq{n~Ah2*UCvZqK3Gj-tS-MlmYtZ4O1`A`X|8l|b@% z8^XaSMcpm;dxP4PM97e&R(tgygreL9Rm`jlP@-$+H0*ZY#Ti&=e3dbNOn>U- zXiq&zUSLEg)F%+&QDe)X&XPyeC6bI8kAqo#VuxbG~80cTQ1>iqgwZuNF6`$%Wwbk`UGpR(tgggroBr=mr?&l; zVk2`d1}T3liF;Q=p`vMk^kXym8W9QXQ^F}9iy~7j$U<2D|)TRGfJ;D1frZV ztXIS;)aepy!|e(Y*n<*fSXZLljbYh&Fd5diFPWKtKVm$+p5oH$bgVk7)`{RfRp$o4 zZ9fuh=1G?WQkQO_3|Zq`;R;*KC+!2+$`puGbRY_(_fe+eaGZxK@_g!$-s4f!sZU_F zQ`Ff>!T*LjpFLw7b#lR7+MfAjfjXCsQD?;msZ&<7JasPPI3|Dpu3!Qpq&cQ<5jA-J z=@C7>KF=@@CX{wFS%$3zFJu5~Tpf&HCbRcZMikqpd868w6d9B<;pZfU)$*hDtWc3? z6uzY*Wew7L7N|(n3Oy<^t0F%kk&V+EFx2UhV->Z5(H{WG`|Krzjc`Xx2lh1`Ev{-q zrz~a>Rib#<+<1oQ6*e~p)z1Drl6K0DUhVC%ye$jw<^iszC&FsK+)?V@1Xf$`VgX@y zdj+SDZ1YE8v`w#v)fS#?%2le9=iq3p`AT#0r1CH8kJSPeZ#%K79ZoLKi|5moydcMk zq7fHiAn&#DLPf56+%VIfl;u1S9a>uG2j?Cfy`Lu`V7Q}tH1;pkum$>rD9xTiQH2ss zyDJ;bM7;KswjzU5RTA-eWlSbA!TuFV=+Y18ZOcaO$ke%88f{ztr4|`~Y(uUq41L{m ziOerVg&4O=QENvt3yQcFlMEHkx1jj8h8BOSG+G~-mE_QeW9!|iA^B?NeI`MO*ydrW z)R;eyJ;>J8nAy&zcC;9le~e}>^@0GtOfEu;BG83Oik6FAo^0(tBpqg%bxrUvIOw>D z$<^7Gd!@oPgoqh%qIjkv0^5p4O52dgPH9WqMQx^Dn&Mb>yHP?0?Lkh?P0Zok<6muC zM|JuoY>#kJ`@)Hbg*G27zNp8Cyiuc#W5Dx?b&sT(~bf zaSbihJt8~%^}L)BmEDV2iI|+Yaz>$N7FHln#jRWFkbRvV* zI1;a++Vs(KZR5+Tl6MX3dS=MF@_2ulaO8M;-Wm?V7oNzwAvsx-26mSg!4CqP=P~pb zV^(!Bune#B$ZjuGPB(=)zpeqEfJ3IYQE8XQ%AXmHn_(pH06hbnI(;HfN zb3pJifyU+9+PoF<%w?_WsGVsnk4YFNuLW|5Hov^Tv4!r?^`*=fj2Ah}!}eATut^rf z)!g+ATzYpchxC5IPLDiLft6%`{&bxwTOF@CEcXC{M%OX7gsS^)(p?2!ms!q;7B#MK00Ri(y7h<5qPX(s7P5TK$8VBffPA zJpnh>d1LZ02C=YGZmVnE9e9*=OCqzfwz(k`N}ga~(@%l3*zyUP$We2?cCAP5Nm`3< zXQRXwe!b?hu{-?X#RKgfV?$fg-j;qyFzQQPq7;f^T~;r5e7=p;D~d!Abq`+m_9SYo zL69kz7iud=_KEv?55lav!4tN4R*s!FvF! z+O%EIPmY_n-2;+3rb~Pa_j!5wMP-q9gTA;!D4d(^pa68H)8P9yhwR)IhWW?~n`*vHy z{ZeU1xs{%dEAOu{QF(D>F19pF;5S7&cOJ|#89!bc2$9EZ+}xZ|U^QFK!d~pxfEc6Z zU?Q_2Xsop3VQic42Ku(PQF|`Vj3G;C66Oa%VqL8c_nTm3*(9$fR1xiRx|w-SXK_b_ zj3h|G*QsK23wEe|5*TG&MuWC517JqP&#fJ=9cl#=eYqB6-Gd^KAg9 z7u|4^QFLvm?%dW%P?%=5qWzr}1Pi>&WszO#&A7OC-sl?}!prpEl92_5SLEhksG_HD zS%u6|j91o^1aD^5J!YqwyYlua$}hRu--$EcJXT3f!~2zdq^v+%V6i`v{<$oc!y1tX zr%UOc1NkQ}G;^7&@Cr=V0t(B`u=cp$^ZzKzH zj9;#X0G%Pw{SCGzOQXna$K7epuh;U_1{!byYU&tJk-F#Hw`P}xLfDgw86XCnLS{j+ z7MO;KDLn8D+T$HBi9U0(N~lpwV%bf&&T^@mObv0axvShW*4hwSnm#oc|GMr5%B z%QXN-M*(E5T0aJ*g0BGDIyMA(d_@HH#{>XuaA`Tjr(OZ8z++$hkU-^iK~S)%#~Ngo zyKwvq8LWd&U@C6<9VazuPTfb)B9vHtO66Su?EbRjFjsd#o_oEk7x~@ch}}2|b5omR z!orHGp3yk+9%>f_-p4hr~7zg?c1CA`L<7DIRmcROXZ4(dC~{BknEl~C;AsWWN~@Dvsg zSZQ}>c}X_?$e2kp^;KizN`1F#2K1F6d)*#2J~=VRPmh0Gmrinjvg_5Y0v)oX15uB4`zx{wO9^$PAHYSS)TmB#YA$v-%+Hy?8H$vU?L)j@1hEJg1T% ziehZZ52*g2zeJc8ia*T>ti=0KHBuGnqbC$jo-dGR8IDlK10+PU;yJ?*X?}LBlG*V& zH9M}Lyvz<(ze@$p0=W=ipHHD#x|TN`QA6sU4_!v5RYuGAX4@zYA{HHvTi6jOW7-kd z7+fYsjnL&NF}6yEW%9L#cZNBDgDiz0FBd{wA*Q$ygLi+A929T8^t?4{JsLZet0YhB z>F1|IvQdSd9%ShRXwjm(6{e(0HbOd83Ua1!PKQ?^M_vscE}@Ui=sbgZL6~=*F#mKLUJI}E9&lce0)~2@OeolJ0&{8e zLkLWfpZiYP@REE$h;-P<2jp?G;cz}sB!Tntfl>*akq`JJFl`r$BgSNN-x;2;YnJQf z#Wav1Gf1j+0__0(A#fn0e*cRe&mKO1J}2=xlaCCzphE6b%Uikn zk>_)-lwQ*-uLB7MLywq~=+|I`B9hM@CkHN~GGLKBogUr>-o{TasSlp_1o0m}tAxM7 zdb?f~d6zkL*VUtQYK4k<7E|CB5fS(^cC35&d#8NtPa!$rh)7KQ$RQr5h7%e!y~cjq z@XGsQ69B9Bnyf$>t;y=HkGR>E_r9WJrC4DL&xnW^d0#OS7YfN%n#i}Lq)R$g>&O)( z)iW9Dh>^KVLE;27y2G1r`PaZN?581#;4%q(3}SxL{ymit;Z08}Dio7wd0^g+RyJF= zhg2V#eWE*+)$<$D=dMQt8Sc9a>b~|05VK+B=)B_{&xX?$Bjsv6cha!zH`W*sL%p(N zGUwEj#QS^?GHSkB{IqxmS23oj=rGZoWxT=lb5@Kuw5xodL4q2lcdSx^m0x0KCbco9 zH-+Z4F+LYNfzv3(L<)(_{02+hX_Vp0RnV9O%dOllG9_}wnm4p5zF!h(IBf^t$*EEg ze7*mdK;o?Z@s)k^t!b>~FlM=h)L4EvTIAJ|leBHP=|dw4??9rCX7*e$bTaKI-aPg- zPW}v6F8VAuN=-F#Ie*)coa4NaDt@ES$nEhDeH}t|=QwL#vLXFSQLAKppx#a zrtXp1H^RrZ9ORYINMw6add_#*V?)KrOP+pTh5$j2{Ro-5v&n__Qxgfj$HHWvO%$ih zR|(cLl^5dJF9c;SrDoZmb+ZRaKhaGulk}@d@AuVHsc?_T`OcPo_R~mNk!~mTX?wa7 zR}UKLdJjgE)_{E$NiS@0sVTWw^^G0QiF@;%vG^Vgswps#j$A5TvEjw06C%ju@VOfWs?Hq;r# zsSE86dS*|S{`w(wmfOi!gu)Ksn4bVT4blljqvsZ7l;J{#8%!n zLW9v7Oqh`>vxV_7%CQ5J``K{w5wX#I9WxxQA&>-yTSY4=wzIs^%U*R|47Rfjc}TX4 z6JZUtGCISUJ>BsO5glc|$_^F$pnl!$Zd>ocC}k{34jD$1J_=KFlXx&Q^$99HpER)$ ze!`w2e2<;+-8p+VvI`CW6*)!rOp^jZxPKmmr~(z@p)Reo^*-8Z8V;UzVt#T%n%8N475{K$(GuQN$fKKmhv zLoVNA5CDOU5-azeAvc1G^@acw}A$<&_PO z#IY!q(^|cHh6Fk3r)s4rQ$GapIC5^~M&xIE4?`fFwB9g%*T`;wg{j_1XPJJ!V13gub-5D-*<_TX8V0#$0uXi@B4n<=UO>jo0Zx1O)1%5B3E8LWARqy zF%EVCvm{uEWQ$w*$3i3p>yd>mAtaQ6sE{lUT zp!)eOnzz3s1&FK$`Y!1g{jARSbBf!~FN$OOoAN5dIGZ~9?Cr5NM9YQ zCk;Vg?qOi_&SJ=d2YE>33JFw;1VOb<;O+aRx@Bl1AT_nPM;2cu1m?E3PbEJnt)Ww5 zcSn;e)FTW#C584H#@bsY?X4JVZ@09!=J@uuP>i!}r}(B{s1~nM0uQ;1Od3yDK*dmK$Nb!zB!sZ_aq%y6{h8*V8-DR8 zq{V_1^Q-l|4u4(DZ`9=swOfza%2I#+pVuq*PBx$HYJ6o+E;x<1pEG&WDllT*kec+3Qy})B}qTX_X|e>7em_Fz;fU;RlCprDW38D{Lh(gcxV~W zx;#+Z=G(_K?b-8?Oi3-;x7qg)VS6oth`ooMO&$Z&Y=goCCV;OZ!NDtA`UD_Fvu<6T zb2=&N;nkuq$S+NN(f&Pyz(`gj(S?9g_<{XnuusUIf#Q-zb~f#te3ZME;GA|Rv( zoHw;weGO!Q-sa*+P+WowaCZ9wd>1K<1Hw*F;j!Q5OYM&k5pp}4FJ~Lw;A`H5t=W2G zWo0KG1duu6c=vWS$nSQgmhYGZ6XjW|s??>4nqF=SP2+tkekoxPZ>c<6z_Uhs;YFc% zcz?3WnqMK0txx0`OK%QyU0!5O_g3>H)d4ouic+SfzZ~-1EHpC_x-7*lR%BY$=i+F~ zGxl#mZQTLzGO7EyRGG0UFjv^QLS+Gu7ZT&y@=UU%`#`F~E@e=WDJ%rLLWhOMGQL?I z%&YX-y5v^8v3!Y<`HxTpy&wCvEJ)$mfRn%q`|cm9p(wHTJw8ip%aGxi8lwGZ9?^FU zGEnvjlfXPd-g*BaKI^+S*|-CFkVMu;#aW+}6hObI!09rFRI17}#_gEw8Cw#Bze=6r z3Cd#oHC1)bfF!~ZTMScO!4yDLq`u=D(yCf7do~N4@|$Lc<(5F8S%H|-5`cVh#n6ks zZJ|!2Az6W_PZrcnY(%>YjIjNeMn5i%(pm(5i5K##0QKb=!)rgRWEqsAAd79C;EZ2{ zQu2ioEsV@*XU$@GGIOTm46~i_O8+rQIQKq*v#;C;|D}D%l`~|1y5mqNd!$;G9l;r2 zc7)ORu(G`nu(UnKHvDzjx;@$tc#Aex_gvK4r+1Cqko^30de`espT8j$wGLP#b$fVZ zt0*>UK>LB-^~NB`r@m~-~XryXrhwv_E(^_&&l zyhxrgXN@?g_#Qa+Pvpwrx{$%Uu z5X~6xghy_gDX`Ld)Dp?9q|mmu>#q|!CdMY^DEsde>Gxd$AToGSv$7Shw(I3-TKcPQ zL?aOomEt!~yU0yDwc|!|Oz-HR`l3PJE(jWv21QjD6bU4FX5T0KQcEr0WOAnm%KLrq zV)i36Zu;KAryuSMChOA!!G7P11Q}rxUciSi# z^R%5fGP2d8%9R63E~6^Bpf20syBATPC8Lk0zhE~Qam3jK>bV!ndB-a{X%NK(T&3?XC@0Cz_n>IYqru||6S%axF;^{25Cad@6bC&0`yBXLI z{zd!sfjA)7PZh-^`(T#d{NLFAGM+x_Zx3tR4(ur6Py6{`8vxK|Hh&-FO>H$#spohw z(5A8EK%1fcA!lg6&Zf9Dd(_|Y7df9fd91!IMTV0*zc(obic+t048ZJ;mXGkQJEH)M z6M00ACM>iW2d1Y>5 zn_1qs)tX4zx!6B#n_p^5xkw4=rBbd?@3<U>oV&6?ZmXRr9#55LUFBil z`Dhz37rz=#_vm}8iy!&^Evv69J|r2yylc0H?jxRlenvb!6pYvGiP!9J_U1-2{2LP{ zU!At;Q~A*v8!zgd$mfzEUzbPt`rL{~-@SDLpG85wJ`>^Vvnz<-(n&?Q|8kG(ek<#` zKR6`rySJL1uKU${T=$z<*Zuw>Tr4dFT%)U3oOqY*I&L4*>sia1GX@=a{!p{^OdKoI zChI%jiYPLAR(Jj?oxXjdhiv$6y?sL7N1Pm9x^a0QagouuypOmQqj7oP>cqrODVUfb z4xxM8kT`_0Zb&)T6&-r?y<0tx9$nYhwiOI~5MM8Yua^a1FAKh2{-5CM=VZId0e7UZ8gbbZfjCR{s_;x8qpC94tk`~FfLb9zPAs&%@Es}4Arb|P-1uyqGC$wXHp}J>#bUK&TY2@8>dnDwJGf7hR9kng$h$6 zP$HvMp6)iHB(gSb)gq*HU|FLoD;D^ODzEf6H`AcX& z-zy8HcH0~Dsx7YFkZaRcWb;(F&OdamM32>f*!K%|@WrXG0}6U>S$YMdiJE+8%93*u z;mWHp5Y#rUP&4TaB-EzJILoy8($---w9R zyB>gi(R@QY)X#d|ww3p&UN;vVYcm(UyLpk*C*iluMgK%DUUWnvaNjf+y(3=NUd~+f zhPmi%^1nx#Up{TTT)er3C0yR4&W9!5ARhPl_bNu;g;RQ(p=LFf>dEg{>?l%Tv-O4Y zX6r)rL}|@ihhw|~W34l^oBvRLmKUdM{Q!(A$BQItH1WZqUsrxf=-!c{6~uqV6z=3A0oH+xogTz`mnInr~6 z?j<|FSCpwdgwMX>PPG-AtgJl^`H{grL|ch>{JPSo#J!JEk$ou}(>PDX^IIC$rSJH8 zDKsiZF5chCwubvUO=#W_S+TGACY4@BZfEz<1@L54#E;To+`2UwwI;=D{;6~ICjC>Q zVqD~Wnm4-)?*S|Nl-otwV-b)pcHA1Zt}Nj!B$$lyE`*p(&BoB!@b0mq`*=$4X!~h+ z*zg?fm_`wQLv)`%H4$G0z6$1?(;MSe-^X~ID8^grpOQS(Q9*%JD25W?+~LzQ^NM~^ zq?=7fRLarMX73}|^#CZPoZakmPSC_R-)-pv1__7s4`L zba+1d4Yptktz&w4tMc>n*u3!rW_2=XlkHxH#Hwr|l7qjx1NPg5NlBuf@jc5Ea6E)4 zwz&K3e|IZ$^-$8DeFBXO5`C%-`yMh#-|~E;@Q!tQ&Kof{!znpY*-8l~aP8Nm$v+Wm z9ku65d+EJS-C^nN7u@=|!+fPx`4BnmFOp6h7w_t%Y-WC!y#$?vRrx*AToZXYvl_G; z-E620`uZE!BY|^p!t=Ew!jkd>gUr;Pzv5}emc4rrkClS|edmauoI*8|sm<*~ZG99=CP_?VsA& z*ly}}n@&Gk5)Z#Rv`US8AF00`pGsBkt5pruqORd`2z7zfND32sAin8#)!E^R&6|Fu ze4>cp!2~fMZxxlq3I=T4Q_rsckh2k1XnEw6M_DtzH{~=W6L<^9mh&&Eoi}y%Nl`i6 zS}6pV_us+V#9VRfQPupOVkm=|WXJ@TORY>Gsda%=_cN;F)&OG$ zWaUoaHtHHiTeq7fdz_N)gZx0}efLb|N2Fp}@STW9^cb1IG--ml>9H>nQ01Dj)IBL` z?dHB&zWSG8As?8r!gUINh#> zBvBfVNvy0zZjJww`lh<|g^w?(c=Blb?`!2Ra-n;y6_FQ@&z}%@#n{V0m=K_UDkV6q zhyeM1<#!>^gZ-7!3enecoB(=phpxa&M~3cnUB$QWXLbo@C+<8^I{YfZ!@esc$j-@g z@>=Xp&`gdpb%6f(ELUFI6+jz|p<}WA@6_fhxBD0{>VH3Pp`D;S$o#fZgNo`Io+vJ} zc%$SsFTVh8Xie|RT?QT}D5!YjLNub{<=vC;k-Whu(Sa=9{rqBm>P^&yU{&irfvgF!YmorTUs&i-U#c>JzKm-# z{~Y>HDUBLERgT_r=w(8NbuEHIM|paENx9a8nE}Yi)f$Nb?4mBu@F#Z327dTsyL!Z_-nB)XGj?^0bIPtRaZcEEn>ZD_(&G4b zZNxDb`_+*)R%cFN6HS{N{KMGnlt@oiWIK^OFH=5r0`sjf9B@=-Tj7+Afl;(0MxV;= zI2cE*gqgua`#MHotC)&GpPsG!K-|xX7{^*hd2r{P`h}ob>-ioTl{CA_cM>s3Y*sl} zq-S%u+r-hMHIRP((}orBN*YflpJ3GW8cz+VMMh39`amOlhv_Y>s}&rqr78){BxIk# z0t_f#Ok{Y4E)$p_9m`a{Kmof*7-1$*>P8)rsDJRLh!`$O_Q|__-{NXNvSXuvH;%B| zKKsRqR0vJhWxI|ES#s^lrEg(VRq!i+{$RSrdWP*mYQDgCDx)RycFs=s$gMn8XRI_X zGQ0!%L$=V^A=}Am^}AY=*ZR{tQBaB{ETYf%@o;8SwL4bLz{CzEGR?mu9K>&PrSTAc zSY~X5C$kSKZpe|+pc(s}89QjpHSP4xL67{dO8ytIczMtKlVwH6m`aJQ zD@e1p{+jRHE9LU=Glr>w+kwFvu%5!+8ZR|)9EQX1R1yRy`EgYi1!8Sj&s5I@4*yVA zStszXWC8~>gcV{TtKyx&Dyfv{a;fJX!IMfxB4$ZylthJhXsy!6=Ay6eK;0f}NQ;Ix z(JR`72ITjFheUF;e9tDxlD8LPVyEN zySq0Gmc$2vVc0c)%7!*pc#etX!D2{{my?)EOD7XS^ZzA7Lj=aDH@ z4h(bT$67$hM^%4SZ?}|b4-eQ^er&9(PXBmpNavmYq0fmh=hlwFgVe6xeXIbJo)w zh8H}FyLNiqyGLQh{vyY^7_L|cZNIXUbFT!r)RgC4a%WD+LRpg3az74BGG3PFOv@t= z4D+htiME$&GRsditL&R0ck7*@3rMwp%x;r|&yDjrJlj!13=$Q`{`1Zh-vuk-8wO`{ z;?QYdr2bPW-a31eS!(bWe1zE>QK|{qL6|oibP5uR!H*Kw%@KFa=9zdyuJyhNVdv%U zDtj&K{zDZIL){(#sz)#%`Xbo5I8$;I095t7SW~FoeiL@4r{60|ooK}(j5z0Y%pucv zKi_qGhOdEJV1#uuT%C7Sg7j{LnaJL`x!(Sx(huyDRC^G=_1-WXnC!@Qr~?~5$@-az zue~iTtdM9=C~>{QUzC8T>j(!;^$QyBfD#ek`1_6)G((3geFU% zYQvs43p}53o*-21I(+FTo#BrNsIx%;JR_xICS&h#Dy4A#8JBL^XSnU!Cy%z77bV^= z>*QGiwob3t9k!m}6%c*PiNm4Jx94zhSEMX^5HcY*eu7J{pY2H+>)V|8$l zzVDK4qwPVwa)C@Eo6nvC|=cSI|xoA%Ef`UTJeten~IVzm*Z1wsG zFANRXKSCz^zj%8S@TiKc@jF|G5E42d!2lu+1dT*A8o*#c)6kLI(2=+>21La{5Jw%6 zbOS12Vkb&-ZN+_GMje;YQQTNu6Sjn%fGCJU0GAtDAfSW6h=KbDpdA>YP zr|zv=d!0IUwmOx)nx1Lyz~vnMOEAX9Lz2WE3B4=*cBzRsoWy}O^xx_0Af9DZ;dkJN zh1*el4`!LNkZxM8jK4Wyptee52h9a%io7AWHN(Ijw_Q*KJWsW;N5loe`=OY?bYKOk zSsXA)H7zumqIq%qnw$Kx#+2ENw`9?qbaBhKd(Cfngm3dLn0yr<3|ZW4#s%_REzi0c zFXz{J9!9*BSm)urZVRhJ+Agxq)6g7^7~CkDgXM~J0;1#6&JmD{wEDlyze5R#)D1td z-HNu`NFg5Gwss)P8zz&9%Fb0J$n^=@mW}T0ZQ2&tcCJtNH=eLRB-9JZxc`bY9-X#_ zG=E5$JwOb^%30}yZgIz+4bj3r`j9I8?-Z`-@nlpbr+83wVl`8cT}@i|mer&!$lVC; z&RywUsARSfn9O+fAP#x0Cu}56MYtBO6$0C% z{~#9*GHp5Tpt!ajVH5;Mrztw3AUMKs2d{BJ-4wcmqs1vhkug(nl4TzWnHI+qK~Ias zd`PqpKF#(-wyei!EkF|jPAX?l4%$)?DX>ZhL&PnN7P?-+Nl?kPj89BhxEpbn@ixy9 zL5rl6bjEV#--?XTk3BP`9>6nGf#+Jo4`z_}kJYMJYlN-$ua8=JO&M7B>bjfpf)$}x z^khGfMjz_!mC-`p_X7B)3GfAbUW5YzZa48J8EfG&L7+v%M+7q_oF~r#%^UB@XFd5I zLHYiEw-H1c&zf=h3Xc2TpyJBRxFKfTc?40$G>P-~OP7~Ozafx*ewpZC^3IpQ^7}6q zo=3*vg=Ave%3X~rb|x#Mq$ykN?TS$S2avF=%&mi4z6MhtHA|gGscLbZk!|7xDSKqc zmXz}TG36pUO%pVQq+kM!MF_iA1e^=ZImq52xFku@O>j-V9`m{xo9*mT!k@B3$<+Y} znboF?o)L}Ci1~2|&Uw-9a3wf0Uc+)941;CZc5*%|Is1?^w8C8H${t^B4y&AUSuVnc zyOHT`_S)tT#KaGQgW09Tzu$C;{+tS9E%mVQ}ZD1dFja0JoPjtMd7#{ z>6l%^k+P9EL_Kq+;q zjuYkOz;E=Waf!Yg*dW~DYVXzb^h(YA=-cc5yu|u*e-=Jz{srR_`^hZ_!y5TFvqJDu zE(I)xcT8~mjf5HY0&$)Mh10jvUB2AAQ7lY)RIoLvbyRmh^Tv9T8A#)keQ~sSIXGiV zZj7%ZWnenGEQWHTeLwRF^Nq|(1pj!gRCgAmt`zzsdB#YDk*Nu#iWxuC=s=ku8}895 zVGgT}5x`v_)|^V}imX8-1WmOwhf$a>5S!iLE+noS-YvF!7hHq&_#t3KJt(Q{3V*z{4LWz)Azvg+jt()K{P zS+endGSTPEsy^sXTb}zZNQ|ygT(G!9@vYd*EN0K5&xEBiH z%p?ud^pYj44tc&vDpFGNY`PyjD~_bjVHE`lLQEAewW1Yf+Vv z!IPc(8Zs+(J@=M1YS?GPSHJeDWib^*6GBoCX!4kYB-603}6h#9C zbct*n)?Nh8vczEb%uxW?PMN)~kBGs}nM6}W29n+(MExg? z(S%Ur8B>zbbMg7eBi726o!#^I%K^eIYjwM^-efV_(n##9f{tb6@MSSNg}pQZ5Mz_Q zCXFzU{WQUN)NH>0 zQM79waKyo8Z*N@9dp-W9c<-71rUdVBe^UqVFn<#&|DZF({x);2zb?jJwvbl&>*DNX zFxfodq8#Bg58SWmmj~P*`?AAI^JAO?V)K~3iPMB0)?Z9l=+rLe67nx@P(29s!IJcO zq;{chJOt!{#W`$&JmBhJ*j+qm{x{M~$R3psm)pUVXC9@A5P+9Rl+Yk{Ttbcd>Nbp@_ye&If zp7Ke>7l$E-9INtD)Yy^WVro3W_^JDMV)Fs3vL?9sh zjEL}N=~A`o5_TJAcie&e1S#S}V;9iKTALNnQbMmwjS0akV~u3$Gi!dA8we0^{Wm&W z9ELE=?5@mqsQ^KJI0|ZeoyCZ>p|wv#rx%*}?Xu;xH{OKu5dq;Nr{w;n0XOPEeRiJ*?kdZJ(?wl;7T z36p`d@uj zkdSc>kc4<(6YUaFA+;8y8IPINe4()8iZ|@8=mK~`0~&zx;Qt_?&7C>Y-#q$Y&}V*9 zRH{g<+xAqxM0!{o$p1-EHOn9tAtvTZc{-VO_cY_~mX{*qmX?=^#&s<(Q;ktAFPbr| z<)zTbYI&Ju^lg3#lt`D)XnC(-42)Rb83Knj1Y&!iW_&B6mtX;6)%-@rc z{j8c{Q~FJVjgoRs^b=T=yuK8g@)y#v55Ic^O#T^;e~f&U(bri|-a<-J3{;hE4B=jX zqp=p56v=0kT+@$=)VC+C(~j;Eg0}A}4(pf{cQd(dME~5(tI>aolrHozo^~{k3#=PbyuV-ZJ(-_L7F5ZtPztm1=y9+4$CD z{{kpZPcD@dEo1*ZMbY>RrSWR)R}(?UX#91gWbBuy%B-;;0|`y?C~3So_W$roTLkK!6W))IjI`t`g z4On_@QY9HnSaH*ZT@NNzL&a^enC{Qs>4ZU?TT9BzJgJsPY>8^(Evc zdNacn99i%;4w!y8=-lsb>@+ie2^>+>^3qBd#NiSll>AK{xdf(yo1Y3#7C$+ z9}-L@6TuMN+J}zDL1Lr_a*V&rhhWb!#0ma@Dl2lZ24_+%yj&}^W6BmTZ&gmO=5mBI zR`y+ncSK124SQ7Oj$`fzyOO&MC?CYZLHP#N9isOw03bGrG) zYD31S`L1Y5TWO|MrW(c{ylC8}PA~BO(qr?{&Hg<}_9rXxMg3$2_seR5F=?Vz(!a0! zO1iI)#C9_+^s>{xIt-f5;Ao?uYX`TS2d_#rhB4WmNr>Tn_^tbM8cV*~=md^8#3i$y z7Mg=^t~5{Xp&27`Zc=R@lVV(Cwr6xOX|OT*bj@+wT^riA$6kJiupKl;wZo&@VR2ik z9iOJs)=AZ(2=_|LFeiY=I230GBm+2kf+q^aZ-A(6vXtvc^PGM{8@-$2Q?hsDi<{-s zjJuEfx=tN;0FU#A-F(-cI`EpA*xZZm4(1F*u&$0Gz^$u zf9ez{HJLR9s#z8+WMyxL3C>VW5>}(UOY>aZ)^;w6%(-A1l;mH$#3_zU)&TutCPW_{ z;TR)|u8C+`WRY(6bv63YD^t7m3Xr2OuX~lj=Wvx4xD6ge z{X9bcuTtt6ZY)MUQ;Dc6!GozaiW;1W?&1=t`tozL@=fP;rj$SoIRJT)7ZT3=L!?I{sVQpGj}m8^etrd zZI@6LUBpq}coLyaEeOs)lW^Skn#rD)HvhZ0d_PO(}b3Tgo1)`3*>f z9E`w1^I7Xw_TaE<>uE|;b_3cAj0ZjXZd6ryIRnr09aS6*CVN`!J~`E%Ys_#2hj)<0 zKT#0DRDrr_YVkLl8y5s;MSEgTNK-?~(rKG0eYBBaYXAtT73$;4IEl%*0M-gS{M)HMdw@;>&dE-vzZeV;)r?QwX#( zE#OQwSbVg$o(fg@!6bt)g#;g{Oj2bxPxSo>Ax;9*tcco; z1b^Khp$#3amm^ZmO|qqy{+7im(RADR?rhXbs_B5-E6{6Yr}{iPfp$1Zzya$%^JC7x zaOi-UiJJYZ3QnFbpPnMR z7T#H6T$mju<$#$gU(r~$QmA&6!h3nP~qvj z4;)YpiFuVFLxx<-`E}h14y+EDmE=py%fX|JY_5n={I3erdLm!13SDZP0XAc-dz>bL zxllu0PxHxzoH01|Rq4RlaN;bqg&>$sT<45$N9D0cv*+X5VztPYC;UwYbDQF8&TQRx z(TD4ebx5HZTQAqFW)4gjn1EKHoN3aD?&_TKDdhPpWs486b?pO=)7aeoM)rVf|seGpwRtOqoPXYR7VLD zRIt$a7x5wu4hras!>K`wWXzBh3T&6I5D;&Tt*~vpjs<)g{3N2yQ%JRLLVm^08_!&i zhe8_D1|IVDJXJI(imf4E|)@5Mg;2%_&CR7-!aYmw001K!iq(_LU)9mC@tZd|8fKL=r z<$b3WLDhB>Xa80jCMkxF&PM;CfhML2pO4c<8CudFyl|D7fm<2~G z3pm5M#9Y{UNxsw)jsit_M@qcI0{zesV_1r+uzL<@z+4xRj}fpp^C^T7`J@=WYau0R z%QT|_#6+PJfgtIXK+x|Wi&*Bxbm=x)j5IfXYtdpf+l{oAFLFL@8)Eu;QBI0&X|sG1 zRtOT~hD3|ds=e{GBBB^$_8u$S14@L7&cF50i)h$xd?-9gYhF|F ziYPCHMFa|s6z;0>_p{M)gzYDNovUmO8K(1taO%Qaz&@$|<0pJws%*QOqaPz0ONcZ5 z$N%&}0s^D>PqM!1MM=%TM)CfCsNF{~;CapdgAz{hJ);H30VRjNlz9VX;=Gfct#6gA z8Z9_CNef&Nw-n)WloohU@Eg}`O!@s?)DbDN6f;lGkL#r@7?>J86k+WM?W+B*8Q#+}^Ic z<4T)kJ=)9A3#k>4(sIEhS%CI3M2=i2pjOmZQvJN>a0RtYnBZ z^^rsTcto!bC38h#N4;{DD`}b|%uP|%GY*Kxczz5=zrNQ;a9Ir*z#3WT@YMZ*rWsSP zTnrb4(h=mgC4+U^j*7;r^cBp!9sb5{GZRZZ-O^Hm!yTc{&gOTh-&*li zGq0?h6a;a^xPCibwmda8AgtjZmeq!AnDlto0aQpuu)F2rJrG0@ML<`Oq{4NcHn`cy1KYe{h5i>c|ki1dJ;>8{=Or zJDO!Lb3-0cGAk4$k^FTkUb+SoW%5zxI<*u5EN6ToehLaGR|X>(ru&yJplymKdQK)G zbc^YEsR#~*ed!ewO^U!Z_iXNlh1u(4b~{!OZddyHRVVt2hK>|+6!4mz(wcZJ@Q|4m zdK$E<@Q7LR)x!Hw4)dTSGp#X;v2wjsi!8Qe*gMExqkJ9&x)bcw5J)a3g8HtM`tV1I zxJwJzW=Uiq`DOxR9wa2R;AEaXdc{Z4OWC2r#>MwuFSp8C!6eE?b!D2hsdvO3DUw}BOki%L zTzmPGq!OfiPR@k%bG+y0jEnZ3YhUC9y>`moG_yy>`E~ky)0*Zw08*GM~v(sTq-^@JwI3& z?JPYeyJzv4&iUNa8*G(XiX^w%nVs~V9Cy6_u|@S) z!#OyUZYkO>*;$bGMO*T?52Kr}JJJqX$p#1VurH3gs_!asvQ~T9v=n`4Ug+dI7 z9Mz=#sX`s6Q${XzGfdpW8st$|ju?{iS`nUOVvX^C%s1ClBHVpz|XF7tV-{b

E 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%0Ab zvGy2zV`rC_nES;vFMMA54`Mp3B=N48@%oV3xIm%9>M-342bf$LCR}6+duX99livsL zIe_%24QH8G%m@3^hpC2{;2cSmpzVq~jdtfCw^Ek!k#>8+L1WLhvKx#K;OvY$(b1`QOx68^$}?3!xu_WTScAi z4>xhXS)N!aFuz%ITXAi!LVjH0Pb_V#uvqM&35Np>n*X82#9I}XM6(Y@PgpUTj;wMe5hls^fnWd`%Tg&GN5Lz z7+;a_XoMz$E5Huu>9K)OPiqQ)t2Aa>`C|TXLriJJ8sYMEJac&(9De-4r?zCb9D2%5 zkCU+`-mJY#D0u6A4x3|ZRz>tYVP(GjLS8a)9fSjG$TH5B> zu4zbojcFRn3hmpA#y7lcR;TjShhy4m6cwuvnC0j_SD7puL?_*{{zvMh&DXc7KQq4Q zWLmHnQ|uA#{@Reso?rNn_<1T!+{u}rH1Q&wMV=?el1IP%UiWD7AdywefL}51T1=~3 zv@Oe4!u_4WbAMl1SpSn?kRtcf^7!=Xy#emIJzwmg+S95Daqh5wavkUm{8P z97~EdZhU>vyg8&)Vzu~04Nk_6Xz$t{a`41C|H~s(eN)%Td2h*rtqpB<$Tdx`_lIs7 zY=j@q2S$3F_dPz99VPx4c@w&i8CG*u@u}r;wPDjm(`sG2jpSh+T55XQ@CV)nW3_0U z+sbl1`Ls{6_6Oagr=av=4X$R`{g8ykw!209ucDQjnfdZqZVkSr7R|(QYg^g8S0}*T z;yjP-v_fG16rY1aEEu{jnh`JCytOZB?!r=MWUir3^)|D@QSIAtk}px;b$I3*haDX% zk1pvOV4YOqvtnwj6cRaG&h;jr=UFYrls3HD+`nPY9$6AiU)@f%m>hE0aVKiA2lPRF zR{1G2h6H}}!8BtmGz%|j3XBKjyfX)qwEiJ=(4?GaaQV6?E_+nZEnT5M{cLxbjJlHP<#;@viw z1|89kcqZiNsdN4#-kT`|?pT}*kB;ZnkDvA_`1*VJST*=1r^|Vt^wKEgUDz#q)ziyc z@DKU+A)Dk?63eED%x6Z?YE&<+O%V+3d2Lm)m-?EX81;`gglXD1_0mCOf+PcOkjz() zH#{oK^bnLQOqaX3M+#w;un$$#UkIz*$ALEUqB`6DyHfdBCPrc&DNb3Kx zL*0f;*WTmf=@M-I+1eoW$&YF!BNnb0ig%M8(n_nBYQuWcDl~jo5pY!r!Xe4$Yp@Ae?=_3;AMNshd; z!g)qQGcsly)mlF)pu>E>vAOKW(@Y-A#+$GYx~zKA&uXk?nkL8O^V|hzV+)%^4)*$$ zCXs&nJA;_3m+TeE{o%t`hGdpq~qR!kBe%QDU zoq27AT-8f<+(?~y(}pzbG}f878;9dbTE3`!CUv{r*_n0wa2q5Do!K*}A{FP13!_4% zqFVC8&>W7ND5UMhf+h6ZS{xpZ)t0f4v4e0AB1(G;h4e{yhRiZ6=a=1L=(8uTu97vB z)|_=Tn&K8sI9sSpdJW~m>mt^NVV9{2o*QoO!^{#|2aVfKw_b3s8XD9&reO7J;miPY z_5;sgJzyu^b=rtQjL97D!HkJx6PVb7Zwt2%U`&jICvzrqiOD=wZ*?Y*aN7(-@QoP6 z=EvLn;)6~^^;kvSW~sD(UCsOqKWbhJKOK)Y2j{G3S+JI)30h*L=?>sv*xxlQ>e+t%_&vQ2;Y5+Jm&740S4#Qn?CeO^Tw=s z;W{x(7;hOdmDWBfm$YM+W7fPXH`b=zThUk#8lG)aKlK{Tnv&OV&x*OiHt$kU`>bht z4zp%6&6;l*t{t(Ihtlbn-tQ~@sZrH$jXfB&b*{*S;khG}iLw_z^f}|bcBkBB3YXtT zU8Zhxn*MfLaNHtKRj(Hfr#|`hj9ACNu;BP`x4hs;|2UYYs=IfFT>Y3WIL4*UllNlD z5AIVeIKGdD?o-ba-g_CC1_IQhUnx}DX(j)hqF(d(}L zKctZN_fUudXE|rW-}3%?g?D1(g6FQsKzATm8h2aVfm=e$KIyv;73+8oZldRTtvEP* z)Nt1Dn~I`^WB7eLLmGPr+`)|7&i2lq&F&Dy)JGpS9>C}!9K)Bbu)oF{khJfM?dCFB z=^?$!lpc+Kq)_!!Pk_>+Xy2)V*a@0%UQVZ}RU>WfZLPU4d&S+KhNtfPi`rwjqbvj?O7?Y=8=&{^9(h>^oaTw^dlvw)<6C&n4vJW1~`+nq8aQPvuK+FStw`D=_Bqb`_g)@+NV zGB-SYu1S>H*z0FY=B9Kt`EOSb_{iso@9sA>*gQJ4Q+9=H>67L^V(k_Qp4$&PPPLU? z|N8KVO_j~=;wARHdr(!+!i*dvdYgVdCUd5h@#iPGyRNl2-wF4e`o7Kgte=lZr z;TZAOq-KvT8y;fTG%cV0i~Qr7my|X<75+yk)2u&zx-Y3(OLv7-^nJ>I#O6LsNw@nF z!*1UdvhA}c{YN~vf__?&HxLC`vY4(W{kgBe-4ag5gm<# zLgOkbWlo!^X-(4gR4J;%?|m*RrLotaj=T0RW$opc#Ra7LKK?|Sr7*dk*=E%jem9Mb z&JSPG{!xV{_X@-6i~h^7Z(h<4S_$kShP4#^kFcf_m$Xs9PMF!+E3$wwj{c+&jOB)C z4~3@gFLLkxhv91C<4=5gC3}tW>p2B5_OC*}mDbiY-Z0|^HrPMzGY-?8k9k&X-MGk= z8_A0A__&SFkjwV3+sdANYjoM*Qii=c?oo#Qrmd|0bztvh*r*9x32VOGrhW<7CkN|$ zsK>DZ;pMl8v8?k+r&qT(U=|9h(I-SqfB*6?FD6PW7n7SN@_@fiGrc+N$!)Z(w4MDm zjM_oLvmvMY2fWLNk#kMV_43M6(--IQY{MyrZM*X`!rE7sHvH!to^5!aVb^`}Ibrps zrK(H7z8|nj^DAR)`u5}gq!8rWAJr63Y#*m%`*<>07r7yG35_V0!;NrEgb}6gGMgaH zh1XEeKVD|7{-u?rd<5G4Bp%+YNx`z~Tl2#v`-;-r?|$XRyrHC!S{=glRHc3J0vS<75Obvo6F;u%H zbsli33kJ`HIa`J)1g`kc_i%_j`@o9xcIBICXDhpZ0K3D4RaMWdRxCuIA=VfU1|?;sGyCw zRS=hrHKEH@TUw(RTR>{poBBRtqvmQ3YJ-Pe@kGim z#>uc$5rST#*Go?_En&SHn!VI%#$4uU`Z)tO3}^hI>pKxv(+?}yE$7l! z=oX%b1+PA4p7wBaa7~M$=LrY3KcmlcICrzCMzm;Ov0^!JH?I7fsTnkB7chlrNLyJN z9_t!B8(NFF*AHLTSHBg*_Pc(i4P%*(GisB!T*eYT>EGn`9tPdXCQQYqiV8Eg4C}v& zx!1Mna7J%iP&VIlSA+KPN+G$1iMWFZ$+g-;8a?L3$oc-U0oRuGF?C*t%>!GpjSiCq zXP6BWIbF!L@-#yL1Xn^@KsMcMY^GfJ%t(keu7zhw-2FcrE{fY6FbJ9-S$onr6#DSd zSjVhuOyw%KQyMxu6jv)#Z^o`+>L13dvP>L3aBDf?pnXVN**4>kYvdZgxd~^8N3`Q> zL#$fV_~s;0efANhu#Y>hezDQ#{R_}P&4a3p3Ej~DB7=mA(PuIaAeQt!H}MsLNr-09xSMp7#`;&2c4u>*BwriZRgtLeMfloM`E zy@MZ19m`?%qIyy$&%522A8xJTZ^bw~mx4Q~?KGc^@ObpR_B|-#csm|*tel&QHsqn5 z*>;4;J?LC&FL8YSYHdi{vG(J0yML}Mk>ll)702hsA?)}(2PZ=1J?47`S{JZ~Va$`R z@>gdKpU4gM;5+w2iO`tGvVGL6lrpE6lKRPM|JKqIN~)7wr}uk~Q>XXkedQ(4wy~PB z54?_aDh>CxXn(h92FOwMtC?o(YGSP3A3Bxs56ew>Z4-{(j%bH$57}`XI+a(UdSeoB zOf4lPmb&+8pR|jlQ?Wnuo1D)xx~=F?+<+fb`z$6c--mOq-)5sh;tnBd z@(a=dUppOvQyV(Xqk}7H5EkE(X9gWy{pmjlA*gaqrt#0&8L8E*=+|`XaF9snL#VNJ zsy>?dh+xmH+$dt}8ToY32=>`#&k+ejp^9Q7z}SrgNR4JqX;a6WmXh+1tuCKf$CQ7$ z+d~fZKx;n@Jsm5eb=DcCryFLzuVZ&zbfp`a=_w- zRpk@I$3qdoM!CiZ4$>&6A6{yD&TwhED5LTAM!aZqUVX=DpH-xbOn~l#A zutobN=_2c7AsR#OX1d6QZDl1)7isk<-7L43*O>-R)xs~0`wR$a6V;vzo(&SvX`MgQFu8A#ecoVwFfLG-{l)N~L2GP(y zhaFkifaJnBi_bp8pCNr-$c}Ysj!|s(DK`En=e=g@7UW&lMe25%A2s`7EE?jc8E3zT zY1s~Ly`NuptV`dbzW`gVYg)W-&dkGt*OGZy&+3{_w?e>n5AUtsi#((ZgCuRoyd9{S z&+coGuUxVpiuB%Yo>3cm(k^LXDWu;nss1~V+YoU>p-y%}vR{)+!jD-ZdD*To`a?tL zpQ16AG1XiomO$t@!I;8*O-6pVH=E-^3724GGH%$#as3FFgsI;61ypM0i^<`9C28)p z%)gPT)+En?SUcfD2t7h?2@=oVWyNs|qK1BSG?k$#VJk3uLm$@ZG|NeQ=M|uTr$XO; z>A+E@ugBDr^dwvC_1n)alN_EngRY5JRoWOj>?lXK651ZG+RV}Y&v3MXoa@)esdh6v zAKL)t6n_iZ^u+D=blw9=T#8k&|8rPTs7_r8s&e$YW@W0_Wwrq=IQ8}h>*k57)2hIP z5`%L(*jBDzcVvVrX@#Srra#Gn{B2t!zBOoe#m$u73rKoN6L5~@Mm203%!VKnJ8_D; z6Stmj{Z(}d$u*q5GHs1L*n$cFeAz9HJ_}Smg3#z5D!5_1=A~wwBI-iw%hHTKPym$B z`r*a{{rao#BsV7&K3S&Nrb?`lim)^&f9CV`ex|YYY-w=N9#ZiZDFAF!U&f?tDS7>L zxN*&DOv-XAt-)*ej=ptup)=~LxjU54!buNcrVIFYHCZLEmE^%N*Kw#Ne9ioL=L4d#9>+8Z5~f0H6^$EBgWEw z1N9M;nU=f0A#{tUY^oHGQNnR{R)%ixNL&}g+A@{fBisrbaADArsK?7i&=@q+D?Bhv z?2SgP_D_u@oWaw~50Xo$36R77Wg8k$ys9|Xo9P6W_c;ptGd*LB=%a{7Q7K_8`R)Ad_3rg<%PBi*6b$=-3H* zy$KI9c&g!UerkeAf?ak4l@Zr5!*qtZ+-h!TJ-srCBGCfbJD{fjyhvEE@8^O4vUuYI zfix4&2+$8?fkFHz`-MgdOyVE=YrMe*FEPQDeKN5+NtZ+RSbQ+~HtUBahgW##>UJj3 z#p5edg*_xWSc8jeTFDe=?9m$M9X`)19m>Ki6=tL@L!fZVIv)as6FJ$|$)Ha;&n=`O)md6l>qbD6)>Gk{B;ShAq*y>|BdV%-Ias-7&f@w&9pEBQ`LH6L7= zyhiFZ3-`*x;bNpAtVMgbWsT;E1`XRPgq4sD&XfbchpA^*leMn=#Pk>ZS%G(qQ@;u- z+W=~|tA;&|^ny)Fu$VXC4iIi}#G!L18u2c?T6d1kwGG3o)moV9c=*G9uDncB;nlkb z?z#NT4Q`|B)mjw=;xw)N5zR#&xSm_t#vDhWZY#H_jdg&Hd?SWfy-1d_!`o;M&%v8j zKY6pAHOqNX4PKvSqhzx^WSd982*{hs9^5r97?KZ)LJx_zjBZcI{X<`87zXW1*Kjn21}J7hu!69yYDqf>sLnlRwrF zS`bA}(^lE7aCdXiJ^*X(d27r#w=gVN<6Zs*ze+YZg*)9^W}EE5p&}U^N5Y-V(MkJ{ zQo$l&H>3TGKiTtI0DC$kqh2$pUzs@)uXdYq7wBX%QoOWnN7?OiT=T-TT-j+G2cdzgFh=- zOKfi(W=lC*k%EV2{BhHF@|m?6y>oEYd|?~6$<3MF`%C~bw|FEjMfqhLu0_B{nPDrm zr}G{h|EBKyYIrW7x#$ytjBc~Dkh- zfk#j5lxkGN&}reCx(y+CRc}6)h#rqZ7)kS+-X>wR1tPswvk&xb*ub~wxOt|Zk6LJZ z8`l=cZ?e^`hX&|Nb=DgAUI~Tyk~$`35#$|T_8={%*&J~X76E~p9Za`I?}JC$9o|)J zNEo>(q2Y{C_2a-ze;NDCH5h0txG*Isb$Zb3^FfBx`I~0V4oX(3)t;NYw0%@{D(^V8 zF>D%G{IfMhhw;Jv$A7(yrh>!C7j=8I)m_p>fZcI$f0CbkG~vh@{m+v3wE-7h$5onfq{Hl3llr3zEQh800Jhi| zhh}G_i%Vs=4cBHrf&r;9ikb0UDU?KZqwM-6n?#3P9UodFgi&vgEhD#5=!e0;|OAu&4CZ-zyWXExF zTYBh^o9W_Xgg^NRPl^~xp1yJ-Wfw1Y49P*-k^pkCU6z_j4#CV)h{3ALsc={l{kI`F z9(}oDRwMOg?3l3k(VTc zAI09M^)ct(2j&8=)7wDjkNjEI3bmvCn-xzbTKerHwWEsZ;4YF5j^tnV1$h9h@L8G| zd$lK&S;N+ggjK6sS;Eb=AzR*oGV6tDqGaYtQ0GAlf~T3!z^)DkLeG4Pk+0>|C%@4j zUjt)$r!wnW3NG@KGHb9Ia?00uU?ZE~Y$DS*mVZaD-$|irnA}$OyYV+UVcY$!%%JZV zC{%S&F>QqwjfvErG>xg4@GA2xQZao7H61INBVrg+)2(gM4reMRhyT53zN`~3j+~}Y zs2X9A)(j=aw7^%OUz&_(d|=+F5C22X|HbO{q(LzZDpfsXutB%Q5^lb66-&6^X`dq+ z=zV5Ex5W}R4_QPB+qSf5b4c$K1KkNLSx(^fr1z0-YEzG4dY`Lx)8r;l5-=1^Kt88B zABan{IO_eV#~0X{4Qi0|50U29v=u7?k3LqDal)L8Mutj=!zh-e_f&nATuI*SM=|eH z(&llsMv0tW!BoWHF;bVDGR#-K5q2fG$pY%pY0xyRUPv$yNOxkl@$?Nrtq(X#+X1I~^_WJM! zU)$jtxTm6P@Oe97z@ewbjkSC%jxt-VnUx-w`c+xeTL$x+v~OPZ;m(HDE9jbG79C;W zNkV)2?zrUJ$JV@&p_?&eaa5zRv?_e;*2m%YEVLkwRxtMRak}I?hxvMkPzltJp6ElS zHC%r`zK+zEbs?KcZ8_Usbl!;JtC*xM^;+EHdu!uh^`(F+!{Ym@%5-$8{V^-*>Xh|N zCHW5gh3>!pXzj(WLVhyXv5TCM=;N@>)UO>FpnlT7&z{G;2bK4z`9WPgp)$Ow&&#B% zgQY;$4*f}lVD9{D4&0tZk=v6Q>-=ZOMh!Z66U_%RaS=Q=3|gIfAD9vnF8wP4L zV;I4nMS`Fnj;CbpFiv<$Qwvo; zURybOdH)AA$*A9(CF_dXuucoqWU_T%Pqyy!WKYosP0QVEqD^0l35&exL8)4`IsrSt zKNI;%@VcPHo|`xS3tSNHu=N zJcHPK{SPI>70gybW0};#sGECT!dczcGZ|IQ)Onyf6_ACQx2Q*xcG1X?ic0-WYyn)SU4XXVz;zD|)5h>EXYZw0 zJV83!wBT#G(>R`?CA>lj=`5vlQ?rr#iiT@=PU@(HAXlXu&5YC>QbMG~MEW1PKG;v6 zwJd}k*wHmh=l$w!tY33qXWsZfosXEkxBGTJ7}*~5K&|JDx_i8<*;VRp_iRY(Ep|p? zW_@|C=*y;$`Tl5@qA#0z^WHk!*_ThFFUOXp1(RI_GWJsl9*YhBfA%mx;J+bfZrbbWnn|X_#gL}qgdC5K8)1|%w|FpqH=n&Q@v|Odg*~(A@HzyWR?q-rl|cm zjX0vc-yX6~{YV&kdh^-)igmLxsHevm@Df8XEC{aag@u@<;LUNG=k4qqqOL5h)ffczjQe@@bPVf6?YAUmOI8~lz@5K)6e0S564kYR3fmbo4$mSx3n_z9U7-y+L8MUjJ zO2p9PZfKj!Y!YNw8nu?rJ?jRrC#;zs;R&Wk_?JSDU?yF&iB26-dUCzuCR6)lvN_2= zc$P}NdFrL0sW!|nX5;E0npXZ#=@Ep6LE)==w7<9t$en%*JpxlIK%wPUj}WfVBQ$r^ zBQ%7qbD>8#+aUA^E0ubLdM`A1n!y!%1QY2IY{NR~5%37K&?B_j(&7|)gt1ONLY#N0 z&9xrE@c*SA!TMG=dW0<=G4AyU_2mjZ!XbRP&?A(Q9>F$D=n)#rJL(ZyJL(aRj)13q zQXxpRI&JlOl&cWXc@FEr#^a+pkM*)1!5nE;=n;n4b~u#>n-7xm09OOGLuy0zA8j`v zY1U6dUt&AJoCs(LocOO`g58r{0Il`10O^rSU zbfxa9tXpuv`7lQRhWr-o>&&F7=5&rM|6^ZHQmnMnhQJygE3K~s>fypIo_64kW18$| zOV;x6 zZ&WgAN}Kvm7_dD#xVd_wyaSIsLKpSq9k>NMa0}J}&-C~lXO{zTb~&mf?Vg%aIsbDn zCei#6>VMcUwWe84SQ-?~Ogf_y-l2X-E=zoC zi*{*Q&>)!$`HRB5^5x=UH8G=|lIwTZi+01|^peQvxN_^aJB~2y z&BN9Omca)+DK*A=#MAwk*$ta9Wub1`;SLPIeCu-?;EV-$qT#u3)ZD931e1T6;I+k6Co{M>7pF%P+w>JZR@D( zktm*Wuosi%Qw3>pTI_z9=BL;#Y(r}4^HeQ!eyD%lsqI+N=%sqnhqN84_p0IRh?JQZ zo!X9r9utxAKdqnfJS@o?!e5K}pcPJ)*t_$aq3tkcL)($j>qmqAURYM8u>u}Dmd~{v zQT<+R*LE~{OwzSv4fFk$Ydc=XUS8IAR849oZAVR?{m^!(Z?)GjZN~=Ec90ydS(As5 zwxc=!D%W<5-AdYy53MOxr0uYHqO``0AoYuVuB*r!(zEul-ElZ&%o>fSf^BMC=CoG~ z2tN9OZe<{5keEQd^s28H=4LD1H>@a&qLa0zCbGJyI|4<&{*=XV?_2uTo4!c3+G;)^ z?Em!+64s2%OfS-2*H`-Vrb^R_TQauk zrG}oYUVhlti+ccmWY;&3cJ!+@fTlFa;uwC6R2rdRr0YTDu;d*9gAWgW}rT&MN zW(V%eF+aoglYdP#NeTbDB?Dy|FJG`@sm+uu}m$j=-Jzp4xLRp;8^seLvjZT%R_Hr-ncB-V0wWZJSU7++PujA9=JzT>EneJM^ZGx zfy8WP_|oBAN_iB8W^#f(dUc@(4w{ygs4!25`jAP?TYY>b?l$)cdhF^QIDl?k4woBH zVe^-+W@r)~rc);q-ob)9;7o(_r7Qo&KwB1j>FPRz^a%G^ZuR2>LB&m&=JBFcI5`)n z)kU$Ft}Gtc^LJV#uX~LuEADq1;)HL^LD|5h=LStMi7>Q(6|q(fdP<6IE-~%x!k`sRU1UjcQ?>7xQ+e*{Pn{V3A4@eHf36dtMaFlP1 zzpT$z*TlibG|wlhKch;zFfh5lOf`n67S;ry0s7h`{Y0h<-%&9=b)x(>M`;A44x6Dg zdR}J#2*cfM1^G>2!<~+Rl;2y~j1-v356%zT8-0hMMbE}*%S`)w0eLTJ!ZvG|ck)?H zNlftSr*PyZkwXpb^|ff#Gcc8pU@x}lduNQ~t_AKg4p$v!(Ny!RwalrxH4y5h#6Jj5Kf+fK)-&T;2dOYQW0)}C5= zK5Or>rFfq~&!5jaIE|jqYVEsEJf9WknWb+`!>sCAkwcPA^$g<9r(O#02M;`rp84?S zliKfPyzK(JulJ<)psn5sr=puZndl4X5YMxgeV7V&FjrKnM(%*B!Yd!0r~&3{eS=|z zKe8WL&uvn@H;pvCe4M-yFi?}k?0&TPKk0;gXVj+5*kPWr>*9>EdN|YT{5Gi5XSb28 z{dB!(XtUumH`9NO{RBJY91o)hc?AqZz3O$U{wX?gAl{&&*)+Mo&XmNB#DifFqJrCP zuFZXv?tCvsX4&Xs{s?^RaH`GB1MRb+m$bv>UN7?3t$K$d_SH+%=jf(0cY{w0f8BH0 z@qC4Cnn{}w!btn9!ybkC1&eDuRsoOQu$IMHy;Zg?Jfq@%oG+Vu;;7hzZ0Y>x8S!|Z znV#5XbIDXDqyHOynm7C(^=ZD$AW7wr%_u*8M1}6RkS+FgHt!EZ59%Mb`P%w4)oiu- z!A(fxlQ#X+eM3j?wFSJ}ckIZ0w&3Iaa?YQ!g*1iLjXZ1XcW}V*4OigldqB(SA8Z3R z57J$jP!|4uWYmlKWrO}4o_yicvcV6>aw2Y*Hw^?@9B1`l5Wy&dIC3`~hw*ja#1at(fqc>G+`J zib?-TY6;A#nDWsK-KNVGrvJ=}y7*^B;*r$k_@0$hf0&(<6jgcS>vO8(qbsK$y}hnt zZRO0idB?M!ti0)e^IMX3SI$1WU|#U?%G*yato!-%%CsYQj@@;xGP^9T`q-7qrH9j- zUb$9Tc+wpDPFPjRPZ{$Bma zuD&y_%BtG4C^WQwVpW;y+@i6et&^)NRDUj-7iykfRi)aQwJJ1jW>vMSA!|!$Yf9Av zs&iQfL+fW%tyBG))f8%(SM`u;bN1EHngvxgssq`feNq=zJ)-(3dsQDxTGbX+>yj;f z>UUQ?uG()o*r&eVnr*5tmo@dVMy+{D^+A!YuVw9;TGd1MMD;Z;4YfX_diDWTa^Lzx zq1K(M?;lj<^fi1CYJFDq%X(FH-}=8ot-DpfZc^3tZ7t|y{g-O}7S-{-_RsoQpHsCx zt!nAp=+hT%fqvP(7&A1I6yUMRJ{{k*uG$WxLQ+Jh;4h6m^YE8`1oz>uLr-6lR0leG zyZs$NvO^?0e)`Gb^naqK-^YUX3H*Nm{{DrZ6e&q%m3)TbgY2Qc!(R%Q=_d&M@15`|z*Br56r9Q=)88TRbYP~$ zF9kjbbVGp;RM6iCd@#Pp15e>HpN+s%{8_-$d7X@}75F<8_)y4aAMjNE9N?+kGW~17 zQ~V;}NlpxJKwSV&`M3{wx??HReGcOvjnGTtCbZvao_ybE}$XPLec`2P4NySOj~{tECEe+%$KWxN4(g~$~D zP2fS|kB;(R2|Sg*Kk&--gUt-9$Kk*$>v5yt ze*^GJ{`-Na^4<8XMm@4WI4|Qp5*l%@XGp41D@LFZ@|mtqV{$d@I>dS=_rR%!9NIiCI3f&#~*1p z@XGS;0Fv6}MBwFiOAYBT@Ra|#z$^3rA@I~bbAVU2&nv(ifG-1{#xl8FJyD57R|~w{ z{;6LK1wIb=*MN^z(BBUHAbei}p5!gdxfJ*qe8X%+ik9(_7(0Qd`WOqmL4iL3Je6}E z@XB`h8SwZcNhg|8bRL^6N{35EAaRu4FF!5pXY$2emfF) zsyCU>3E+u;3h+w)-vCef&jntY|G$8zdb9#B*CVx)J}3-=q^-a!(~Sn+3;4aj;}1)h z+HE}WH2%H_q&)8selqaH|8?M%{O19WKk(Sx-VUk#8o<{t$-m2(@A^1Mmujs~9E$1dRUUq(;uVTPbT)QSF9;7R_+ zfLF>t7kJ9wr@$-azf9mS0FOV;{Hz9^;$H$%S>AQP6W#ClM_JyDz(aJB2av4(Q83D9 z9q^Q12=Ge!7l0=@3a6=V;S)H5F9Nqw)@-q~8Wqz7~r*X;% zJcUy`r26^^c$!xh0Iyv424JwF_^W_d&R@gvLHVfxUYVa{;Avjj3%qk42mhtO)AxJ8 z8vx~W9|WGhuK=%{*Zu`OwFh5x3T1mZB=BLK@b3XnWpm%hlFBkaFI^mxJ zp5)R7ys};n1CKva00s{f#VOB!14-!(172A#KLJnWoCds7KAy-l;pcV2_W_>z#Zusv z?cV@A^$QE|8bGQ?8m|TePjn@~Q@D&D4m_=+Rs%1uCux2e4?LntYk;Tq2x|`pNlF8r z^1laoXa0e|8~7o>9|L|cpiEy2Jgr;41KzoA0sRMpPbda;C7;W{Q+>q)kN-OPcmWxO z?^(bPRp4WRr|;#!Q~Gkcw*gP`c>;K)eC`CE+IcPT1_k|nz*D&zfLG?{3E)W%=YUtr z;Z5KvK21i>egVXPfTw&91fJ?&&d;yFQ~a^OE7x^lNQ~sQ0C-AArZ)jk<+%@dr977a zPkf%~#ODFQ=j~2>_5n|Fy9B&aZl3^8^`b|mM+3^~Y9WN-_?`s(Fa;BMflUys9IXTQe( z9l#ThoADPzu9N-*@F=QuJN}}|ocMnOAA|2j`0Fe${;xr&CAu2?MH6N8It~7V-<=4c z^#gPoarfYRQAS=~X2znsin9x{OVUen^Rv^JWS7Jgmt+))&w@@t1;y#P1?eu4`NfNh z7R}Ab%*$R>n4h0fkabILX*Q>{WM>zpFI%3yJR7kQnp?0WT@b}&Ezi$ioycS47L3Wr z$|_3FC|J#Mlv|KnlADnSKItoSOLEdX=C?hR5$B^Yg^SpK7Z+t`v;XAf7MG+i%FE6u zYX8hdnTkr3*oL-t;RG6K` zaIz2=Auo54Gzq~%Ae}Ms={MhU%gPMP^n#MnqZrl#@k92Din23GveVP^v-1~OR;Mq@ zxhpSkMSe_S=F;p%C6tGl+%fSnmbl!pE@BlfUR<2bOC;E3Wfzwe6>=e3iV8~#7Zv8o z5>Iy)DW?$9S)8}LIEOQp2~lZT>4nQnmJ})~iq|BIvM47TWy@ZXT~H$GSB{yLTWrZF zS(MYInia7j{S~>3xJ($kOth7ixml>+k{mE9$>U+pd>3Ue%FbQUwdru4#gH=uxH2PG zNPya!%m`&JSe(0LIoboYa78=pT)g&hIc_@!31zic+{iJ?kdoz=E~07=7g<*#P*c1s z2+>h?i_lL>y0Ga&(7Ep@2nq|Rs0C;&?P&pr`sjk@iBU_VMA6dPV^~n%9lubKC8)2A zymmA-Xh^Re(Vj?pLE%bQcvraeJT!RTEfv**-T)qX*;z}n^U=ImC*Xa8HGcjNxreH%h@@{fc5}U zG;k?N&$VDcTa;6j%erxiJOJ~;GYVo;kddD)HyOlowiXDAnB^8ME~KeJ{y)o=oC*mu z7aahgprp{!B~0cII!cCkQNzsPO*jh(d9DHl>m!S^GFGe7sUB4{5m2R3Ol8&6{FGgw zf;0&7YE`8#UWAs9{L^=#g$rF#DN>u3_ zDsxkuv%Dm$aAkoE!6mN{4T)qTBBPa{H1uzNF&`>KfEeji7|Rx|=oCg3$eRL1r6!?D zw-n}yF@;ZnC{B7-Mo9)sOw3}0TaM|XO8_x+89*_>c1ekt(Kv4+r+Rm;AC!sk$*d@Q zF%3qGbRq0vFEqS?%XxYHB)Sek4VB)oodF(&qd8R!`d4$34%mT7``}VgHI+z#|Ej)VypyXa^;1fyoREZ zqjPqc2Y~}4=Zc88Suqj24C}nS=|m)EL1595+)bBqhMW_kqDJMgMHtSPWGm}h4k;)s z$z8l!u>xWH3+KW?CPVxzOw?VLHZ->8i$>RpRw0{?ViCNQ)0b0ZA`HuS%2jtH?aLXL z+}qbkow5aCW?}T>D-V}Z8AZFeyQ3-2#>xW2k?4l5l3HApv4qx0F4?rNsoUq%&a#l( zJV`^jNOqN2d#*8(x=L5sqGTa}G1~}s%%Nx)E~}tRqZv6eCN5_5s?BU7VZ09E-@pqFV}=7h&X%rF3EzrL*MPr{hjr$1cH)ocB*2#-<8}ZQnlf z5cbXYj|zk+dV37oK`O#&za@Vv_mCXdX%oqj)V0|l+F={X!}vb3eLpgK6vvB6Q{G7` zwvy@Y_L8n5^37z25V3j`IJtR<%4OS09>gXWwx8@o${K!`AxRNQxufh9*E#xh86p(% z#hy}uY3~5eX3i?e*$Kon(sktFOvJK=wv{47G@LtmIlGJ^knaUL7gIstjLmbx=LZZL z?R7bFjDj3JR(q7l15vG&0B5j?7(q|HhPM2D^~h-hUb z@0wULEM3LEQ<0kv@fn?qou`6c%nAyObMNUI$2XrY!<@TMMJTOToZC+YzJ0i0^Cb_F z3rWJtwP2A$J5UT5v=qY@v?~!6khXZvri7TzO(>1$^3IcON1Pu_h;m{iT_on*h;~ec zLY=ALL*9zA(H@y&tdyHkN|p5_+KsZ!C}F53Sw@x3gl|H{UR2)jvArlQV<`$Yn>+JZnBIZ$&G_BmbAe|e}4k5(RbqF!yd(tiuI&4Zigm&JQb_k>q1KU!LW1Wi9 zpix@vOFM@sHl}WZgs?>Cck*oC0CkGjaR;ObBssX)oOYtRytt|=XP}~mE4QntLOM+0T9XXgvGO6!xn&i3lh=Z5f!Aq1m1ixP zrsJly69XRTZiOPVP;N5Z&$}|Ub7EE2vK*+~xOU1*mraPgbL~XuZtKd%;(WP1$_WZ; zg^*mclSfM4pgP6wxP5ia0LAW>hhq8Fi94%B=i$ymvoN!KJU zXJzLKUP#p0A5dz(jdjhebJpD?t!!gXS;%{xj>YY`lkJph*H+{_z2uZ^U_j69c--14 zOq{p6#O7nP7bmXrPWu*YHRXOs{n_L99>2LPmQgk+y z`O!G6l%mo4=;S4uww%$H44h09OVNvQhP$L7J1d%vD$&aeGFD{d<`JC~jk9J5A-Xv0 zu4r+#I%#BlOuQl&uvOzl%kk?HUeEE8;MOI)RfN+yKYm@p^#T*_Cfq2( zQ{9A2mRY9Fg7>gW;G9(?k2omgwr`ceqH!GMEE>6;dphE{jRtP*9*IW zPdVo<{K=M;elV4wUzc!ZsDgl>S+I+6GHAiCmmB_iQL%}ftP6j$2zOV1RuNA25%_h9 zUoXN(@^W+uZzaPE{O;hOOL(d%coPrl5{_qH+3ysuhc4mF5DFA)$e_nX{%XkJ2ERAl z@J}U!6a0SVpbP(0GEBkG;wC=XoY3z@4!Xp*k^vZgquj+8f}g?bu}geC8R+0AlIap2 zC&E8+BOg5(?BLhPL6`W=B0SAa{){7d#0od@8%4Na(}h1XtU=sNH}Nf^VYv%$7U4EG z<+H?b#*^LfuNUE?+=RD^@G>{y){#7*$xXOfFdpVcel=p?s&o_IAO_aSZsMD-=MkTA zQ-1we9^T-Ff3pa`*$w}=@jT*OH~rT>g@-c(K^OhYp2Wk)xJzGz4|bFPxEp!I<8Iw7U8jO!u7ZEfG6C9*NgD=ZrYELjOy^)!2ze@|7ZWUitsUR;>XSB z#9Vw`=NF?0pX7$WRfK1`32znQAG--}T)+d`+=YvY%U%0x72yNiluv&rXB^-rJT8rg zlMNz%UF2sM;Q?;K9e)$vEW*kD6u&O~rF0%ZcGmcH2{(vvckzvX6W=Vt2fN{4Bf^8- zgx8DkAUENSe-qv+!rhfmZ|02M@sAVXQ{1F)5#jFU=bFC>uNUF&>bFsZ$4l(jrGE4o zJiuN2I1%oye5oSboqQ~R6Tjwf!t4Jgyzy_sTSd6L_My+@<#!hzC&Jy$PnN%lUn9cZ z$+!M*!W%`nyZ+NE!Z)j3*KbWWFW)O}!c%j2_@cQ*U-0lA35gtx=nepoq z-?E8^kK>?Ac)bXp>L$MQD35rPoAA`fc(~n7{k3l8;d9)qA5!f+e6E}L_1k&)MtA9p ziFu40{xy4e{F83@o1f$1M>*&spSb6FfV=t^_ZI+3n&vLDeU;qMkfr{idsba@D~3cC1i=%`9%egnIqJA|+r!7scU zx{C^asol`|qTCL_Z*(_w@t|uGbhd8j7J|5?uB zbWtC0I-y5#Nw*Gk&5fK+=u=$M?FU`;N1RURRb0}YrTl%$>E1wHv!9FptI>ep=bY}> zZt86W=*(w1ozSN7TZuo5i-6}yR z^foTbaR_u)L6_MLzl)$d{txJUF{tY=^ZW^Yj>~l8LAUCAPB*!mbQglIM$nDwhOPp1 zb%L&}8#=m|um6FkEA%}s^GEmYj|)1X_i;&g4RnpIoL^-(=|*C0H1@xuyxr7q3g}XQ zp+9m-mjybV2j_RZoARy$UA>^|ZXDkax;jB8^hz$%Jqx-T zEl;<*cB;Xp#5zH@rknhY0G-~G^9%2WZZ7CT1)b14xy;`^plkKz{NCt>-wx1K_vCa! z&*YNdDbU6F{XJb9=$ZuGv~JR+``}V9&QIv4T&9}@I-Q^sdMcN6d7!fjI-##}Nw*1f zEqb2rj&AaI2y_;IPABwNF8N&qU3CDbLzm}27vsGz7GD-YH>n%Cc+koGvbv#L2)ahW z@8fRhDu`bo&tF?NbbCQ(4&rp(^^Y^4nRE#2fCyy0bOW6PABw& zF6p*`u0Dd(bvKS51zp`BPIqTF?fx?8ngv~AH*`S|nl6&_d!`$@iJ+?ybV7gVvK(2U ziyFcC2|c1qx^+}pBRQSWC%UBD54y2aI9+%9^Ru8!P2zMyzvz;mCJ^$Q%ISoj(Iwpo z&^ZL1&^NlIn+v*@X`G+XJG!L12Xy*mPG|3CAG!l{)iXGq&_lZ9cZ%|t%ISnY(j{FR z=&sJ;bV4ubk}eE`lw~fb6Z%P)bV;DAUcl*up3)^<9_Zrk=s)%{UwzR(0L}qj6<`Wr{vP-W0h|N)5a7z)@TUnV z)xqx;;A78n7$e}@yZHBsoy>XP2af2=@b| z^hQ6;(^CP0b@UTYa{B88JOG6&@tZ2(QY@?~y|s^XxE*?F%I_q=hXEhn!ttL&pG|bb z04e-I=)dXv!_EAA0w8@)-o*Kz-pJ*67|<8^#{fy5iv)f&;0k=d_XzWW6TJ_R@|7Uq zQycjAFEt!y0}_94Km_QsEWfI0ZCr{0jC4{2>5yh4^I&AL^=OX74S1C zCWv2_fZy79I^zLn0sry+JbXCde0(?G$9(=ozX2G5?*c%Q#|%J{&&s>uw-NAd{6pUt zSHoW#;AsJG1tk2bRhW|j{{=V@@FBnffXe{;1KtD}26!D{KR_)Y=CbJXE155&=mx-0 zeAfbo04@jY4LA`nnCMWsl+F-94Or??2`qnTJXCMD0#bX35b#Z8vH;)v0rLTu1I_@v z8IamfBp{W4w}tn+CjjT*dk$aL2Dlq=0w9Kp==130g#QTeUw{>WL_Zmj!utvM z)g6-b9KP*<6mA6E2)JVbkN+s(WBASlr0_66ivJdb`xIa?;4^@|0j~r6VxA;nXo@}v zxDC(@Nb&jtQoJ{BhyN_V%>ph19D(m)fWra%13nITBYrva}6tO4`@+yEC_jbKJ{y-vUb$vmALz$bx^0VKL$z(?`@{f&}@p*H$$Kn(qp zwgFQ7RKRBeFHVDBKR}0o+XTExz(1$*@J|G+7qCjebigf$KTW_>Ns{zDzE=WLc?tlL z)#y6}OcwBZ0V4!_G?CMJB=CG*Ghqrxyr=LFhQR3i0jmLX1e`74SOI@Ba(R9u;3t42 z$31`;5~H60r1+(PHo!bUs-MY#R1X6IQH9Zd0)KW2|Go>5+RIG90E|yb;yV-&T`pP+ zh%OcV;bh+bHv$shg@D9&5+L#YY7!r3wgS@k{eWm%(eV>`eGDGY`F%f*^EnELrV@Q* zEa&rzfLj46Kbe4RJh_4SK#XnxL=%aA43OeY5#Pb$d+Hb--Vcz%ldtFBv4FeqeLkM& z%Lfo$I@&s#*WXG&WG(tmzyd%cU@_oNqj^ReGri3w+CJ3IDWBs2DZUnv+R=e< z-fx}&q;z8iTsVNI7Yw)y_zV3x{VRZ!Px75d=}r;wyD(8t{rLF*0$?4&X;SwCyxd2U zssOVADSi?l#s49c!@C942TIa9;K}DT!RG-V1RN*6FQ9UL@ck5^7H}b8Pr!lVyC>jC zeA8Z=;x7jzdJW(VK+;W=0L}rV_I44O^96huFa>Y|AklvgrZs?X0B*pzmkQ{O?;fNz4xlOT}9?-@YK|9U`{Pe2XEhv|S+Pvpz@ zA;2uaS%6Uj?gA6S)7cc^BL#dH%t)T21bhI@)Zn)XNEP550j~$#47$H0_Ur#|0pAo5 zd6A|ee2w_d7cfmgh*5e3Rf=p%TgA149e`#8ARSMmfCd4nlM%id@+RmI&@P}=K(l~G z0Sy950yg`J_yXDmvO!olqVTprGICIQ2@AR?X-UfTAe0eY z$rSR%5{#*2j(VpWYHFMk#VAi8fd%744`KCik)U4EDN0|0=GCH@vZs2vMA}0ULtsA- zVe4D_`_9>C-#b_bWV!bG*?X_E_CDthXMH=6_AHOwp0rC^k`| z(m>j?#q9l);_ofsOVWb0P1+(2q&-u1d(tjxNm`J$Nn50Wv}fzx{=0OJv`bo&7Nl*` z7O4@pJ7(`Ww^%T)+irhLGuk?0e@ihsV(}faIrdIN)1JNHEoO&z+Q9Al+}6*KwUuX_ z4X@jNFk}N!T~mklI;`b)@FrK?&n>wypTknwTyG39byT1Jhzy-`>@cJ(C zyzQ^x^&R3SyKUh0-Qj8SJG-zBVY}^T?(bCOmrDL#K zx#}9;wfRGTF1iaxEq}nPF7Ho^CwSE%{9@w)zYvEL-ZVS#s-t*>a@C!!G@08!91Z@E zJ^A}AA0Ss9#}WEd-Nqri|K6X)71u?JpZnVp`3tmH9gYpx<*HkGiQ_MAAIF8~EbLbl z&W3L}K79v|=P%^?ZvJh`XGf#{QSvk77dSrrsKE6x?S~(X{EaqlAFsVf;JS_DnJJtN z*OH$k{}ufWlgIlP?7LAtY_;3~uj^Ht7kJfaeyaORoh?QoZM5m-YTtXStmDsJe%h%s16>jIsZ~`0l1$ zbsXC$Z&8l3q%c3#ao{}>yz0(QG9Ick+spB&Zf!H=ssmd_UUg+JbN(~?Fq;s5HQ(?* zNq!yspC!Lh@hV*1&z6AxJozuI8T`!ND4%9L=E;9ZewO@;)E_2)nfwa&cXmniw?O$C zuCHOr*HXTM@*inGN&Xn`-%j$&mCqaE_;99?&zF2x`8pisUn~E}k6aV=Rk!z%^51?G z<2pfJb)g5?zv?iTu|L%{PBGtl>!bZ1+20!Ze;Dt1&UZrnt&8&e84uN&-of~)ZWY@q z=BGNxAC&*xFP=7;-@iwrzkB3=d*uJ(cvVMrk@HdApZ%Uvjm{4JxnO3Qzna&`S| z_9=fk<3G#zwKl#~f3qLjwX}9 zju<#wDgio;LGP$ZpdkkgWgdqLSFF## z&~C!0gWgb-z&?fq3M(X_SJY%UBcfH>8wQ6k5umA0lpr)wRzdV=0)}7Gm;hYXpg*}) zzeI5-Y|3JAC~`DNU63i#sUb!ZSQ}vJQNaVOh5vW+@TI>(GRD8x78^vJn)E^fZLN6qN!T)d`=rHV_ddkUxgL-%<)qM43g*n;<|` zilL520I-QMA{daIVdyoMqgpipj<9J%M>S|#Zq?&QJ;#50x)6dVSA;%@H(z73` zQ!2Voi{NGDY98V~R4r-M{pEO)ns$Y?WGS1SvLLX_rnA9lm(tPb1=4p0ow4n7qfOdRHP^rk&_PG1G(#nvLB4{M4Sb3BhqJ zJ~e8h)tVeAO`-Z|8J{hFwhCJ~kO*}v|J-gJc%Et#}>axhx{B&v5>`ORYLTH0PMeuTGM zMB8q!4hy0NRwn-&hgTg%!&7QfAwk2NJI#{^_fB=F#hd~taCznENa*S|)JPLTir literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a.meta new file mode 100644 index 0000000..7106afb --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a.meta @@ -0,0 +1,80 @@ +fileFormatVersion: 2 +guid: 385bb48fb124b5f40a79bdecf421671f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: X64 + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS.meta new file mode 100644 index 0000000..b4c703f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 957ba76da095cd64aaa658f034ab78e5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib new file mode 100644 index 0000000000000000000000000000000000000000..da377b7dcbbc8cc9f26472a61cd9f0a62eb1c12b GIT binary patch literal 53596 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%0D2W(z&E%pe2PJT03X;? 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib.meta new file mode 100644 index 0000000..92fe418 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/macOS/libenet.dylib.meta @@ -0,0 +1,32 @@ +fileFormatVersion: 2 +guid: 5317859893ad2cf48a6df1d585ebdd2c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt new file mode 100644 index 0000000..66f084a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt @@ -0,0 +1,35 @@ +ENET Pre-compiled Binary Library Blobs +========================== +This folder contains pre-compiled binaries for a variety of different platforms. + +A brief summary of these folders are as follows: + +- Windows, Mac, Linux +-- 64bit (x64) + +- Android (Kitkat 4.4 minimum target OS) +-- ARMv7 (armeabi-v7a), ARMv8/AArch64 (arm64-v8a) + +- iOS +-- FAT Library (armv7 + arm64). Targeted for iOS 8 minimum. Unsigned library. + +DEBUG VERSIONS +=============== +Debug versions of the libraries can be obtained at https://github.com/SoftwareGuy/ENet-CSharp/releases. +Otherwise you can also compile the library yourself with Debug enabled. + +DOT POINTS +=========== +1. 32bit Support for Ignorance has been removed. Originally, I did not want to support 32bit operating systems, +however due to some countries in the world still stuck in the 32bit era (Brasil, some Russian areas, etc) I added them as a +goodwill gesture. However, since those who needed the libraries have now vanished, I have stopped building 32bit versions of ENet. + +COMPILE THE CODE YOURSELF +========================= +If you don't trust the above binaries then git clone the ENET-CSharp repository (http://github.com/SoftwareGuy/ENet-CSharp) and read the readme. + +EXCLUSION INSTRUCTIONS +====================== +No need, the meta data will cover that for you. + +Still don't know what to do with these? Drop by the Mirror discord and post in the Ignorance channel. \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt.meta new file mode 100644 index 0000000..968eafe --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/readme.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a28193472bc84d341ab4aee18c471a93 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/version.txt b/Assets/Mirror/Runtime/Transport/Ignorance/version.txt new file mode 100644 index 0000000..e14bdc8 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/version.txt @@ -0,0 +1 @@ +1.4.0b6 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/version.txt.meta b/Assets/Mirror/Runtime/Transport/Ignorance/version.txt.meta new file mode 100644 index 0000000..bd4c745 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/version.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ad80075449f17c548877161f32a9841a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP.meta b/Assets/Mirror/Runtime/Transport/KCP.meta new file mode 100644 index 0000000..ba9d190 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 953bb5ec5ab2346a092f58061e01ba65 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport.meta b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport.meta new file mode 100644 index 0000000..dedea2f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bdb797750d0a490684410110bf48192 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs new file mode 100644 index 0000000..d75db74 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs @@ -0,0 +1,342 @@ +//#if MIRROR <- commented out because MIRROR isn't defined on first import yet +using System; +using System.Linq; +using System.Net; +using UnityEngine; +using Mirror; + +namespace kcp2k +{ + [DisallowMultipleComponent] + public class KcpTransport : Transport + { + // scheme used by this transport + public const string Scheme = "kcp"; + + // common + [Header("Transport Configuration")] + public ushort Port = 7777; + [Tooltip("DualMode listens to IPv6 and IPv4 simultaneously. Disable if the platform only supports IPv4.")] + public bool DualMode = true; + [Tooltip("NoDelay is recommended to reduce latency. This also scales better without buffers getting full.")] + public bool NoDelay = true; + [Tooltip("KCP internal update interval. 100ms is KCP default, but a lower interval is recommended to minimize latency and to scale to more networked entities.")] + public uint Interval = 10; + [Tooltip("KCP timeout in milliseconds. Note that KCP sends a ping automatically.")] + public int Timeout = 10000; + + [Header("Advanced")] + [Tooltip("KCP fastresend parameter. Faster resend for the cost of higher bandwidth. 0 in normal mode, 2 in turbo mode.")] + public int FastResend = 2; + [Tooltip("KCP congestion window. Enabled in normal mode, disabled in turbo mode. Disable this for high scale games if connections get choked regularly.")] + public bool CongestionWindow = false; // KCP 'NoCongestionWindow' is false by default. here we negate it for ease of use. + [Tooltip("KCP window size can be modified to support higher loads.")] + public uint SendWindowSize = 4096; //Kcp.WND_SND; 32 by default. Mirror sends a lot, so we need a lot more. + [Tooltip("KCP window size can be modified to support higher loads.")] + public uint ReceiveWindowSize = 4096; //Kcp.WND_RCV; 128 by default. Mirror sends a lot, so we need a lot more. + [Tooltip("Enable to use where-allocation NonAlloc KcpServer/Client/Connection versions. Highly recommended on all Unity platforms.")] + public bool NonAlloc = true; + + // server & client (where-allocation NonAlloc versions) + KcpServer server; + KcpClient client; + + // debugging + [Header("Debug")] + public bool debugLog; + // show statistics in OnGUI + public bool statisticsGUI; + // log statistics for headless servers that can't show them in GUI + public bool statisticsLog; + + void Awake() + { + // logging + // Log.Info should use Debug.Log if enabled, or nothing otherwise + // (don't want to spam the console on headless servers) + if (debugLog) + Log.Info = Debug.Log; + else + Log.Info = _ => {}; + Log.Warning = Debug.LogWarning; + Log.Error = Debug.LogError; + + // client + client = NonAlloc + ? new KcpClientNonAlloc( + () => OnClientConnected.Invoke(), + (message) => OnClientDataReceived.Invoke(message, Channels.Reliable), + () => OnClientDisconnected.Invoke()) + : new KcpClient( + () => OnClientConnected.Invoke(), + (message) => OnClientDataReceived.Invoke(message, Channels.Reliable), + () => OnClientDisconnected.Invoke()); + + // server + server = NonAlloc + ? new KcpServerNonAlloc( + (connectionId) => OnServerConnected.Invoke(connectionId), + (connectionId, message) => OnServerDataReceived.Invoke(connectionId, message, Channels.Reliable), + (connectionId) => OnServerDisconnected.Invoke(connectionId), + DualMode, + NoDelay, + Interval, + FastResend, + CongestionWindow, + SendWindowSize, + ReceiveWindowSize, + Timeout) + : new KcpServer( + (connectionId) => OnServerConnected.Invoke(connectionId), + (connectionId, message) => OnServerDataReceived.Invoke(connectionId, message, Channels.Reliable), + (connectionId) => OnServerDisconnected.Invoke(connectionId), + DualMode, + NoDelay, + Interval, + FastResend, + CongestionWindow, + SendWindowSize, + ReceiveWindowSize, + Timeout); + + if (statisticsLog) + InvokeRepeating(nameof(OnLogStatistics), 1, 1); + + Debug.Log("KcpTransport initialized!"); + } + + // all except WebGL + public override bool Available() => + Application.platform != RuntimePlatform.WebGLPlayer; + + // client + public override bool ClientConnected() => client.connected; + public override void ClientConnect(string address) + { + client.Connect(address, Port, NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize, Timeout); + } + public override void ClientSend(ArraySegment segment, int channelId) + { + // switch to kcp channel. + // unreliable or reliable. + // default to reliable just to be sure. + switch (channelId) + { + case Channels.Unreliable: + client.Send(segment, KcpChannel.Unreliable); + break; + default: + client.Send(segment, KcpChannel.Reliable); + break; + } + } + public override void ClientDisconnect() => client.Disconnect(); + // process incoming in early update + public override void ClientEarlyUpdate() + { + // scene change messages disable transports to stop them from + // processing while changing the scene. + // -> we need to check enabled here + // -> and in kcp's internal loops, see Awake() OnCheckEnabled setup! + // (see also: https://github.com/vis2k/Mirror/pull/379) + if (enabled) client.TickIncoming(); + } + // process outgoing in late update + public override void ClientLateUpdate() => client.TickOutgoing(); + + // scene change message will disable transports. + // kcp processes messages in an internal loop which should be + // stopped immediately after scene change (= after disabled) + // => kcp has tests to guaranteed that calling .Pause() during the + // receive loop stops the receive loop immediately, not after. + void OnEnable() + { + // unpause when enabled again + client?.Unpause(); + server?.Unpause(); + } + + void OnDisable() + { + // pause immediately when not enabled anymore + client?.Pause(); + server?.Pause(); + } + + // server + public override Uri ServerUri() + { + UriBuilder builder = new UriBuilder(); + builder.Scheme = Scheme; + builder.Host = Dns.GetHostName(); + builder.Port = Port; + return builder.Uri; + } + public override bool ServerActive() => server.IsActive(); + public override void ServerStart() => server.Start(Port); + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + // switch to kcp channel. + // unreliable or reliable. + // default to reliable just to be sure. + switch (channelId) + { + case Channels.Unreliable: + server.Send(connectionId, segment, KcpChannel.Unreliable); + break; + default: + server.Send(connectionId, segment, KcpChannel.Reliable); + break; + } + } + public override void ServerDisconnect(int connectionId) => server.Disconnect(connectionId); + public override string ServerGetClientAddress(int connectionId) => server.GetClientAddress(connectionId); + public override void ServerStop() => server.Stop(); + public override void ServerEarlyUpdate() + { + // scene change messages disable transports to stop them from + // processing while changing the scene. + // -> we need to check enabled here + // -> and in kcp's internal loops, see Awake() OnCheckEnabled setup! + // (see also: https://github.com/vis2k/Mirror/pull/379) + if (enabled) server.TickIncoming(); + } + // process outgoing in late update + public override void ServerLateUpdate() => server.TickOutgoing(); + + // common + public override void Shutdown() {} + + // max message size + public override int GetMaxPacketSize(int channelId = Channels.Reliable) + { + // switch to kcp channel. + // unreliable or reliable. + // default to reliable just to be sure. + switch (channelId) + { + case Channels.Unreliable: + return KcpConnection.UnreliableMaxMessageSize; + default: + return KcpConnection.ReliableMaxMessageSize; + } + } + + // kcp reliable channel max packet size is MTU * WND_RCV + // this allows 144kb messages. but due to head of line blocking, all + // other messages would have to wait until the maxed size one is + // delivered. batching 144kb messages each time would be EXTREMELY slow + // and fill the send queue nearly immediately when using it over the + // network. + // => instead we always use MTU sized batches. + // => people can still send maxed size if needed. + public override int GetBatchThreshold(int channelId) => + KcpConnection.UnreliableMaxMessageSize; + + // server statistics + // LONG to avoid int overflows with connections.Sum. + // see also: https://github.com/vis2k/Mirror/pull/2777 + public long GetAverageMaxSendRate() => + server.connections.Count > 0 + ? server.connections.Values.Sum(conn => (long)conn.MaxSendRate) / server.connections.Count + : 0; + public long GetAverageMaxReceiveRate() => + server.connections.Count > 0 + ? server.connections.Values.Sum(conn => (long)conn.MaxReceiveRate) / server.connections.Count + : 0; + long GetTotalSendQueue() => + server.connections.Values.Sum(conn => conn.SendQueueCount); + long GetTotalReceiveQueue() => + server.connections.Values.Sum(conn => conn.ReceiveQueueCount); + long GetTotalSendBuffer() => + server.connections.Values.Sum(conn => conn.SendBufferCount); + long GetTotalReceiveBuffer() => + server.connections.Values.Sum(conn => conn.ReceiveBufferCount); + + // PrettyBytes function from DOTSNET + // pretty prints bytes as KB/MB/GB/etc. + // long to support > 2GB + // divides by floats to return "2.5MB" etc. + public static string PrettyBytes(long bytes) + { + // bytes + if (bytes < 1024) + return $"{bytes} B"; + // kilobytes + else if (bytes < 1024L * 1024L) + return $"{(bytes / 1024f):F2} KB"; + // megabytes + else if (bytes < 1024 * 1024L * 1024L) + return $"{(bytes / (1024f * 1024f)):F2} MB"; + // gigabytes + return $"{(bytes / (1024f * 1024f * 1024f)):F2} GB"; + } + + void OnGUI() + { + if (!statisticsGUI) return; + + GUILayout.BeginArea(new Rect(5, 110, 300, 300)); + + if (ServerActive()) + { + GUILayout.BeginVertical("Box"); + GUILayout.Label("SERVER"); + GUILayout.Label($" connections: {server.connections.Count}"); + GUILayout.Label($" MaxSendRate (avg): {PrettyBytes(GetAverageMaxSendRate())}/s"); + GUILayout.Label($" MaxRecvRate (avg): {PrettyBytes(GetAverageMaxReceiveRate())}/s"); + GUILayout.Label($" SendQueue: {GetTotalSendQueue()}"); + GUILayout.Label($" ReceiveQueue: {GetTotalReceiveQueue()}"); + GUILayout.Label($" SendBuffer: {GetTotalSendBuffer()}"); + GUILayout.Label($" ReceiveBuffer: {GetTotalReceiveBuffer()}"); + GUILayout.EndVertical(); + } + + if (ClientConnected()) + { + GUILayout.BeginVertical("Box"); + GUILayout.Label("CLIENT"); + GUILayout.Label($" MaxSendRate: {PrettyBytes(client.connection.MaxSendRate)}/s"); + GUILayout.Label($" MaxRecvRate: {PrettyBytes(client.connection.MaxReceiveRate)}/s"); + GUILayout.Label($" SendQueue: {client.connection.SendQueueCount}"); + GUILayout.Label($" ReceiveQueue: {client.connection.ReceiveQueueCount}"); + GUILayout.Label($" SendBuffer: {client.connection.SendBufferCount}"); + GUILayout.Label($" ReceiveBuffer: {client.connection.ReceiveBufferCount}"); + GUILayout.EndVertical(); + } + + GUILayout.EndArea(); + } + + void OnLogStatistics() + { + if (ServerActive()) + { + string log = "kcp SERVER @ time: " + NetworkTime.localTime + "\n"; + log += $" connections: {server.connections.Count}\n"; + log += $" MaxSendRate (avg): {PrettyBytes(GetAverageMaxSendRate())}/s\n"; + log += $" MaxRecvRate (avg): {PrettyBytes(GetAverageMaxReceiveRate())}/s\n"; + log += $" SendQueue: {GetTotalSendQueue()}\n"; + log += $" ReceiveQueue: {GetTotalReceiveQueue()}\n"; + log += $" SendBuffer: {GetTotalSendBuffer()}\n"; + log += $" ReceiveBuffer: {GetTotalReceiveBuffer()}\n\n"; + Debug.Log(log); + } + + if (ClientConnected()) + { + string log = "kcp CLIENT @ time: " + NetworkTime.localTime + "\n"; + log += $" MaxSendRate: {PrettyBytes(client.connection.MaxSendRate)}/s\n"; + log += $" MaxRecvRate: {PrettyBytes(client.connection.MaxReceiveRate)}/s\n"; + log += $" SendQueue: {client.connection.SendQueueCount}\n"; + log += $" ReceiveQueue: {client.connection.ReceiveQueueCount}\n"; + log += $" SendBuffer: {client.connection.SendBufferCount}\n"; + log += $" ReceiveBuffer: {client.connection.ReceiveBufferCount}\n\n"; + Debug.Log(log); + } + } + + public override string ToString() => "KCP"; + } +} +//#endif MIRROR <- commented out because MIRROR isn't defined on first import yet diff --git a/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs.meta new file mode 100644 index 0000000..f7280c8 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b0fecffa3f624585964b0d0eb21b18e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k.meta new file mode 100644 index 0000000..1dceadf --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71a1c8e8c022d4731a481c1808f37e5d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE new file mode 100644 index 0000000..c77582e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2016 limpo1989 +Copyright (c) 2020 Paul Pacheco +Copyright (c) 2020 Lymdun +Copyright (c) 2020 vis2k + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE.meta new file mode 100644 index 0000000..49dc767 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9a3e8369060cf4e94ac117603de47aa6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION new file mode 100644 index 0000000..b8de4bc --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION @@ -0,0 +1,94 @@ +V1.12 [2021-07-16] +- where-allocation removed. will be optional in the future. +- Tests: don't depend on Unity anymore +- fix: #26 - Kcp now catches exception if host couldn't be resolved, and calls + OnDisconnected to let the user now. +- fix: KcpServer.DualMode is now configurable in the constructor instead of + using #if UNITY_SWITCH. makes it run on all other non dual mode platforms too. + +V1.11 rollback [2021-06-01] +- perf: Segment MemoryStream initial capacity set to MTU to avoid early runtime + resizing/allocations + +V1.10 [2021-05-28] +- feature: configurable Timeout +- allocations explained with comments (C# ReceiveFrom / IPEndPoint.GetHashCode) +- fix: #17 KcpConnection.ReceiveNextReliable now assigns message default so it + works in .net too +- fix: Segment pool is not static anymore. Each kcp instance now has it's own + Pool. fixes #18 concurrency issues + +V1.9 [2021-03-02] +- Tick() split into TickIncoming()/TickOutgoing() to use in Mirror's new update + functions. allows to minimize latency. + => original Tick() is still supported for convenience. simply processes both! + +V1.8 [2021-02-14] +- fix: Unity IPv6 errors on Nintendo Switch +- fix: KcpConnection now disconnects if data message was received without content. + previously it would call OnData with an empty ArraySegment, causing all kinds of + weird behaviour in Mirror/DOTSNET. Added tests too. +- fix: KcpConnection.SendData: don't allow sending empty messages anymore. disconnect + and log a warning to make it completely obvious. + +V1.7 [2021-01-13] +- fix: unreliable messages reset timeout now too +- perf: KcpConnection OnCheckEnabled callback changed to a simple 'paused' boolean. + This is faster than invoking a Func every time and allows us to fix #8 more + easily later by calling .Pause/.Unpause from OnEnable/OnDisable in MirrorTransport. +- fix #8: Unpause now resets timeout to fix a bug where Mirror would pause kcp, + change the scene which took >10s, then unpause and kcp would detect the lack of + any messages for >10s as timeout. Added test to make sure it never happens again. +- MirrorTransport: statistics logging for headless servers +- Mirror Transport: Send/Receive window size increased once more from 2048 to 4096. + +V1.6 [2021-01-10] +- Unreliable channel added! +- perf: KcpHeader byte added to every kcp message to indicate + Handshake/Data/Ping/Disconnect instead of scanning each message for Hello/Byte/Ping + content via SegmentEquals. It's a lot cleaner, should be faster and should avoid + edge cases where a message content would equal Hello/Ping/Bye sequence accidentally. +- Kcp.Input: offset moved to parameters for cases where it's needed +- Kcp.SetMtu from original Kcp.c + +V1.5 [2021-01-07] +- KcpConnection.MaxSend/ReceiveRate calculation based on the article +- MirrorTransport: large send/recv window size defaults to avoid high latencies caused + by packets not being processed fast enough +- MirrorTransport: show MaxSend/ReceiveRate in debug gui +- MirrorTransport: don't Log.Info to console in headless mode if debug log is disabled + +V1.4 [2020-11-27] +- fix: OnCheckEnabled added. KcpConnection message processing while loop can now + be interrupted immediately. fixes Mirror Transport scene changes which need to stop + processing any messages immediately after a scene message) +- perf: Mirror KcpTransport: FastResend enabled by default. turbo mode according to: + https://github.com/skywind3000/kcp/blob/master/README.en.md#protocol-configuration +- perf: Mirror KcpTransport: CongestionControl disabled by default (turbo mode) + +V1.3 [2020-11-17] +- Log.Info/Warning/Error so logging doesn't depend on UnityEngine anymore +- fix: Server.Tick catches SocketException which happens if Android client is killed +- MirrorTransport: debugLog option added that can be checked in Unity Inspector +- Utils.Clamp so Kcp.cs doesn't depend on UnityEngine +- Utils.SegmentsEqual: use Linq SequenceEqual so it doesn't depend on UnityEngine +=> kcp2k can now be used in any C# project even without Unity + +V1.2 [2020-11-10] +- more tests added +- fix: raw receive buffers are now all of MTU size +- fix: raw receive detects error where buffer was too small for msgLength and + result in excess data being dropped silently +- KcpConnection.MaxMessageSize added for use in high level +- KcpConnection.MaxMessageSize increased from 1200 bytes to to maximum allowed + message size of 145KB for kcp (based on mtu, overhead, wnd_rcv) + +V1.1 [2020-10-30] +- high level cleanup, fixes, improvements + +V1.0 [2020-10-22] +- Kcp.cs now mirrors original Kcp.c behaviour + (this fixes dozens of bugs) + +V0.1 +- initial kcp-csharp based version \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION.meta new file mode 100644 index 0000000..2a07daa --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/VERSION.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed3f2cf1bbf1b4d53a6f2c103d311f71 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel.meta new file mode 100644 index 0000000..1c11c3d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a54d18b954cb4407a28b633fc32ea6d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs new file mode 100644 index 0000000..ccb19ba --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs @@ -0,0 +1,10 @@ +namespace kcp2k +{ + // channel type and header for raw messages + public enum KcpChannel : byte + { + // don't react on 0x00. might help to filter out random noise. + Reliable = 0x01, + Unreliable = 0x02 + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs.meta new file mode 100644 index 0000000..2721025 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpChannel.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9e852b2532fb248d19715cfebe371db3 +timeCreated: 1610081248 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs new file mode 100644 index 0000000..64a005a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs @@ -0,0 +1,120 @@ +// kcp client logic abstracted into a class. +// for use in Mirror, DOTSNET, testing, etc. +using System; + +namespace kcp2k +{ + public class KcpClient + { + // events + public Action OnConnected; + public Action> OnData; + public Action OnDisconnected; + + // state + public KcpClientConnection connection; + public bool connected; + + public KcpClient(Action OnConnected, Action> OnData, Action OnDisconnected) + { + this.OnConnected = OnConnected; + this.OnData = OnData; + this.OnDisconnected = OnDisconnected; + } + + // CreateConnection can be overwritten for where-allocation: + // https://github.com/vis2k/where-allocation + protected virtual KcpClientConnection CreateConnection() => + new KcpClientConnection(); + + public void Connect(string address, ushort port, bool noDelay, uint interval, int fastResend = 0, bool congestionWindow = true, uint sendWindowSize = Kcp.WND_SND, uint receiveWindowSize = Kcp.WND_RCV, int timeout = KcpConnection.DEFAULT_TIMEOUT) + { + if (connected) + { + Log.Warning("KCP: client already connected!"); + return; + } + + // create connection + connection = CreateConnection(); + + // setup events + connection.OnAuthenticated = () => + { + Log.Info($"KCP: OnClientConnected"); + connected = true; + OnConnected.Invoke(); + }; + connection.OnData = (message) => + { + //Log.Debug($"KCP: OnClientData({BitConverter.ToString(message.Array, message.Offset, message.Count)})"); + OnData.Invoke(message); + }; + connection.OnDisconnected = () => + { + Log.Info($"KCP: OnClientDisconnected"); + connected = false; + connection = null; + OnDisconnected.Invoke(); + }; + + // connect + connection.Connect(address, port, noDelay, interval, fastResend, congestionWindow, sendWindowSize, receiveWindowSize, timeout); + } + + public void Send(ArraySegment segment, KcpChannel channel) + { + if (connected) + { + connection.SendData(segment, channel); + } + else Log.Warning("KCP: can't send because client not connected!"); + } + + public void Disconnect() + { + // only if connected + // otherwise we end up in a deadlock because of an open Mirror bug: + // https://github.com/vis2k/Mirror/issues/2353 + if (connected) + { + // call Disconnect and let the connection handle it. + // DO NOT set it to null yet. it needs to be updated a few more + // times first. let the connection handle it! + connection?.Disconnect(); + } + } + + // process incoming messages. should be called before updating the world. + public void TickIncoming() + { + // recv on socket first, then process incoming + // (even if we didn't receive anything. need to tick ping etc.) + // (connection is null if not active) + connection?.RawReceive(); + connection?.TickIncoming(); + } + + // process outgoing messages. should be called after updating the world. + public void TickOutgoing() + { + // process outgoing + // (connection is null if not active) + connection?.TickOutgoing(); + } + + // process incoming and outgoing for convenience + // => ideally call ProcessIncoming() before updating the world and + // ProcessOutgoing() after updating the world for minimum latency + public void Tick() + { + TickIncoming(); + TickOutgoing(); + } + + // pause/unpause to safely support mirror scene handling and to + // immediately pause the receive while loop if needed. + public void Pause() => connection?.Pause(); + public void Unpause() => connection?.Unpause(); + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs.meta new file mode 100644 index 0000000..e55306b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClient.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6aa069a28ed24fedb533c102d9742b36 +timeCreated: 1603786960 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs new file mode 100644 index 0000000..9bde4af --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs @@ -0,0 +1,109 @@ +using System.Net; +using System.Net.Sockets; + +namespace kcp2k +{ + public class KcpClientConnection : KcpConnection + { + // IMPORTANT: raw receive buffer always needs to be of 'MTU' size, even + // if MaxMessageSize is larger. kcp always sends in MTU + // segments and having a buffer smaller than MTU would + // silently drop excess data. + // => we need the MTU to fit channel + message! + readonly byte[] rawReceiveBuffer = new byte[Kcp.MTU_DEF]; + + // helper function to resolve host to IPAddress + public static bool ResolveHostname(string hostname, out IPAddress[] addresses) + { + try + { + addresses = Dns.GetHostAddresses(hostname); + return addresses.Length >= 1; + } + catch (SocketException) + { + Log.Info($"Failed to resolve host: {hostname}"); + addresses = null; + return false; + } + } + + // EndPoint & Receive functions can be overwritten for where-allocation: + // https://github.com/vis2k/where-allocation + // NOTE: Client's SendTo doesn't allocate, don't need a virtual. + protected virtual void CreateRemoteEndPoint(IPAddress[] addresses, ushort port) => + remoteEndPoint = new IPEndPoint(addresses[0], port); + + protected virtual int ReceiveFrom(byte[] buffer) => + socket.ReceiveFrom(buffer, ref remoteEndPoint); + + public void Connect(string host, ushort port, bool noDelay, uint interval = Kcp.INTERVAL, int fastResend = 0, bool congestionWindow = true, uint sendWindowSize = Kcp.WND_SND, uint receiveWindowSize = Kcp.WND_RCV, int timeout = DEFAULT_TIMEOUT) + { + Log.Info($"KcpClient: connect to {host}:{port}"); + + // try resolve host name + if (ResolveHostname(host, out IPAddress[] addresses)) + { + // create remote endpoint + CreateRemoteEndPoint(addresses, port); + + // create socket + socket = new Socket(remoteEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp); + socket.Connect(remoteEndPoint); + + // set up kcp + SetupKcp(noDelay, interval, fastResend, congestionWindow, sendWindowSize, receiveWindowSize, timeout); + + // client should send handshake to server as very first message + SendHandshake(); + + RawReceive(); + } + // otherwise call OnDisconnected to let the user know. + else OnDisconnected(); + } + + + // call from transport update + public void RawReceive() + { + try + { + if (socket != null) + { + while (socket.Poll(0, SelectMode.SelectRead)) + { + int msgLength = ReceiveFrom(rawReceiveBuffer); + // IMPORTANT: detect if buffer was too small for the + // received msgLength. otherwise the excess + // data would be silently lost. + // (see ReceiveFrom documentation) + if (msgLength <= rawReceiveBuffer.Length) + { + //Log.Debug($"KCP: client raw recv {msgLength} bytes = {BitConverter.ToString(buffer, 0, msgLength)}"); + RawInput(rawReceiveBuffer, msgLength); + } + else + { + Log.Error($"KCP ClientConnection: message of size {msgLength} does not fit into buffer of size {rawReceiveBuffer.Length}. The excess was silently dropped. Disconnecting."); + Disconnect(); + } + } + } + } + // this is fine, the socket might have been closed in the other end + catch (SocketException) {} + } + + protected override void Dispose() + { + socket.Close(); + socket = null; + } + + protected override void RawSend(byte[] data, int length) + { + socket.Send(data, length, SocketFlags.None); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs.meta new file mode 100644 index 0000000..3369918 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpClientConnection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 96512e74aa8214a6faa8a412a7a07877 +timeCreated: 1602601237 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs new file mode 100644 index 0000000..ecfe562 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs @@ -0,0 +1,674 @@ +using System; +using System.Diagnostics; +using System.Net; +using System.Net.Sockets; + +namespace kcp2k +{ + enum KcpState { Connected, Authenticated, Disconnected } + + public abstract class KcpConnection + { + protected Socket socket; + protected EndPoint remoteEndPoint; + internal Kcp kcp; + + // kcp can have several different states, let's use a state machine + KcpState state = KcpState.Disconnected; + + public Action OnAuthenticated; + public Action> OnData; + public Action OnDisconnected; + + // Mirror needs a way to stop the kcp message processing while loop + // immediately after a scene change message. Mirror can't process any + // other messages during a scene change. + // (could be useful for others too) + bool paused; + + // If we don't receive anything these many milliseconds + // then consider us disconnected + public const int DEFAULT_TIMEOUT = 10000; + public int timeout = DEFAULT_TIMEOUT; + uint lastReceiveTime; + + // internal time. + // StopWatch offers ElapsedMilliSeconds and should be more precise than + // Unity's time.deltaTime over long periods. + readonly Stopwatch refTime = new Stopwatch(); + + // we need to subtract the channel byte from every MaxMessageSize + // calculation. + // we also need to tell kcp to use MTU-1 to leave space for the byte. + const int CHANNEL_HEADER_SIZE = 1; + + // reliable channel (= kcp) MaxMessageSize so the outside knows largest + // allowed message to send the calculation in Send() is not obvious at + // all, so let's provide the helper here. + // + // kcp does fragmentation, so max message is way larger than MTU. + // + // -> runtime MTU changes are disabled: mss is always MTU_DEF-OVERHEAD + // -> Send() checks if fragment count < WND_RCV, so we use WND_RCV - 1. + // note that Send() checks WND_RCV instead of wnd_rcv which may or + // may not be a bug in original kcp. but since it uses the define, we + // can use that here too. + // -> we add 1 byte KcpHeader enum to each message, so -1 + // + // IMPORTANT: max message is MTU * WND_RCV, in other words it completely + // fills the receive window! due to head of line blocking, + // all other messages have to wait while a maxed size message + // is being delivered. + // => in other words, DO NOT use max size all the time like + // for batching. + // => sending UNRELIABLE max message size most of the time is + // best for performance (use that one for batching!) + public const int ReliableMaxMessageSize = (Kcp.MTU_DEF - Kcp.OVERHEAD - CHANNEL_HEADER_SIZE) * (Kcp.WND_RCV - 1) - 1; + + // unreliable max message size is simply MTU - channel header size + public const int UnreliableMaxMessageSize = Kcp.MTU_DEF - CHANNEL_HEADER_SIZE; + + // buffer to receive kcp's processed messages (avoids allocations). + // IMPORTANT: this is for KCP messages. so it needs to be of size: + // 1 byte header + MaxMessageSize content + byte[] kcpMessageBuffer = new byte[1 + ReliableMaxMessageSize]; + + // send buffer for handing user messages to kcp for processing. + // (avoids allocations). + // IMPORTANT: needs to be of size: + // 1 byte header + MaxMessageSize content + byte[] kcpSendBuffer = new byte[1 + ReliableMaxMessageSize]; + + // raw send buffer is exactly MTU. + byte[] rawSendBuffer = new byte[Kcp.MTU_DEF]; + + // send a ping occasionally so we don't time out on the other end. + // for example, creating a character in an MMO could easily take a + // minute of no data being sent. which doesn't mean we want to time out. + // same goes for slow paced card games etc. + public const int PING_INTERVAL = 1000; + uint lastPingTime; + + // if we send more than kcp can handle, we will get ever growing + // send/recv buffers and queues and minutes of latency. + // => if a connection can't keep up, it should be disconnected instead + // to protect the server under heavy load, and because there is no + // point in growing to gigabytes of memory or minutes of latency! + // => 2k isn't enough. we reach 2k when spawning 4k monsters at once + // easily, but it does recover over time. + // => 10k seems safe. + // + // note: we have a ChokeConnectionAutoDisconnects test for this too! + internal const int QueueDisconnectThreshold = 10000; + + // getters for queue and buffer counts, used for debug info + public int SendQueueCount => kcp.snd_queue.Count; + public int ReceiveQueueCount => kcp.rcv_queue.Count; + public int SendBufferCount => kcp.snd_buf.Count; + public int ReceiveBufferCount => kcp.rcv_buf.Count; + + // maximum send rate per second can be calculated from kcp parameters + // source: https://translate.google.com/translate?sl=auto&tl=en&u=https://wetest.qq.com/lab/view/391.html + // + // KCP can send/receive a maximum of WND*MTU per interval. + // multiple by 1000ms / interval to get the per-second rate. + // + // example: + // WND(32) * MTU(1400) = 43.75KB + // => 43.75KB * 1000 / INTERVAL(10) = 4375KB/s + // + // returns bytes/second! + public uint MaxSendRate => + kcp.snd_wnd * kcp.mtu * 1000 / kcp.interval; + + public uint MaxReceiveRate => + kcp.rcv_wnd * kcp.mtu * 1000 / kcp.interval; + + // SetupKcp creates and configures a new KCP instance. + // => useful to start from a fresh state every time the client connects + // => NoDelay, interval, wnd size are the most important configurations. + // let's force require the parameters so we don't forget it anywhere. + protected void SetupKcp(bool noDelay, uint interval = Kcp.INTERVAL, int fastResend = 0, bool congestionWindow = true, uint sendWindowSize = Kcp.WND_SND, uint receiveWindowSize = Kcp.WND_RCV, int timeout = DEFAULT_TIMEOUT) + { + // set up kcp over reliable channel (that's what kcp is for) + kcp = new Kcp(0, RawSendReliable); + // set nodelay. + // note that kcp uses 'nocwnd' internally so we negate the parameter + kcp.SetNoDelay(noDelay ? 1u : 0u, interval, fastResend, !congestionWindow); + kcp.SetWindowSize(sendWindowSize, receiveWindowSize); + + // IMPORTANT: high level needs to add 1 channel byte to each raw + // message. so while Kcp.MTU_DEF is perfect, we actually need to + // tell kcp to use MTU-1 so we can still put the header into the + // message afterwards. + kcp.SetMtu(Kcp.MTU_DEF - CHANNEL_HEADER_SIZE); + + this.timeout = timeout; + state = KcpState.Connected; + + refTime.Start(); + } + + void HandleTimeout(uint time) + { + // note: we are also sending a ping regularly, so timeout should + // only ever happen if the connection is truly gone. + if (time >= lastReceiveTime + timeout) + { + Log.Warning($"KCP: Connection timed out after not receiving any message for {timeout}ms. Disconnecting."); + Disconnect(); + } + } + + void HandleDeadLink() + { + // kcp has 'dead_link' detection. might as well use it. + if (kcp.state == -1) + { + Log.Warning("KCP Connection dead_link detected. Disconnecting."); + Disconnect(); + } + } + + // send a ping occasionally in order to not time out on the other end. + void HandlePing(uint time) + { + // enough time elapsed since last ping? + if (time >= lastPingTime + PING_INTERVAL) + { + // ping again and reset time + //Log.Debug("KCP: sending ping..."); + SendPing(); + lastPingTime = time; + } + } + + void HandleChoked() + { + // disconnect connections that can't process the load. + // see QueueSizeDisconnect comments. + // => include all of kcp's buffers and the unreliable queue! + int total = kcp.rcv_queue.Count + kcp.snd_queue.Count + + kcp.rcv_buf.Count + kcp.snd_buf.Count; + if (total >= QueueDisconnectThreshold) + { + Log.Warning($"KCP: disconnecting connection because it can't process data fast enough.\n" + + $"Queue total {total}>{QueueDisconnectThreshold}. rcv_queue={kcp.rcv_queue.Count} snd_queue={kcp.snd_queue.Count} rcv_buf={kcp.rcv_buf.Count} snd_buf={kcp.snd_buf.Count}\n" + + $"* Try to Enable NoDelay, decrease INTERVAL, disable Congestion Window (= enable NOCWND!), increase SEND/RECV WINDOW or compress data.\n" + + $"* Or perhaps the network is simply too slow on our end, or on the other end.\n"); + + // let's clear all pending sends before disconnting with 'Bye'. + // otherwise a single Flush in Disconnect() won't be enough to + // flush thousands of messages to finally deliver 'Bye'. + // this is just faster and more robust. + kcp.snd_queue.Clear(); + + Disconnect(); + } + } + + // reads the next reliable message type & content from kcp. + // -> to avoid buffering, unreliable messages call OnData directly. + bool ReceiveNextReliable(out KcpHeader header, out ArraySegment message) + { + int msgSize = kcp.PeekSize(); + if (msgSize > 0) + { + // only allow receiving up to buffer sized messages. + // otherwise we would get BlockCopy ArgumentException anyway. + if (msgSize <= kcpMessageBuffer.Length) + { + // receive from kcp + int received = kcp.Receive(kcpMessageBuffer, msgSize); + if (received >= 0) + { + // extract header & content without header + header = (KcpHeader)kcpMessageBuffer[0]; + message = new ArraySegment(kcpMessageBuffer, 1, msgSize - 1); + lastReceiveTime = (uint)refTime.ElapsedMilliseconds; + return true; + } + else + { + // if receive failed, close everything + Log.Warning($"Receive failed with error={received}. closing connection."); + Disconnect(); + } + } + // we don't allow sending messages > Max, so this must be an + // attacker. let's disconnect to avoid allocation attacks etc. + else + { + Log.Warning($"KCP: possible allocation attack for msgSize {msgSize} > buffer {kcpMessageBuffer.Length}. Disconnecting the connection."); + Disconnect(); + } + } + + message = default; + header = KcpHeader.Disconnect; + return false; + } + + void TickIncoming_Connected(uint time) + { + // detect common events & ping + HandleTimeout(time); + HandleDeadLink(); + HandlePing(time); + HandleChoked(); + + // any reliable kcp message received? + if (ReceiveNextReliable(out KcpHeader header, out ArraySegment message)) + { + // message type FSM. no default so we never miss a case. + switch (header) + { + case KcpHeader.Handshake: + { + // we were waiting for a handshake. + // it proves that the other end speaks our protocol. + Log.Info("KCP: received handshake"); + state = KcpState.Authenticated; + OnAuthenticated?.Invoke(); + break; + } + case KcpHeader.Ping: + { + // ping keeps kcp from timing out. do nothing. + break; + } + case KcpHeader.Data: + case KcpHeader.Disconnect: + { + // everything else is not allowed during handshake! + Log.Warning($"KCP: received invalid header {header} while Connected. Disconnecting the connection."); + Disconnect(); + break; + } + } + } + } + + void TickIncoming_Authenticated(uint time) + { + // detect common events & ping + HandleTimeout(time); + HandleDeadLink(); + HandlePing(time); + HandleChoked(); + + // process all received messages + // + // Mirror scene changing requires transports to immediately stop + // processing any more messages after a scene message was + // received. and since we are in a while loop here, we need this + // extra check. + // + // note while that this is mainly for Mirror, but might be + // useful in other applications too. + // + // note that we check it BEFORE ever calling ReceiveNext. otherwise + // we would silently eat the received message and never process it. + while (!paused && + ReceiveNextReliable(out KcpHeader header, out ArraySegment message)) + { + // message type FSM. no default so we never miss a case. + switch (header) + { + case KcpHeader.Handshake: + { + // should never receive another handshake after auth + Log.Warning($"KCP: received invalid header {header} while Authenticated. Disconnecting the connection."); + Disconnect(); + break; + } + case KcpHeader.Data: + { + // call OnData IF the message contained actual data + if (message.Count > 0) + { + //Log.Warning($"Kcp recv msg: {BitConverter.ToString(message.Array, message.Offset, message.Count)}"); + OnData?.Invoke(message); + } + // empty data = attacker, or something went wrong + else + { + Log.Warning("KCP: received empty Data message while Authenticated. Disconnecting the connection."); + Disconnect(); + } + break; + } + case KcpHeader.Ping: + { + // ping keeps kcp from timing out. do nothing. + break; + } + case KcpHeader.Disconnect: + { + // disconnect might happen + Log.Info("KCP: received disconnect message"); + Disconnect(); + break; + } + } + } + } + + public void TickIncoming() + { + uint time = (uint)refTime.ElapsedMilliseconds; + + try + { + switch (state) + { + case KcpState.Connected: + { + TickIncoming_Connected(time); + break; + } + case KcpState.Authenticated: + { + TickIncoming_Authenticated(time); + break; + } + case KcpState.Disconnected: + { + // do nothing while disconnected + break; + } + } + } + catch (SocketException exception) + { + // this is ok, the connection was closed + Log.Info($"KCP Connection: Disconnecting because {exception}. This is fine."); + Disconnect(); + } + catch (ObjectDisposedException exception) + { + // fine, socket was closed + Log.Info($"KCP Connection: Disconnecting because {exception}. This is fine."); + Disconnect(); + } + catch (Exception ex) + { + // unexpected + Log.Error(ex.ToString()); + Disconnect(); + } + } + + public void TickOutgoing() + { + uint time = (uint)refTime.ElapsedMilliseconds; + + try + { + switch (state) + { + case KcpState.Connected: + case KcpState.Authenticated: + { + // update flushes out messages + kcp.Update(time); + break; + } + case KcpState.Disconnected: + { + // do nothing while disconnected + break; + } + } + } + catch (SocketException exception) + { + // this is ok, the connection was closed + Log.Info($"KCP Connection: Disconnecting because {exception}. This is fine."); + Disconnect(); + } + catch (ObjectDisposedException exception) + { + // fine, socket was closed + Log.Info($"KCP Connection: Disconnecting because {exception}. This is fine."); + Disconnect(); + } + catch (Exception ex) + { + // unexpected + Log.Error(ex.ToString()); + Disconnect(); + } + } + + public void RawInput(byte[] buffer, int msgLength) + { + // parse channel + if (msgLength > 0) + { + byte channel = buffer[0]; + switch (channel) + { + case (byte)KcpChannel.Reliable: + { + // input into kcp, but skip channel byte + int input = kcp.Input(buffer, 1, msgLength - 1); + if (input != 0) + { + Log.Warning($"Input failed with error={input} for buffer with length={msgLength - 1}"); + } + break; + } + case (byte)KcpChannel.Unreliable: + { + // ideally we would queue all unreliable messages and + // then process them in ReceiveNext() together with the + // reliable messages, but: + // -> queues/allocations/pools are slow and complex. + // -> DOTSNET 10k is actually slower if we use pooled + // unreliable messages for transform messages. + // + // DOTSNET 10k benchmark: + // reliable-only: 170 FPS + // unreliable queued: 130-150 FPS + // unreliable direct: 183 FPS(!) + // + // DOTSNET 50k benchmark: + // reliable-only: FAILS (queues keep growing) + // unreliable direct: 18-22 FPS(!) + // + // -> all unreliable messages are DATA messages anyway. + // -> let's skip the magic and call OnData directly if + // the current state allows it. + if (state == KcpState.Authenticated) + { + // only process messages while not paused for Mirror + // scene switching etc. + // -> if an unreliable message comes in while + // paused, simply drop it. it's unreliable! + if (!paused) + { + ArraySegment message = new ArraySegment(buffer, 1, msgLength - 1); + OnData?.Invoke(message); + } + + // set last receive time to avoid timeout. + // -> we do this in ANY case even if not enabled. + // a message is a message. + // -> we set last receive time for both reliable and + // unreliable messages. both count. + // otherwise a connection might time out even + // though unreliable were received, but no + // reliable was received. + lastReceiveTime = (uint)refTime.ElapsedMilliseconds; + } + else + { + // should never + Log.Warning($"KCP: received unreliable message in state {state}. Disconnecting the connection."); + Disconnect(); + } + break; + } + default: + { + // not a valid channel. random data or attacks. + Log.Info($"Disconnecting connection because of invalid channel header: {channel}"); + Disconnect(); + break; + } + } + } + } + + // raw send puts the data into the socket + protected abstract void RawSend(byte[] data, int length); + + // raw send called by kcp + void RawSendReliable(byte[] data, int length) + { + // copy channel header, data into raw send buffer, then send + rawSendBuffer[0] = (byte)KcpChannel.Reliable; + Buffer.BlockCopy(data, 0, rawSendBuffer, 1, length); + RawSend(rawSendBuffer, length + 1); + } + + void SendReliable(KcpHeader header, ArraySegment content) + { + // 1 byte header + content needs to fit into send buffer + if (1 + content.Count <= kcpSendBuffer.Length) // TODO + { + // copy header, content (if any) into send buffer + kcpSendBuffer[0] = (byte)header; + if (content.Count > 0) + Buffer.BlockCopy(content.Array, content.Offset, kcpSendBuffer, 1, content.Count); + + // send to kcp for processing + int sent = kcp.Send(kcpSendBuffer, 0, 1 + content.Count); + if (sent < 0) + { + Log.Warning($"Send failed with error={sent} for content with length={content.Count}"); + } + } + // otherwise content is larger than MaxMessageSize. let user know! + else Log.Error($"Failed to send reliable message of size {content.Count} because it's larger than ReliableMaxMessageSize={ReliableMaxMessageSize}"); + } + + void SendUnreliable(ArraySegment message) + { + // message size needs to be <= unreliable max size + if (message.Count <= UnreliableMaxMessageSize) + { + // copy channel header, data into raw send buffer, then send + rawSendBuffer[0] = (byte)KcpChannel.Unreliable; + Buffer.BlockCopy(message.Array, 0, rawSendBuffer, 1, message.Count); + RawSend(rawSendBuffer, message.Count + 1); + } + // otherwise content is larger than MaxMessageSize. let user know! + else Log.Error($"Failed to send unreliable message of size {message.Count} because it's larger than UnreliableMaxMessageSize={UnreliableMaxMessageSize}"); + } + + // server & client need to send handshake at different times, so we need + // to expose the function. + // * client should send it immediately. + // * server should send it as reply to client's handshake, not before + // (server should not reply to random internet messages with handshake) + // => handshake info needs to be delivered, so it goes over reliable. + public void SendHandshake() + { + Log.Info("KcpConnection: sending Handshake to other end!"); + SendReliable(KcpHeader.Handshake, default); + } + + public void SendData(ArraySegment data, KcpChannel channel) + { + // sending empty segments is not allowed. + // nobody should ever try to send empty data. + // it means that something went wrong, e.g. in Mirror/DOTSNET. + // let's make it obvious so it's easy to debug. + if (data.Count == 0) + { + Log.Warning("KcpConnection: tried sending empty message. This should never happen. Disconnecting."); + Disconnect(); + return; + } + + switch (channel) + { + case KcpChannel.Reliable: + SendReliable(KcpHeader.Data, data); + break; + case KcpChannel.Unreliable: + SendUnreliable(data); + break; + } + } + + // ping goes through kcp to keep it from timing out, so it goes over the + // reliable channel. + void SendPing() => SendReliable(KcpHeader.Ping, default); + + // disconnect info needs to be delivered, so it goes over reliable + void SendDisconnect() => SendReliable(KcpHeader.Disconnect, default); + + protected virtual void Dispose() {} + + // disconnect this connection + public void Disconnect() + { + // only if not disconnected yet + if (state == KcpState.Disconnected) + return; + + // send a disconnect message + if (socket.Connected) + { + try + { + SendDisconnect(); + kcp.Flush(); + } + catch (SocketException) + { + // this is ok, the connection was already closed + } + catch (ObjectDisposedException) + { + // this is normal when we stop the server + // the socket is stopped so we can't send anything anymore + // to the clients + + // the clients will eventually timeout and realize they + // were disconnected + } + } + + // set as Disconnected, call event + Log.Info("KCP Connection: Disconnected."); + state = KcpState.Disconnected; + OnDisconnected?.Invoke(); + } + + // get remote endpoint + public EndPoint GetRemoteEndPoint() => remoteEndPoint; + + // pause/unpause to safely support mirror scene handling and to + // immediately pause the receive while loop if needed. + public void Pause() => paused = true; + public void Unpause() + { + // unpause + paused = false; + + // reset the timeout. + // we have likely been paused for > timeout seconds, but that + // doesn't mean we should disconnect. for example, Mirror pauses + // kcp during scene changes which could easily take > 10s timeout: + // see also: https://github.com/vis2k/kcp2k/issues/8 + // => Unpause completely resets the timeout instead of restoring the + // time difference when we started pausing. it's more simple and + // it's a good idea to start counting from 0 after we unpaused! + lastReceiveTime = (uint)refTime.ElapsedMilliseconds; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs.meta new file mode 100644 index 0000000..fa5dcff --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpConnection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3915c7c62b72d4dc2a9e4e76c94fc484 +timeCreated: 1602600432 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs new file mode 100644 index 0000000..bc4b047 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs @@ -0,0 +1,19 @@ +namespace kcp2k +{ + // header for messages processed by kcp. + // this is NOT for the raw receive messages(!) because handshake/disconnect + // need to be sent reliably. it's not enough to have those in rawreceive + // because those messages might get lost without being resent! + public enum KcpHeader : byte + { + // don't react on 0x00. might help to filter out random noise. + Handshake = 0x01, + // ping goes over reliable & KcpHeader for now. could go over reliable + // too. there is no real difference except that this is easier because + // we already have a KcpHeader for reliable messages. + // ping is only used to keep it alive, so latency doesn't matter. + Ping = 0x02, + Data = 0x03, + Disconnect = 0x04 + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs.meta new file mode 100644 index 0000000..9e81c94 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpHeader.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 91b5edac31224a49bd76f960ae018942 +timeCreated: 1610081248 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs new file mode 100644 index 0000000..c9847df --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs @@ -0,0 +1,337 @@ +// kcp server logic abstracted into a class. +// for use in Mirror, DOTSNET, testing, etc. +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; + +namespace kcp2k +{ + public class KcpServer + { + // events + public Action OnConnected; + public Action> OnData; + public Action OnDisconnected; + + // configuration + // DualMode uses both IPv6 and IPv4. not all platforms support it. + // (Nintendo Switch, etc.) + public bool DualMode; + // NoDelay is recommended to reduce latency. This also scales better + // without buffers getting full. + public bool NoDelay; + // KCP internal update interval. 100ms is KCP default, but a lower + // interval is recommended to minimize latency and to scale to more + // networked entities. + public uint Interval; + // KCP fastresend parameter. Faster resend for the cost of higher + // bandwidth. + public int FastResend; + // KCP 'NoCongestionWindow' is false by default. here we negate it for + // ease of use. This can be disabled for high scale games if connections + // choke regularly. + public bool CongestionWindow; + // KCP window size can be modified to support higher loads. + // for example, Mirror Benchmark requires: + // 128, 128 for 4k monsters + // 512, 512 for 10k monsters + // 8192, 8192 for 20k monsters + public uint SendWindowSize; + public uint ReceiveWindowSize; + // timeout in milliseconds + public int Timeout; + + // state + protected Socket socket; + EndPoint newClientEP; + + // IMPORTANT: raw receive buffer always needs to be of 'MTU' size, even + // if MaxMessageSize is larger. kcp always sends in MTU + // segments and having a buffer smaller than MTU would + // silently drop excess data. + // => we need the mtu to fit channel + message! + readonly byte[] rawReceiveBuffer = new byte[Kcp.MTU_DEF]; + + // connections where connectionId is EndPoint.GetHashCode + public Dictionary connections = new Dictionary(); + + public KcpServer(Action OnConnected, + Action> OnData, + Action OnDisconnected, + bool DualMode, + bool NoDelay, + uint Interval, + int FastResend = 0, + bool CongestionWindow = true, + uint SendWindowSize = Kcp.WND_SND, + uint ReceiveWindowSize = Kcp.WND_RCV, + int Timeout = KcpConnection.DEFAULT_TIMEOUT) + { + this.OnConnected = OnConnected; + this.OnData = OnData; + this.OnDisconnected = OnDisconnected; + this.DualMode = DualMode; + this.NoDelay = NoDelay; + this.Interval = Interval; + this.FastResend = FastResend; + this.CongestionWindow = CongestionWindow; + this.SendWindowSize = SendWindowSize; + this.ReceiveWindowSize = ReceiveWindowSize; + this.Timeout = Timeout; + + // create newClientEP either IPv4 or IPv6 + newClientEP = DualMode + ? new IPEndPoint(IPAddress.IPv6Any, 0) + : new IPEndPoint(IPAddress.Any, 0); + } + + public bool IsActive() => socket != null; + + public void Start(ushort port) + { + // only start once + if (socket != null) + { + Log.Warning("KCP: server already started!"); + } + + // listen + if (DualMode) + { + // IPv6 socket with DualMode + socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp); + socket.DualMode = true; + socket.Bind(new IPEndPoint(IPAddress.IPv6Any, port)); + } + else + { + // IPv4 socket + socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); + socket.Bind(new IPEndPoint(IPAddress.Any, port)); + } + } + + public void Send(int connectionId, ArraySegment segment, KcpChannel channel) + { + if (connections.TryGetValue(connectionId, out KcpServerConnection connection)) + { + connection.SendData(segment, channel); + } + } + + public void Disconnect(int connectionId) + { + if (connections.TryGetValue(connectionId, out KcpServerConnection connection)) + { + connection.Disconnect(); + } + } + + public string GetClientAddress(int connectionId) + { + if (connections.TryGetValue(connectionId, out KcpServerConnection connection)) + { + return (connection.GetRemoteEndPoint() as IPEndPoint).Address.ToString(); + } + return ""; + } + + // EndPoint & Receive functions can be overwritten for where-allocation: + // https://github.com/vis2k/where-allocation + protected virtual int ReceiveFrom(byte[] buffer, out int connectionHash) + { + // NOTE: ReceiveFrom allocates. + // we pass our IPEndPoint to ReceiveFrom. + // receive from calls newClientEP.Create(socketAddr). + // IPEndPoint.Create always returns a new IPEndPoint. + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L1761 + int read = socket.ReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref newClientEP); + + // calculate connectionHash from endpoint + // NOTE: IPEndPoint.GetHashCode() allocates. + // it calls m_Address.GetHashCode(). + // m_Address is an IPAddress. + // GetHashCode() allocates for IPv6: + // https://github.com/mono/mono/blob/bdd772531d379b4e78593587d15113c37edd4a64/mcs/class/referencesource/System/net/System/Net/IPAddress.cs#L699 + // + // => using only newClientEP.Port wouldn't work, because + // different connections can have the same port. + connectionHash = newClientEP.GetHashCode(); + return read; + } + + protected virtual KcpServerConnection CreateConnection() => + new KcpServerConnection(socket, newClientEP, NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize, Timeout); + + // process incoming messages. should be called before updating the world. + HashSet connectionsToRemove = new HashSet(); + public void TickIncoming() + { + while (socket != null && socket.Poll(0, SelectMode.SelectRead)) + { + try + { + // receive + int msgLength = ReceiveFrom(rawReceiveBuffer, out int connectionId); + //Log.Info($"KCP: server raw recv {msgLength} bytes = {BitConverter.ToString(buffer, 0, msgLength)}"); + + // IMPORTANT: detect if buffer was too small for the received + // msgLength. otherwise the excess data would be + // silently lost. + // (see ReceiveFrom documentation) + if (msgLength <= rawReceiveBuffer.Length) + { + // is this a new connection? + if (!connections.TryGetValue(connectionId, out KcpServerConnection connection)) + { + // create a new KcpConnection based on last received + // EndPoint. can be overwritten for where-allocation. + connection = CreateConnection(); + + // DO NOT add to connections yet. only if the first message + // is actually the kcp handshake. otherwise it's either: + // * random data from the internet + // * or from a client connection that we just disconnected + // but that hasn't realized it yet, still sending data + // from last session that we should absolutely ignore. + // + // + // TODO this allocates a new KcpConnection for each new + // internet connection. not ideal, but C# UDP Receive + // already allocated anyway. + // + // expecting a MAGIC byte[] would work, but sending the raw + // UDP message without kcp's reliability will have low + // probability of being received. + // + // for now, this is fine. + + // setup authenticated event that also adds to connections + connection.OnAuthenticated = () => + { + // only send handshake to client AFTER we received his + // handshake in OnAuthenticated. + // we don't want to reply to random internet messages + // with handshakes each time. + connection.SendHandshake(); + + // add to connections dict after being authenticated. + connections.Add(connectionId, connection); + Log.Info($"KCP: server added connection({connectionId})"); + + // setup Data + Disconnected events only AFTER the + // handshake. we don't want to fire OnServerDisconnected + // every time we receive invalid random data from the + // internet. + + // setup data event + connection.OnData = (message) => + { + // call mirror event + //Log.Info($"KCP: OnServerDataReceived({connectionId}, {BitConverter.ToString(message.Array, message.Offset, message.Count)})"); + OnData.Invoke(connectionId, message); + }; + + // setup disconnected event + connection.OnDisconnected = () => + { + // flag for removal + // (can't remove directly because connection is updated + // and event is called while iterating all connections) + connectionsToRemove.Add(connectionId); + + // call mirror event + Log.Info($"KCP: OnServerDisconnected({connectionId})"); + OnDisconnected.Invoke(connectionId); + }; + + // finally, call mirror OnConnected event + Log.Info($"KCP: OnServerConnected({connectionId})"); + OnConnected.Invoke(connectionId); + }; + + // now input the message & process received ones + // connected event was set up. + // tick will process the first message and adds the + // connection if it was the handshake. + connection.RawInput(rawReceiveBuffer, msgLength); + connection.TickIncoming(); + + // again, do not add to connections. + // if the first message wasn't the kcp handshake then + // connection will simply be garbage collected. + } + // existing connection: simply input the message into kcp + else + { + connection.RawInput(rawReceiveBuffer, msgLength); + } + } + else + { + Log.Error($"KCP Server: message of size {msgLength} does not fit into buffer of size {rawReceiveBuffer.Length}. The excess was silently dropped. Disconnecting connectionId={connectionId}."); + Disconnect(connectionId); + } + } + // this is fine, the socket might have been closed in the other end + catch (SocketException) {} + } + + // process inputs for all server connections + // (even if we didn't receive anything. need to tick ping etc.) + foreach (KcpServerConnection connection in connections.Values) + { + connection.TickIncoming(); + } + + // remove disconnected connections + // (can't do it in connection.OnDisconnected because Tick is called + // while iterating connections) + foreach (int connectionId in connectionsToRemove) + { + connections.Remove(connectionId); + } + connectionsToRemove.Clear(); + } + + // process outgoing messages. should be called after updating the world. + public void TickOutgoing() + { + // flush all server connections + foreach (KcpServerConnection connection in connections.Values) + { + connection.TickOutgoing(); + } + } + + // process incoming and outgoing for convenience. + // => ideally call ProcessIncoming() before updating the world and + // ProcessOutgoing() after updating the world for minimum latency + public void Tick() + { + TickIncoming(); + TickOutgoing(); + } + + public void Stop() + { + socket?.Close(); + socket = null; + } + + // pause/unpause to safely support mirror scene handling and to + // immediately pause the receive while loop if needed. + public void Pause() + { + foreach (KcpServerConnection connection in connections.Values) + connection.Pause(); + } + + public void Unpause() + { + foreach (KcpServerConnection connection in connections.Values) + connection.Unpause(); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs.meta new file mode 100644 index 0000000..ef720d4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9759159c6589494a9037f5e130a867ed +timeCreated: 1603787747 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs new file mode 100644 index 0000000..450a4da --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs @@ -0,0 +1,22 @@ +using System.Net; +using System.Net.Sockets; + +namespace kcp2k +{ + public class KcpServerConnection : KcpConnection + { + // Constructor & Send functions can be overwritten for where-allocation: + // https://github.com/vis2k/where-allocation + public KcpServerConnection(Socket socket, EndPoint remoteEndPoint, bool noDelay, uint interval = Kcp.INTERVAL, int fastResend = 0, bool congestionWindow = true, uint sendWindowSize = Kcp.WND_SND, uint receiveWindowSize = Kcp.WND_RCV, int timeout = DEFAULT_TIMEOUT) + { + this.socket = socket; + this.remoteEndPoint = remoteEndPoint; + SetupKcp(noDelay, interval, fastResend, congestionWindow, sendWindowSize, receiveWindowSize, timeout); + } + + protected override void RawSend(byte[] data, int length) + { + socket.SendTo(data, 0, length, SocketFlags.None, remoteEndPoint); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs.meta new file mode 100644 index 0000000..10d9803 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/KcpServerConnection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 80a9b1ce9a6f14abeb32bfa9921d097b +timeCreated: 1602601483 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs new file mode 100644 index 0000000..939dae7 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs @@ -0,0 +1,14 @@ +// A simple logger class that uses Console.WriteLine by default. +// Can also do Logger.LogMethod = Debug.Log for Unity etc. +// (this way we don't have to depend on UnityEngine) +using System; + +namespace kcp2k +{ + public static class Log + { + public static Action Info = Console.WriteLine; + public static Action Warning = Console.WriteLine; + public static Action Error = Console.Error.WriteLine; + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs.meta new file mode 100644 index 0000000..333bee5 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/Log.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b5e1de98d6d84c3793a61cf7d8da9a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc.meta new file mode 100644 index 0000000..4cbc909 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0b320ff06046474eae7bce7240ea478c +timeCreated: 1626430641 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs new file mode 100644 index 0000000..b3e1b27 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs @@ -0,0 +1,24 @@ +// where-allocation version of KcpClientConnection. +// may not be wanted on all platforms, so it's an extra optional class. +using System.Net; +using WhereAllocation; + +namespace kcp2k +{ + public class KcpClientConnectionNonAlloc : KcpClientConnection + { + IPEndPointNonAlloc reusableEP; + + protected override void CreateRemoteEndPoint(IPAddress[] addresses, ushort port) + { + // create reusableEP with same address family as remoteEndPoint. + // otherwise ReceiveFrom_NonAlloc couldn't use it. + reusableEP = new IPEndPointNonAlloc(addresses[0], port); + base.CreateRemoteEndPoint(addresses, port); + } + + // where-allocation nonalloc recv + protected override int ReceiveFrom(byte[] buffer) => + socket.ReceiveFrom_NonAlloc(buffer, reusableEP); + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs.meta new file mode 100644 index 0000000..9d4a42e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientConnectionNonAlloc.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4c1b235bbe054706bef6d092f361006e +timeCreated: 1626430539 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs new file mode 100644 index 0000000..acd8e6b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs @@ -0,0 +1,17 @@ +// where-allocation version of KcpClientConnectionNonAlloc. +// may not be wanted on all platforms, so it's an extra optional class. +using System; + +namespace kcp2k +{ + public class KcpClientNonAlloc : KcpClient + { + public KcpClientNonAlloc(Action OnConnected, Action> OnData, Action OnDisconnected) + : base(OnConnected, OnData, OnDisconnected) + { + } + + protected override KcpClientConnection CreateConnection() => + new KcpClientConnectionNonAlloc(); + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs.meta new file mode 100644 index 0000000..266dafb --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpClientNonAlloc.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2cf0ccf7d551480bb5af08fcbe169f84 +timeCreated: 1626435264 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs new file mode 100644 index 0000000..fe2e154 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs @@ -0,0 +1,25 @@ +// where-allocation version of KcpServerConnection. +// may not be wanted on all platforms, so it's an extra optional class. +using System.Net; +using System.Net.Sockets; +using WhereAllocation; + +namespace kcp2k +{ + public class KcpServerConnectionNonAlloc : KcpServerConnection + { + IPEndPointNonAlloc reusableSendEndPoint; + + public KcpServerConnectionNonAlloc(Socket socket, EndPoint remoteEndpoint, IPEndPointNonAlloc reusableSendEndPoint, bool noDelay, uint interval = Kcp.INTERVAL, int fastResend = 0, bool congestionWindow = true, uint sendWindowSize = Kcp.WND_SND, uint receiveWindowSize = Kcp.WND_RCV, int timeout = DEFAULT_TIMEOUT) + : base(socket, remoteEndpoint, noDelay, interval, fastResend, congestionWindow, sendWindowSize, receiveWindowSize, timeout) + { + this.reusableSendEndPoint = reusableSendEndPoint; + } + + protected override void RawSend(byte[] data, int length) + { + // where-allocation nonalloc send + socket.SendTo_NonAlloc(data, 0, length, SocketFlags.None, reusableSendEndPoint); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs.meta new file mode 100644 index 0000000..383fe02 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerConnectionNonAlloc.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4e1b74cc224b4c83a0f6c8d8da9090ab +timeCreated: 1626430608 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs new file mode 100644 index 0000000..ec571b5 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs @@ -0,0 +1,51 @@ +// where-allocation version of KcpServer. +// may not be wanted on all platforms, so it's an extra optional class. +using System; +using System.Net; +using System.Net.Sockets; +using WhereAllocation; + +namespace kcp2k +{ + public class KcpServerNonAlloc : KcpServer + { + IPEndPointNonAlloc reusableClientEP; + + public KcpServerNonAlloc(Action OnConnected, Action> OnData, Action OnDisconnected, bool DualMode, bool NoDelay, uint Interval, int FastResend = 0, bool CongestionWindow = true, uint SendWindowSize = Kcp.WND_SND, uint ReceiveWindowSize = Kcp.WND_RCV, int Timeout = KcpConnection.DEFAULT_TIMEOUT) + : base(OnConnected, OnData, OnDisconnected, DualMode, NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize, Timeout) + { + // create reusableClientEP either IPv4 or IPv6 + reusableClientEP = DualMode + ? new IPEndPointNonAlloc(IPAddress.IPv6Any, 0) + : new IPEndPointNonAlloc(IPAddress.Any, 0); + } + + protected override int ReceiveFrom(byte[] buffer, out int connectionHash) + { + // where-allocation nonalloc ReceiveFrom. + int read = socket.ReceiveFrom_NonAlloc(buffer, 0, buffer.Length, SocketFlags.None, reusableClientEP); + SocketAddress remoteAddress = reusableClientEP.temp; + + // where-allocation nonalloc GetHashCode + connectionHash = remoteAddress.GetHashCode(); + return read; + } + + protected override KcpServerConnection CreateConnection() + { + // IPEndPointNonAlloc is reused all the time. + // we can't store that as the connection's endpoint. + // we need a new copy! + IPEndPoint newClientEP = reusableClientEP.DeepCopyIPEndPoint(); + + // for allocation free sending, we also need another + // IPEndPointNonAlloc... + IPEndPointNonAlloc reusableSendEP = new IPEndPointNonAlloc(newClientEP.Address, newClientEP.Port); + + // create a new KcpConnection NonAlloc version + // -> where-allocation IPEndPointNonAlloc is reused. + // need to create a new one from the temp address. + return new KcpServerConnectionNonAlloc(socket, newClientEP, reusableSendEP, NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize, Timeout); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs.meta new file mode 100644 index 0000000..a878cc1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/highlevel/NonAlloc/KcpServerNonAlloc.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 54b8398dcd544c8a93bcad846214cc40 +timeCreated: 1626432191 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp.meta new file mode 100644 index 0000000..a7d6e11 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cafb8851a0084f3e94a580c207b3923 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs new file mode 100644 index 0000000..5fe5547 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("kcp2k.Tests")] \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs.meta new file mode 100644 index 0000000..6b442a9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/AssemblyInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: aec6a15ac7bd43129317ea1f01f19782 +timeCreated: 1602665988 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs new file mode 100644 index 0000000..253757a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs @@ -0,0 +1,1042 @@ +// Kcp based on https://github.com/skywind3000/kcp +// Kept as close to original as possible. +using System; +using System.Collections.Generic; + +namespace kcp2k +{ + public class Kcp + { + // original Kcp has a define option, which is not defined by default: + // #define FASTACK_CONSERVE + + public const int RTO_NDL = 30; // no delay min rto + public const int RTO_MIN = 100; // normal min rto + public const int RTO_DEF = 200; // default RTO + public const int RTO_MAX = 60000; // maximum RTO + public const int CMD_PUSH = 81; // cmd: push data + public const int CMD_ACK = 82; // cmd: ack + public const int CMD_WASK = 83; // cmd: window probe (ask) + public const int CMD_WINS = 84; // cmd: window size (tell) + public const int ASK_SEND = 1; // need to send CMD_WASK + public const int ASK_TELL = 2; // need to send CMD_WINS + public const int WND_SND = 32; // default send window + public const int WND_RCV = 128; // default receive window. must be >= max fragment size + public const int MTU_DEF = 1200; // default MTU (reduced to 1200 to fit all cases: https://en.wikipedia.org/wiki/Maximum_transmission_unit ; steam uses 1200 too!) + public const int ACK_FAST = 3; + public const int INTERVAL = 100; + public const int OVERHEAD = 24; + public const int DEADLINK = 20; + public const int THRESH_INIT = 2; + public const int THRESH_MIN = 2; + public const int PROBE_INIT = 7000; // 7 secs to probe window size + public const int PROBE_LIMIT = 120000; // up to 120 secs to probe window + public const int FASTACK_LIMIT = 5; // max times to trigger fastack + + internal struct AckItem + { + internal uint serialNumber; + internal uint timestamp; + } + + // kcp members. + internal int state; + readonly uint conv; // conversation + internal uint mtu; + internal uint mss; // maximum segment size := MTU - OVERHEAD + internal uint snd_una; // unacknowledged. e.g. snd_una is 9 it means 8 has been confirmed, 9 and 10 have been sent + internal uint snd_nxt; + internal uint rcv_nxt; + internal uint ssthresh; // slow start threshold + internal int rx_rttval; // average deviation of rtt, used to measure the jitter of rtt + internal int rx_srtt; // smoothed round trip time (a weighted average of rtt) + internal int rx_rto; + internal int rx_minrto; + internal uint snd_wnd; // send window + internal uint rcv_wnd; // receive window + internal uint rmt_wnd; // remote window + internal uint cwnd; // congestion window + internal uint probe; + internal uint interval; + internal uint ts_flush; + internal uint xmit; + internal uint nodelay; // not a bool. original Kcp has '<2 else' check. + internal bool updated; + internal uint ts_probe; // timestamp probe + internal uint probe_wait; + internal uint dead_link; + internal uint incr; + internal uint current; // current time (milliseconds). set by Update. + + internal int fastresend; + internal int fastlimit; + internal bool nocwnd; // no congestion window + internal readonly Queue snd_queue = new Queue(16); // send queue + internal readonly Queue rcv_queue = new Queue(16); // receive queue + // snd_buffer needs index removals. + // C# LinkedList allocates for each entry, so let's keep List for now. + internal readonly List snd_buf = new List(16); // send buffer + // rcv_buffer needs index insertions and backwards iteration. + // C# LinkedList allocates for each entry, so let's keep List for now. + internal readonly List rcv_buf = new List(16); // receive buffer + internal readonly List acklist = new List(16); + + internal byte[] buffer; + readonly Action output; // buffer, size + + // get how many packet is waiting to be sent + public int WaitSnd => snd_buf.Count + snd_queue.Count; + + // segment pool to avoid allocations in C#. + // this is not part of the original C code. + readonly Pool SegmentPool = new Pool( + // create new segment + () => new Segment(), + // reset segment before reuse + (segment) => segment.Reset(), + // initial capacity + 32 + ); + + // ikcp_create + // create a new kcp control object, 'conv' must equal in two endpoint + // from the same connection. + public Kcp(uint conv, Action output) + { + this.conv = conv; + this.output = output; + snd_wnd = WND_SND; + rcv_wnd = WND_RCV; + rmt_wnd = WND_RCV; + mtu = MTU_DEF; + mss = mtu - OVERHEAD; + rx_rto = RTO_DEF; + rx_minrto = RTO_MIN; + interval = INTERVAL; + ts_flush = INTERVAL; + ssthresh = THRESH_INIT; + fastlimit = FASTACK_LIMIT; + dead_link = DEADLINK; + buffer = new byte[(mtu + OVERHEAD) * 3]; + } + + // ikcp_segment_new + // we keep the original function and add our pooling to it. + // this way we'll never miss it anywhere. + Segment SegmentNew() => SegmentPool.Take(); + + // ikcp_segment_delete + // we keep the original function and add our pooling to it. + // this way we'll never miss it anywhere. + void SegmentDelete(Segment seg) => SegmentPool.Return(seg); + + // ikcp_recv + // receive data from kcp state machine + // returns number of bytes read. + // returns negative on error. + // note: pass negative length to peek. + public int Receive(byte[] buffer, int len) + { + // kcp's ispeek feature is not supported. + // this makes 'merge fragment' code significantly easier because + // we can iterate while queue.Count > 0 and dequeue each time. + // if we had to consider ispeek then count would always be > 0 and + // we would have to remove only after the loop. + // + //bool ispeek = len < 0; + if (len < 0) + throw new NotSupportedException("Receive ispeek for negative len is not supported!"); + + if (rcv_queue.Count == 0) + return -1; + + if (len < 0) len = -len; + + int peeksize = PeekSize(); + + if (peeksize < 0) + return -2; + + if (peeksize > len) + return -3; + + bool recover = rcv_queue.Count >= rcv_wnd; + + // merge fragment. + int offset = 0; + len = 0; + // original KCP iterates rcv_queue and deletes if !ispeek. + // removing from a c# queue while iterating is not possible, but + // we can change to 'while Count > 0' and remove every time. + // (we can remove every time because we removed ispeek support!) + while (rcv_queue.Count > 0) + { + // unlike original kcp, we dequeue instead of just getting the + // entry. this is fine because we remove it in ANY case. + Segment seg = rcv_queue.Dequeue(); + + Buffer.BlockCopy(seg.data.GetBuffer(), 0, buffer, offset, (int)seg.data.Position); + offset += (int)seg.data.Position; + + len += (int)seg.data.Position; + uint fragment = seg.frg; + + // note: ispeek is not supported in order to simplify this loop + + // unlike original kcp, we don't need to remove seg from queue + // because we already dequeued it. + // simply delete it + SegmentDelete(seg); + + if (fragment == 0) + break; + } + + // move available data from rcv_buf -> rcv_queue + int removed = 0; + foreach (Segment seg in rcv_buf) + { + if (seg.sn == rcv_nxt && rcv_queue.Count < rcv_wnd) + { + // can't remove while iterating. remember how many to remove + // and do it after the loop. + // note: don't return segment. we only add it to rcv_queue + ++removed; + // add + rcv_queue.Enqueue(seg); + rcv_nxt++; + } + else + { + break; + } + } + rcv_buf.RemoveRange(0, removed); + + // fast recover + if (rcv_queue.Count < rcv_wnd && recover) + { + // ready to send back CMD_WINS in flush + // tell remote my window size + probe |= ASK_TELL; + } + + return len; + } + + // ikcp_peeksize + // check the size of next message in the recv queue + public int PeekSize() + { + int length = 0; + + if (rcv_queue.Count == 0) return -1; + + Segment seq = rcv_queue.Peek(); + if (seq.frg == 0) return (int)seq.data.Position; + + if (rcv_queue.Count < seq.frg + 1) return -1; + + foreach (Segment seg in rcv_queue) + { + length += (int)seg.data.Position; + if (seg.frg == 0) break; + } + + return length; + } + + // ikcp_send + // sends byte[] to the other end. + public int Send(byte[] buffer, int offset, int len) + { + // fragment count + int count; + + if (len < 0) return -1; + + // streaming mode: removed. we never want to send 'hello' and + // receive 'he' 'll' 'o'. we want to always receive 'hello'. + + // calculate amount of fragments necessary for 'len' + if (len <= mss) count = 1; + else count = (int)((len + mss - 1) / mss); + + // original kcp uses WND_RCV const even though rcv_wnd is the + // runtime variable. may or may not be correct, see also: + // see also: https://github.com/skywind3000/kcp/pull/291/files + if (count >= WND_RCV) return -2; + + if (count == 0) count = 1; + + // fragment + for (int i = 0; i < count; i++) + { + int size = len > (int)mss ? (int)mss : len; + Segment seg = SegmentNew(); + + if (len > 0) + { + seg.data.Write(buffer, offset, size); + } + // seg.len = size: WriteBytes sets segment.Position! + seg.frg = (byte)(count - i - 1); + snd_queue.Enqueue(seg); + offset += size; + len -= size; + } + + return 0; + } + + // ikcp_update_ack + void UpdateAck(int rtt) // round trip time + { + // https://tools.ietf.org/html/rfc6298 + if (rx_srtt == 0) + { + rx_srtt = rtt; + rx_rttval = rtt / 2; + } + else + { + int delta = rtt - rx_srtt; + if (delta < 0) delta = -delta; + rx_rttval = (3 * rx_rttval + delta) / 4; + rx_srtt = (7 * rx_srtt + rtt) / 8; + if (rx_srtt < 1) rx_srtt = 1; + } + int rto = rx_srtt + Math.Max((int)interval, 4 * rx_rttval); + rx_rto = Utils.Clamp(rto, rx_minrto, RTO_MAX); + } + + // ikcp_shrink_buf + internal void ShrinkBuf() + { + if (snd_buf.Count > 0) + { + Segment seg = snd_buf[0]; + snd_una = seg.sn; + } + else + { + snd_una = snd_nxt; + } + } + + // ikcp_parse_ack + // removes the segment with 'sn' from send buffer + internal void ParseAck(uint sn) + { + if (Utils.TimeDiff(sn, snd_una) < 0 || Utils.TimeDiff(sn, snd_nxt) >= 0) + return; + + // for-int so we can erase while iterating + for (int i = 0; i < snd_buf.Count; ++i) + { + Segment seg = snd_buf[i]; + if (sn == seg.sn) + { + snd_buf.RemoveAt(i); + SegmentDelete(seg); + break; + } + if (Utils.TimeDiff(sn, seg.sn) < 0) + { + break; + } + } + } + + // ikcp_parse_una + void ParseUna(uint una) + { + int removed = 0; + foreach (Segment seg in snd_buf) + { + if (Utils.TimeDiff(una, seg.sn) > 0) + { + // can't remove while iterating. remember how many to remove + // and do it after the loop. + ++removed; + SegmentDelete(seg); + } + else + { + break; + } + } + snd_buf.RemoveRange(0, removed); + } + + // ikcp_parse_fastack + void ParseFastack(uint sn, uint ts) + { + if (Utils.TimeDiff(sn, snd_una) < 0 || Utils.TimeDiff(sn, snd_nxt) >= 0) + return; + + foreach (Segment seg in snd_buf) + { + if (Utils.TimeDiff(sn, seg.sn) < 0) + { + break; + } + else if (sn != seg.sn) + { +#if !FASTACK_CONSERVE + seg.fastack++; +#else + if (Utils.TimeDiff(ts, seg.ts) >= 0) + seg.fastack++; +#endif + } + } + } + + // ikcp_ack_push + // appends an ack. + void AckPush(uint sn, uint ts) + { + acklist.Add(new AckItem{ serialNumber = sn, timestamp = ts }); + } + + // ikcp_parse_data + void ParseData(Segment newseg) + { + uint sn = newseg.sn; + + if (Utils.TimeDiff(sn, rcv_nxt + rcv_wnd) >= 0 || + Utils.TimeDiff(sn, rcv_nxt) < 0) + { + SegmentDelete(newseg); + return; + } + + InsertSegmentInReceiveBuffer(newseg); + MoveReceiveBufferDataToReceiveQueue(); + } + + // inserts the segment into rcv_buf, ordered by seg.sn. + // drops the segment if one with the same seg.sn already exists. + // goes through receive buffer in reverse order for performance. + // + // note: see KcpTests.InsertSegmentInReceiveBuffer test! + // note: 'insert or delete' can be done in different ways, but let's + // keep consistency with original C kcp. + internal void InsertSegmentInReceiveBuffer(Segment newseg) + { + bool repeat = false; // 'duplicate' + + // original C iterates backwards, so we need to do that as well. + int i; + for (i = rcv_buf.Count - 1; i >= 0; i--) + { + Segment seg = rcv_buf[i]; + if (seg.sn == newseg.sn) + { + // duplicate segment found. nothing will be added. + repeat = true; + break; + } + if (Utils.TimeDiff(newseg.sn, seg.sn) > 0) + { + // this entry's sn is < newseg.sn, so let's stop + break; + } + } + + // no duplicate? then insert. + if (!repeat) + { + rcv_buf.Insert(i + 1, newseg); + } + // duplicate. just delete it. + else + { + SegmentDelete(newseg); + } + } + + // move available data from rcv_buf -> rcv_queue + void MoveReceiveBufferDataToReceiveQueue() + { + int removed = 0; + foreach (Segment seg in rcv_buf) + { + if (seg.sn == rcv_nxt && rcv_queue.Count < rcv_wnd) + { + // can't remove while iterating. remember how many to remove + // and do it after the loop. + ++removed; + rcv_queue.Enqueue(seg); + rcv_nxt++; + } + else + { + break; + } + } + rcv_buf.RemoveRange(0, removed); + } + + // ikcp_input + // used when you receive a low level packet (e.g. UDP packet) + // => original kcp uses offset=0, we made it a parameter so that high + // level can skip the channel byte more easily + public int Input(byte[] data, int offset, int size) + { + uint prev_una = snd_una; + uint maxack = 0; + uint latest_ts = 0; + int flag = 0; + + if (data == null || size < OVERHEAD) return -1; + + while (true) + { + uint ts = 0; + uint sn = 0; + uint len = 0; + uint una = 0; + uint conv_ = 0; + ushort wnd = 0; + byte cmd = 0; + byte frg = 0; + + // enough data left to decode segment (aka OVERHEAD bytes)? + if (size < OVERHEAD) break; + + // decode segment + offset += Utils.Decode32U(data, offset, ref conv_); + if (conv_ != conv) return -1; + + offset += Utils.Decode8u(data, offset, ref cmd); + offset += Utils.Decode8u(data, offset, ref frg); + offset += Utils.Decode16U(data, offset, ref wnd); + offset += Utils.Decode32U(data, offset, ref ts); + offset += Utils.Decode32U(data, offset, ref sn); + offset += Utils.Decode32U(data, offset, ref una); + offset += Utils.Decode32U(data, offset, ref len); + + // subtract the segment bytes from size + size -= OVERHEAD; + + // enough remaining to read 'len' bytes of the actual payload? + if (size < len || len < 0) return -2; + + if (cmd != CMD_PUSH && cmd != CMD_ACK && + cmd != CMD_WASK && cmd != CMD_WINS) + return -3; + + rmt_wnd = wnd; + ParseUna(una); + ShrinkBuf(); + + if (cmd == CMD_ACK) + { + if (Utils.TimeDiff(current, ts) >= 0) + { + UpdateAck(Utils.TimeDiff(current, ts)); + } + ParseAck(sn); + ShrinkBuf(); + if (flag == 0) + { + flag = 1; + maxack = sn; + latest_ts = ts; + } + else + { + if (Utils.TimeDiff(sn, maxack) > 0) + { +#if !FASTACK_CONSERVE + maxack = sn; + latest_ts = ts; +#else + if (Utils.TimeDiff(ts, latest_ts) > 0) + { + maxack = sn; + latest_ts = ts; + } +#endif + } + } + } + else if (cmd == CMD_PUSH) + { + if (Utils.TimeDiff(sn, rcv_nxt + rcv_wnd) < 0) + { + AckPush(sn, ts); + if (Utils.TimeDiff(sn, rcv_nxt) >= 0) + { + Segment seg = SegmentNew(); + seg.conv = conv_; + seg.cmd = cmd; + seg.frg = frg; + seg.wnd = wnd; + seg.ts = ts; + seg.sn = sn; + seg.una = una; + if (len > 0) + { + seg.data.Write(data, offset, (int)len); + } + ParseData(seg); + } + } + } + else if (cmd == CMD_WASK) + { + // ready to send back CMD_WINS in flush + // tell remote my window size + probe |= ASK_TELL; + } + else if (cmd == CMD_WINS) + { + // do nothing + } + else + { + return -3; + } + + offset += (int)len; + size -= (int)len; + } + + if (flag != 0) + { + ParseFastack(maxack, latest_ts); + } + + // cwnd update when packet arrived + if (Utils.TimeDiff(snd_una, prev_una) > 0) + { + if (cwnd < rmt_wnd) + { + if (cwnd < ssthresh) + { + cwnd++; + incr += mss; + } + else + { + if (incr < mss) incr = mss; + incr += (mss * mss) / incr + (mss / 16); + if ((cwnd + 1) * mss <= incr) + { + cwnd = (incr + mss - 1) / ((mss > 0) ? mss : 1); + } + } + if (cwnd > rmt_wnd) + { + cwnd = rmt_wnd; + incr = rmt_wnd * mss; + } + } + } + + return 0; + } + + // ikcp_wnd_unused + uint WndUnused() + { + if (rcv_queue.Count < rcv_wnd) + return rcv_wnd - (uint)rcv_queue.Count; + return 0; + } + + // ikcp_flush + // flush remain ack segments + public void Flush() + { + int offset = 0; // buffer ptr in original C + bool lost = false; // lost segments + + // helper functions + void MakeSpace(int space) + { + if (offset + space > mtu) + { + output(buffer, offset); + offset = 0; + } + } + + void FlushBuffer() + { + if (offset > 0) + { + output(buffer, offset); + } + } + + // 'ikcp_update' haven't been called. + if (!updated) return; + + // kcp only stack allocates a segment here for performance, leaving + // its data buffer null because this segment's data buffer is never + // used. that's fine in C, but in C# our segment is class so we need + // to allocate and most importantly, not forget to deallocate it + // before returning. + Segment seg = SegmentNew(); + seg.conv = conv; + seg.cmd = CMD_ACK; + seg.wnd = WndUnused(); + seg.una = rcv_nxt; + + // flush acknowledges + foreach (AckItem ack in acklist) + { + MakeSpace(OVERHEAD); + // ikcp_ack_get assigns ack[i] to seg.sn, seg.ts + seg.sn = ack.serialNumber; + seg.ts = ack.timestamp; + offset += seg.Encode(buffer, offset); + } + + acklist.Clear(); + + // probe window size (if remote window size equals zero) + if (rmt_wnd == 0) + { + if (probe_wait == 0) + { + probe_wait = PROBE_INIT; + ts_probe = current + probe_wait; + } + else + { + if (Utils.TimeDiff(current, ts_probe) >= 0) + { + if (probe_wait < PROBE_INIT) + probe_wait = PROBE_INIT; + probe_wait += probe_wait / 2; + if (probe_wait > PROBE_LIMIT) + probe_wait = PROBE_LIMIT; + ts_probe = current + probe_wait; + probe |= ASK_SEND; + } + } + } + else + { + ts_probe = 0; + probe_wait = 0; + } + + // flush window probing commands + if ((probe & ASK_SEND) != 0) + { + seg.cmd = CMD_WASK; + MakeSpace(OVERHEAD); + offset += seg.Encode(buffer, offset); + } + + // flush window probing commands + if ((probe & ASK_TELL) != 0) + { + seg.cmd = CMD_WINS; + MakeSpace(OVERHEAD); + offset += seg.Encode(buffer, offset); + } + + probe = 0; + + // calculate window size + uint cwnd_ = Math.Min(snd_wnd, rmt_wnd); + // if congestion window: + if (!nocwnd) cwnd_ = Math.Min(cwnd, cwnd_); + + // move data from snd_queue to snd_buf + // sliding window, controlled by snd_nxt && sna_una+cwnd + // + // ELI5: 'snd_nxt' is what we want to send. + // 'snd_una' is what hasn't been acked yet. + // copy up to 'cwnd_' difference between them (sliding window) + while (Utils.TimeDiff(snd_nxt, snd_una + cwnd_) < 0) + { + if (snd_queue.Count == 0) break; + + Segment newseg = snd_queue.Dequeue(); + + newseg.conv = conv; + newseg.cmd = CMD_PUSH; + newseg.wnd = seg.wnd; + newseg.ts = current; + newseg.sn = snd_nxt++; + newseg.una = rcv_nxt; + newseg.resendts = current; + newseg.rto = rx_rto; + newseg.fastack = 0; + newseg.xmit = 0; + snd_buf.Add(newseg); + } + + // calculate resent + uint resent = fastresend > 0 ? (uint)fastresend : 0xffffffff; + uint rtomin = nodelay == 0 ? (uint)rx_rto >> 3 : 0; + + // flush data segments + int change = 0; + foreach (Segment segment in snd_buf) + { + bool needsend = false; + // initial transmit + if (segment.xmit == 0) + { + needsend = true; + segment.xmit++; + segment.rto = rx_rto; + segment.resendts = current + (uint)segment.rto + rtomin; + } + // RTO + else if (Utils.TimeDiff(current, segment.resendts) >= 0) + { + needsend = true; + segment.xmit++; + xmit++; + if (nodelay == 0) + { + segment.rto += Math.Max(segment.rto, rx_rto); + } + else + { + int step = (nodelay < 2) ? segment.rto : rx_rto; + segment.rto += step / 2; + } + segment.resendts = current + (uint)segment.rto; + lost = true; + } + // fast retransmit + else if (segment.fastack >= resent) + { + if (segment.xmit <= fastlimit || fastlimit <= 0) + { + needsend = true; + segment.xmit++; + segment.fastack = 0; + segment.resendts = current + (uint)segment.rto; + change++; + } + } + + if (needsend) + { + segment.ts = current; + segment.wnd = seg.wnd; + segment.una = rcv_nxt; + + int need = OVERHEAD + (int)segment.data.Position; + MakeSpace(need); + + offset += segment.Encode(buffer, offset); + + if (segment.data.Position > 0) + { + Buffer.BlockCopy(segment.data.GetBuffer(), 0, buffer, offset, (int)segment.data.Position); + offset += (int)segment.data.Position; + } + + if (segment.xmit >= dead_link) + { + state = -1; + } + } + } + + // kcp stackallocs 'seg'. our C# segment is a class though, so we + // need to properly delete and return it to the pool now that we are + // done with it. + SegmentDelete(seg); + + // flash remain segments + FlushBuffer(); + + // update ssthresh + // rate halving, https://tools.ietf.org/html/rfc6937 + if (change > 0) + { + uint inflight = snd_nxt - snd_una; + ssthresh = inflight / 2; + if (ssthresh < THRESH_MIN) + ssthresh = THRESH_MIN; + cwnd = ssthresh + resent; + incr = cwnd * mss; + } + + // congestion control, https://tools.ietf.org/html/rfc5681 + if (lost) + { + // original C uses 'cwnd', not kcp->cwnd! + ssthresh = cwnd_ / 2; + if (ssthresh < THRESH_MIN) + ssthresh = THRESH_MIN; + cwnd = 1; + incr = mss; + } + + if (cwnd < 1) + { + cwnd = 1; + incr = mss; + } + } + + // ikcp_update + // update state (call it repeatedly, every 10ms-100ms), or you can ask + // Check() when to call it again (without Input/Send calling). + // + // 'current' - current timestamp in millisec. pass it to Kcp so that + // Kcp doesn't have to do any stopwatch/deltaTime/etc. code + public void Update(uint currentTimeMilliSeconds) + { + current = currentTimeMilliSeconds; + + if (!updated) + { + updated = true; + ts_flush = current; + } + + int slap = Utils.TimeDiff(current, ts_flush); + + if (slap >= 10000 || slap < -10000) + { + ts_flush = current; + slap = 0; + } + + if (slap >= 0) + { + ts_flush += interval; + if (Utils.TimeDiff(current, ts_flush) >= 0) + { + ts_flush = current + interval; + } + Flush(); + } + } + + // ikcp_check + // Determine when should you invoke update + // Returns when you should invoke update in millisec, if there is no + // input/send calling. you can call update in that time, instead of + // call update repeatly. + // + // Important to reduce unnecessary update invoking. use it to schedule + // update (e.g. implementing an epoll-like mechanism, or optimize update + // when handling massive kcp connections). + public uint Check(uint current_) + { + uint ts_flush_ = ts_flush; + int tm_flush = 0x7fffffff; + int tm_packet = 0x7fffffff; + + if (!updated) + { + return current_; + } + + if (Utils.TimeDiff(current_, ts_flush_) >= 10000 || + Utils.TimeDiff(current_, ts_flush_) < -10000) + { + ts_flush_ = current_; + } + + if (Utils.TimeDiff(current_, ts_flush_) >= 0) + { + return current_; + } + + tm_flush = Utils.TimeDiff(ts_flush_, current_); + + foreach (Segment seg in snd_buf) + { + int diff = Utils.TimeDiff(seg.resendts, current_); + if (diff <= 0) + { + return current_; + } + if (diff < tm_packet) tm_packet = diff; + } + + uint minimal = (uint)(tm_packet < tm_flush ? tm_packet : tm_flush); + if (minimal >= interval) minimal = interval; + + return current_ + minimal; + } + + // ikcp_setmtu + // Change MTU (Maximum Transmission Unit) size. + public void SetMtu(uint mtu) + { + if (mtu < 50 || mtu < OVERHEAD) + throw new ArgumentException("MTU must be higher than 50 and higher than OVERHEAD"); + + buffer = new byte[(mtu + OVERHEAD) * 3]; + this.mtu = mtu; + mss = mtu - OVERHEAD; + } + + // ikcp_interval + public void SetInterval(uint interval) + { + if (interval > 5000) interval = 5000; + else if (interval < 10) interval = 10; + this.interval = interval; + } + + // ikcp_nodelay + // configuration: https://github.com/skywind3000/kcp/blob/master/README.en.md#protocol-configuration + // nodelay : Whether nodelay mode is enabled, 0 is not enabled; 1 enabled. + // interval :Protocol internal work interval, in milliseconds, such as 10 ms or 20 ms. + // resend :Fast retransmission mode, 0 represents off by default, 2 can be set (2 ACK spans will result in direct retransmission) + // nc :Whether to turn off flow control, 0 represents “Do not turn off” by default, 1 represents “Turn off”. + // Normal Mode: ikcp_nodelay(kcp, 0, 40, 0, 0); + // Turbo Mode: ikcp_nodelay(kcp, 1, 10, 2, 1); + public void SetNoDelay(uint nodelay, uint interval = INTERVAL, int resend = 0, bool nocwnd = false) + { + this.nodelay = nodelay; + if (nodelay != 0) + { + rx_minrto = RTO_NDL; + } + else + { + rx_minrto = RTO_MIN; + } + + if (interval >= 0) + { + if (interval > 5000) interval = 5000; + else if (interval < 10) interval = 10; + this.interval = interval; + } + + if (resend >= 0) + { + fastresend = resend; + } + + this.nocwnd = nocwnd; + } + + // ikcp_wndsize + public void SetWindowSize(uint sendWindow, uint receiveWindow) + { + if (sendWindow > 0) + { + snd_wnd = sendWindow; + } + + if (receiveWindow > 0) + { + // must >= max fragment size + rcv_wnd = Math.Max(receiveWindow, WND_RCV); + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs.meta new file mode 100644 index 0000000..935b423 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Kcp.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a59b1cae10a334faf807432ab472f212 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs new file mode 100644 index 0000000..81b5289 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs @@ -0,0 +1,46 @@ +// Pool to avoid allocations (from libuv2k & Mirror) +using System; +using System.Collections.Generic; + +namespace kcp2k +{ + public class Pool + { + // Mirror is single threaded, no need for concurrent collections + readonly Stack objects = new Stack(); + + // some types might need additional parameters in their constructor, so + // we use a Func generator + readonly Func objectGenerator; + + // some types might need additional cleanup for returned objects + readonly Action objectResetter; + + public Pool(Func objectGenerator, Action objectResetter, int initialCapacity) + { + this.objectGenerator = objectGenerator; + this.objectResetter = objectResetter; + + // allocate an initial pool so we have fewer (if any) + // allocations in the first few frames (or seconds). + for (int i = 0; i < initialCapacity; ++i) + objects.Push(objectGenerator()); + } + + // take an element from the pool, or create a new one if empty + public T Take() => objects.Count > 0 ? objects.Pop() : objectGenerator(); + + // return an element to the pool + public void Return(T item) + { + objectResetter(item); + objects.Push(item); + } + + // clear the pool + public void Clear() => objects.Clear(); + + // count to see how many objects are in the pool. useful for tests. + public int Count => objects.Count; + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs.meta new file mode 100644 index 0000000..5eba0e0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Pool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35c07818fc4784bb4ba472c8e5029002 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs new file mode 100644 index 0000000..b5c9dcf --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs @@ -0,0 +1,62 @@ +using System.IO; + +namespace kcp2k +{ + // KCP Segment Definition + internal class Segment + { + internal uint conv; // conversation + internal uint cmd; // command, e.g. Kcp.CMD_ACK etc. + internal uint frg; // fragment + internal uint wnd; // window size that the receive can currently receive + internal uint ts; // timestamp + internal uint sn; // serial number + internal uint una; + internal uint resendts; // resend timestamp + internal int rto; + internal uint fastack; + internal uint xmit; + + // we need an auto scaling byte[] with a WriteBytes function. + // MemoryStream does that perfectly, no need to reinvent the wheel. + // note: no need to pool it, because Segment is already pooled. + // -> MTU as initial capacity to avoid most runtime resizing/allocations + internal MemoryStream data = new MemoryStream(Kcp.MTU_DEF); + + // ikcp_encode_seg + // encode a segment into buffer + internal int Encode(byte[] ptr, int offset) + { + int offset_ = offset; + offset += Utils.Encode32U(ptr, offset, conv); + offset += Utils.Encode8u(ptr, offset, (byte)cmd); + offset += Utils.Encode8u(ptr, offset, (byte)frg); + offset += Utils.Encode16U(ptr, offset, (ushort)wnd); + offset += Utils.Encode32U(ptr, offset, ts); + offset += Utils.Encode32U(ptr, offset, sn); + offset += Utils.Encode32U(ptr, offset, una); + offset += Utils.Encode32U(ptr, offset, (uint)data.Position); + + return offset - offset_; + } + + // reset to return a fresh segment to the pool + internal void Reset() + { + conv = 0; + cmd = 0; + frg = 0; + wnd = 0; + ts = 0; + sn = 0; + una = 0; + rto = 0; + xmit = 0; + resendts = 0; + fastack = 0; + + // keep buffer for next pool usage, but reset length (= bytes written) + data.SetLength(0); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs.meta new file mode 100644 index 0000000..d14dc1a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Segment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc58706a05dd3442c8fde858d5266855 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs new file mode 100644 index 0000000..45dc1a6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs @@ -0,0 +1,76 @@ +using System.Runtime.CompilerServices; + +namespace kcp2k +{ + public static partial class Utils + { + // Clamp so we don't have to depend on UnityEngine + public static int Clamp(int value, int min, int max) + { + if (value < min) return min; + if (value > max) return max; + return value; + } + + // encode 8 bits unsigned int + public static int Encode8u(byte[] p, int offset, byte c) + { + p[0 + offset] = c; + return 1; + } + + // decode 8 bits unsigned int + public static int Decode8u(byte[] p, int offset, ref byte c) + { + c = p[0 + offset]; + return 1; + } + + // encode 16 bits unsigned int (lsb) + public static int Encode16U(byte[] p, int offset, ushort w) + { + p[0 + offset] = (byte)(w >> 0); + p[1 + offset] = (byte)(w >> 8); + return 2; + } + + // decode 16 bits unsigned int (lsb) + public static int Decode16U(byte[] p, int offset, ref ushort c) + { + ushort result = 0; + result |= p[0 + offset]; + result |= (ushort)(p[1 + offset] << 8); + c = result; + return 2; + } + + // encode 32 bits unsigned int (lsb) + public static int Encode32U(byte[] p, int offset, uint l) + { + p[0 + offset] = (byte)(l >> 0); + p[1 + offset] = (byte)(l >> 8); + p[2 + offset] = (byte)(l >> 16); + p[3 + offset] = (byte)(l >> 24); + return 4; + } + + // decode 32 bits unsigned int (lsb) + public static int Decode32U(byte[] p, int offset, ref uint c) + { + uint result = 0; + result |= p[0 + offset]; + result |= (uint)(p[1 + offset] << 8); + result |= (uint)(p[2 + offset] << 16); + result |= (uint)(p[3 + offset] << 24); + c = result; + return 4; + } + + // timediff was a macro in original Kcp. let's inline it if possible. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int TimeDiff(uint later, uint earlier) + { + return (int)(later - earlier); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs.meta new file mode 100644 index 0000000..86118bc --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ef959eb716205bd48b050f010a9a35ae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef new file mode 100644 index 0000000..9a90c82 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef @@ -0,0 +1,15 @@ +{ + "name": "kcp2k", + "references": [ + "GUID:63c380d6dae6946209ed0832388a657c" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef.meta new file mode 100644 index 0000000..1d70e80 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/kcp2k.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6806a62c384838046a3c66c44f06d75f +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation.meta new file mode 100644 index 0000000..5c72cf0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9de45e025f26411bbb52d1aefc8d5a5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE new file mode 100644 index 0000000..0330370 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Mirror Networking (vis2k, FakeByte) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE.meta new file mode 100644 index 0000000..4fadbdf --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a857d4e863bbf4a7dba70bc2cd1b5949 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts.meta new file mode 100644 index 0000000..6878ad8 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b7f3f8e8fa16475bbe48a8e9fbe800b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs new file mode 100644 index 0000000..246a5d1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("where-allocations.Tests")] \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs.meta new file mode 100644 index 0000000..1edb254 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/AssemblyInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 158a96a7489b450485a8b06a13328871 +timeCreated: 1622356221 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs new file mode 100644 index 0000000..fcf18f6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs @@ -0,0 +1,58 @@ +using System.Net; +using System.Net.Sockets; + +namespace WhereAllocation +{ + public static class Extensions + { + // always pass the same IPEndPointNonAlloc instead of allocating a new + // one each time. + // + // use IPEndPointNonAlloc.temp to get the latest SocketAdddress written + // by ReceiveFrom_Internal! + // + // IMPORTANT: .temp will be overwritten in next call! + // hash or manually copy it if you need to store it, e.g. + // when adding a new connection. + public static int ReceiveFrom_NonAlloc( + this Socket socket, + byte[] buffer, + int offset, + int size, + SocketFlags socketFlags, + IPEndPointNonAlloc remoteEndPoint) + { + // call ReceiveFrom with IPEndPointNonAlloc. + // need to wrap this in ReceiveFrom_NonAlloc because it's not + // obvious that IPEndPointNonAlloc.Create does NOT create a new + // IPEndPoint. it saves the result in IPEndPointNonAlloc.temp! + EndPoint casted = remoteEndPoint; + return socket.ReceiveFrom(buffer, offset, size, socketFlags, ref casted); + } + + // same as above, different parameters + public static int ReceiveFrom_NonAlloc(this Socket socket, byte[] buffer, IPEndPointNonAlloc remoteEndPoint) + { + EndPoint casted = remoteEndPoint; + return socket.ReceiveFrom(buffer, ref casted); + } + + // SendTo allocates too: + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L2240 + // -> the allocation is in EndPoint.Serialize() + // NOTE: technically this function isn't necessary. + // could just pass IPEndPointNonAlloc. + // still good for strong typing. + public static int SendTo_NonAlloc( + this Socket socket, + byte[] buffer, + int offset, + int size, + SocketFlags socketFlags, + IPEndPointNonAlloc remoteEndPoint) + { + EndPoint casted = remoteEndPoint; + return socket.SendTo(buffer, offset, size, socketFlags, casted); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs.meta new file mode 100644 index 0000000..c4fa54d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e801942544d44d65808fb250623fe25 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs new file mode 100644 index 0000000..65eb453 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs @@ -0,0 +1,208 @@ +using System; +using System.Net; +using System.Net.Sockets; + +namespace WhereAllocation +{ + public class IPEndPointNonAlloc : IPEndPoint + { + // Two steps to remove allocations in ReceiveFrom_Internal: + // + // 1.) remoteEndPoint.Serialize(): + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L1733 + // -> creates an EndPoint for ReceiveFrom_Internal to write into + // -> it's never read from: + // ReceiveFrom_Internal passes it to native: + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L1885 + // native recv populates 'sockaddr* from' with the remote address: + // https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-recvfrom + // -> can NOT be null. bricks both Unity and Unity Hub otherwise. + // -> it seems as if Serialize() is only called to avoid allocating + // a 'new SocketAddress' in ReceiveFrom. it's up to the EndPoint. + // + // 2.) EndPoint.Create(SocketAddress): + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L1761 + // -> SocketAddress is the remote's address that we want to return + // -> to avoid 'new EndPoint(SocketAddress), it seems up to the user + // to decide how to create a new EndPoint via .Create + // -> SocketAddress is the object that was returned by Serialize() + // + // in other words, all we need is an extra SocketAddress field that we + // can pass to ReceiveFrom_Internal to write the result into. + // => callers can then get the result from the extra field! + // => no allocations + // + // IMPORTANT: remember that IPEndPointNonAlloc is always the same object + // and never changes. only the helper field is changed. + public SocketAddress temp; + + // constructors simply create the field once by calling the base method. + // (our overwritten method would create anything new) + public IPEndPointNonAlloc(long address, int port) : base(address, port) + { + temp = base.Serialize(); + } + public IPEndPointNonAlloc(IPAddress address, int port) : base(address, port) + { + temp = base.Serialize(); + } + + // Serialize simply returns it + public override SocketAddress Serialize() => temp; + + // Create doesn't need to create anything. + // SocketAddress object is already the one we returned in Serialize(). + // ReceiveFrom_Internal simply wrote into it. + public override EndPoint Create(SocketAddress socketAddress) + { + // original IPEndPoint.Create validates: + if (socketAddress.Family != AddressFamily) + throw new ArgumentException($"Unsupported socketAddress.AddressFamily: {socketAddress.Family}. Expected: {AddressFamily}"); + if (socketAddress.Size < 8) + throw new ArgumentException($"Unsupported socketAddress.Size: {socketAddress.Size}. Expected: <8"); + + // double check to guarantee that ReceiveFrom actually did write + // into our 'temp' field. just in case that's ever changed. + if (socketAddress != temp) + { + // well this is fun. + // in the latest mono from the above github links, + // the result of Serialize() is passed as 'ref' so ReceiveFrom + // does in fact write into it. + // + // in Unity 2019 LTS's mono version, it does create a new one + // each time. this is from ILSpy Receive_From: + // + // SocketPal.CheckDualModeReceiveSupport(this); + // ValidateBlockingMode(); + // if (NetEventSource.IsEnabled) + // { + // NetEventSource.Info(this, $"SRC{LocalEndPoint} size:{size} remoteEP:{remoteEP}", "ReceiveFrom"); + // } + // EndPoint remoteEP2 = remoteEP; + // System.Net.Internals.SocketAddress socketAddress = SnapshotAndSerialize(ref remoteEP2); + // System.Net.Internals.SocketAddress socketAddress2 = IPEndPointExtensions.Serialize(remoteEP2); + // int bytesTransferred; + // SocketError socketError = SocketPal.ReceiveFrom(_handle, buffer, offset, size, socketFlags, socketAddress.Buffer, ref socketAddress.InternalSize, out bytesTransferred); + // SocketException ex = null; + // if (socketError != 0) + // { + // ex = new SocketException((int)socketError); + // UpdateStatusAfterSocketError(ex); + // if (NetEventSource.IsEnabled) + // { + // NetEventSource.Error(this, ex, "ReceiveFrom"); + // } + // if (ex.SocketErrorCode != SocketError.MessageSize) + // { + // throw ex; + // } + // } + // if (!socketAddress2.Equals(socketAddress)) + // { + // try + // { + // remoteEP = remoteEP2.Create(socketAddress); + // } + // catch + // { + // } + // if (_rightEndPoint == null) + // { + // _rightEndPoint = remoteEP2; + // } + // } + // if (ex != null) + // { + // throw ex; + // } + // if (NetEventSource.IsEnabled) + // { + // NetEventSource.DumpBuffer(this, buffer, offset, size, "ReceiveFrom"); + // NetEventSource.Exit(this, bytesTransferred, "ReceiveFrom"); + // } + // return bytesTransferred; + // + + // so until they upgrade their mono version, we are stuck with + // some allocations. + // + // for now, let's pass the newly created on to our temp so at + // least we reuse it next time. + temp = socketAddress; + + // SocketAddress.GetHashCode() depends on SocketAddress.m_changed. + // ReceiveFrom only sets the buffer, it does not seem to set m_changed. + // we need to reset m_changed for two reasons: + // * if m_changed is false, GetHashCode() returns the cahced m_hash + // which is '0'. that would be a problem. + // https://github.com/mono/mono/blob/bdd772531d379b4e78593587d15113c37edd4a64/mcs/class/referencesource/System/net/System/Net/SocketAddress.cs#L262 + // * if we have a cached m_hash, but ReceiveFrom modified the buffer + // then the GetHashCode() should change too. so we need to reset + // either way. + // + // the only way to do that is by _actually_ modifying the buffer: + // https://github.com/mono/mono/blob/bdd772531d379b4e78593587d15113c37edd4a64/mcs/class/referencesource/System/net/System/Net/SocketAddress.cs#L99 + // so let's do that. + // -> unchecked in case it's byte.Max + unchecked + { + temp[0] += 1; + temp[0] -= 1; + } + + // make sure this worked. + // at least throw an Exception to make it obvious if the trick does + // not work anymore, in case ReceiveFrom is ever changed. + if (temp.GetHashCode() == 0) + throw new Exception($"SocketAddress GetHashCode() is 0 after ReceiveFrom. Does the m_changed trick not work anymore?"); + + // in the future, enable this again: + //throw new Exception($"Socket.ReceiveFrom(): passed SocketAddress={socketAddress} but expected {temp}. This should never happen. Did ReceiveFrom() change?"); + } + + // ReceiveFrom sets seed_endpoint to the result of Create(): + // https://github.com/mono/mono/blob/f74eed4b09790a0929889ad7fc2cf96c9b6e3757/mcs/class/System/System.Net.Sockets/Socket.cs#L1764 + // so let's return ourselves at least. + // (seed_endpoint only seems to matter for BeginSend etc.) + return this; + } + + // we need to overwrite GetHashCode() for two reasons. + // https://github.com/mono/mono/blob/bdd772531d379b4e78593587d15113c37edd4a64/mcs/class/referencesource/System/net/System/Net/IPEndPoint.cs#L160 + // * it uses m_Address. but our true SocketAddress is in m_temp. + // m_Address might not be set at all. + // * m_Address.GetHashCode() allocates: + // https://github.com/mono/mono/blob/bdd772531d379b4e78593587d15113c37edd4a64/mcs/class/referencesource/System/net/System/Net/IPAddress.cs#L699 + public override int GetHashCode() => temp.GetHashCode(); + + // helper function to create an ACTUAL new IPEndPoint from this. + // server needs it to store new connections as unique IPEndPoints. + public IPEndPoint DeepCopyIPEndPoint() + { + // we need to create a new IPEndPoint from 'temp' SocketAddress. + // there is no 'new IPEndPoint(SocketAddress) constructor. + // so we need to be a bit creative... + + // allocate a placeholder IPAddress to copy + // our SocketAddress into. + // -> needs to be the same address family. + IPAddress ipAddress; + if (temp.Family == AddressFamily.InterNetworkV6) + ipAddress = IPAddress.IPv6Any; + else if (temp.Family == AddressFamily.InterNetwork) + ipAddress = IPAddress.Any; + else + throw new Exception($"Unexpected SocketAddress family: {temp.Family}"); + + // allocate a placeholder IPEndPoint + // with the needed size form IPAddress. + // (the real class. not NonAlloc) + IPEndPoint placeholder = new IPEndPoint(ipAddress, 0); + + // the real IPEndPoint's .Create function can create a new IPEndPoint + // copy from a SocketAddress. + return (IPEndPoint)placeholder.Create(temp); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs.meta new file mode 100644 index 0000000..ef424ba --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/IPEndPointNonAlloc.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af0279d15e39b484792394f1d3cad4d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef new file mode 100644 index 0000000..a185c2b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef @@ -0,0 +1,13 @@ +{ + "name": "where-allocations", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef.meta new file mode 100644 index 0000000..ce96c63 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/Scripts/where-allocations.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63c380d6dae6946209ed0832388a657c +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION new file mode 100644 index 0000000..8341d28 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION @@ -0,0 +1,2 @@ +V0.1 [2021-06-01] +- initial release \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION.meta b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION.meta new file mode 100644 index 0000000..67ab688 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/KCP/kcp2k/where-allocation/VERSION.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f1256cadc037546ccb66071784fce137 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM.meta b/Assets/Mirror/Runtime/Transport/LRM.meta new file mode 100644 index 0000000..9fd900d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bc259d9cf1aa444b824d3aa82a0ef28 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs b/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs new file mode 100644 index 0000000..507c85f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs @@ -0,0 +1,56 @@ +// +// Source: https://stackoverflow.com/questions/255341/getting-multiple-keys-of-specified-value-of-a-generic-dictionary#255630 +// +using System; +using System.Collections.Generic; + +namespace LightReflectiveMirror +{ + class BiDictionary + { + IDictionary firstToSecond = new Dictionary(); + IDictionary secondToFirst = new Dictionary(); + + public void Add(TFirst first, TSecond second) + { + if (firstToSecond.ContainsKey(first) || + secondToFirst.ContainsKey(second)) + { + throw new ArgumentException("Duplicate first or second"); + } + firstToSecond.Add(first, second); + secondToFirst.Add(second, first); + } + + public bool TryGetByFirst(TFirst first, out TSecond second) + { + return firstToSecond.TryGetValue(first, out second); + } + + public void Remove(TFirst first) + { + secondToFirst.Remove(firstToSecond[first]); + firstToSecond.Remove(first); + } + + public ICollection GetAllKeys() + { + return secondToFirst.Values; + } + + public bool TryGetBySecond(TSecond second, out TFirst first) + { + return secondToFirst.TryGetValue(second, out first); + } + + public TSecond GetByFirst(TFirst first) + { + return firstToSecond[first]; + } + + public TFirst GetBySecond(TSecond second) + { + return secondToFirst[second]; + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs.meta new file mode 100644 index 0000000..6de220d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/BiDictionary.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8914d2a366f983644878d8499a097f9d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/Editor.meta b/Assets/Mirror/Runtime/Transport/LRM/Editor.meta new file mode 100644 index 0000000..7ab3d9c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c9c76ba5b4c19024dabfcd3d608ae0d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs b/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs new file mode 100644 index 0000000..225c75d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs @@ -0,0 +1,311 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using System.Net; +using System.Reflection; +using System.Linq; +using Mirror; +using Mirror.SimpleWeb; +using System; +using kcp2k; + +namespace LightReflectiveMirror +{ +#if UNITY_EDITOR + [CustomEditor(typeof(LightReflectiveMirrorTransport))] + public class LRMInspector : Editor + { + int serverPort = 7777; + string serverIP; + float invalidServerIP = 0; + bool usingLLB = false; + LRMDirectConnectModule directModule; + string[] tabs = new string[] { "LRM Settings", "NAT Punch", "Load Balancer", "Other" }; + int currentTab = 0; + Type[] supportedTransports = new Type[3] { typeof(KcpTransport), typeof(SimpleWebTransport), typeof(TelepathyTransport) }; + + public override void OnInspectorGUI() + { + var lrm = (LightReflectiveMirrorTransport)target; + directModule = lrm.GetComponent(); + + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.Label(Resources.Load("LRM"), GUILayout.Height(50), GUILayout.Width(100)); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + + if (string.IsNullOrEmpty(lrm.loadBalancerAddress)) + { + // First setup screen, ask if they are using LLB or just a single LRM node. + EditorGUILayout.HelpBox("Thank you for using LRM!\nTo get started, please select which setup you are using.", MessageType.None); + + if (GUILayout.Button("Load Balancer Setup")) + { + usingLLB = true; + lrm.loadBalancerAddress = "127.0.0.1"; + serverPort = 7070; + } + + if (GUILayout.Button("Single LRM Node Setup")) + { + lrm.loadBalancerAddress = "127.0.0.1"; + lrm.useLoadBalancer = false; + usingLLB = false; + serverIP = "172.105.109.117"; + } + } + else if (usingLLB) + { + // They said they are using LLB, configure it! + EditorGUILayout.HelpBox("The Load Balancer is another server that is different than the LRM node. Please enter the IP address or domain name of your Load Balancer server, along with the port.", MessageType.None); + EditorGUILayout.HelpBox("Acceptable Examples: 127.0.0.1, mydomain.com", MessageType.Info); + if (Time.realtimeSinceStartup - invalidServerIP < 5) + EditorGUILayout.HelpBox("Invalid Server Address!", MessageType.Error); + + serverIP = EditorGUILayout.TextField("Server Address", serverIP); + serverPort = Mathf.Clamp(EditorGUILayout.IntField("Server Port", serverPort), ushort.MinValue, ushort.MaxValue); + + if (GUILayout.Button("Continue")) + { + if (IPAddress.TryParse(serverIP, out IPAddress serverAddr)) + { + lrm.loadBalancerAddress = serverAddr.ToString(); + lrm.loadBalancerPort = (ushort)serverPort; + lrm.serverIP = "127.0.0.1"; + lrm.useLoadBalancer = true; + usingLLB = false; + serverIP = ""; + } + else + { + try + { + if (Dns.GetHostEntry(serverIP).AddressList.Length > 0) + { + lrm.loadBalancerAddress = serverIP; + lrm.loadBalancerPort = (ushort)serverPort; + lrm.serverIP = "127.0.0.1"; + usingLLB = false; + serverIP = ""; + } + else + invalidServerIP = Time.realtimeSinceStartup; + } + catch + { + invalidServerIP = Time.realtimeSinceStartup; + } + } + } + } + else if (lrm.clientToServerTransport == null) + { + // next up, the actual transport. We are going to loop over all the transport types here and let them select one. + EditorGUILayout.HelpBox("We need to use the same transport used on the server. Please select the same transport used on your LRM Node(s)", MessageType.None); + + foreach (var transport in supportedTransports) + { + if (GUILayout.Button(transport.Name)) + { + var newTransportGO = new GameObject("LRM - Connector"); + newTransportGO.transform.SetParent(lrm.transform); + var newTransport = newTransportGO.AddComponent(transport); + lrm.clientToServerTransport = (Transport)newTransport; + } + } + } + else if (string.IsNullOrEmpty(lrm.serverIP)) + { + // Empty server IP, this is pretty important! Lets show the UI to require it. + EditorGUILayout.HelpBox("For a single LRM node setup, we need the IP address or domain name of your LRM server.", MessageType.None); + EditorGUILayout.HelpBox("Acceptable Examples: 172.105.109.117, mydomain.com", MessageType.Info); + + if (Time.realtimeSinceStartup - invalidServerIP < 5) + EditorGUILayout.HelpBox("Invalid Server Address!", MessageType.Error); + + serverIP = EditorGUILayout.TextField("Server Address", serverIP); + serverPort = Mathf.Clamp(EditorGUILayout.IntField("Server Port", serverPort), ushort.MinValue, ushort.MaxValue); + + if (GUILayout.Button("Continue")) + { + if (IPAddress.TryParse(serverIP, out IPAddress serverAddr)) + { + lrm.serverIP = serverAddr.ToString(); + lrm.SetTransportPort((ushort)serverPort); + } + else + { + try + { + if (Dns.GetHostEntry(serverIP).AddressList.Length > 0) + { + lrm.serverIP = serverIP; + lrm.SetTransportPort((ushort)serverPort); + } + else + invalidServerIP = Time.realtimeSinceStartup; + } + catch + { + invalidServerIP = Time.realtimeSinceStartup; + } + } + } + } + else if (lrm.NATPunchtroughPort < 0) + { + // NAT Punchthrough configuration. + EditorGUILayout.HelpBox("Do you wish to use NAT Punchthrough? This can reduce load by up to 80% on your LRM nodes, but exposes players IP's to other players.", MessageType.None); + + if (GUILayout.Button("Use NAT Punchthrough")) + { + lrm.NATPunchtroughPort = 1; + lrm.useNATPunch = true; + lrm.gameObject.AddComponent(); + } + + if (GUILayout.Button("Do NOT use NAT Punchthrough")) + lrm.NATPunchtroughPort = 1; + + } + else if (directModule != null && directModule.directConnectTransport == null) + { + // NAT Punchthrough setup. + EditorGUILayout.HelpBox("To use direct connecting, we need a transport to communicate with the other clients. Please select a transport to use.", MessageType.None); + + foreach (var transport in supportedTransports) + { + if (lrm.useNATPunch && transport != typeof(KcpTransport)) + continue; + + if (GUILayout.Button(transport.Name)) + { + var newTransportGO = new GameObject("LRM - Direct Connect"); + newTransportGO.transform.SetParent(lrm.transform); + var newTransport = newTransportGO.AddComponent(transport); + directModule.directConnectTransport = (Transport)newTransport; + } + } + } + else + { + // They have completed the "setup guide" Show them the main UI + + // Remove unused transports... + foreach (var transport in lrm.GetComponentsInChildren()) + { + if (!(transport is LightReflectiveMirrorTransport)) + { + if (transport != lrm.clientToServerTransport && (directModule == null ? true : directModule.directConnectTransport != transport)) + { + if (transport.gameObject == lrm.gameObject) + DestroyImmediate(transport); + else + DestroyImmediate(transport.gameObject); + } + } + } + + currentTab = GUILayout.Toolbar(currentTab, tabs); + EditorGUILayout.Space(); + + EditorGUILayout.BeginVertical("Window"); + switch (currentTab) + { + case 0: + using (var change = new EditorGUI.ChangeCheckScope()) + { + + + // They are in the LRM Settings tab. + if (lrm.useLoadBalancer) + { + EditorGUILayout.HelpBox("While using a Load Balancer, you don't set the LRM node IP or port.", MessageType.Info); + GUI.enabled = false; + } + lrm.serverIP = EditorGUILayout.TextField("LRM Node IP", lrm.serverIP); + lrm.serverPort = (ushort)Mathf.Clamp(EditorGUILayout.IntField("LRM Node Port", lrm.serverPort), ushort.MinValue, ushort.MaxValue); + lrm.endpointServerPort = (ushort)Mathf.Clamp(EditorGUILayout.IntField("Endpoint Port", lrm.endpointServerPort), ushort.MinValue, ushort.MaxValue); + + if (lrm.useLoadBalancer) + { + GUI.enabled = true; + } + + lrm.authenticationKey = EditorGUILayout.TextField("LRM Auth Key", lrm.authenticationKey); + lrm.heartBeatInterval = EditorGUILayout.Slider("Heartbeat Time", lrm.heartBeatInterval, 0.1f, 5f); + lrm.connectOnAwake = EditorGUILayout.Toggle("Connect on Awake", lrm.connectOnAwake); + lrm.clientToServerTransport = (Transport)EditorGUILayout.ObjectField("LRM Transport", lrm.clientToServerTransport, typeof(Transport), true); + if (change.changed) + { + EditorUtility.SetDirty(lrm); + } + } + serializedObject.ApplyModifiedProperties(); + break; + case 1: + // NAT punch tab. + if (directModule == null) + { + EditorGUILayout.HelpBox("NAT Punchthrough disabled, missing Direct Connect.", MessageType.Info); + if (GUILayout.Button("Add Direct Connect")) + lrm.gameObject.AddComponent(); + } + else + { + if (!(directModule.directConnectTransport is KcpTransport)) + { + EditorGUILayout.HelpBox("NAT Punch only supports KCP currently.", MessageType.Info); + GUI.enabled = false; + lrm.useNATPunch = false; + } + + lrm.useNATPunch = EditorGUILayout.Toggle("Use NAT Punch", lrm.useNATPunch); + GUI.enabled = true; + directModule.directConnectTransport = (Transport)EditorGUILayout.ObjectField("Direct Transport", directModule.directConnectTransport, typeof(Transport), true); + } + serializedObject.ApplyModifiedProperties(); + break; + case 2: + // Load balancer tab + lrm.useLoadBalancer = EditorGUILayout.Toggle("Use Load Balancer", lrm.useLoadBalancer); + if (!lrm.useLoadBalancer) + GUI.enabled = false; + lrm.loadBalancerAddress = EditorGUILayout.TextField("Load Balancer Address", lrm.loadBalancerAddress); + lrm.loadBalancerPort = (ushort)Mathf.Clamp(EditorGUILayout.IntField("Load Balancer Port", lrm.loadBalancerPort), ushort.MinValue, ushort.MaxValue); + lrm.region = (LRMRegions)EditorGUILayout.EnumPopup("Node Region", lrm.region); + if (!lrm.useLoadBalancer) + GUI.enabled = true; + serializedObject.ApplyModifiedProperties(); + break; + case 3: + // Other tab... + + GUI.enabled = false; + EditorGUILayout.TextField("Server Status", lrm.serverStatus); + EditorGUILayout.TextField("Server ID", string.IsNullOrEmpty(lrm.serverId) ? "Not Hosting." : lrm.serverId); + GUI.enabled = true; + + EditorGUILayout.Space(); + + lrm.serverName = EditorGUILayout.TextField("Server Name", lrm.serverName); + lrm.extraServerData = EditorGUILayout.TextField("Extra Server Data", lrm.extraServerData); + lrm.maxServerPlayers = EditorGUILayout.IntField("Max Server Players", lrm.maxServerPlayers); + lrm.isPublicServer = EditorGUILayout.Toggle("Is Public Server", lrm.isPublicServer); + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.PropertyField(serializedObject.FindProperty("connectedToRelay")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("disconnectedFromRelay")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("serverListUpdated")); + serializedObject.ApplyModifiedProperties(); + break; + } + EditorGUILayout.EndVertical(); + } + } + } +#endif +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs.meta new file mode 100644 index 0000000..f1fe928 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/Editor/LRMInspector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ebe9be4a049785a41ac7c27b7b2c82d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs b/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs new file mode 100644 index 0000000..e4a08d0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs @@ -0,0 +1,230 @@ +// -------------------------------------------------------------------------------------------------------------------- +/// +/// +/// Copyright (c) 2017, John Earnshaw, reblGreen Software Limited +/// +/// +/// +/// All rights reserved. +/// Redistribution and use in source and binary forms, with or without modification, are +/// permitted provided that the following conditions are met: +/// 1. Redistributions of source code must retain the above copyright notice, this list of +/// conditions and the following disclaimer. +/// 2. Redistributions in binary form must reproduce the above copyright notice, this list +/// of conditions and the following disclaimer in the documentation and/or other materials +/// provided with the distribution. +/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +/// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +/// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE +/// COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +/// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +/// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +/// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +/// TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +/// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/// +// -------------------------------------------------------------------------------------------------------------------- +using System; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +[AttributeUsage(AttributeTargets.Field, Inherited = true)] +public class HelpAttribute : PropertyAttribute +{ + public readonly string text; + + // MessageType exists in UnityEditor namespace and can throw an exception when used outside the editor. + // We spoof MessageType at the bottom of this script to ensure that errors are not thrown when + // MessageType is unavailable. + public readonly MessageType type; + + + ///

+ /// Adds a HelpBox to the Unity property inspector above this field. + /// + /// The help text to be displayed in the HelpBox. + /// The icon to be displayed in the HelpBox. + public HelpAttribute(string text, MessageType type = MessageType.Info) + { + this.text = text; + this.type = type; + } +} + +#if UNITY_EDITOR +[CustomPropertyDrawer(typeof(HelpAttribute))] +public class HelpDrawer : PropertyDrawer +{ + // Used for top and bottom padding between the text and the HelpBox border. + const int paddingHeight = 8; + + // Used to add some margin between the the HelpBox and the property. + const int marginHeight = 2; + + // Global field to store the original (base) property height. + float baseHeight = 0; + + // Custom added height for drawing text area which has the MultilineAttribute. + float addedHeight = 0; + + /// + /// A wrapper which returns the PropertyDrawer.attribute field as a HelpAttribute. + /// + HelpAttribute helpAttribute { get { return (HelpAttribute)attribute; } } + + /// + /// A helper property to check for RangeAttribute. + /// + RangeAttribute rangeAttribute + { + get + { + var attributes = fieldInfo.GetCustomAttributes(typeof(RangeAttribute), true); + return attributes != null && attributes.Length > 0 ? (RangeAttribute)attributes[0] : null; + } + } + + /// + /// A helper property to check for MultiLineAttribute. + /// + MultilineAttribute multilineAttribute + { + get + { + var attributes = fieldInfo.GetCustomAttributes(typeof(MultilineAttribute), true); + return attributes != null && attributes.Length > 0 ? (MultilineAttribute)attributes[0] : null; + } + } + + + public override float GetPropertyHeight(SerializedProperty prop, GUIContent label) + { + // We store the original property height for later use... + baseHeight = base.GetPropertyHeight(prop, label); + + // This stops icon shrinking if text content doesn't fill out the container enough. + float minHeight = paddingHeight * 5; + + // Calculate the height of the HelpBox using the GUIStyle on the current skin and the inspector + // window's currentViewWidth. + var content = new GUIContent(helpAttribute.text); + var style = GUI.skin.GetStyle("helpbox"); + + var height = style.CalcHeight(content, EditorGUIUtility.currentViewWidth); + + // We add tiny padding here to make sure the text is not overflowing the HelpBox from the top + // and bottom. + height += marginHeight * 2; + + // Since we draw a custom text area with the label above if our property contains the + // MultilineAttribute, we need to add some extra height to compensate. This is stored in a + // seperate global field so we can use it again later. + if (multilineAttribute != null && prop.propertyType == SerializedPropertyType.String) + { + addedHeight = 48f; + } + + // If the calculated HelpBox is less than our minimum height we use this to calculate the returned + // height instead. + return height > minHeight ? height + baseHeight + addedHeight : minHeight + baseHeight + addedHeight; + } + + + public override void OnGUI(Rect position, SerializedProperty prop, GUIContent label) + { + // We get a local reference to the MultilineAttribute as we use it twice in this method and it + // saves calling the logic twice for minimal optimization, etc... + var multiline = multilineAttribute; + + EditorGUI.BeginProperty(position, label, prop); + + // Copy the position out so we can calculate the position of our HelpBox without affecting the + // original position. + var helpPos = position; + + helpPos.height -= baseHeight + marginHeight; + + + if (multiline != null) + { + helpPos.height -= addedHeight; + } + + // Renders the HelpBox in the Unity inspector UI. + EditorGUI.HelpBox(helpPos, helpAttribute.text, helpAttribute.type); + + position.y += helpPos.height + marginHeight; + position.height = baseHeight; + + + // If we have a RangeAttribute on our field, we need to handle the PropertyDrawer differently to + // keep the same style as Unity's default. + var range = rangeAttribute; + + if (range != null) + { + if (prop.propertyType == SerializedPropertyType.Float) + { + EditorGUI.Slider(position, prop, range.min, range.max, label); + } + else if (prop.propertyType == SerializedPropertyType.Integer) + { + EditorGUI.IntSlider(position, prop, (int)range.min, (int)range.max, label); + } + else + { + // Not numeric so draw standard property field as punishment for adding RangeAttribute to + // a property which can not have a range :P + EditorGUI.PropertyField(position, prop, label); + } + } + else if (multiline != null) + { + // Here's where we handle the PropertyDrawer differently if we have a MultiLineAttribute, to try + // and keep some kind of multiline text area. This is not identical to Unity's default but is + // better than nothing... + if (prop.propertyType == SerializedPropertyType.String) + { + var style = GUI.skin.label; + var size = style.CalcHeight(label, EditorGUIUtility.currentViewWidth); + + EditorGUI.LabelField(position, label); + + position.y += size; + position.height += addedHeight - size; + + // Fixed text dissappearing thanks to: http://answers.unity3d.com/questions/244043/textarea-does-not-work-text-dissapears-solution-is.html + prop.stringValue = EditorGUI.TextArea(position, prop.stringValue); + } + else + { + // Again with a MultilineAttribute on a non-text field deserves for the standard property field + // to be drawn as punishment :P + EditorGUI.PropertyField(position, prop, label); + } + } + else + { + // If we get to here it means we're drawing the default property field below the HelpBox. More custom + // and built in PropertyDrawers could be implemented to enable HelpBox but it could easily make for + // hefty else/if block which would need refactoring! + EditorGUI.PropertyField(position, prop, label); + } + + EditorGUI.EndProperty(); + } +} +#else + // Replicate MessageType Enum if we are not in editor as this enum exists in UnityEditor namespace. + // This should stop errors being logged the same as Shawn Featherly's commit in the Github repo but I + // feel is cleaner than having the conditional directive in the middle of the HelpAttribute constructor. + public enum MessageType + { + None, + Info, + Warning, + Error, + } +#endif diff --git a/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs.meta new file mode 100644 index 0000000..f76e303 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/HelpAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6a2112e9804bfdd4d8f1ad9bc5e4d168 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef b/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef new file mode 100644 index 0000000..9d06bf1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef @@ -0,0 +1,18 @@ +{ + "name": "LRM", + "references": [ + "GUID:30817c1a0e6d646d99c048fc403f5979", + "GUID:3b5390adca4e2bb4791cb930316d6f3e", + "GUID:725ee7191c021de4dbf9269590ded755", + "GUID:6806a62c384838046a3c66c44f06d75f" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef.meta b/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef.meta new file mode 100644 index 0000000..bed53c3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRM.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3e90199726a18bc488368938e8df23bf +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs new file mode 100644 index 0000000..35d0a5b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs @@ -0,0 +1,174 @@ +// This is an optional module for adding direct connect support + +using Mirror; +using System; +using System.Collections.Generic; +using UnityEngine; +using LightReflectiveMirror; + +[RequireComponent(typeof(LightReflectiveMirrorTransport))] +public class LRMDirectConnectModule : MonoBehaviour +{ + [HideInInspector] + public Transport directConnectTransport; + public bool showDebugLogs; + private LightReflectiveMirrorTransport lightMirrorTransport; + + void Awake() + { + lightMirrorTransport = GetComponent(); + + if (directConnectTransport == null) + { + Debug.Log("Direct Connect Transport is null!"); + return; + } + + if (directConnectTransport is LightReflectiveMirrorTransport) + { + Debug.Log("Direct Connect Transport Cannot be the relay, silly. :P"); + return; + } + + directConnectTransport.OnServerConnected = (OnServerConnected); + directConnectTransport.OnServerDataReceived = (OnServerDataReceived); + directConnectTransport.OnServerDisconnected = (OnServerDisconnected); + directConnectTransport.OnServerError = (OnServerError); + directConnectTransport.OnClientConnected = (OnClientConnected); + directConnectTransport.OnClientDataReceived = (OnClientDataReceived); + directConnectTransport.OnClientDisconnected = (OnClientDisconnected); + directConnectTransport.OnClientError = (OnClientError); + } + + public void StartServer(int port) + { + if(port > 0) + SetTransportPort(port); + + directConnectTransport.ServerStart(); + if (showDebugLogs) + Debug.Log("Direct Connect Server Created!"); + } + + public void StopServer() + { + directConnectTransport.ServerStop(); + } + + public void JoinServer(string ip, int port) + { + if (SupportsNATPunch()) + SetTransportPort(port); + + directConnectTransport.ClientConnect(ip); + } + + public void SetTransportPort(int port) + { + if (directConnectTransport is kcp2k.KcpTransport kcpTransport) + kcpTransport.Port = (ushort)port; + else + { + throw new Exception("DIRECT CONNECT MODULE ONLY SUPPORTS KCP AT THE MOMENT."); + } + } + + public int GetTransportPort() + { + if (directConnectTransport is kcp2k.KcpTransport kcpTransport) + return kcpTransport.Port; + else + { + throw new Exception("DIRECT CONNECT MODULE ONLY SUPPORTS KCP AT THE MOMENT."); + } + } + + public bool SupportsNATPunch() + { + return directConnectTransport is kcp2k.KcpTransport; + } + + public bool KickClient(int clientID) + { + if (showDebugLogs) + Debug.Log("Kicked direct connect client."); +#if MIRROR_37_0_OR_NEWER + directConnectTransport.ServerDisconnect(clientID); + return true; +#else + return directConnectTransport.ServerDisconnect(clientID); +#endif + } + + public void ClientDisconnect() + { + directConnectTransport.ClientDisconnect(); + } + + public void ServerSend(int clientID, ArraySegment data, int channel) + { +#if MIRROR_40_0_OR_NEWER + directConnectTransport.ServerSend(clientID, data, channel); +#else + directConnectTransport.ServerSend(clientID, channel, data); +#endif + } + + public void ClientSend(ArraySegment data, int channel) + { +#if MIRROR_40_0_OR_NEWER + directConnectTransport.ClientSend(data, channel); +#else + directConnectTransport.ClientSend(channel, data); +#endif + } + +#region Transport Callbacks + void OnServerConnected(int clientID) + { + if (showDebugLogs) + Debug.Log("Direct Connect Client Connected"); + lightMirrorTransport.DirectAddClient(clientID); + } + + void OnServerDataReceived(int clientID, ArraySegment data, int channel) + { + lightMirrorTransport.DirectReceiveData(data, channel, clientID); + } + + void OnServerDisconnected(int clientID) + { + lightMirrorTransport.DirectRemoveClient(clientID); + } + + void OnServerError(int client, Exception error) + { + if (showDebugLogs) + Debug.Log("Direct Server Error: " + error); + } + + void OnClientConnected() + { + if (showDebugLogs) + Debug.Log("Direct Connect Client Joined"); + + lightMirrorTransport.DirectClientConnected(); + } + + void OnClientDisconnected() + { + lightMirrorTransport.DirectDisconnected(); + } + + void OnClientDataReceived(ArraySegment data, int channel) + { + lightMirrorTransport.DirectReceiveData(data, channel); + } + + void OnClientError(Exception error) + { + if (showDebugLogs) + Debug.Log("Direct Client Error: " + error); + } +#endregion +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs.meta new file mode 100644 index 0000000..ead67c2 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMDirectConnectModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c4cbff877abc42448dd829920c6c233 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs new file mode 100644 index 0000000..321a42a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs @@ -0,0 +1,198 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Text; +using UnityEngine; + +namespace LightReflectiveMirror +{ + public static class LRMTools + { + public static void WriteByte(this byte[] data, ref int position, byte value) + { + data[position] = value; + position += 1; + } + + public static byte ReadByte(this byte[] data, ref int position) + { + byte value = data[position]; + position += 1; + return value; + } + + public static void WriteBool(this byte[] data, ref int position, bool value) + { + unsafe + { + fixed (byte* dataPtr = &data[position]) + { + bool* valuePtr = (bool*)dataPtr; + *valuePtr = value; + position += 1; + } + } + } + + public static bool ReadBool(this byte[] data, ref int position) + { + bool value = BitConverter.ToBoolean(data, position); + position += 1; + return value; + } + + public static void WriteString(this byte[] data, ref int position, string value) + { + if (string.IsNullOrWhiteSpace(value)) + { + data.WriteInt(ref position, 0); + } + else + { + data.WriteInt(ref position, value.Length); + for (int i = 0; i < value.Length; i++) + data.WriteChar(ref position, value[i]); + } + } + + public static string ReadString(this byte[] data, ref int position) + { + string value = default; + + int stringSize = data.ReadInt(ref position); + + for (int i = 0; i < stringSize; i++) + value += data.ReadChar(ref position); + + return value; + } + + public static void WriteBytes(this byte[] data, ref int position, byte[] value) + { + data.WriteInt(ref position, value.Length); + for (int i = 0; i < value.Length; i++) + data.WriteByte(ref position, value[i]); + } + + public static byte[] ReadBytes(this byte[] data, ref int position) + { + int byteSize = data.ReadInt(ref position); + + byte[] value = new byte[byteSize]; + + for (int i = 0; i < byteSize; i++) + value[i] = data.ReadByte(ref position); + + return value; + } + + public static void WriteChar(this byte[] data, ref int position, char value) + { + unsafe + { + fixed (byte* dataPtr = &data[position]) + { + char* valuePtr = (char*)dataPtr; + *valuePtr = value; + position += 2; + } + } + } + + public static char ReadChar(this byte[] data, ref int position) + { + char value = BitConverter.ToChar(data, position); + position += 2; + return value; + } + + public static void WriteInt(this byte[] data, ref int position, int value) + { + unsafe + { + fixed (byte* dataPtr = &data[position]) + { + int* valuePtr = (int*)dataPtr; + *valuePtr = value; + position += 4; + } + } + } + + public static int ReadInt(this byte[] data, ref int position) + { + int value = BitConverter.ToInt32(data, position); + position += 4; + return value; + } + } + + internal static class CompressorExtensions + { + /// + /// Decompresses the string. + /// + /// The compressed text. + /// + public static string Decompress(this string compressedText) + { + byte[] gZipBuffer = Convert.FromBase64String(compressedText); + using (var memoryStream = new MemoryStream()) + { + int dataLength = BitConverter.ToInt32(gZipBuffer, 0); + memoryStream.Write(gZipBuffer, 4, gZipBuffer.Length - 4); + + var buffer = new byte[dataLength]; + + memoryStream.Position = 0; + using (var gZipStream = new GZipStream(memoryStream, CompressionMode.Decompress)) + { + gZipStream.Read(buffer, 0, buffer.Length); + } + + return Encoding.UTF8.GetString(buffer); + } + } + } + + internal static class JsonUtilityHelper + { + public static bool IsJsonArray(string json) + { + return json.StartsWith("[") && json.EndsWith("]"); + } + + public static T[] FromJson(string json) + { + if (!IsJsonArray(json)) + { + throw new System.FormatException("The input json string is not a Json Array"); + } + json = "{\"Items\":" + json + "}"; + JsonWrapper wrapper = JsonUtility.FromJson>(json); + return wrapper.Items; + } + + public static string ToJson(T[] array) + { + JsonWrapper wrapper = new JsonWrapper(); + wrapper.Items = array; + return JsonUtility.ToJson(wrapper); + } + + public static string ToJson(T[] array, bool prettyPrint) + { + JsonWrapper wrapper = new JsonWrapper(); + wrapper.Items = array; + return JsonUtility.ToJson(wrapper, prettyPrint); + } + + [Serializable] + private class JsonWrapper + { + public T[] Items; + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs.meta new file mode 100644 index 0000000..ed1b6d1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTools.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 603a99af3f33b8c4482f9908752ea561 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport.meta new file mode 100644 index 0000000..7a41af8 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e2be9cb6d4c6d64ab1812a9dca8bc57 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs new file mode 100644 index 0000000..b9a962f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs @@ -0,0 +1,74 @@ +using Mirror; +using System; + +namespace LightReflectiveMirror +{ + public partial class LightReflectiveMirrorTransport : Transport + { + public void DirectAddClient(int clientID) + { + if (!_isServer) + return; + + _connectedDirectClients.Add(clientID, _currentMemberId); + OnServerConnected?.Invoke(_currentMemberId); + _currentMemberId++; + } + + public void DirectRemoveClient(int clientID) + { + if (!_isServer) + return; + + OnServerDisconnected?.Invoke(_connectedDirectClients.GetByFirst(clientID)); + _connectedDirectClients.Remove(clientID); + } + + public void DirectReceiveData(ArraySegment data, int channel, int clientID = -1) + { + if (_isServer) + OnServerDataReceived?.Invoke(_connectedDirectClients.GetByFirst(clientID), data, channel); + + if (_isClient) + OnClientDataReceived?.Invoke(data, channel); + } + + public void DirectClientConnected() + { + _directConnected = true; + OnClientConnected?.Invoke(); + } + + public void DirectDisconnected() + { + if (_directConnected) + { + _isClient = false; + _directConnected = false; + OnClientDisconnected?.Invoke(); + } + else + { + int pos = 0; + _directConnected = false; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.JoinServer); + _clientSendBuffer.WriteString(ref pos, _cachedHostID); + _clientSendBuffer.WriteBool(ref pos, false); // Direct failed, use relay + + _isClient = true; + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new System.ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new System.ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + + if (_clientProxy != null) + { + _clientProxy.Dispose(); + _clientProxy = null; + } + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs.meta new file mode 100644 index 0000000..6d489b6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportDirectConnect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1e38dc8d43e06744484cf2962c017606 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs new file mode 100644 index 0000000..de95188 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs @@ -0,0 +1,67 @@ +using Mirror; +using System; +using System.Collections; +using System.Net; +using UnityEngine; + +namespace LightReflectiveMirror +{ + public partial class LightReflectiveMirrorTransport : Transport + { + IEnumerator NATPunch(IPEndPoint remoteAddress) + { + for (int i = 0; i < 10; i++) + { + _NATPuncher.Send(_punchData, 1, remoteAddress); + yield return new WaitForSeconds(0.25f); + } + } + + void RecvData(IAsyncResult result) + { + IPEndPoint newClientEP = new IPEndPoint(IPAddress.Any, 0); + var data = _NATPuncher.EndReceive(result, ref newClientEP); + _NATPuncher.BeginReceive(new AsyncCallback(RecvData), _NATPuncher); + + if (!newClientEP.Address.Equals(_relayPuncherIP.Address)) + { + if (_isServer) + { + if (_serverProxies.TryGetByFirst(newClientEP, out SocketProxy foundProxy)) + { + if (data.Length > 2) + foundProxy.RelayData(data, data.Length); + } + else + { + _serverProxies.Add(newClientEP, new SocketProxy(_NATIP.Port + 1, newClientEP)); + _serverProxies.GetByFirst(newClientEP).dataReceived += ServerProcessProxyData; + } + } + + if (_isClient) + { + if (_clientProxy == null) + { + _clientProxy = new SocketProxy(_NATIP.Port - 1); + _clientProxy.dataReceived += ClientProcessProxyData; + } + else + { + _clientProxy.ClientRelayData(data, data.Length); + } + } + } + } + + void ServerProcessProxyData(IPEndPoint remoteEndpoint, byte[] data) + { + _NATPuncher.Send(data, data.Length, remoteEndpoint); + } + + void ClientProcessProxyData(IPEndPoint _, byte[] data) + { + _NATPuncher.Send(data, data.Length, _directConnectEndpoint); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs.meta new file mode 100644 index 0000000..acc1631 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportNATPuncher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3d493f36a877ab042875f198b110ebb3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs new file mode 100644 index 0000000..305701f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs @@ -0,0 +1,325 @@ +using Mirror; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using UnityEngine; + +namespace LightReflectiveMirror +{ + public partial class LightReflectiveMirrorTransport : Transport + { + public override bool ServerActive() => _isServer; + public override bool Available() => _connectedToRelay; + public override void ClientConnect(Uri uri) => ClientConnect(uri.Host); + public override int GetMaxPacketSize(int channelId = 0) => clientToServerTransport.GetMaxPacketSize(channelId); + public override bool ClientConnected() => _isClient; + + public override void ServerLateUpdate() + { + if (_directConnectModule != null) + _directConnectModule.directConnectTransport.ServerLateUpdate(); + } + + public override string ServerGetClientAddress(int connectionId) + { + if (_connectedRelayClients.TryGetBySecond(connectionId, out int relayId)) + return relayId.ToString(); + + if (_connectedDirectClients.TryGetBySecond(connectionId, out int directId)) + return "DIRECT-" + directId; + + // Shouldn't ever get here. + return "?"; + } + + public override void ClientEarlyUpdate() + { + clientToServerTransport.ClientEarlyUpdate(); + + if (_directConnectModule != null) + _directConnectModule.directConnectTransport.ClientEarlyUpdate(); + } + + public override void ClientLateUpdate() + { + clientToServerTransport.ClientLateUpdate(); + + if (_directConnectModule != null) + _directConnectModule.directConnectTransport.ClientLateUpdate(); + } + + public override void ServerEarlyUpdate() + { + if (_directConnectModule != null) + _directConnectModule.directConnectTransport.ServerEarlyUpdate(); + } + + public override void ClientConnect(string address) + { + if (!Available()) + { + Debug.Log("Not connected to relay!"); + OnClientDisconnected?.Invoke(); + return; + } + + if (_isClient || _isServer) + throw new Exception("Cannot connect while hosting/already connected!"); + + _cachedHostID = address; + + var room = GetServerForID(address); + + if (!useLoadBalancer) + { + int pos = 0; + _directConnected = false; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.JoinServer); + _clientSendBuffer.WriteString(ref pos, address); + _clientSendBuffer.WriteBool(ref pos, _directConnectModule != null); + + if (_directConnectModule == null) + { + _clientSendBuffer.WriteString(ref pos, "0.0.0.0"); + } + else + { + if (GetLocalIp() == null) + _clientSendBuffer.WriteString(ref pos, "0.0.0.0"); + else + _clientSendBuffer.WriteString(ref pos, GetLocalIp()); + } + + _isClient = true; +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new System.ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new System.ArraySegment(_clientSendBuffer, 0, pos)); +#endif + + } + else + { + StartCoroutine(JoinOtherRelayAndMatch(room, address)); + } + } + + public override void ClientDisconnect() + { + _isClient = false; + + // make sure we are even connected to a relay + if (Available()) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.LeaveRoom); +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + + if (_directConnectModule != null) + _directConnectModule.ClientDisconnect(); + } + +#if MIRROR_40_0_OR_NEWER + public override void ClientSend(ArraySegment segment, int channelId) +#else + public override void ClientSend(int channelId, ArraySegment segment) + +#endif + { + if (_directConnected) + { + _directConnectModule.ClientSend(segment, channelId); + } + else + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.SendData); + _clientSendBuffer.WriteBytes(ref pos, segment.Array.Take(segment.Count).ToArray()); + _clientSendBuffer.WriteInt(ref pos, 0); +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), channelId); +#else + clientToServerTransport.ClientSend(channelId, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + +#if !MIRROR_37_0_OR_NEWER + + public override bool ServerDisconnect(int connectionId) + { + if (_connectedRelayClients.TryGetBySecond(connectionId, out int relayId)) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.KickPlayer); + _clientSendBuffer.WriteInt(ref pos, relayId); + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); + return true; + } + + if (_connectedDirectClients.TryGetBySecond(connectionId, out int directId)) + return _directConnectModule.KickClient(directId); + + return false; + } + +#else + + public override void ServerDisconnect(int connectionId) + { + if (_connectedRelayClients.TryGetBySecond(connectionId, out int relayId)) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.KickPlayer); + _clientSendBuffer.WriteInt(ref pos, relayId); + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); + return; + } + + if (_connectedDirectClients.TryGetBySecond(connectionId, out int directId)) + _directConnectModule.KickClient(directId); + } + +#endif + +#if MIRROR_40_0_OR_NEWER + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) +#else + public override void ServerSend(int connectionId, int channelId, ArraySegment segment) +#endif + { + if (_directConnectModule != null && _connectedDirectClients.TryGetBySecond(connectionId, out int directId)) + { + _directConnectModule.ServerSend(directId, segment, channelId); + } + else + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.SendData); + _clientSendBuffer.WriteBytes(ref pos, segment.Array.Take(segment.Count).ToArray()); + _clientSendBuffer.WriteInt(ref pos, _connectedRelayClients.GetBySecond(connectionId)); +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), channelId); +#else + clientToServerTransport.ClientSend(channelId, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + + public override void ServerStart() + { + if (!Available()) + { + Debug.Log("Not connected to relay! Server failed to start."); + return; + } + + if (_isClient || _isServer) + { + Debug.Log("Cannot host while already hosting or connected!"); + return; + } + + _isServer = true; + _connectedRelayClients = new BiDictionary(); + _currentMemberId = 1; + _connectedDirectClients = new BiDictionary(); + + var keys = new List(_serverProxies.GetAllKeys()); + + for (int i = 0; i < keys.Count; i++) + { + _serverProxies.GetByFirst(keys[i]).Dispose(); + _serverProxies.Remove(keys[i]); + } + + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.CreateRoom); + _clientSendBuffer.WriteInt(ref pos, maxServerPlayers); + _clientSendBuffer.WriteString(ref pos, serverName); + _clientSendBuffer.WriteBool(ref pos, isPublicServer); + _clientSendBuffer.WriteString(ref pos, extraServerData); + // If we have direct connect module, and our local IP isnt null, tell server. Only time local IP is null is on cellular networks, such as IOS and Android. + _clientSendBuffer.WriteBool(ref pos, _directConnectModule != null ? GetLocalIp() != null ? true : false : false); + + if (_directConnectModule != null && GetLocalIp() != null) + { + _clientSendBuffer.WriteString(ref pos, GetLocalIp()); + // Transport port will be NAT port + 1 for the proxy connections. + _directConnectModule.StartServer(useNATPunch ? _NATIP.Port + 1 : -1); + } + else + _clientSendBuffer.WriteString(ref pos, "0.0.0.0"); + + if (useNATPunch) + { + _clientSendBuffer.WriteBool(ref pos, true); + _clientSendBuffer.WriteInt(ref pos, 0); + } + else + { + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteInt(ref pos, _directConnectModule == null ? 1 : _directConnectModule.SupportsNATPunch() ? _directConnectModule.GetTransportPort() : 1); + } +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + + public override void ServerStop() + { + if (_isServer) + { + _isServer = false; + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.LeaveRoom); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + + if (_directConnectModule != null) + _directConnectModule.StopServer(); + + var keys = new List(_serverProxies.GetAllKeys()); + + for (int i = 0; i < keys.Count; i++) + { + _serverProxies.GetByFirst(keys[i]).Dispose(); + _serverProxies.Remove(keys[i]); + } + } + } + + public override Uri ServerUri() + { + UriBuilder builder = new UriBuilder + { + Scheme = "LRM", + Host = serverId.ToString() + }; + + return builder.Uri; + } + + public override void Shutdown() + { + _isAuthenticated = false; + _isClient = false; + _isServer = false; + _connectedToRelay = false; + clientToServerTransport.Shutdown(); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs.meta new file mode 100644 index 0000000..03f6af9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportOverrides.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 16602a520793b6044894096e873bc28d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs new file mode 100644 index 0000000..7b93fa5 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs @@ -0,0 +1,253 @@ +using Mirror; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using UnityEngine; +using UnityEngine.Networking; + +namespace LightReflectiveMirror +{ + public partial class LightReflectiveMirrorTransport : Transport + { + public void RequestServerList(LRMRegions searchRegion = LRMRegions.Any) + { + if (_isAuthenticated && _connectedToRelay) + StartCoroutine(GetServerList(searchRegion)); + else + Debug.Log("You must be connected to Relay to request server list!"); + } + + IEnumerator RelayConnect() + { + + string url = $"http://{loadBalancerAddress}:{loadBalancerPort}/api/join/"; + serverStatus = "Waiting for LLB..."; + using (UnityWebRequest webRequest = UnityWebRequest.Get(url)) + { + // Request and wait for the desired page. + webRequest.SetRequestHeader("x-Region", ((int)region).ToString()); + webRequest.SetRequestHeader("Access-Control-Allow-Credentials", "true"); + webRequest.SetRequestHeader("Access-Control-Allow-Headers", "Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time"); + webRequest.SetRequestHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); + webRequest.SetRequestHeader("Access-Control-Allow-Origin", "*"); + + yield return webRequest.SendWebRequest(); + // var result = webRequest.downloadHandler.text; + WebClient client = new WebClient(); + client.Proxy = null; + var result = client.DownloadString(url); + var parsedAddress = JsonUtility.FromJson(result); + Connect(parsedAddress.address, parsedAddress.port); + endpointServerPort = parsedAddress.endpointPort; + if (false) { +#if UNITY_2020_1_OR_NEWER + switch (webRequest.result) + { + case UnityWebRequest.Result.ConnectionError: + case UnityWebRequest.Result.DataProcessingError: + case UnityWebRequest.Result.ProtocolError: + Debug.LogWarning("LRM | Network Error while getting a relay to join from Load Balancer."); + break; + case UnityWebRequest.Result.Success: + // var parsedAddress = JsonUtility.FromJson(result); + // Connect(parsedAddress.address, parsedAddress.port); + // endpointServerPort = parsedAddress.endpointPort; + break; + } +#else + if (webRequest.isNetworkError || webRequest.isHttpError) + { + Debug.LogWarning("LRM | Network Error while getting a relay to join from Load Balancer."); + } + else + { + // join here + //var parsedAddress = JsonUtility.FromJson(result); + //Connect(parsedAddress.address, parsedAddress.port); + //endpointServerPort = parsedAddress.endpointPort; + } +#endif + } + } + } + + IEnumerator JoinOtherRelayAndMatch(Room? roomValue, string ID) + { + var room = new Room(); + + // using load balancer, we NEED the server's relay address + if (roomValue.HasValue) + room = roomValue.Value; + else + { + _serverListUpdated = false; + RequestServerList(); + + yield return new WaitUntil(() => _serverListUpdated); + + var foundRoom = GetServerForID(ID); + + if (foundRoom.HasValue) + { + room = foundRoom.Value; + } + else + { + Debug.LogWarning("LRM | Client tried to join a server that does not exist!"); + OnClientDisconnected?.Invoke(); + yield break; + } + } + + // Wait for disconnection + DisconnectFromRelay(); + + while (IsAuthenticated()) + yield return null; + + endpointServerPort = room.relayInfo.endpointPort; + Connect(room.relayInfo.address, room.relayInfo.port); + + while (!IsAuthenticated()) + yield return null; + + int pos = 0; + _directConnected = false; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.JoinServer); + _clientSendBuffer.WriteString(ref pos, room.serverId); + _clientSendBuffer.WriteBool(ref pos, _directConnectModule != null); + + string local = GetLocalIp(); + + _clientSendBuffer.WriteString(ref pos, local ?? "0.0.0.0"); + + _isClient = true; + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new System.ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new System.ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + + IEnumerator GetServerList(LRMRegions region) + { + if (!useLoadBalancer) + { + string uri = $"http://{serverIP}:{endpointServerPort}/api/compressed/servers"; + + using (UnityWebRequest webRequest = UnityWebRequest.Get(uri)) + { + // webRequest. + webRequest.SetRequestHeader("Access-Control-Allow-Credentials", "true"); + webRequest.SetRequestHeader("Access-Control-Allow-Headers", "Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time"); + webRequest.SetRequestHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); + webRequest.SetRequestHeader("Access-Control-Allow-Origin", "*"); + // webRequest.SetRequestHeader("Proxy-Authorization", ""); + + // Request and wait for the desired page. + yield return webRequest.SendWebRequest(); + // var result = webRequest.downloadHandler.text; + + WebClient client = new WebClient(); + client.Proxy = null; + var result = client.DownloadString(uri); + // Debug.Log(result); + + Debug.Log(client.DownloadString(uri)); + relayServerList?.Clear(); + relayServerList = JsonUtilityHelper.FromJson(result.Decompress()).ToList(); + Debug.Log(relayServerList.Count); + serverListUpdated?.Invoke(); + Debug.Log(serverListUpdated==null); + /* if (false) + { +#if UNITY_2020_1_OR_NEWER + switch (webRequest.result) + { + case UnityWebRequest.Result.ConnectionError: + case UnityWebRequest.Result.DataProcessingError: + case UnityWebRequest.Result.ProtocolError: + Debug.LogWarning("LRM | Network Error while retreiving the server list!"); + break; + + case UnityWebRequest.Result.Success: + relayServerList?.Clear(); + relayServerList = JsonUtilityHelper.FromJson(result.Decompress()).ToList(); + serverListUpdated?.Invoke(); + break; + } +#else + if (webRequest.isNetworkError || webRequest.isHttpError) + { + Debug.LogWarning("LRM | Network Error while retreiving the server list!"); + } + else + { + relayServerList?.Clear(); + relayServerList = JsonUtilityHelper.FromJson(result.Decompress()).ToList(); + serverListUpdated?.Invoke(); + } +#endif + }*/ + } + } + else // get master list from load balancer + { + yield return StartCoroutine(RetrieveMasterServerListFromLoadBalancer(region)); + } + + } + + /// + /// Gets master list from the LB. + /// This can be optimized but for now it is it's + /// own separate method, so i can understand wtf is going on :D + /// + /// + IEnumerator RetrieveMasterServerListFromLoadBalancer(LRMRegions region) + { + string uri = $"http://{loadBalancerAddress}:{loadBalancerPort}/api/masterlist/"; + + using (UnityWebRequest webRequest = UnityWebRequest.Get(uri)) + { + // webRequest.SetRequestHeader("Proxy-Authorization", ""); + webRequest.SetRequestHeader("x-Region", ((int)region).ToString()); + // Request and wait for the desired page. + yield return webRequest.SendWebRequest(); + var result = webRequest.downloadHandler.text; + +#if UNITY_2020_1_OR_NEWER + switch (webRequest.result) + { + case UnityWebRequest.Result.ConnectionError: + case UnityWebRequest.Result.DataProcessingError: + case UnityWebRequest.Result.ProtocolError: + Debug.LogWarning("LRM | Network Error while retreiving the server list!"); + break; + + case UnityWebRequest.Result.Success: + relayServerList?.Clear(); + relayServerList = JsonUtilityHelper.FromJson(result).ToList(); + serverListUpdated?.Invoke(); + _serverListUpdated = true; + break; + } +#else + if (webRequest.isNetworkError || webRequest.isHttpError) + { + Debug.LogWarning("LRM | Network Error while retreiving the server list!"); + } + else + { + relayServerList?.Clear(); + relayServerList = JsonUtilityHelper.FromJson(result).ToList(); + serverListUpdated?.Invoke(); + _serverListUpdated = true; + } +#endif + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs.meta new file mode 100644 index 0000000..877bd3d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportRequests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ce47885d25567b4a8c0d6f3727de7f3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs new file mode 100644 index 0000000..3e9b207 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs @@ -0,0 +1,74 @@ +using Mirror; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using UnityEngine.Events; + +namespace LightReflectiveMirror +{ + public partial class LightReflectiveMirrorTransport : Transport + { + // Connection/auth variables + public Transport clientToServerTransport; + public string serverIP = null; + public ushort serverPort = 7777; + public ushort endpointServerPort = 8080; + public float heartBeatInterval = 3; + public bool connectOnAwake = true; + public string authenticationKey = "Secret Auth Key"; + + public UnityEvent disconnectedFromRelay; + public UnityEvent connectedToRelay; + + // NAT Puncher variables + public bool useNATPunch = false; + public int NATPunchtroughPort = -1; + private const int NAT_PUNCH_ATTEMPTS = 3; + + // LLB variables (LRM Load Balancer) + public bool useLoadBalancer = false; + public ushort loadBalancerPort = 7070; + public string loadBalancerAddress = null; + + // Server hosting variables + public string serverName = "My awesome server!"; + public string extraServerData = "Map 1"; + public int maxServerPlayers = 10; + public bool isPublicServer = true; + + private const string LOCALHOST = "127.0.0.1"; + + // Server list variables + public UnityEvent serverListUpdated; + public List relayServerList { private set; get; } = new List(); + + // Current Server Information + public string serverStatus = "Not Started."; + public string serverId = string.Empty; + + private LRMDirectConnectModule _directConnectModule; + + public LRMRegions region = LRMRegions.NorthAmerica; + private byte[] _clientSendBuffer; + private bool _connectedToRelay = false; + private bool _isClient = false; + private bool _isServer = false; + private bool _directConnected = false; + private bool _isAuthenticated = false; + private int _currentMemberId; + private bool _callbacksInitialized = false; + private string _cachedHostID; + private UdpClient _NATPuncher; + private IPEndPoint _NATIP; + private IPEndPoint _relayPuncherIP; + private byte[] _punchData = new byte[1] { 1 }; + private IPEndPoint _directConnectEndpoint; + private SocketProxy _clientProxy; + private BiDictionary _serverProxies = new BiDictionary(); + private BiDictionary _connectedRelayClients = new BiDictionary(); + private BiDictionary _connectedDirectClients = new BiDictionary(); + private bool _serverListUpdated = false; + } + + public enum LRMRegions { Any, NorthAmerica, SouthAmerica, Europe, Asia, Africa, Oceania } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs.meta new file mode 100644 index 0000000..8b0abdb --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LRMTransportVariables.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f823917eee8f54742b6b03e520f05730 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs new file mode 100644 index 0000000..5e9bab3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs @@ -0,0 +1,488 @@ +using kcp2k; +using Mirror; +using Mirror.SimpleWeb; +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using UnityEngine; + +namespace LightReflectiveMirror +{ + [DefaultExecutionOrder(1001)] + public partial class LightReflectiveMirrorTransport : Transport + { + public bool IsAuthenticated() => _isAuthenticated; + + private void Awake() + { + if (Application.platform == RuntimePlatform.WebGLPlayer) + useNATPunch = false; + else + _directConnectModule = GetComponent(); + + if (clientToServerTransport is LightReflectiveMirrorTransport) + throw new Exception("Haha real funny... Use a different transport."); + + if (_directConnectModule != null) + { + if (useNATPunch && !_directConnectModule.SupportsNATPunch()) + { + Debug.LogWarning("LRM | NATPunch is turned on but the transport used does not support it. It will be disabled."); + useNATPunch = false; + } + } + + SetupCallbacks(); + + if (connectOnAwake) + ConnectToRelay(); + + InvokeRepeating(nameof(SendHeartbeat), heartBeatInterval, heartBeatInterval); + } + + private void SetupCallbacks() + { + if (_callbacksInitialized) + return; + + _callbacksInitialized = true; + clientToServerTransport.OnClientConnected = OnConnectedToRelay; + clientToServerTransport.OnClientDataReceived = DataReceived; + clientToServerTransport.OnClientDisconnected = Disconnected; + clientToServerTransport.OnClientError = (e) => Debug.LogException(e); + } + + private void Disconnected() + { + _connectedToRelay = false; + _isAuthenticated = false; + disconnectedFromRelay?.Invoke(); + serverStatus = "Disconnected from relay."; + } + + private void OnConnectedToRelay() + { + _connectedToRelay = true; + connectedToRelay?.Invoke(); + } + + public void ConnectToRelay() + { + if (!useLoadBalancer) + { + if (!_connectedToRelay) + { + Connect(serverIP, serverPort); + } + else + { + Debug.LogWarning("LRM | Already connected to relay!"); + } + } + else + { + if (!_connectedToRelay) + { + StartCoroutine(RelayConnect()); + } + else + { + Debug.LogWarning("LRM | Already connected to relay!"); + } + } + } + + /// + /// Connects to the desired relay + /// + /// + private void Connect(string serverIP, ushort port = 7777) + { + // need to implement custom port + if (clientToServerTransport is LightReflectiveMirrorTransport) + throw new Exception("LRM | Client to Server Transport cannot be LRM."); + + SetTransportPort(port); + + this.serverIP = serverIP; + serverStatus = "Connecting to relay..."; + _clientSendBuffer = new byte[clientToServerTransport.GetMaxPacketSize()]; + clientToServerTransport.ClientConnect(serverIP); + } + + public void DisconnectFromRelay() + { + if (IsAuthenticated()) + { + clientToServerTransport.ClientDisconnect(); + } + } + + private void SendHeartbeat() + { + if (_connectedToRelay) + { + // Send a blank message with just the opcode 200, which is heartbeat + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, 200); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + + // If NAT Puncher is initialized, send heartbeat on that as well. + + try + { + if (_NATPuncher != null) + _NATPuncher.Send(new byte[] { 0 }, 1, _relayPuncherIP); + } + catch (Exception e) + { + print(e); + } + + // Check if any server-side proxies havent been used in 10 seconds, and timeout if so. + var keys = new List(_serverProxies.GetAllKeys()); + + for (int i = 0; i < keys.Count; i++) + { + if (DateTime.Now.Subtract(_serverProxies.GetByFirst(keys[i]).lastInteractionTime).TotalSeconds > 10) + { + _serverProxies.GetByFirst(keys[i]).Dispose(); + _serverProxies.Remove(keys[i]); + } + } + } + } + + private void DataReceived(ArraySegment segmentData, int channel) + { + try + { + var data = segmentData.Array; + int pos = segmentData.Offset; + // Read the opcode of the incoming data, this allows us to know what its used for. + OpCodes opcode = (OpCodes)data.ReadByte(ref pos); + + switch (opcode) + { + case OpCodes.Authenticated: + // Server authenticated us! That means we are fully ready to host and join servers. + serverStatus = "Authenticated! Good to go!"; + _isAuthenticated = true; + RequestServerList(); + break; + + case OpCodes.AuthenticationRequest: + // Server requested that we send an authentication request, lets send our auth key. + serverStatus = "Sent authentication to relay..."; + SendAuthKey(); + break; + + case OpCodes.GetData: + // Someone sent us a packet from their mirror over the relay + var recvData = data.ReadBytes(ref pos); + + // If we are the server and the client is registered, invoke the callback + if (_isServer) + { + if (_connectedRelayClients.TryGetByFirst(data.ReadInt(ref pos), out int clientID)) + OnServerDataReceived?.Invoke(clientID, new ArraySegment(recvData), channel); + } + + // If we are the client, invoke the callback + if (_isClient) + OnClientDataReceived?.Invoke(new ArraySegment(recvData), channel); + break; + + case OpCodes.ServerLeft: + // Called when we were kicked, or server was closed. + if (_isClient) + { + _isClient = false; + OnClientDisconnected?.Invoke(); + } + break; + + case OpCodes.PlayerDisconnected: + // Called when another player left the room. + if (_isServer) + { + // Get their client ID and invoke the mirror callback + int user = data.ReadInt(ref pos); + if (_connectedRelayClients.TryGetByFirst(user, out int clientID)) + { + OnServerDisconnected?.Invoke(clientID); + _connectedRelayClients.Remove(user); + } + } + break; + + case OpCodes.RoomCreated: + // We successfully created the room, the server also gave us the serverId of the room! + serverId = data.ReadString(ref pos); + break; + + case OpCodes.ServerJoined: + // Called when a player joins the room or when we joined a room. + int clientId = data.ReadInt(ref pos); + if (_isClient) + { + // We successfully joined a room, let mirror know. + OnClientConnected?.Invoke(); + } + if (_isServer) + { + // A client joined our room, let mirror know and setup their ID in the dictionary. + _connectedRelayClients.Add(clientId, _currentMemberId); + OnServerConnected?.Invoke(_currentMemberId); + _currentMemberId++; + } + break; + + case OpCodes.DirectConnectIP: + // Either a client is trying to join us via NAT Punch, or we are trying to join a host over NAT punch/Direct connect. + var ip = data.ReadString(ref pos); + int port = data.ReadInt(ref pos); + bool attemptNatPunch = data.ReadBool(ref pos); + + _directConnectEndpoint = new IPEndPoint(IPAddress.Parse(ip), port); + + // Both client and server will send data to each other to open the hole. + if (useNATPunch && attemptNatPunch) + { + StartCoroutine(NATPunch(_directConnectEndpoint)); + } + + if (!_isServer) + { + // We arent the server, so lets tell the direct connect module to attempt a connection and initializing our middle man socket. + if (_clientProxy == null && useNATPunch && attemptNatPunch) + { + _clientProxy = new SocketProxy(_NATIP.Port - 1); + _clientProxy.dataReceived += ClientProcessProxyData; + } + + if (useNATPunch && attemptNatPunch) + { + if (ip == LOCALHOST) + _directConnectModule.JoinServer(LOCALHOST, port + 1); + else + _directConnectModule.JoinServer(LOCALHOST, _NATIP.Port - 1); + } + else + _directConnectModule.JoinServer(ip, port); + } + + break; + + case OpCodes.RequestNATConnection: + // Called when the LRM node would like us to establish a NAT puncher connection. Its safe to ignore if NAT punch is disabled. + if (useNATPunch && GetLocalIp() != null && _directConnectModule != null) + { + byte[] initalData = new byte[150]; + int sendPos = 0; + + initalData.WriteBool(ref sendPos, true); + initalData.WriteString(ref sendPos, data.ReadString(ref pos)); + NATPunchtroughPort = data.ReadInt(ref pos); + + if (_NATPuncher == null) + { + _NATPuncher = new UdpClient { ExclusiveAddressUse = false }; + while (true) + { + try + { + _NATIP = new IPEndPoint(IPAddress.Parse(GetLocalIp()), UnityEngine.Random.Range(16000, 17000)); + _NATPuncher.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); + _NATPuncher.Client.Bind(_NATIP); + break; + } + catch { } // Binding port is in use, keep trying :P + } + } + + if (!IPAddress.TryParse(serverIP, out IPAddress serverAddr)) + serverAddr = Dns.GetHostEntry(serverIP).AddressList[0]; + + _relayPuncherIP = new IPEndPoint(serverAddr, NATPunchtroughPort); + + for (int attempts = 0; attempts < NAT_PUNCH_ATTEMPTS; attempts++) + _NATPuncher.Send(initalData, sendPos, _relayPuncherIP); + + _NATPuncher.BeginReceive(new AsyncCallback(RecvData), _NATPuncher); + } + break; + } + } + catch (Exception e) { print(e); } + } + + public void SetTransportPort(ushort port) + { + if (clientToServerTransport is KcpTransport kcp) + kcp.Port = port; + + if (clientToServerTransport is TelepathyTransport telepathy) + telepathy.port = port; + + if (clientToServerTransport is SimpleWebTransport swt) + swt.port = port; + } + + public void UpdateRoomName(string newServerName = "My Awesome Server!") + { + if (_isServer) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.UpdateRoomData); + + _clientSendBuffer.WriteBool(ref pos, true); + _clientSendBuffer.WriteString(ref pos, newServerName); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + + public void UpdateRoomData(string newServerData = "Extra Data!") + { + if (_isServer) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.UpdateRoomData); + + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, true); + _clientSendBuffer.WriteString(ref pos, newServerData); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + + public void UpdateRoomVisibility(bool isPublic = true) + { + if (_isServer) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.UpdateRoomData); + + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, true); + _clientSendBuffer.WriteBool(ref pos, isPublic); + _clientSendBuffer.WriteBool(ref pos, false); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + + public void UpdateRoomPlayerCount(int maxPlayers = 16) + { + if (_isServer) + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.UpdateRoomData); + + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, false); + _clientSendBuffer.WriteBool(ref pos, true); + _clientSendBuffer.WriteInt(ref pos, maxPlayers); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + } + + private Room? GetServerForID(string serverID) + { + for (int i = 0; i < relayServerList.Count; i++) + { + if (relayServerList[i].serverId == serverID) + return relayServerList[i]; + } + + return null; + } + + private void SendAuthKey() + { + int pos = 0; + _clientSendBuffer.WriteByte(ref pos, (byte)OpCodes.AuthenticationResponse); + _clientSendBuffer.WriteString(ref pos, authenticationKey); + +#if MIRROR_40_0_OR_NEWER + clientToServerTransport.ClientSend(new ArraySegment(_clientSendBuffer, 0, pos), 0); +#else + clientToServerTransport.ClientSend(0, new ArraySegment(_clientSendBuffer, 0, pos)); +#endif + } + + public enum OpCodes + { + Default = 0, RequestID = 1, JoinServer = 2, SendData = 3, GetID = 4, ServerJoined = 5, GetData = 6, CreateRoom = 7, ServerLeft = 8, PlayerDisconnected = 9, RoomCreated = 10, + LeaveRoom = 11, KickPlayer = 12, AuthenticationRequest = 13, AuthenticationResponse = 14, Authenticated = 17, UpdateRoomData = 18, ServerConnectionData = 19, RequestNATConnection = 20, + DirectConnectIP = 21 + } + + private static string GetLocalIp() + { + var host = Dns.GetHostEntry(Dns.GetHostName()); + foreach (var ip in host.AddressList) + { + if (ip.AddressFamily == AddressFamily.InterNetwork) + { + return ip.ToString(); + } + } + + return null; + } + } + + [Serializable] + public struct Room + { + public string serverName; + public int maxPlayers; + public string serverId; + public string serverData; + public int hostId; + public List clients; + public int currentPlayers; + public RelayAddress relayInfo; + } + + [Serializable] + public struct RelayAddress + { + public ushort port; + public ushort endpointPort; + public string address; + public LRMRegions serverRegion; + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs.meta new file mode 100644 index 0000000..87007ea --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/LRMTransport/LightReflectiveMirrorTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7064b1b1d0671194baf55fa8d5f564d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f4000c50bdad7994f8425330b81e5d87, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/Resources.meta b/Assets/Mirror/Runtime/Transport/LRM/Resources.meta new file mode 100644 index 0000000..a4dc52e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48c208983412ff24abf68dda3691fa07 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png b/Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png new file mode 100644 index 0000000000000000000000000000000000000000..978d1f207cbf2c51fc7e3ec02fcff69d203f0262 GIT binary patch literal 5055 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 VLXzt6ONRge002ovPDHLkV1j0qpaB2? literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png.meta b/Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png.meta new file mode 100644 index 0000000..d6c638f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/Resources/LRM.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: f4000c50bdad7994f8425330b81e5d87 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs b/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs new file mode 100644 index 0000000..8017b66 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using UnityEngine; + +namespace LightReflectiveMirror +{ + + // This class handles the proxying from punched socket to transport. + public class SocketProxy + { + public DateTime lastInteractionTime; + public Action dataReceived; + UdpClient _udpClient; + IPEndPoint _recvEndpoint = new IPEndPoint(IPAddress.Any, 0); + IPEndPoint _remoteEndpoint; + bool _clientInitialRecv = false; + + public SocketProxy(int port, IPEndPoint remoteEndpoint) + { + _udpClient = new UdpClient(); + _udpClient.Connect(new IPEndPoint(IPAddress.Loopback, port)); + _udpClient.BeginReceive(new AsyncCallback(RecvData), _udpClient); + lastInteractionTime = DateTime.Now; + // Clone it so when main socket recvies new data, it wont switcheroo on us. + _remoteEndpoint = new IPEndPoint(remoteEndpoint.Address, remoteEndpoint.Port); + } + + public SocketProxy(int port) + { + _udpClient = new UdpClient(port); + _udpClient.BeginReceive(new AsyncCallback(RecvData), _udpClient); + lastInteractionTime = DateTime.Now; + } + + public void RelayData(byte[] data, int length) + { + _udpClient.Send(data, length); + lastInteractionTime = DateTime.Now; + } + + public void ClientRelayData(byte[] data, int length) + { + if (_clientInitialRecv) + { + _udpClient.Send(data, length, _recvEndpoint); + lastInteractionTime = DateTime.Now; + } + } + + public void Dispose() + { + _udpClient.Dispose(); + } + + void RecvData(IAsyncResult result) + { + byte[] data = _udpClient.EndReceive(result, ref _recvEndpoint); + _udpClient.BeginReceive(new AsyncCallback(RecvData), _udpClient); + _clientInitialRecv = true; + lastInteractionTime = DateTime.Now; + dataReceived?.Invoke(_remoteEndpoint, data); + + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs.meta b/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs.meta new file mode 100644 index 0000000..97b80f3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/SocketProxy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f482ce0c4da51924ba033e827aca8f28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LRM/package.json b/Assets/Mirror/Runtime/Transport/LRM/package.json new file mode 100644 index 0000000..b510c41 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/package.json @@ -0,0 +1,9 @@ +{ + "name": "com.derek-r-s.lrm", + "version": "0.10.120", + "displayName": "Light-Reflective-Mirror", + "description": "Light Reflective Mirror is a transport for Mirror Networking which relays network traffic through your own servers.", + "unity": "2019.4", + "dependencies": {}, + "keywords": [] +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/LRM/package.json.meta b/Assets/Mirror/Runtime/Transport/LRM/package.json.meta new file mode 100644 index 0000000..83a4cdf --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LRM/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 09ee2ee51265449fea67160707630572 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/LatencySimulation.cs b/Assets/Mirror/Runtime/Transport/LatencySimulation.cs new file mode 100644 index 0000000..b4c0b74 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LatencySimulation.cs @@ -0,0 +1,280 @@ +// wraps around a transport and adds latency/loss/scramble simulation. +// +// reliable: latency +// unreliable: latency, loss, scramble (unreliable isn't ordered so we scramble) +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror +{ + struct QueuedMessage + { + public int connectionId; + public byte[] bytes; + public float time; + } + + [HelpURL("https://mirror-networking.gitbook.io/docs/transports/latency-simulaton-transport")] + [DisallowMultipleComponent] + public class LatencySimulation : Transport + { + public Transport wrap; + + [Header("Common")] + [Tooltip("Spike latency via perlin(Time * speedMultiplier) * spikeMultiplier")] + [Range(0, 1)] public float latencySpikeMultiplier; + [Tooltip("Spike latency via perlin(Time * speedMultiplier) * spikeMultiplier")] + public float latencySpikeSpeedMultiplier = 1; + + [Header("Reliable Messages")] + [Tooltip("Reliable latency in seconds")] + public float reliableLatency; + // note: packet loss over reliable manifests itself in latency. + // don't need (and can't add) a loss option here. + // note: reliable is ordered by definition. no need to scramble. + + [Header("Unreliable Messages")] + [Tooltip("Packet loss in %")] + [Range(0, 1)] public float unreliableLoss; + [Tooltip("Unreliable latency in seconds")] + public float unreliableLatency; + [Tooltip("Scramble % of unreliable messages, just like over the real network. Mirror unreliable is unordered.")] + [Range(0, 1)] public float unreliableScramble; + + // message queues + // list so we can insert randomly (scramble) + List reliableClientToServer = new List(); + List reliableServerToClient = new List(); + List unreliableClientToServer = new List(); + List unreliableServerToClient = new List(); + + // random + // UnityEngine.Random.value is [0, 1] with both upper and lower bounds inclusive + // but we need the upper bound to be exclusive, so using System.Random instead. + // => NextDouble() is NEVER < 0 so loss=0 never drops! + // => NextDouble() is ALWAYS < 1 so loss=1 always drops! + System.Random random = new System.Random(); + + public void Awake() + { + if (wrap == null) + throw new Exception("PressureDrop requires an underlying transport to wrap around."); + } + + // forward enable/disable to the wrapped transport + void OnEnable() { wrap.enabled = true; } + void OnDisable() { wrap.enabled = false; } + + // noise function can be replaced if needed + protected virtual float Noise(float time) => Mathf.PerlinNoise(time, time); + + // helper function to simulate latency + float SimulateLatency(int channeldId) + { + // spike over perlin noise. + // no spikes isn't realistic. + // sin is too predictable / no realistic. + // perlin is still deterministic and random enough. + float spike = Noise(Time.time * latencySpikeSpeedMultiplier) * latencySpikeMultiplier; + + // base latency + switch (channeldId) + { + case Channels.Reliable: + return reliableLatency + spike; + case Channels.Unreliable: + return unreliableLatency + spike; + default: + return 0; + } + } + + // helper function to simulate a send with latency/loss/scramble + void SimulateSend(int connectionId, ArraySegment segment, int channelId, float latency, List reliableQueue, List unreliableQueue) + { + // segment is only valid after returning. copy it. + // (allocates for now. it's only for testing anyway.) + byte[] bytes = new byte[segment.Count]; + Buffer.BlockCopy(segment.Array, segment.Offset, bytes, 0, segment.Count); + + // enqueue message. send after latency interval. + QueuedMessage message = new QueuedMessage + { + connectionId = connectionId, + bytes = bytes, + time = Time.time + latency + }; + + switch (channelId) + { + case Channels.Reliable: + // simulate latency + reliableQueue.Add(message); + break; + case Channels.Unreliable: + // simulate packet loss + bool drop = random.NextDouble() < unreliableLoss; + if (!drop) + { + // simulate scramble (Random.Next is < max, so +1) + bool scramble = random.NextDouble() < unreliableScramble; + int last = unreliableQueue.Count; + int index = scramble ? random.Next(0, last + 1) : last; + + // simulate latency + unreliableQueue.Insert(index, message); + } + break; + default: + Debug.LogError($"{nameof(LatencySimulation)} unexpected channelId: {channelId}"); + break; + } + } + + public override bool Available() => wrap.Available(); + + public override void ClientConnect(string address) + { + wrap.OnClientConnected = OnClientConnected; + wrap.OnClientDataReceived = OnClientDataReceived; + wrap.OnClientError = OnClientError; + wrap.OnClientDisconnected = OnClientDisconnected; + wrap.ClientConnect(address); + } + + public override void ClientConnect(Uri uri) + { + wrap.OnClientConnected = OnClientConnected; + wrap.OnClientDataReceived = OnClientDataReceived; + wrap.OnClientError = OnClientError; + wrap.OnClientDisconnected = OnClientDisconnected; + wrap.ClientConnect(uri); + } + + public override bool ClientConnected() => wrap.ClientConnected(); + + public override void ClientDisconnect() + { + wrap.ClientDisconnect(); + reliableClientToServer.Clear(); + unreliableClientToServer.Clear(); + } + + public override void ClientSend(ArraySegment segment, int channelId) + { + float latency = SimulateLatency(channelId); + SimulateSend(0, segment, channelId, latency, reliableClientToServer, unreliableClientToServer); + } + + public override Uri ServerUri() => wrap.ServerUri(); + + public override bool ServerActive() => wrap.ServerActive(); + + public override string ServerGetClientAddress(int connectionId) => wrap.ServerGetClientAddress(connectionId); + + public override void ServerDisconnect(int connectionId) => wrap.ServerDisconnect(connectionId); + + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + float latency = SimulateLatency(channelId); + SimulateSend(connectionId, segment, channelId, latency, reliableServerToClient, unreliableServerToClient); + } + + public override void ServerStart() + { + wrap.OnServerConnected = OnServerConnected; + wrap.OnServerDataReceived = OnServerDataReceived; + wrap.OnServerError = OnServerError; + wrap.OnServerDisconnected = OnServerDisconnected; + wrap.ServerStart(); + } + + public override void ServerStop() + { + wrap.ServerStop(); + reliableServerToClient.Clear(); + unreliableServerToClient.Clear(); + } + + public override void ClientEarlyUpdate() => wrap.ClientEarlyUpdate(); + public override void ServerEarlyUpdate() => wrap.ServerEarlyUpdate(); + public override void ClientLateUpdate() + { + // flush reliable messages after latency + while (reliableClientToServer.Count > 0) + { + // check the first message time + QueuedMessage message = reliableClientToServer[0]; + if (message.time <= Time.time) + { + // send and eat + wrap.ClientSend(new ArraySegment(message.bytes), Channels.Reliable); + reliableClientToServer.RemoveAt(0); + } + // not enough time elapsed yet + break; + } + + // flush unreliable messages after latency + while (unreliableClientToServer.Count > 0) + { + // check the first message time + QueuedMessage message = unreliableClientToServer[0]; + if (message.time <= Time.time) + { + // send and eat + wrap.ClientSend(new ArraySegment(message.bytes), Channels.Unreliable); + unreliableClientToServer.RemoveAt(0); + } + // not enough time elapsed yet + break; + } + + // update wrapped transport too + wrap.ClientLateUpdate(); + } + public override void ServerLateUpdate() + { + // flush reliable messages after latency + while (reliableServerToClient.Count > 0) + { + // check the first message time + QueuedMessage message = reliableServerToClient[0]; + if (message.time <= Time.time) + { + // send and eat + wrap.ServerSend(message.connectionId, new ArraySegment(message.bytes), Channels.Reliable); + reliableServerToClient.RemoveAt(0); + } + // not enough time elapsed yet + break; + } + + // flush unreliable messages after latency + while (unreliableServerToClient.Count > 0) + { + // check the first message time + QueuedMessage message = unreliableServerToClient[0]; + if (message.time <= Time.time) + { + // send and eat + wrap.ServerSend(message.connectionId, new ArraySegment(message.bytes), Channels.Unreliable); + unreliableServerToClient.RemoveAt(0); + } + // not enough time elapsed yet + break; + } + + // update wrapped transport too + wrap.ServerLateUpdate(); + } + + public override int GetBatchThreshold(int channelId) => wrap.GetBatchThreshold(channelId); + public override int GetMaxPacketSize(int channelId = 0) => wrap.GetMaxPacketSize(channelId); + + public override void Shutdown() => wrap.Shutdown(); + + public override string ToString() => $"{nameof(LatencySimulation)} {wrap}"; + } +} diff --git a/Assets/Mirror/Runtime/Transport/LatencySimulation.cs.meta b/Assets/Mirror/Runtime/Transport/LatencySimulation.cs.meta new file mode 100644 index 0000000..eabbe4a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/LatencySimulation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96b149f511061407fb54895c057b7736 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs b/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs new file mode 100644 index 0000000..a0a64ad --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs @@ -0,0 +1,54 @@ +using System; +using UnityEngine; + +namespace Mirror +{ + /// + /// Allows Middleware to override some of the transport methods or let the inner transport handle them. + /// + [DisallowMultipleComponent] + public abstract class MiddlewareTransport : Transport + { + /// + /// Transport to call to after middleware + /// + public Transport inner; + + public override bool Available() => inner.Available(); + public override int GetMaxPacketSize(int channelId = 0) => inner.GetMaxPacketSize(channelId); + public override void Shutdown() => inner.Shutdown(); + + #region Client + public override void ClientConnect(string address) + { + inner.OnClientConnected = OnClientConnected; + inner.OnClientDataReceived = OnClientDataReceived; + inner.OnClientDisconnected = OnClientDisconnected; + inner.OnClientError = OnClientError; + inner.ClientConnect(address); + } + + public override bool ClientConnected() => inner.ClientConnected(); + public override void ClientDisconnect() => inner.ClientDisconnect(); + public override void ClientSend(ArraySegment segment, int channelId) => inner.ClientSend(segment, channelId); + #endregion + + #region Server + public override bool ServerActive() => inner.ServerActive(); + public override void ServerStart() + { + inner.OnServerConnected = OnServerConnected; + inner.OnServerDataReceived = OnServerDataReceived; + inner.OnServerDisconnected = OnServerDisconnected; + inner.OnServerError = OnServerError; + inner.ServerStart(); + } + + public override void ServerStop() => inner.ServerStop(); + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) => inner.ServerSend(connectionId, segment, channelId); + public override void ServerDisconnect(int connectionId) => inner.ServerDisconnect(connectionId); + public override string ServerGetClientAddress(int connectionId) => inner.ServerGetClientAddress(connectionId); + public override Uri ServerUri() => inner.ServerUri(); + #endregion + } +} diff --git a/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs.meta b/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs.meta new file mode 100644 index 0000000..dce8378 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/MiddlewareTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46f20ede74658e147a1af57172710de2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs b/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs new file mode 100644 index 0000000..0d0503d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs @@ -0,0 +1,306 @@ +using System; +using System.Text; +using UnityEngine; + +namespace Mirror +{ + // a transport that can listen to multiple underlying transport at the same time + [DisallowMultipleComponent] + public class MultiplexTransport : Transport + { + public Transport[] transports; + + Transport available; + + public void Awake() + { + if (transports == null || transports.Length == 0) + { + Debug.LogError("Multiplex transport requires at least 1 underlying transport"); + } + } + + public override void ClientEarlyUpdate() + { + foreach (Transport transport in transports) + { + transport.ClientEarlyUpdate(); + } + } + + public override void ServerEarlyUpdate() + { + foreach (Transport transport in transports) + { + transport.ServerEarlyUpdate(); + } + } + + public override void ClientLateUpdate() + { + foreach (Transport transport in transports) + { + transport.ClientLateUpdate(); + } + } + + public override void ServerLateUpdate() + { + foreach (Transport transport in transports) + { + transport.ServerLateUpdate(); + } + } + + void OnEnable() + { + foreach (Transport transport in transports) + { + transport.enabled = true; + } + } + + void OnDisable() + { + foreach (Transport transport in transports) + { + transport.enabled = false; + } + } + + public override bool Available() + { + // available if any of the transports is available + foreach (Transport transport in transports) + { + if (transport.Available()) + { + return true; + } + } + return false; + } + + #region Client + + public override void ClientConnect(string address) + { + foreach (Transport transport in transports) + { + if (transport.Available()) + { + available = transport; + transport.OnClientConnected = OnClientConnected; + transport.OnClientDataReceived = OnClientDataReceived; + transport.OnClientError = OnClientError; + transport.OnClientDisconnected = OnClientDisconnected; + transport.ClientConnect(address); + return; + } + } + throw new ArgumentException("No transport suitable for this platform"); + } + + public override void ClientConnect(Uri uri) + { + foreach (Transport transport in transports) + { + if (transport.Available()) + { + try + { + available = transport; + transport.OnClientConnected = OnClientConnected; + transport.OnClientDataReceived = OnClientDataReceived; + transport.OnClientError = OnClientError; + transport.OnClientDisconnected = OnClientDisconnected; + transport.ClientConnect(uri); + return; + } + catch (ArgumentException) + { + // transport does not support the schema, just move on to the next one + } + } + } + throw new ArgumentException("No transport suitable for this platform"); + } + + public override bool ClientConnected() + { + return (object)available != null && available.ClientConnected(); + } + + public override void ClientDisconnect() + { + if ((object)available != null) + available.ClientDisconnect(); + } + + public override void ClientSend(ArraySegment segment, int channelId) + { + available.ClientSend(segment, channelId); + } + + #endregion + + #region Server + // connection ids get mapped to base transports + // if we have 3 transports, then + // transport 0 will produce connection ids [0, 3, 6, 9, ...] + // transport 1 will produce connection ids [1, 4, 7, 10, ...] + // transport 2 will produce connection ids [2, 5, 8, 11, ...] + int FromBaseId(int transportId, int connectionId) + { + return connectionId * transports.Length + transportId; + } + + int ToBaseId(int connectionId) + { + return connectionId / transports.Length; + } + + int ToTransportId(int connectionId) + { + return connectionId % transports.Length; + } + + void AddServerCallbacks() + { + // wire all the base transports to my events + for (int i = 0; i < transports.Length; i++) + { + // this is required for the handlers, if I use i directly + // then all the handlers will use the last i + int locali = i; + Transport transport = transports[i]; + + transport.OnServerConnected = (baseConnectionId => + { + OnServerConnected.Invoke(FromBaseId(locali, baseConnectionId)); + }); + + transport.OnServerDataReceived = (baseConnectionId, data, channel) => + { + OnServerDataReceived.Invoke(FromBaseId(locali, baseConnectionId), data, channel); + }; + + transport.OnServerError = (baseConnectionId, error) => + { + OnServerError.Invoke(FromBaseId(locali, baseConnectionId), error); + }; + transport.OnServerDisconnected = baseConnectionId => + { + OnServerDisconnected.Invoke(FromBaseId(locali, baseConnectionId)); + }; + } + } + + // for now returns the first uri, + // should we return all available uris? + public override Uri ServerUri() + { + return transports[0].ServerUri(); + } + + + public override bool ServerActive() + { + // avoid Linq.All allocations + foreach (Transport transport in transports) + { + if (!transport.ServerActive()) + { + return false; + } + } + return true; + } + + public override string ServerGetClientAddress(int connectionId) + { + int baseConnectionId = ToBaseId(connectionId); + int transportId = ToTransportId(connectionId); + return transports[transportId].ServerGetClientAddress(baseConnectionId); + } + + public override void ServerDisconnect(int connectionId) + { + int baseConnectionId = ToBaseId(connectionId); + int transportId = ToTransportId(connectionId); + transports[transportId].ServerDisconnect(baseConnectionId); + } + + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + int baseConnectionId = ToBaseId(connectionId); + int transportId = ToTransportId(connectionId); + + for (int i = 0; i < transports.Length; ++i) + { + if (i == transportId) + { + transports[i].ServerSend(baseConnectionId, segment, channelId); + } + } + } + + public override void ServerStart() + { + foreach (Transport transport in transports) + { + AddServerCallbacks(); + transport.ServerStart(); + } + } + + public override void ServerStop() + { + foreach (Transport transport in transports) + { + transport.ServerStop(); + } + } + #endregion + + public override int GetMaxPacketSize(int channelId = 0) + { + // finding the max packet size in a multiplex environment has to be + // done very carefully: + // * servers run multiple transports at the same time + // * different clients run different transports + // * there should only ever be ONE true max packet size for everyone, + // otherwise a spawn message might be sent to all tcp sockets, but + // be too big for some udp sockets. that would be a debugging + // nightmare and allow for possible exploits and players on + // different platforms seeing a different game state. + // => the safest solution is to use the smallest max size for all + // transports. that will never fail. + int mininumAllowedSize = int.MaxValue; + foreach (Transport transport in transports) + { + int size = transport.GetMaxPacketSize(channelId); + mininumAllowedSize = Mathf.Min(size, mininumAllowedSize); + } + return mininumAllowedSize; + } + + public override void Shutdown() + { + foreach (Transport transport in transports) + { + transport.Shutdown(); + } + } + + public override string ToString() + { + StringBuilder builder = new StringBuilder(); + foreach (Transport transport in transports) + { + builder.AppendLine(transport.ToString()); + } + return builder.ToString().Trim(); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs.meta b/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs.meta new file mode 100644 index 0000000..6e97b28 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/MultiplexTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 929e3234c7db540b899f00183fc2b1fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport.meta new file mode 100644 index 0000000..5baa80f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3ba68af305d809418d6c6a804939290 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs new file mode 100644 index 0000000..25269e2 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs @@ -0,0 +1,4 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("SimpleWebTransport.Tests.Runtime")] +[assembly: InternalsVisibleTo("SimpleWebTransport.Tests.Editor")] diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs.meta new file mode 100644 index 0000000..028a307 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee9e76201f7665244bd6ab8ea343a83f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client.meta new file mode 100644 index 0000000..e6e2943 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5faa957b8d9fc314ab7596ccf14750d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs new file mode 100644 index 0000000..5c9e030 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Concurrent; +using UnityEngine; + +namespace Mirror.SimpleWeb +{ + public enum ClientState + { + NotConnected = 0, + Connecting = 1, + Connected = 2, + Disconnecting = 3, + } + /// + /// Client used to control websockets + /// Base class used by WebSocketClientWebGl and WebSocketClientStandAlone + /// + public abstract class SimpleWebClient + { + public static SimpleWebClient Create(int maxMessageSize, int maxMessagesPerTick, TcpConfig tcpConfig) + { +#if UNITY_WEBGL && !UNITY_EDITOR + return new WebSocketClientWebGl(maxMessageSize, maxMessagesPerTick); +#else + return new WebSocketClientStandAlone(maxMessageSize, maxMessagesPerTick, tcpConfig); +#endif + } + + readonly int maxMessagesPerTick; + protected readonly int maxMessageSize; + protected readonly ConcurrentQueue receiveQueue = new ConcurrentQueue(); + protected readonly BufferPool bufferPool; + + protected ClientState state; + + protected SimpleWebClient(int maxMessageSize, int maxMessagesPerTick) + { + this.maxMessageSize = maxMessageSize; + this.maxMessagesPerTick = maxMessagesPerTick; + bufferPool = new BufferPool(5, 20, maxMessageSize); + } + + public ClientState ConnectionState => state; + + public event Action onConnect; + public event Action onDisconnect; + public event Action> onData; + public event Action onError; + + public void ProcessMessageQueue(MonoBehaviour behaviour) + { + int processedCount = 0; + // check enabled every time in case behaviour was disabled after data + while ( + behaviour.enabled && + processedCount < maxMessagesPerTick && + // Dequeue last + receiveQueue.TryDequeue(out Message next) + ) + { + processedCount++; + + switch (next.type) + { + case EventType.Connected: + onConnect?.Invoke(); + break; + case EventType.Data: + onData?.Invoke(next.data.ToSegment()); + next.data.Release(); + break; + case EventType.Disconnected: + onDisconnect?.Invoke(); + break; + case EventType.Error: + onError?.Invoke(next.exception); + break; + } + } + } + + public abstract void Connect(Uri serverAddress); + public abstract void Disconnect(); + public abstract void Send(ArraySegment segment); + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs.meta new file mode 100644 index 0000000..90c361b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/SimpleWebClient.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13131761a0bf5a64dadeccd700fe26e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone.meta new file mode 100644 index 0000000..bf320c6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9c19d05220a87c4cbbe4d1e422da0aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs new file mode 100644 index 0000000..24c3896 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs @@ -0,0 +1,77 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace Mirror.SimpleWeb +{ + /// + /// Handles Handshake to the server when it first connects + /// The client handshake does not need buffers to reduce allocations since it only happens once + /// + internal class ClientHandshake + { + public bool TryHandshake(Connection conn, Uri uri) + { + try + { + Stream stream = conn.stream; + + byte[] keyBuffer = new byte[16]; + using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider()) + { + rng.GetBytes(keyBuffer); + } + + string key = Convert.ToBase64String(keyBuffer); + string keySum = key + Constants.HandshakeGUID; + byte[] keySumBytes = Encoding.ASCII.GetBytes(keySum); + Log.Verbose($"Handshake Hashing {Encoding.ASCII.GetString(keySumBytes)}"); + + byte[] keySumHash = SHA1.Create().ComputeHash(keySumBytes); + + string expectedResponse = Convert.ToBase64String(keySumHash); + string handshake = + $"GET {uri.PathAndQuery} HTTP/1.1\r\n" + + $"Host: {uri.Host}:{uri.Port}\r\n" + + $"Upgrade: websocket\r\n" + + $"Connection: Upgrade\r\n" + + $"Sec-WebSocket-Key: {key}\r\n" + + $"Sec-WebSocket-Version: 13\r\n" + + "\r\n"; + byte[] encoded = Encoding.ASCII.GetBytes(handshake); + stream.Write(encoded, 0, encoded.Length); + + byte[] responseBuffer = new byte[1000]; + + int? lengthOrNull = ReadHelper.SafeReadTillMatch(stream, responseBuffer, 0, responseBuffer.Length, Constants.endOfHandshake); + + if (!lengthOrNull.HasValue) + { + Log.Error("Connected closed before handshake"); + return false; + } + + string responseString = Encoding.ASCII.GetString(responseBuffer, 0, lengthOrNull.Value); + + string acceptHeader = "Sec-WebSocket-Accept: "; + int startIndex = responseString.IndexOf(acceptHeader) + acceptHeader.Length; + int endIndex = responseString.IndexOf("\r\n", startIndex); + string responseKey = responseString.Substring(startIndex, endIndex - startIndex); + + if (responseKey != expectedResponse) + { + Log.Error($"Response key incorrect, Response:{responseKey} Expected:{expectedResponse}"); + return false; + } + + return true; + } + catch (Exception e) + { + Log.Exception(e); + return false; + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs.meta new file mode 100644 index 0000000..ad3d40d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientHandshake.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3ffdcabc9e28f764a94fc4efc82d3e8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs new file mode 100644 index 0000000..be93f6c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs @@ -0,0 +1,47 @@ +using System; +using System.IO; +using System.Net.Security; +using System.Net.Sockets; +using System.Security.Cryptography.X509Certificates; + +namespace Mirror.SimpleWeb +{ + internal class ClientSslHelper + { + internal bool TryCreateStream(Connection conn, Uri uri) + { + NetworkStream stream = conn.client.GetStream(); + if (uri.Scheme != "wss") + { + conn.stream = stream; + return true; + } + + try + { + conn.stream = CreateStream(stream, uri); + return true; + } + catch (Exception e) + { + Log.Error($"Create SSLStream Failed: {e}", false); + return false; + } + } + + Stream CreateStream(NetworkStream stream, Uri uri) + { + SslStream sslStream = new SslStream(stream, true, ValidateServerCertificate); + sslStream.AuthenticateAsClient(uri.Host); + return sslStream; + } + + static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) + { + // Do not allow this client to communicate with unauthenticated servers. + + // only accept if no errors + return sslPolicyErrors == SslPolicyErrors.None; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs.meta new file mode 100644 index 0000000..d6be2bb --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/ClientSslHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46055a75559a79849a750f39a766db61 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs new file mode 100644 index 0000000..7eae284 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs @@ -0,0 +1,139 @@ +using System; +using System.Net.Sockets; +using System.Threading; + +namespace Mirror.SimpleWeb +{ + public class WebSocketClientStandAlone : SimpleWebClient + { + readonly ClientSslHelper sslHelper; + readonly ClientHandshake handshake; + readonly TcpConfig tcpConfig; + Connection conn; + + + internal WebSocketClientStandAlone(int maxMessageSize, int maxMessagesPerTick, TcpConfig tcpConfig) : base(maxMessageSize, maxMessagesPerTick) + { +#if UNITY_WEBGL && !UNITY_EDITOR + throw new NotSupportedException(); +#else + sslHelper = new ClientSslHelper(); + handshake = new ClientHandshake(); + this.tcpConfig = tcpConfig; +#endif + } + + public override void Connect(Uri serverAddress) + { + state = ClientState.Connecting; + Thread receiveThread = new Thread(() => ConnectAndReceiveLoop(serverAddress)); + receiveThread.IsBackground = true; + receiveThread.Start(); + } + + void ConnectAndReceiveLoop(Uri serverAddress) + { + try + { + TcpClient client = new TcpClient(); + tcpConfig.ApplyTo(client); + + // create connection object here so dispose correctly disconnects on failed connect + conn = new Connection(client, AfterConnectionDisposed); + conn.receiveThread = Thread.CurrentThread; + + try + { + client.Connect(serverAddress.Host, serverAddress.Port); + } + catch (SocketException) + { + client.Dispose(); + throw; + } + + + bool success = sslHelper.TryCreateStream(conn, serverAddress); + if (!success) + { + Log.Warn("Failed to create Stream"); + conn.Dispose(); + return; + } + + success = handshake.TryHandshake(conn, serverAddress); + if (!success) + { + Log.Warn("Failed Handshake"); + conn.Dispose(); + return; + } + + Log.Info("HandShake Successful"); + + state = ClientState.Connected; + + receiveQueue.Enqueue(new Message(EventType.Connected)); + + Thread sendThread = new Thread(() => + { + SendLoop.Config sendConfig = new SendLoop.Config( + conn, + bufferSize: Constants.HeaderSize + Constants.MaskSize + maxMessageSize, + setMask: true); + + SendLoop.Loop(sendConfig); + }); + + conn.sendThread = sendThread; + sendThread.IsBackground = true; + sendThread.Start(); + + ReceiveLoop.Config config = new ReceiveLoop.Config(conn, + maxMessageSize, + false, + receiveQueue, + bufferPool); + ReceiveLoop.Loop(config); + } + catch (ThreadInterruptedException e) { Log.InfoException(e); } + catch (ThreadAbortException e) { Log.InfoException(e); } + catch (Exception e) { Log.Exception(e); } + finally + { + // close here in case connect fails + conn?.Dispose(); + } + } + + void AfterConnectionDisposed(Connection conn) + { + state = ClientState.NotConnected; + // make sure Disconnected event is only called once + receiveQueue.Enqueue(new Message(EventType.Disconnected)); + } + + public override void Disconnect() + { + state = ClientState.Disconnecting; + Log.Info("Disconnect Called"); + if (conn == null) + { + state = ClientState.NotConnected; + } + else + { + conn?.Dispose(); + } + } + + public override void Send(ArraySegment segment) + { + ArrayBuffer buffer = bufferPool.Take(segment.Count); + buffer.CopyFrom(segment); + + conn.sendQueue.Enqueue(buffer); + conn.sendPending.Set(); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs.meta new file mode 100644 index 0000000..37229d3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/StandAlone/WebSocketClientStandAlone.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05a9c87dea309e241a9185e5aa0d72ab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl.meta new file mode 100644 index 0000000..2d81f7f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7142349d566213c4abc763afaf4d91a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs new file mode 100644 index 0000000..6af4671 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs @@ -0,0 +1,34 @@ +using System; +#if UNITY_WEBGL +using System.Runtime.InteropServices; +#endif + +namespace Mirror.SimpleWeb +{ + internal static class SimpleWebJSLib + { +#if UNITY_WEBGL + [DllImport("__Internal")] + internal static extern bool IsConnected(int index); + +#pragma warning disable CA2101 // Specify marshaling for P/Invoke string arguments + [DllImport("__Internal")] +#pragma warning restore CA2101 // Specify marshaling for P/Invoke string arguments + internal static extern int Connect(string address, Action openCallback, Action closeCallBack, Action messageCallback, Action errorCallback); + + [DllImport("__Internal")] + internal static extern void Disconnect(int index); + + [DllImport("__Internal")] + internal static extern bool Send(int index, byte[] array, int offset, int length); +#else + internal static bool IsConnected(int index) => throw new NotSupportedException(); + + internal static int Connect(string address, Action openCallback, Action closeCallBack, Action messageCallback, Action errorCallback) => throw new NotSupportedException(); + + internal static void Disconnect(int index) => throw new NotSupportedException(); + + internal static bool Send(int index, byte[] array, int offset, int length) => throw new NotSupportedException(); +#endif + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs.meta new file mode 100644 index 0000000..9dfa12e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/SimpleWebJSLib.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97b96a0b65c104443977473323c2ff35 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs new file mode 100644 index 0000000..0c953ef --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using AOT; + +namespace Mirror.SimpleWeb +{ + public class WebSocketClientWebGl : SimpleWebClient + { + static readonly Dictionary instances = new Dictionary(); + + /// + /// key for instances sent between c# and js + /// + int index; + + internal WebSocketClientWebGl(int maxMessageSize, int maxMessagesPerTick) : base(maxMessageSize, maxMessagesPerTick) + { +#if !UNITY_WEBGL || UNITY_EDITOR + throw new NotSupportedException(); +#endif + } + + public bool CheckJsConnected() => SimpleWebJSLib.IsConnected(index); + + public override void Connect(Uri serverAddress) + { + index = SimpleWebJSLib.Connect(serverAddress.ToString(), OpenCallback, CloseCallBack, MessageCallback, ErrorCallback); + instances.Add(index, this); + state = ClientState.Connecting; + } + + public override void Disconnect() + { + state = ClientState.Disconnecting; + // disconnect should cause closeCallback and OnDisconnect to be called + SimpleWebJSLib.Disconnect(index); + } + + public override void Send(ArraySegment segment) + { + if (segment.Count > maxMessageSize) + { + Log.Error($"Cant send message with length {segment.Count} because it is over the max size of {maxMessageSize}"); + return; + } + + SimpleWebJSLib.Send(index, segment.Array, 0, segment.Count); + } + + void onOpen() + { + receiveQueue.Enqueue(new Message(EventType.Connected)); + state = ClientState.Connected; + } + + void onClose() + { + // this code should be last in this class + + receiveQueue.Enqueue(new Message(EventType.Disconnected)); + state = ClientState.NotConnected; + instances.Remove(index); + } + + void onMessage(IntPtr bufferPtr, int count) + { + try + { + ArrayBuffer buffer = bufferPool.Take(count); + buffer.CopyFrom(bufferPtr, count); + + receiveQueue.Enqueue(new Message(buffer)); + } + catch (Exception e) + { + Log.Error($"onData {e.GetType()}: {e.Message}\n{e.StackTrace}"); + receiveQueue.Enqueue(new Message(e)); + } + } + + void onErr() + { + receiveQueue.Enqueue(new Message(new Exception("Javascript Websocket error"))); + Disconnect(); + } + + [MonoPInvokeCallback(typeof(Action))] + static void OpenCallback(int index) => instances[index].onOpen(); + + [MonoPInvokeCallback(typeof(Action))] + static void CloseCallBack(int index) => instances[index].onClose(); + + [MonoPInvokeCallback(typeof(Action))] + static void MessageCallback(int index, IntPtr bufferPtr, int count) => instances[index].onMessage(bufferPtr, count); + + [MonoPInvokeCallback(typeof(Action))] + static void ErrorCallback(int index) => instances[index].onErr(); + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs.meta new file mode 100644 index 0000000..3827d3a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/WebSocketClientWebGl.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 015c5b1915fd1a64cbe36444d16b2f7d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin.meta new file mode 100644 index 0000000..b516a8f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1999985791b91b9458059e88404885a7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib new file mode 100644 index 0000000..13da1b7 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib @@ -0,0 +1,105 @@ +// this will create a global object +const SimpleWeb = { + webSockets: [], + next: 1, + GetWebSocket: function (index) { + return SimpleWeb.webSockets[index] + }, + AddNextSocket: function (webSocket) { + var index = SimpleWeb.next; + SimpleWeb.next++; + SimpleWeb.webSockets[index] = webSocket; + return index; + }, + RemoveSocket: function (index) { + SimpleWeb.webSockets[index] = undefined; + }, +}; + +function IsConnected(index) { + var webSocket = SimpleWeb.GetWebSocket(index); + if (webSocket) { + return webSocket.readyState === webSocket.OPEN; + } + else { + return false; + } +} + +function Connect(addressPtr, openCallbackPtr, closeCallBackPtr, messageCallbackPtr, errorCallbackPtr) { + const address = Pointer_stringify(addressPtr); + console.log("Connecting to " + address); + // Create webSocket connection. + webSocket = new WebSocket(address); + webSocket.binaryType = 'arraybuffer'; + const index = SimpleWeb.AddNextSocket(webSocket); + + // Connection opened + webSocket.addEventListener('open', function (event) { + console.log("Connected to " + address); + Runtime.dynCall('vi', openCallbackPtr, [index]); + }); + webSocket.addEventListener('close', function (event) { + console.log("Disconnected from " + address); + Runtime.dynCall('vi', closeCallBackPtr, [index]); + }); + + // Listen for messages + webSocket.addEventListener('message', function (event) { + if (event.data instanceof ArrayBuffer) { + // TODO dont alloc each time + var array = new Uint8Array(event.data); + var arrayLength = array.length; + + var bufferPtr = _malloc(arrayLength); + var dataBuffer = new Uint8Array(HEAPU8.buffer, bufferPtr, arrayLength); + dataBuffer.set(array); + + Runtime.dynCall('viii', messageCallbackPtr, [index, bufferPtr, arrayLength]); + _free(bufferPtr); + } + else { + console.error("message type not supported") + } + }); + + webSocket.addEventListener('error', function (event) { + console.error('Socket Error', event); + + Runtime.dynCall('vi', errorCallbackPtr, [index]); + }); + + return index; +} + +function Disconnect(index) { + var webSocket = SimpleWeb.GetWebSocket(index); + if (webSocket) { + webSocket.close(1000, "Disconnect Called by Mirror"); + } + + SimpleWeb.RemoveSocket(index); +} + +function Send(index, arrayPtr, offset, length) { + var webSocket = SimpleWeb.GetWebSocket(index); + if (webSocket) { + const start = arrayPtr + offset; + const end = start + length; + const data = HEAPU8.buffer.slice(start, end); + webSocket.send(data); + return true; + } + return false; +} + + +const SimpleWebLib = { + $SimpleWeb: SimpleWeb, + IsConnected, + Connect, + Disconnect, + Send +}; +autoAddDeps(SimpleWebLib, '$SimpleWeb'); +mergeInto(LibraryManager.library, SimpleWebLib); \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib.meta new file mode 100644 index 0000000..cc1319e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Client/Webgl/plugin/SimpleWeb.jslib.meta @@ -0,0 +1,37 @@ +fileFormatVersion: 2 +guid: 54452a8c6d2ca9b49a8c79f81b50305c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Facebook: WebGL + second: + enabled: 1 + settings: {} + - first: + WebGL: WebGL + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common.meta new file mode 100644 index 0000000..078faaa --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 564d2cd3eee5b21419553c0528739d1b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs new file mode 100644 index 0000000..315d371 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs @@ -0,0 +1,265 @@ +using System; +using System.Collections.Concurrent; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Threading; + +namespace Mirror.SimpleWeb +{ + public interface IBufferOwner + { + void Return(ArrayBuffer buffer); + } + + public sealed class ArrayBuffer : IDisposable + { + readonly IBufferOwner owner; + + public readonly byte[] array; + + /// + /// number of bytes writen to buffer + /// + internal int count; + + /// + /// How many times release needs to be called before buffer is returned to pool + /// This allows the buffer to be used in multiple places at the same time + /// + public void SetReleasesRequired(int required) + { + releasesRequired = required; + } + + /// + /// How many times release needs to be called before buffer is returned to pool + /// This allows the buffer to be used in multiple places at the same time + /// + /// + /// This value is normally 0, but can be changed to require release to be called multiple times + /// + int releasesRequired; + + public ArrayBuffer(IBufferOwner owner, int size) + { + this.owner = owner; + array = new byte[size]; + } + + public void Release() + { + int newValue = Interlocked.Decrement(ref releasesRequired); + if (newValue <= 0) + { + count = 0; + owner.Return(this); + } + } + public void Dispose() + { + Release(); + } + + + public void CopyTo(byte[] target, int offset) + { + if (count > (target.Length + offset)) throw new ArgumentException($"{nameof(count)} was greater than {nameof(target)}.length", nameof(target)); + + Buffer.BlockCopy(array, 0, target, offset, count); + } + + public void CopyFrom(ArraySegment segment) + { + CopyFrom(segment.Array, segment.Offset, segment.Count); + } + + public void CopyFrom(byte[] source, int offset, int length) + { + if (length > array.Length) throw new ArgumentException($"{nameof(length)} was greater than {nameof(array)}.length", nameof(length)); + + count = length; + Buffer.BlockCopy(source, offset, array, 0, length); + } + + public void CopyFrom(IntPtr bufferPtr, int length) + { + if (length > array.Length) throw new ArgumentException($"{nameof(length)} was greater than {nameof(array)}.length", nameof(length)); + + count = length; + Marshal.Copy(bufferPtr, array, 0, length); + } + + public ArraySegment ToSegment() + { + return new ArraySegment(array, 0, count); + } + + [Conditional("UNITY_ASSERTIONS")] + internal void Validate(int arraySize) + { + if (array.Length != arraySize) + { + Log.Error("Buffer that was returned had an array of the wrong size"); + } + } + } + + internal class BufferBucket : IBufferOwner + { + public readonly int arraySize; + readonly ConcurrentQueue buffers; + + /// + /// keeps track of how many arrays are taken vs returned + /// + internal int _current = 0; + + public BufferBucket(int arraySize) + { + this.arraySize = arraySize; + buffers = new ConcurrentQueue(); + } + + public ArrayBuffer Take() + { + IncrementCreated(); + if (buffers.TryDequeue(out ArrayBuffer buffer)) + { + return buffer; + } + else + { + Log.Verbose($"BufferBucket({arraySize}) create new"); + return new ArrayBuffer(this, arraySize); + } + } + + public void Return(ArrayBuffer buffer) + { + DecrementCreated(); + buffer.Validate(arraySize); + buffers.Enqueue(buffer); + } + + [Conditional("DEBUG")] + void IncrementCreated() + { + int next = Interlocked.Increment(ref _current); + Log.Verbose($"BufferBucket({arraySize}) count:{next}"); + } + [Conditional("DEBUG")] + void DecrementCreated() + { + int next = Interlocked.Decrement(ref _current); + Log.Verbose($"BufferBucket({arraySize}) count:{next}"); + } + } + + /// + /// Collection of different sized buffers + /// + /// + /// + /// Problem:
+ /// * Need to cached byte[] so that new ones aren't created each time
+ /// * Arrays sent are multiple different sizes
+ /// * Some message might be big so need buffers to cover that size
+ /// * Most messages will be small compared to max message size
+ ///
+ ///
+ /// + /// Solution:
+ /// * Create multiple groups of buffers covering the range of allowed sizes
+ /// * Split range exponentially (using math.log) so that there are more groups for small buffers
+ ///
+ ///
+ public class BufferPool + { + internal readonly BufferBucket[] buckets; + readonly int bucketCount; + readonly int smallest; + readonly int largest; + + public BufferPool(int bucketCount, int smallest, int largest) + { + if (bucketCount < 2) throw new ArgumentException("Count must be at least 2"); + if (smallest < 1) throw new ArgumentException("Smallest must be at least 1"); + if (largest < smallest) throw new ArgumentException("Largest must be greater than smallest"); + + + this.bucketCount = bucketCount; + this.smallest = smallest; + this.largest = largest; + + + // split range over log scale (more buckets for smaller sizes) + + double minLog = Math.Log(this.smallest); + double maxLog = Math.Log(this.largest); + + double range = maxLog - minLog; + double each = range / (bucketCount - 1); + + buckets = new BufferBucket[bucketCount]; + + for (int i = 0; i < bucketCount; i++) + { + double size = smallest * Math.Pow(Math.E, each * i); + buckets[i] = new BufferBucket((int)Math.Ceiling(size)); + } + + + Validate(); + + // Example + // 5 count + // 20 smallest + // 16400 largest + + // 3.0 log 20 + // 9.7 log 16400 + + // 6.7 range 9.7 - 3 + // 1.675 each 6.7 / (5-1) + + // 20 e^ (3 + 1.675 * 0) + // 107 e^ (3 + 1.675 * 1) + // 572 e^ (3 + 1.675 * 2) + // 3056 e^ (3 + 1.675 * 3) + // 16,317 e^ (3 + 1.675 * 4) + + // perceision wont be lose when using doubles + } + + [Conditional("UNITY_ASSERTIONS")] + void Validate() + { + if (buckets[0].arraySize != smallest) + { + Log.Error($"BufferPool Failed to create bucket for smallest. bucket:{buckets[0].arraySize} smallest{smallest}"); + } + + int largestBucket = buckets[bucketCount - 1].arraySize; + // rounded using Ceiling, so allowed to be 1 more that largest + if (largestBucket != largest && largestBucket != largest + 1) + { + Log.Error($"BufferPool Failed to create bucket for largest. bucket:{largestBucket} smallest{largest}"); + } + } + + public ArrayBuffer Take(int size) + { + if (size > largest) { throw new ArgumentException($"Size ({size}) is greatest that largest ({largest})"); } + + for (int i = 0; i < bucketCount; i++) + { + if (size <= buckets[i].arraySize) + { + return buckets[i].Take(); + } + } + + throw new ArgumentException($"Size ({size}) is greatest that largest ({largest})"); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs.meta new file mode 100644 index 0000000..0b1070f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/BufferPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94ae50f3ec35667469b861b12cd72f92 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs new file mode 100644 index 0000000..f16dd7c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Concurrent; +using System.IO; +using System.Net.Sockets; +using System.Threading; + +namespace Mirror.SimpleWeb +{ + internal sealed class Connection : IDisposable + { + public const int IdNotSet = -1; + + readonly object disposedLock = new object(); + + public TcpClient client; + + public int connId = IdNotSet; + public Stream stream; + public Thread receiveThread; + public Thread sendThread; + + public ManualResetEventSlim sendPending = new ManualResetEventSlim(false); + public ConcurrentQueue sendQueue = new ConcurrentQueue(); + + public Action onDispose; + + volatile bool hasDisposed; + + public Connection(TcpClient client, Action onDispose) + { + this.client = client ?? throw new ArgumentNullException(nameof(client)); + this.onDispose = onDispose; + } + + + /// + /// disposes client and stops threads + /// + public void Dispose() + { + Log.Verbose($"Dispose {ToString()}"); + + // check hasDisposed first to stop ThreadInterruptedException on lock + if (hasDisposed) { return; } + + Log.Info($"Connection Close: {ToString()}"); + + + lock (disposedLock) + { + // check hasDisposed again inside lock to make sure no other object has called this + if (hasDisposed) { return; } + hasDisposed = true; + + // stop threads first so they don't try to use disposed objects + receiveThread.Interrupt(); + sendThread?.Interrupt(); + + try + { + // stream + stream?.Dispose(); + stream = null; + client.Dispose(); + client = null; + } + catch (Exception e) + { + Log.Exception(e); + } + + sendPending.Dispose(); + + // release all buffers in send queue + while (sendQueue.TryDequeue(out ArrayBuffer buffer)) + { + buffer.Release(); + } + + onDispose.Invoke(this); + } + } + + public override string ToString() + { + System.Net.EndPoint endpoint = client?.Client?.RemoteEndPoint; + return $"[Conn:{connId}, endPoint:{endpoint}]"; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs.meta new file mode 100644 index 0000000..d48a835 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Connection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a13073c2b49d39943888df45174851bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs new file mode 100644 index 0000000..cc94cf3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs @@ -0,0 +1,72 @@ +using System.Text; + +namespace Mirror.SimpleWeb +{ + /// + /// Constant values that should never change + /// + /// Some values are from https://tools.ietf.org/html/rfc6455 + /// + /// + internal static class Constants + { + /// + /// Header is at most 4 bytes + /// + /// If message is less than 125 then header is 2 bytes, else header is 4 bytes + /// + /// + public const int HeaderSize = 4; + + /// + /// Smallest size of header + /// + /// If message is less than 125 then header is 2 bytes, else header is 4 bytes + /// + /// + public const int HeaderMinSize = 2; + + /// + /// bytes for short length + /// + public const int ShortLength = 2; + + /// + /// Message mask is always 4 bytes + /// + public const int MaskSize = 4; + + /// + /// Max size of a message for length to be 1 byte long + /// + /// payload length between 0-125 + /// + /// + public const int BytePayloadLength = 125; + + /// + /// if payload length is 126 when next 2 bytes will be the length + /// + public const int UshortPayloadLength = 126; + + /// + /// if payload length is 127 when next 8 bytes will be the length + /// + public const int UlongPayloadLength = 127; + + + /// + /// Guid used for WebSocket Protocol + /// + public const string HandshakeGUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + + public static readonly int HandshakeGUIDLength = HandshakeGUID.Length; + + public static readonly byte[] HandshakeGUIDBytes = Encoding.ASCII.GetBytes(HandshakeGUID); + + /// + /// Handshake messages will end with \r\n\r\n + /// + public static readonly byte[] endOfHandshake = new byte[4] { (byte)'\r', (byte)'\n', (byte)'\r', (byte)'\n' }; + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs.meta new file mode 100644 index 0000000..ece602e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Constants.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85d110a089d6ad348abf2d073ebce7cd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs new file mode 100644 index 0000000..3a9d185 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs @@ -0,0 +1,10 @@ +namespace Mirror.SimpleWeb +{ + public enum EventType + { + Connected, + Data, + Disconnected, + Error + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs.meta new file mode 100644 index 0000000..a91403a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/EventType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d9cd7d2b5229ab42a12e82ae17d0347 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs new file mode 100644 index 0000000..a807b47 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs @@ -0,0 +1,115 @@ +using System; +using UnityEngine; +using Conditional = System.Diagnostics.ConditionalAttribute; + +namespace Mirror.SimpleWeb +{ + public static class Log + { + // used for Conditional + const string SIMPLEWEB_LOG_ENABLED = nameof(SIMPLEWEB_LOG_ENABLED); + const string DEBUG = nameof(DEBUG); + + public enum Levels + { + none = 0, + error = 1, + warn = 2, + info = 3, + verbose = 4, + } + + public static Levels level = Levels.none; + + public static string BufferToString(byte[] buffer, int offset = 0, int? length = null) + { + return BitConverter.ToString(buffer, offset, length ?? buffer.Length); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED)] + public static void DumpBuffer(string label, byte[] buffer, int offset, int length) + { + if (level < Levels.verbose) + return; + + Debug.Log($"VERBOSE: {label}: {BufferToString(buffer, offset, length)}"); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED)] + public static void DumpBuffer(string label, ArrayBuffer arrayBuffer) + { + if (level < Levels.verbose) + return; + + Debug.Log($"VERBOSE: {label}: {BufferToString(arrayBuffer.array, 0, arrayBuffer.count)}"); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED)] + public static void Verbose(string msg, bool showColor = true) + { + if (level < Levels.verbose) + return; + + if (showColor) + Debug.Log($"VERBOSE: {msg}"); + else + Debug.Log($"VERBOSE: {msg}"); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED)] + public static void Info(string msg, bool showColor = true) + { + if (level < Levels.info) + return; + + if (showColor) + Debug.Log($"INFO: {msg}"); + else + Debug.Log($"INFO: {msg}"); + } + + /// + /// An expected Exception was caught, useful for debugging but not important + /// + /// + /// + [Conditional(SIMPLEWEB_LOG_ENABLED)] + public static void InfoException(Exception e) + { + if (level < Levels.info) + return; + + Debug.Log($"INFO_EXCEPTION: {e.GetType().Name} Message: {e.Message}"); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED), Conditional(DEBUG)] + public static void Warn(string msg, bool showColor = true) + { + if (level < Levels.warn) + return; + + if (showColor) + Debug.LogWarning($"WARN: {msg}"); + else + Debug.LogWarning($"WARN: {msg}"); + } + + [Conditional(SIMPLEWEB_LOG_ENABLED), Conditional(DEBUG)] + public static void Error(string msg, bool showColor = true) + { + if (level < Levels.error) + return; + + if (showColor) + Debug.LogError($"ERROR: {msg}"); + else + Debug.LogError($"ERROR: {msg}"); + } + + public static void Exception(Exception e) + { + // always log Exceptions + Debug.LogError($"EXCEPTION: {e.GetType().Name} Message: {e.Message}"); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs.meta new file mode 100644 index 0000000..beb2883 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Log.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3cf1521098e04f74fbea0fe2aa0439f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs new file mode 100644 index 0000000..29b4849 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs @@ -0,0 +1,49 @@ +using System; + +namespace Mirror.SimpleWeb +{ + public struct Message + { + public readonly int connId; + public readonly EventType type; + public readonly ArrayBuffer data; + public readonly Exception exception; + + public Message(EventType type) : this() + { + this.type = type; + } + + public Message(ArrayBuffer data) : this() + { + type = EventType.Data; + this.data = data; + } + + public Message(Exception exception) : this() + { + type = EventType.Error; + this.exception = exception; + } + + public Message(int connId, EventType type) : this() + { + this.connId = connId; + this.type = type; + } + + public Message(int connId, ArrayBuffer data) : this() + { + this.connId = connId; + type = EventType.Data; + this.data = data; + } + + public Message(int connId, Exception exception) : this() + { + this.connId = connId; + type = EventType.Error; + this.exception = exception; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs.meta new file mode 100644 index 0000000..3286a2c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Message.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f5d05d71b09d2714b96ffe80bc3d2a77 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs new file mode 100644 index 0000000..1bf98f0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs @@ -0,0 +1,140 @@ +using System.IO; +using System.Runtime.CompilerServices; + +namespace Mirror.SimpleWeb +{ + public static class MessageProcessor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static byte FirstLengthByte(byte[] buffer) => (byte)(buffer[1] & 0b0111_1111); + + public static bool NeedToReadShortLength(byte[] buffer) + { + byte lenByte = FirstLengthByte(buffer); + + return lenByte >= Constants.UshortPayloadLength; + } + + public static int GetOpcode(byte[] buffer) + { + return buffer[0] & 0b0000_1111; + } + + public static int GetPayloadLength(byte[] buffer) + { + byte lenByte = FirstLengthByte(buffer); + return GetMessageLength(buffer, 0, lenByte); + } + + public static void ValidateHeader(byte[] buffer, int maxLength, bool expectMask) + { + bool finished = (buffer[0] & 0b1000_0000) != 0; // has full message been sent + bool hasMask = (buffer[1] & 0b1000_0000) != 0; // true from clients, false from server, "All messages from the client to the server have this bit set" + + int opcode = buffer[0] & 0b0000_1111; // expecting 1 - text message + byte lenByte = FirstLengthByte(buffer); + + ThrowIfNotFinished(finished); + ThrowIfMaskNotExpected(hasMask, expectMask); + ThrowIfBadOpCode(opcode); + + int msglen = GetMessageLength(buffer, 0, lenByte); + + ThrowIfLengthZero(msglen); + ThrowIfMsgLengthTooLong(msglen, maxLength); + } + + public static void ToggleMask(byte[] src, int sourceOffset, int messageLength, byte[] maskBuffer, int maskOffset) + { + ToggleMask(src, sourceOffset, src, sourceOffset, messageLength, maskBuffer, maskOffset); + } + + public static void ToggleMask(byte[] src, int sourceOffset, ArrayBuffer dst, int messageLength, byte[] maskBuffer, int maskOffset) + { + ToggleMask(src, sourceOffset, dst.array, 0, messageLength, maskBuffer, maskOffset); + dst.count = messageLength; + } + + public static void ToggleMask(byte[] src, int srcOffset, byte[] dst, int dstOffset, int messageLength, byte[] maskBuffer, int maskOffset) + { + for (int i = 0; i < messageLength; i++) + { + byte maskByte = maskBuffer[maskOffset + i % Constants.MaskSize]; + dst[dstOffset + i] = (byte)(src[srcOffset + i] ^ maskByte); + } + } + + /// + static int GetMessageLength(byte[] buffer, int offset, byte lenByte) + { + if (lenByte == Constants.UshortPayloadLength) + { + // header is 4 bytes long + ushort value = 0; + value |= (ushort)(buffer[offset + 2] << 8); + value |= buffer[offset + 3]; + + return value; + } + else if (lenByte == Constants.UlongPayloadLength) + { + throw new InvalidDataException("Max length is longer than allowed in a single message"); + } + else // is less than 126 + { + // header is 2 bytes long + return lenByte; + } + } + + /// + static void ThrowIfNotFinished(bool finished) + { + if (!finished) + { + throw new InvalidDataException("Full message should have been sent, if the full message wasn't sent it wasn't sent from this trasnport"); + } + } + + /// + static void ThrowIfMaskNotExpected(bool hasMask, bool expectMask) + { + if (hasMask != expectMask) + { + throw new InvalidDataException($"Message expected mask to be {expectMask} but was {hasMask}"); + } + } + + /// + static void ThrowIfBadOpCode(int opcode) + { + // 2 = binary + // 8 = close + if (opcode != 2 && opcode != 8) + { + throw new InvalidDataException("Expected opcode to be binary or close"); + } + } + + /// + static void ThrowIfLengthZero(int msglen) + { + if (msglen == 0) + { + throw new InvalidDataException("Message length was zero"); + } + } + + /// + /// need to check this so that data from previous buffer isn't used + /// + /// + static void ThrowIfMsgLengthTooLong(int msglen, int maxLength) + { + if (msglen > maxLength) + { + throw new InvalidDataException("Message length is greater than max length"); + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs.meta new file mode 100644 index 0000000..7e3a7c4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/MessageProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4c1f218a2b16ca846aaf23260078e549 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs new file mode 100644 index 0000000..66f36c9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs @@ -0,0 +1,132 @@ +using System; +using System.IO; +using System.Runtime.Serialization; + +namespace Mirror.SimpleWeb +{ + public static class ReadHelper + { + /// + /// Reads exactly length from stream + /// + /// outOffset + length + /// + public static int Read(Stream stream, byte[] outBuffer, int outOffset, int length) + { + int received = 0; + try + { + while (received < length) + { + int read = stream.Read(outBuffer, outOffset + received, length - received); + if (read == 0) + { + throw new ReadHelperException("returned 0"); + } + received += read; + } + } + catch (AggregateException ae) + { + // if interrupt is called we don't care about Exceptions + Utils.CheckForInterupt(); + + // rethrow + ae.Handle(e => false); + } + + if (received != length) + { + throw new ReadHelperException("returned not equal to length"); + } + + return outOffset + received; + } + + /// + /// Reads and returns results. This should never throw an exception + /// + public static bool TryRead(Stream stream, byte[] outBuffer, int outOffset, int length) + { + try + { + Read(stream, outBuffer, outOffset, length); + return true; + } + catch (ReadHelperException) + { + return false; + } + catch (IOException) + { + return false; + } + catch (Exception e) + { + Log.Exception(e); + return false; + } + } + + public static int? SafeReadTillMatch(Stream stream, byte[] outBuffer, int outOffset, int maxLength, byte[] endOfHeader) + { + try + { + int read = 0; + int endIndex = 0; + int endLength = endOfHeader.Length; + while (true) + { + int next = stream.ReadByte(); + if (next == -1) // closed + return null; + + if (read >= maxLength) + { + Log.Error("SafeReadTillMatch exceeded maxLength"); + return null; + } + + outBuffer[outOffset + read] = (byte)next; + read++; + + // if n is match, check n+1 next + if (endOfHeader[endIndex] == next) + { + endIndex++; + // when all is match return with read length + if (endIndex >= endLength) + { + return read; + } + } + // if n not match reset to 0 + else + { + endIndex = 0; + } + } + } + catch (IOException e) + { + Log.InfoException(e); + return null; + } + catch (Exception e) + { + Log.Exception(e); + return null; + } + } + } + + [Serializable] + public class ReadHelperException : Exception + { + public ReadHelperException(string message) : base(message) {} + + protected ReadHelperException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs.meta new file mode 100644 index 0000000..77d09c1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReadHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9f4fa5d324e708c46a55810a97de75bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs new file mode 100644 index 0000000..16126ab --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs @@ -0,0 +1,199 @@ +using System; +using System.Collections.Concurrent; +using System.IO; +using System.Net.Sockets; +using System.Text; +using System.Threading; +using UnityEngine.Profiling; + +namespace Mirror.SimpleWeb +{ + internal static class ReceiveLoop + { + public struct Config + { + public readonly Connection conn; + public readonly int maxMessageSize; + public readonly bool expectMask; + public readonly ConcurrentQueue queue; + public readonly BufferPool bufferPool; + + public Config(Connection conn, int maxMessageSize, bool expectMask, ConcurrentQueue queue, BufferPool bufferPool) + { + this.conn = conn ?? throw new ArgumentNullException(nameof(conn)); + this.maxMessageSize = maxMessageSize; + this.expectMask = expectMask; + this.queue = queue ?? throw new ArgumentNullException(nameof(queue)); + this.bufferPool = bufferPool ?? throw new ArgumentNullException(nameof(bufferPool)); + } + + public void Deconstruct(out Connection conn, out int maxMessageSize, out bool expectMask, out ConcurrentQueue queue, out BufferPool bufferPool) + { + conn = this.conn; + maxMessageSize = this.maxMessageSize; + expectMask = this.expectMask; + queue = this.queue; + bufferPool = this.bufferPool; + } + } + + public static void Loop(Config config) + { + (Connection conn, int maxMessageSize, bool expectMask, ConcurrentQueue queue, BufferPool _) = config; + + Profiler.BeginThreadProfiling("SimpleWeb", $"ReceiveLoop {conn.connId}"); + + byte[] readBuffer = new byte[Constants.HeaderSize + (expectMask ? Constants.MaskSize : 0) + maxMessageSize]; + try + { + try + { + TcpClient client = conn.client; + + while (client.Connected) + { + ReadOneMessage(config, readBuffer); + } + + Log.Info($"{conn} Not Connected"); + } + catch (Exception) + { + // if interrupted we don't care about other exceptions + Utils.CheckForInterupt(); + throw; + } + } + catch (ThreadInterruptedException e) { Log.InfoException(e); } + catch (ThreadAbortException e) { Log.InfoException(e); } + catch (ObjectDisposedException e) { Log.InfoException(e); } + catch (ReadHelperException e) + { + // log as info only + Log.InfoException(e); + } + catch (SocketException e) + { + // this could happen if wss client closes stream + Log.Warn($"ReceiveLoop SocketException\n{e.Message}", false); + queue.Enqueue(new Message(conn.connId, e)); + } + catch (IOException e) + { + // this could happen if client disconnects + Log.Warn($"ReceiveLoop IOException\n{e.Message}", false); + queue.Enqueue(new Message(conn.connId, e)); + } + catch (InvalidDataException e) + { + Log.Error($"Invalid data from {conn}: {e.Message}"); + queue.Enqueue(new Message(conn.connId, e)); + } + catch (Exception e) + { + Log.Exception(e); + queue.Enqueue(new Message(conn.connId, e)); + } + finally + { + Profiler.EndThreadProfiling(); + + conn.Dispose(); + } + } + + static void ReadOneMessage(Config config, byte[] buffer) + { + (Connection conn, int maxMessageSize, bool expectMask, ConcurrentQueue queue, BufferPool bufferPool) = config; + Stream stream = conn.stream; + + int offset = 0; + // read 2 + offset = ReadHelper.Read(stream, buffer, offset, Constants.HeaderMinSize); + // log after first blocking call + Log.Verbose($"Message From {conn}"); + + if (MessageProcessor.NeedToReadShortLength(buffer)) + { + offset = ReadHelper.Read(stream, buffer, offset, Constants.ShortLength); + } + + MessageProcessor.ValidateHeader(buffer, maxMessageSize, expectMask); + + if (expectMask) + { + offset = ReadHelper.Read(stream, buffer, offset, Constants.MaskSize); + } + + int opcode = MessageProcessor.GetOpcode(buffer); + int payloadLength = MessageProcessor.GetPayloadLength(buffer); + + Log.Verbose($"Header ln:{payloadLength} op:{opcode} mask:{expectMask}"); + Log.DumpBuffer($"Raw Header", buffer, 0, offset); + + int msgOffset = offset; + offset = ReadHelper.Read(stream, buffer, offset, payloadLength); + + switch (opcode) + { + case 2: + HandleArrayMessage(config, buffer, msgOffset, payloadLength); + break; + case 8: + HandleCloseMessage(config, buffer, msgOffset, payloadLength); + break; + } + } + + static void HandleArrayMessage(Config config, byte[] buffer, int msgOffset, int payloadLength) + { + (Connection conn, int _, bool expectMask, ConcurrentQueue queue, BufferPool bufferPool) = config; + + ArrayBuffer arrayBuffer = bufferPool.Take(payloadLength); + + if (expectMask) + { + int maskOffset = msgOffset - Constants.MaskSize; + // write the result of toggle directly into arrayBuffer to avoid 2nd copy call + MessageProcessor.ToggleMask(buffer, msgOffset, arrayBuffer, payloadLength, buffer, maskOffset); + } + else + { + arrayBuffer.CopyFrom(buffer, msgOffset, payloadLength); + } + + // dump after mask off + Log.DumpBuffer($"Message", arrayBuffer); + + queue.Enqueue(new Message(conn.connId, arrayBuffer)); + } + + static void HandleCloseMessage(Config config, byte[] buffer, int msgOffset, int payloadLength) + { + (Connection conn, int _, bool expectMask, ConcurrentQueue _, BufferPool _) = config; + + if (expectMask) + { + int maskOffset = msgOffset - Constants.MaskSize; + MessageProcessor.ToggleMask(buffer, msgOffset, payloadLength, buffer, maskOffset); + } + + // dump after mask off + Log.DumpBuffer($"Message", buffer, msgOffset, payloadLength); + + Log.Info($"Close: {GetCloseCode(buffer, msgOffset)} message:{GetCloseMessage(buffer, msgOffset, payloadLength)}"); + + conn.Dispose(); + } + + static string GetCloseMessage(byte[] buffer, int msgOffset, int payloadLength) + { + return Encoding.UTF8.GetString(buffer, msgOffset + 2, payloadLength - 2); + } + + static int GetCloseCode(byte[] buffer, int msgOffset) + { + return buffer[msgOffset + 0] << 8 | buffer[msgOffset + 1]; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs.meta new file mode 100644 index 0000000..47c6ff5 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/ReceiveLoop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a26c2815f58431c4a98c158c8b655ffd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs new file mode 100644 index 0000000..096b7ff --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs @@ -0,0 +1,207 @@ +using System; +using System.IO; +using System.Net.Sockets; +using System.Security.Cryptography; +using System.Threading; +using UnityEngine.Profiling; + +namespace Mirror.SimpleWeb +{ + public static class SendLoopConfig + { + public static volatile bool batchSend = false; + public static volatile bool sleepBeforeSend = false; + } + internal static class SendLoop + { + public struct Config + { + public readonly Connection conn; + public readonly int bufferSize; + public readonly bool setMask; + + public Config(Connection conn, int bufferSize, bool setMask) + { + this.conn = conn ?? throw new ArgumentNullException(nameof(conn)); + this.bufferSize = bufferSize; + this.setMask = setMask; + } + + public void Deconstruct(out Connection conn, out int bufferSize, out bool setMask) + { + conn = this.conn; + bufferSize = this.bufferSize; + setMask = this.setMask; + } + } + + public static void Loop(Config config) + { + (Connection conn, int bufferSize, bool setMask) = config; + + Profiler.BeginThreadProfiling("SimpleWeb", $"SendLoop {conn.connId}"); + + // create write buffer for this thread + byte[] writeBuffer = new byte[bufferSize]; + MaskHelper maskHelper = setMask ? new MaskHelper() : null; + try + { + TcpClient client = conn.client; + Stream stream = conn.stream; + + // null check in case disconnect while send thread is starting + if (client == null) + return; + + while (client.Connected) + { + // wait for message + conn.sendPending.Wait(); + // wait for 1ms for mirror to send other messages + if (SendLoopConfig.sleepBeforeSend) + { + Thread.Sleep(1); + } + conn.sendPending.Reset(); + + if (SendLoopConfig.batchSend) + { + int offset = 0; + while (conn.sendQueue.TryDequeue(out ArrayBuffer msg)) + { + // check if connected before sending message + if (!client.Connected) { Log.Info($"SendLoop {conn} not connected"); return; } + + int maxLength = msg.count + Constants.HeaderSize + Constants.MaskSize; + + // if next writer could overflow, write to stream and clear buffer + if (offset + maxLength > bufferSize) + { + stream.Write(writeBuffer, 0, offset); + offset = 0; + } + + offset = SendMessage(writeBuffer, offset, msg, setMask, maskHelper); + msg.Release(); + } + + // after no message in queue, send remaining messages + // don't need to check offset > 0 because last message in queue will always be sent here + + stream.Write(writeBuffer, 0, offset); + } + else + { + while (conn.sendQueue.TryDequeue(out ArrayBuffer msg)) + { + // check if connected before sending message + if (!client.Connected) { Log.Info($"SendLoop {conn} not connected"); return; } + + int length = SendMessage(writeBuffer, 0, msg, setMask, maskHelper); + stream.Write(writeBuffer, 0, length); + msg.Release(); + } + } + } + + Log.Info($"{conn} Not Connected"); + } + catch (ThreadInterruptedException e) { Log.InfoException(e); } + catch (ThreadAbortException e) { Log.InfoException(e); } + catch (Exception e) + { + Log.Exception(e); + } + finally + { + Profiler.EndThreadProfiling(); + conn.Dispose(); + maskHelper?.Dispose(); + } + } + + /// new offset in buffer + static int SendMessage(byte[] buffer, int startOffset, ArrayBuffer msg, bool setMask, MaskHelper maskHelper) + { + int msgLength = msg.count; + int offset = WriteHeader(buffer, startOffset, msgLength, setMask); + + if (setMask) + { + offset = maskHelper.WriteMask(buffer, offset); + } + + msg.CopyTo(buffer, offset); + offset += msgLength; + + // dump before mask on + Log.DumpBuffer("Send", buffer, startOffset, offset); + + if (setMask) + { + int messageOffset = offset - msgLength; + MessageProcessor.ToggleMask(buffer, messageOffset, msgLength, buffer, messageOffset - Constants.MaskSize); + } + + return offset; + } + + static int WriteHeader(byte[] buffer, int startOffset, int msgLength, bool setMask) + { + int sendLength = 0; + const byte finished = 128; + const byte byteOpCode = 2; + + buffer[startOffset + 0] = finished | byteOpCode; + sendLength++; + + if (msgLength <= Constants.BytePayloadLength) + { + buffer[startOffset + 1] = (byte)msgLength; + sendLength++; + } + else if (msgLength <= ushort.MaxValue) + { + buffer[startOffset + 1] = 126; + buffer[startOffset + 2] = (byte)(msgLength >> 8); + buffer[startOffset + 3] = (byte)msgLength; + sendLength += 3; + } + else + { + throw new InvalidDataException($"Trying to send a message larger than {ushort.MaxValue} bytes"); + } + + if (setMask) + { + buffer[startOffset + 1] |= 0b1000_0000; + } + + return sendLength + startOffset; + } + + sealed class MaskHelper : IDisposable + { + readonly byte[] maskBuffer; + readonly RNGCryptoServiceProvider random; + + public MaskHelper() + { + maskBuffer = new byte[4]; + random = new RNGCryptoServiceProvider(); + } + public void Dispose() + { + random.Dispose(); + } + + public int WriteMask(byte[] buffer, int offset) + { + random.GetBytes(maskBuffer); + Buffer.BlockCopy(maskBuffer, 0, buffer, offset, 4); + + return offset + 4; + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs.meta new file mode 100644 index 0000000..09dfd1e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/SendLoop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f87dd81736d9c824db67f808ac71841d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs new file mode 100644 index 0000000..8cb4779 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs @@ -0,0 +1,25 @@ +using System.Net.Sockets; + +namespace Mirror.SimpleWeb +{ + public struct TcpConfig + { + public readonly bool noDelay; + public readonly int sendTimeout; + public readonly int receiveTimeout; + + public TcpConfig(bool noDelay, int sendTimeout, int receiveTimeout) + { + this.noDelay = noDelay; + this.sendTimeout = sendTimeout; + this.receiveTimeout = receiveTimeout; + } + + public void ApplyTo(TcpClient client) + { + client.SendTimeout = sendTimeout; + client.ReceiveTimeout = receiveTimeout; + client.NoDelay = noDelay; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs.meta new file mode 100644 index 0000000..62ba232 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/TcpConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81ac8d35f28fab14b9edda5cd9d4fc86 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs new file mode 100644 index 0000000..b8a860c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs @@ -0,0 +1,13 @@ +using System.Threading; + +namespace Mirror.SimpleWeb +{ + internal static class Utils + { + public static void CheckForInterupt() + { + // sleep in order to check for ThreadInterruptedException + Thread.Sleep(1); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs.meta new file mode 100644 index 0000000..79a1583 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Common/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4643ffb4cb0562847b1ae925d07e15b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt new file mode 100644 index 0000000..58aa246 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt @@ -0,0 +1,22 @@ +SimpleWebTransport is a Transport that implements websocket for Webgl builds of +mirror. This transport can also work on standalone builds and has support for +encryption with websocket secure. + +How to use: + Replace your existing Transport with SimpleWebTransport on your NetworkManager + +Requirements: + Unity 2018.4 LTS + Mirror v18.0.0 + +Documentation: + https://mirror-networking.gitbook.io/docs/ + https://github.com/MirrorNetworking/SimpleWebTransport/blob/master/README.md + +Support: + Discord: https://discordapp.com/invite/N9QVxbM + Bug Reports: https://github.com/MirrorNetworking/SimpleWebTransport/issues + + +**To get most recent updates and fixes download from github** +https://github.com/MirrorNetworking/SimpleWebTransport/releases diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt.meta new file mode 100644 index 0000000..b63fe39 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/README.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e3971d5783109f4d9ce93c7a689d701 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server.meta new file mode 100644 index 0000000..31f317f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e599e92544d43344a9a9060052add28 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs new file mode 100644 index 0000000..f186eb4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs @@ -0,0 +1,149 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace Mirror.SimpleWeb +{ + /// + /// Handles Handshakes from new clients on the server + /// The server handshake has buffers to reduce allocations when clients connect + /// + internal class ServerHandshake + { + const int GetSize = 3; + const int ResponseLength = 129; + const int KeyLength = 24; + const int MergedKeyLength = 60; + const string KeyHeaderString = "Sec-WebSocket-Key: "; + // this isn't an official max, just a reasonable size for a websocket handshake + readonly int maxHttpHeaderSize = 3000; + + readonly SHA1 sha1 = SHA1.Create(); + readonly BufferPool bufferPool; + + public ServerHandshake(BufferPool bufferPool, int handshakeMaxSize) + { + this.bufferPool = bufferPool; + this.maxHttpHeaderSize = handshakeMaxSize; + } + + ~ServerHandshake() + { + sha1.Dispose(); + } + + public bool TryHandshake(Connection conn) + { + Stream stream = conn.stream; + + using (ArrayBuffer getHeader = bufferPool.Take(GetSize)) + { + if (!ReadHelper.TryRead(stream, getHeader.array, 0, GetSize)) + return false; + getHeader.count = GetSize; + + + if (!IsGet(getHeader.array)) + { + Log.Warn($"First bytes from client was not 'GET' for handshake, instead was {Log.BufferToString(getHeader.array, 0, GetSize)}"); + return false; + } + } + + + string msg = ReadToEndForHandshake(stream); + + if (string.IsNullOrEmpty(msg)) + return false; + + try + { + AcceptHandshake(stream, msg); + return true; + } + catch (ArgumentException e) + { + Log.InfoException(e); + return false; + } + } + + string ReadToEndForHandshake(Stream stream) + { + using (ArrayBuffer readBuffer = bufferPool.Take(maxHttpHeaderSize)) + { + int? readCountOrFail = ReadHelper.SafeReadTillMatch(stream, readBuffer.array, 0, maxHttpHeaderSize, Constants.endOfHandshake); + if (!readCountOrFail.HasValue) + return null; + + int readCount = readCountOrFail.Value; + + string msg = Encoding.ASCII.GetString(readBuffer.array, 0, readCount); + Log.Verbose(msg); + + return msg; + } + } + + static bool IsGet(byte[] getHeader) + { + // just check bytes here instead of using Encoding.ASCII + return getHeader[0] == 71 && // G + getHeader[1] == 69 && // E + getHeader[2] == 84; // T + } + + void AcceptHandshake(Stream stream, string msg) + { + using ( + ArrayBuffer keyBuffer = bufferPool.Take(KeyLength), + responseBuffer = bufferPool.Take(ResponseLength)) + { + GetKey(msg, keyBuffer.array); + AppendGuid(keyBuffer.array); + byte[] keyHash = CreateHash(keyBuffer.array); + CreateResponse(keyHash, responseBuffer.array); + + stream.Write(responseBuffer.array, 0, ResponseLength); + } + } + + + static void GetKey(string msg, byte[] keyBuffer) + { + int start = msg.IndexOf(KeyHeaderString) + KeyHeaderString.Length; + + Log.Verbose($"Handshake Key: {msg.Substring(start, KeyLength)}"); + Encoding.ASCII.GetBytes(msg, start, KeyLength, keyBuffer, 0); + } + + static void AppendGuid(byte[] keyBuffer) + { + Buffer.BlockCopy(Constants.HandshakeGUIDBytes, 0, keyBuffer, KeyLength, Constants.HandshakeGUID.Length); + } + + byte[] CreateHash(byte[] keyBuffer) + { + Log.Verbose($"Handshake Hashing {Encoding.ASCII.GetString(keyBuffer, 0, MergedKeyLength)}"); + + return sha1.ComputeHash(keyBuffer, 0, MergedKeyLength); + } + + static void CreateResponse(byte[] keyHash, byte[] responseBuffer) + { + string keyHashString = Convert.ToBase64String(keyHash); + + // compiler should merge these strings into 1 string before format + string message = string.Format( + "HTTP/1.1 101 Switching Protocols\r\n" + + "Connection: Upgrade\r\n" + + "Upgrade: websocket\r\n" + + "Sec-WebSocket-Accept: {0}\r\n\r\n", + keyHashString); + + Log.Verbose($"Handshake Response length {message.Length}, IsExpected {message.Length == ResponseLength}"); + Encoding.ASCII.GetBytes(message, 0, ResponseLength, responseBuffer, 0); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs.meta new file mode 100644 index 0000000..6fa74da --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerHandshake.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6268509ac4fb48141b9944c03295da11 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs new file mode 100644 index 0000000..de6c022 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs @@ -0,0 +1,74 @@ +using System; +using System.IO; +using System.Net.Security; +using System.Net.Sockets; +using System.Security.Authentication; +using System.Security.Cryptography.X509Certificates; + +namespace Mirror.SimpleWeb +{ + public struct SslConfig + { + public readonly bool enabled; + public readonly string certPath; + public readonly string certPassword; + public readonly SslProtocols sslProtocols; + + public SslConfig(bool enabled, string certPath, string certPassword, SslProtocols sslProtocols) + { + this.enabled = enabled; + this.certPath = certPath; + this.certPassword = certPassword; + this.sslProtocols = sslProtocols; + } + } + internal class ServerSslHelper + { + readonly SslConfig config; + readonly X509Certificate2 certificate; + + public ServerSslHelper(SslConfig sslConfig) + { + config = sslConfig; + if (config.enabled) + certificate = new X509Certificate2(config.certPath, config.certPassword); + } + + internal bool TryCreateStream(Connection conn) + { + NetworkStream stream = conn.client.GetStream(); + if (config.enabled) + { + try + { + conn.stream = CreateStream(stream); + return true; + } + catch (Exception e) + { + Log.Error($"Create SSLStream Failed: {e}", false); + return false; + } + } + else + { + conn.stream = stream; + return true; + } + } + + Stream CreateStream(NetworkStream stream) + { + SslStream sslStream = new SslStream(stream, true, acceptClient); + sslStream.AuthenticateAsServer(certificate, false, config.sslProtocols, false); + + return sslStream; + } + + bool acceptClient(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) + { + // always accept client + return true; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs.meta new file mode 100644 index 0000000..e0d133c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/ServerSslHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11061fee528ebdd43817a275b1e4a317 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs new file mode 100644 index 0000000..f1ed565 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Mirror.SimpleWeb +{ + public class SimpleWebServer + { + readonly int maxMessagesPerTick; + + readonly WebSocketServer server; + readonly BufferPool bufferPool; + + public SimpleWebServer(int maxMessagesPerTick, TcpConfig tcpConfig, int maxMessageSize, int handshakeMaxSize, SslConfig sslConfig) + { + this.maxMessagesPerTick = maxMessagesPerTick; + // use max because bufferpool is used for both messages and handshake + int max = Math.Max(maxMessageSize, handshakeMaxSize); + bufferPool = new BufferPool(5, 20, max); + + server = new WebSocketServer(tcpConfig, maxMessageSize, handshakeMaxSize, sslConfig, bufferPool); + } + + public bool Active { get; private set; } + + public event Action onConnect; + public event Action onDisconnect; + public event Action> onData; + public event Action onError; + + public void Start(ushort port) + { + server.Listen(port); + Active = true; + } + + public void Stop() + { + server.Stop(); + Active = false; + } + + public void SendAll(List connectionIds, ArraySegment source) + { + ArrayBuffer buffer = bufferPool.Take(source.Count); + buffer.CopyFrom(source); + buffer.SetReleasesRequired(connectionIds.Count); + + // make copy of array before for each, data sent to each client is the same + foreach (int id in connectionIds) + { + server.Send(id, buffer); + } + } + public void SendOne(int connectionId, ArraySegment source) + { + ArrayBuffer buffer = bufferPool.Take(source.Count); + buffer.CopyFrom(source); + + server.Send(connectionId, buffer); + } + + public bool KickClient(int connectionId) + { + return server.CloseConnection(connectionId); + } + + public string GetClientAddress(int connectionId) + { + return server.GetClientAddress(connectionId); + } + + public void ProcessMessageQueue(MonoBehaviour behaviour) + { + int processedCount = 0; + // check enabled every time in case behaviour was disabled after data + while ( + behaviour.enabled && + processedCount < maxMessagesPerTick && + // Dequeue last + server.receiveQueue.TryDequeue(out Message next) + ) + { + processedCount++; + + switch (next.type) + { + case EventType.Connected: + onConnect?.Invoke(next.connId); + break; + case EventType.Data: + onData?.Invoke(next.connId, next.data.ToSegment()); + next.data.Release(); + break; + case EventType.Disconnected: + onDisconnect?.Invoke(next.connId); + break; + case EventType.Error: + onError?.Invoke(next.connId, next.exception); + break; + } + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs.meta new file mode 100644 index 0000000..c8c6f5a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/SimpleWebServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd51d7896f55a5e48b41a4b526562b0e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs new file mode 100644 index 0000000..c924be4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs @@ -0,0 +1,230 @@ +using System; +using System.Collections.Concurrent; +using System.Linq; +using System.Net.Sockets; +using System.Threading; + +namespace Mirror.SimpleWeb +{ + public class WebSocketServer + { + public readonly ConcurrentQueue receiveQueue = new ConcurrentQueue(); + + readonly TcpConfig tcpConfig; + readonly int maxMessageSize; + + TcpListener listener; + Thread acceptThread; + bool serverStopped; + readonly ServerHandshake handShake; + readonly ServerSslHelper sslHelper; + readonly BufferPool bufferPool; + readonly ConcurrentDictionary connections = new ConcurrentDictionary(); + + + int _idCounter = 0; + + public WebSocketServer(TcpConfig tcpConfig, int maxMessageSize, int handshakeMaxSize, SslConfig sslConfig, BufferPool bufferPool) + { + this.tcpConfig = tcpConfig; + this.maxMessageSize = maxMessageSize; + sslHelper = new ServerSslHelper(sslConfig); + this.bufferPool = bufferPool; + handShake = new ServerHandshake(this.bufferPool, handshakeMaxSize); + } + + public void Listen(int port) + { + listener = TcpListener.Create(port); + listener.Start(); + + Log.Info($"Server has started on port {port}"); + + acceptThread = new Thread(acceptLoop); + acceptThread.IsBackground = true; + acceptThread.Start(); + } + + public void Stop() + { + serverStopped = true; + + // Interrupt then stop so that Exception is handled correctly + acceptThread?.Interrupt(); + listener?.Stop(); + acceptThread = null; + + + Log.Info("Server stopped, Closing all connections..."); + // make copy so that foreach doesn't break if values are removed + Connection[] connectionsCopy = connections.Values.ToArray(); + foreach (Connection conn in connectionsCopy) + { + conn.Dispose(); + } + + connections.Clear(); + } + + void acceptLoop() + { + try + { + try + { + while (true) + { + TcpClient client = listener.AcceptTcpClient(); + tcpConfig.ApplyTo(client); + + + // TODO keep track of connections before they are in connections dictionary + // this might not be a problem as HandshakeAndReceiveLoop checks for stop + // and returns/disposes before sending message to queue + Connection conn = new Connection(client, AfterConnectionDisposed); + Log.Info($"A client connected {conn}"); + + // handshake needs its own thread as it needs to wait for message from client + Thread receiveThread = new Thread(() => HandshakeAndReceiveLoop(conn)); + + conn.receiveThread = receiveThread; + + receiveThread.IsBackground = true; + receiveThread.Start(); + } + } + catch (SocketException) + { + // check for Interrupted/Abort + Utils.CheckForInterupt(); + throw; + } + } + catch (ThreadInterruptedException e) { Log.InfoException(e); } + catch (ThreadAbortException e) { Log.InfoException(e); } + catch (Exception e) { Log.Exception(e); } + } + + void HandshakeAndReceiveLoop(Connection conn) + { + try + { + bool success = sslHelper.TryCreateStream(conn); + if (!success) + { + Log.Error($"Failed to create SSL Stream {conn}"); + conn.Dispose(); + return; + } + + success = handShake.TryHandshake(conn); + + if (success) + { + Log.Info($"Sent Handshake {conn}"); + } + else + { + Log.Error($"Handshake Failed {conn}"); + conn.Dispose(); + return; + } + + // check if Stop has been called since accepting this client + if (serverStopped) + { + Log.Info("Server stops after successful handshake"); + return; + } + + conn.connId = Interlocked.Increment(ref _idCounter); + connections.TryAdd(conn.connId, conn); + + receiveQueue.Enqueue(new Message(conn.connId, EventType.Connected)); + + Thread sendThread = new Thread(() => + { + SendLoop.Config sendConfig = new SendLoop.Config( + conn, + bufferSize: Constants.HeaderSize + maxMessageSize, + setMask: false); + + SendLoop.Loop(sendConfig); + }); + + conn.sendThread = sendThread; + sendThread.IsBackground = true; + sendThread.Name = $"SendLoop {conn.connId}"; + sendThread.Start(); + + ReceiveLoop.Config receiveConfig = new ReceiveLoop.Config( + conn, + maxMessageSize, + expectMask: true, + receiveQueue, + bufferPool); + + ReceiveLoop.Loop(receiveConfig); + } + catch (ThreadInterruptedException e) { Log.InfoException(e); } + catch (ThreadAbortException e) { Log.InfoException(e); } + catch (Exception e) { Log.Exception(e); } + finally + { + // close here in case connect fails + conn.Dispose(); + } + } + + void AfterConnectionDisposed(Connection conn) + { + if (conn.connId != Connection.IdNotSet) + { + receiveQueue.Enqueue(new Message(conn.connId, EventType.Disconnected)); + connections.TryRemove(conn.connId, out Connection _); + } + } + + public void Send(int id, ArrayBuffer buffer) + { + if (connections.TryGetValue(id, out Connection conn)) + { + conn.sendQueue.Enqueue(buffer); + conn.sendPending.Set(); + } + else + { + Log.Warn($"Cant send message to {id} because connection was not found in dictionary. Maybe it disconnected."); + } + } + + public bool CloseConnection(int id) + { + if (connections.TryGetValue(id, out Connection conn)) + { + Log.Info($"Kicking connection {id}"); + conn.Dispose(); + return true; + } + else + { + Log.Warn($"Failed to kick {id} because id not found"); + + return false; + } + } + + public string GetClientAddress(int id) + { + if (connections.TryGetValue(id, out Connection conn)) + { + return conn.client.Client.RemoteEndPoint.ToString(); + } + else + { + Log.Error($"Cant close connection to {id} because connection was not found in dictionary"); + return null; + } + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs.meta new file mode 100644 index 0000000..0a76a9f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/Server/WebSocketServer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5c434db044777d2439bae5a57d4e8ee7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef new file mode 100644 index 0000000..3687c5d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef @@ -0,0 +1,14 @@ +{ + "name": "SimpleWebTransport", + "references": [ + "Mirror" + ], + "optionalUnityReferences": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef.meta new file mode 100644 index 0000000..99755b6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3b5390adca4e2bb4791cb930316d6f3e +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs new file mode 100644 index 0000000..b884121 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs @@ -0,0 +1,293 @@ +using System; +using System.Net; +using System.Security.Authentication; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Mirror.SimpleWeb +{ + [DisallowMultipleComponent] + public class SimpleWebTransport : Transport + { + public const string NormalScheme = "ws"; + public const string SecureScheme = "wss"; + + [Tooltip("Port to use for server and client")] + public ushort port = 7778; + + + [Tooltip("Protect against allocation attacks by keeping the max message size small. Otherwise an attacker might send multiple fake packets with 2GB headers, causing the server to run out of memory after allocating multiple large packets.")] + public int maxMessageSize = 16 * 1024; + + [Tooltip("Max size for http header send as handshake for websockets")] + public int handshakeMaxSize = 3000; + + [Tooltip("disables nagle algorithm. lowers CPU% and latency but increases bandwidth")] + public bool noDelay = true; + + [Tooltip("Send would stall forever if the network is cut off during a send, so we need a timeout (in milliseconds)")] + public int sendTimeout = 5000; + + [Tooltip("How long without a message before disconnecting (in milliseconds)")] + public int receiveTimeout = 20000; + + [Tooltip("Caps the number of messages the server will process per tick. Allows LateUpdate to finish to let the reset of unity continue in case more messages arrive before they are processed")] + public int serverMaxMessagesPerTick = 10000; + + [Tooltip("Caps the number of messages the client will process per tick. Allows LateUpdate to finish to let the reset of unity continue in case more messages arrive before they are processed")] + public int clientMaxMessagesPerTick = 1000; + + [Header("Server settings")] + + [Tooltip("Groups messages in queue before calling Stream.Send")] + public bool batchSend = true; + + [Tooltip("Waits for 1ms before grouping and sending messages. " + + "This gives time for mirror to finish adding message to queue so that less groups need to be made. " + + "If WaitBeforeSend is true then BatchSend Will also be set to true")] + public bool waitBeforeSend = false; + + + [Header("Ssl Settings")] + [Tooltip("Sets connect scheme to wss. Useful when client needs to connect using wss when TLS is outside of transport, NOTE: if sslEnabled is true clientUseWss is also true")] + public bool clientUseWss; + + public bool sslEnabled; + [Tooltip("Path to json file that contains path to cert and its password\n\nUse Json file so that cert password is not included in client builds\n\nSee cert.example.Json")] + public string sslCertJson = "./cert.json"; + public SslProtocols sslProtocols = SslProtocols.Tls12; + + [Header("Debug")] + [Tooltip("Log functions uses ConditionalAttribute which will effect which log methods are allowed. DEBUG allows warn/error, SIMPLEWEB_LOG_ENABLED allows all")] + [FormerlySerializedAs("logLevels")] + [SerializeField] Log.Levels _logLevels = Log.Levels.none; + + /// + /// Gets _logLevels field + /// Sets _logLevels and Log.level fields + /// + public Log.Levels LogLevels + { + get => _logLevels; + set + { + _logLevels = value; + Log.level = _logLevels; + } + } + + void OnValidate() + { + if (maxMessageSize > ushort.MaxValue) + { + Debug.LogWarning($"max supported value for maxMessageSize is {ushort.MaxValue}"); + maxMessageSize = ushort.MaxValue; + } + + Log.level = _logLevels; + } + + SimpleWebClient client; + SimpleWebServer server; + + TcpConfig TcpConfig => new TcpConfig(noDelay, sendTimeout, receiveTimeout); + + public override bool Available() + { + return true; + } + public override int GetMaxPacketSize(int channelId = 0) + { + return maxMessageSize; + } + + void Awake() + { + Log.level = _logLevels; + } + public override void Shutdown() + { + client?.Disconnect(); + client = null; + server?.Stop(); + server = null; + } + + #region Client + string GetClientScheme() => (sslEnabled || clientUseWss) ? SecureScheme : NormalScheme; + string GetServerScheme() => sslEnabled ? SecureScheme : NormalScheme; + public override bool ClientConnected() + { + // not null and not NotConnected (we want to return true if connecting or disconnecting) + return client != null && client.ConnectionState != ClientState.NotConnected; + } + + public override void ClientConnect(string hostname) + { + // connecting or connected + if (ClientConnected()) + { + Debug.LogError("Already Connected"); + return; + } + + UriBuilder builder = new UriBuilder + { + Scheme = GetClientScheme(), + Host = hostname, + Port = port + }; + + + client = SimpleWebClient.Create(maxMessageSize, clientMaxMessagesPerTick, TcpConfig); + if (client == null) { return; } + + client.onConnect += OnClientConnected.Invoke; + client.onDisconnect += () => + { + OnClientDisconnected.Invoke(); + // clear client here after disconnect event has been sent + // there should be no more messages after disconnect + client = null; + }; + client.onData += (ArraySegment data) => OnClientDataReceived.Invoke(data, Channels.Reliable); + client.onError += (Exception e) => + { + OnClientError.Invoke(e); + ClientDisconnect(); + }; + + client.Connect(builder.Uri); + } + + public override void ClientDisconnect() + { + // don't set client null here of messages wont be processed + client?.Disconnect(); + } + + public override void ClientSend(ArraySegment segment, int channelId) + { + if (!ClientConnected()) + { + Debug.LogError("Not Connected"); + return; + } + + if (segment.Count > maxMessageSize) + { + Log.Error("Message greater than max size"); + return; + } + + if (segment.Count == 0) + { + Log.Error("Message count was zero"); + return; + } + + client.Send(segment); + } + + // messages should always be processed in early update + public override void ClientEarlyUpdate() + { + client?.ProcessMessageQueue(this); + } + #endregion + + #region Server + public override bool ServerActive() + { + return server != null && server.Active; + } + + public override void ServerStart() + { + if (ServerActive()) + { + Debug.LogError("SimpleWebServer Already Started"); + } + + SslConfig config = SslConfigLoader.Load(this); + server = new SimpleWebServer(serverMaxMessagesPerTick, TcpConfig, maxMessageSize, handshakeMaxSize, config); + + server.onConnect += OnServerConnected.Invoke; + server.onDisconnect += OnServerDisconnected.Invoke; + server.onData += (int connId, ArraySegment data) => OnServerDataReceived.Invoke(connId, data, Channels.Reliable); + server.onError += OnServerError.Invoke; + + SendLoopConfig.batchSend = batchSend || waitBeforeSend; + SendLoopConfig.sleepBeforeSend = waitBeforeSend; + + server.Start(port); + } + + public override void ServerStop() + { + if (!ServerActive()) + { + Debug.LogError("SimpleWebServer Not Active"); + } + + server.Stop(); + server = null; + } + + public override void ServerDisconnect(int connectionId) + { + if (!ServerActive()) + { + Debug.LogError("SimpleWebServer Not Active"); + } + + server.KickClient(connectionId); + } + + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + if (!ServerActive()) + { + Debug.LogError("SimpleWebServer Not Active"); + return; + } + + if (segment.Count > maxMessageSize) + { + Log.Error("Message greater than max size"); + return; + } + + if (segment.Count == 0) + { + Log.Error("Message count was zero"); + return; + } + + server.SendOne(connectionId, segment); + } + + public override string ServerGetClientAddress(int connectionId) + { + return server.GetClientAddress(connectionId); + } + + public override Uri ServerUri() + { + UriBuilder builder = new UriBuilder + { + Scheme = GetServerScheme(), + Host = Dns.GetHostName(), + Port = port + }; + return builder.Uri; + } + + // messages should always be processed in early update + public override void ServerEarlyUpdate() + { + server?.ProcessMessageQueue(this); + } + #endregion + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs.meta new file mode 100644 index 0000000..381a5c7 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SimpleWebTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0110f245bfcfc7d459681f7bd9ebc590 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs new file mode 100644 index 0000000..a6d661e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs @@ -0,0 +1,49 @@ +using System.IO; +using UnityEngine; + +namespace Mirror.SimpleWeb +{ + internal class SslConfigLoader + { + internal struct Cert + { + public string path; + public string password; + } + internal static SslConfig Load(SimpleWebTransport transport) + { + // don't need to load anything if ssl is not enabled + if (!transport.sslEnabled) + return default; + + string certJsonPath = transport.sslCertJson; + + Cert cert = LoadCertJson(certJsonPath); + + return new SslConfig( + enabled: transport.sslEnabled, + sslProtocols: transport.sslProtocols, + certPath: cert.path, + certPassword: cert.password + ); + } + + internal static Cert LoadCertJson(string certJsonPath) + { + string json = File.ReadAllText(certJsonPath); + Cert cert = JsonUtility.FromJson(json); + + if (string.IsNullOrEmpty(cert.path)) + { + throw new InvalidDataException("Cert Json didn't not contain \"path\""); + } + if (string.IsNullOrEmpty(cert.password)) + { + // password can be empty + cert.password = string.Empty; + } + + return cert; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs.meta b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs.meta new file mode 100644 index 0000000..e653532 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/SimpleWebTransport/SslConfigLoader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dfdb6b97a48a48b498e563e857342da1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy.meta b/Assets/Mirror/Runtime/Transport/Telepathy.meta new file mode 100644 index 0000000..ede2d0e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 552b3d8382916438d81fe7f39e18db72 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy.meta new file mode 100644 index 0000000..345a638 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1233408bc4b145fb8f6f5a8e95790e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs new file mode 100644 index 0000000..73e775c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs @@ -0,0 +1,362 @@ +using System; +using System.Net.Sockets; +using System.Threading; + +namespace Telepathy +{ + // ClientState OBJECT that can be handed to the ReceiveThread safely. + // => allows us to create a NEW OBJECT every time we connect and start a + // receive thread. + // => perfectly protects us against data races. fixes all the flaky tests + // where .Connecting or .client would still be used by a dieing thread + // while attempting to use it for a new connection attempt etc. + // => creating a fresh client state each time is the best solution against + // data races here! + class ClientConnectionState : ConnectionState + { + public Thread receiveThread; + + // TcpClient.Connected doesn't check if socket != null, which + // results in NullReferenceExceptions if connection was closed. + // -> let's check it manually instead + public bool Connected => client != null && + client.Client != null && + client.Client.Connected; + + // TcpClient has no 'connecting' state to check. We need to keep track + // of it manually. + // -> checking 'thread.IsAlive && !Connected' is not enough because the + // thread is alive and connected is false for a short moment after + // disconnecting, so this would cause race conditions. + // -> we use a threadsafe bool wrapper so that ThreadFunction can remain + // static (it needs a common lock) + // => Connecting is true from first Connect() call in here, through the + // thread start, until TcpClient.Connect() returns. Simple and clear. + // => bools are atomic according to + // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/variables + // made volatile so the compiler does not reorder access to it + public volatile bool Connecting; + + // thread safe pipe for received messages + // => inside client connection state so that we can create a new state + // each time we connect + // (unlike server which has one receive pipe for all connections) + public readonly MagnificentReceivePipe receivePipe; + + // constructor always creates new TcpClient for client connection! + public ClientConnectionState(int MaxMessageSize) : base(new TcpClient(), MaxMessageSize) + { + // create receive pipe with max message size for pooling + receivePipe = new MagnificentReceivePipe(MaxMessageSize); + } + + // dispose all the state safely + public void Dispose() + { + // close client + client.Close(); + + // wait until thread finished. this is the only way to guarantee + // that we can call Connect() again immediately after Disconnect + // -> calling .Join would sometimes wait forever, e.g. when + // calling Disconnect while trying to connect to a dead end + receiveThread?.Interrupt(); + + // we interrupted the receive Thread, so we can't guarantee that + // connecting was reset. let's do it manually. + Connecting = false; + + // clear send pipe. no need to hold on to elements. + // (unlike receiveQueue, which is still needed to process the + // latest Disconnected message, etc.) + sendPipe.Clear(); + + // IMPORTANT: DO NOT CLEAR RECEIVE PIPE. + // we still want to process disconnect messages in Tick()! + + // let go of this client completely. the thread ended, no one uses + // it anymore and this way Connected is false again immediately. + client = null; + } + } + + public class Client : Common + { + // events to hook into + // => OnData uses ArraySegment for allocation free receives later + public Action OnConnected; + public Action> OnData; + public Action OnDisconnected; + + // disconnect if send queue gets too big. + // -> avoids ever growing queue memory if network is slower than input + // -> disconnecting is great for load balancing. better to disconnect + // one connection than risking every connection / the whole server + // -> huge queue would introduce multiple seconds of latency anyway + // + // Mirror/DOTSNET use MaxMessageSize batching, so for a 16kb max size: + // limit = 1,000 means 16 MB of memory/connection + // limit = 10,000 means 160 MB of memory/connection + public int SendQueueLimit = 10000; + public int ReceiveQueueLimit = 10000; + + // all client state wrapped into an object that is passed to ReceiveThread + // => we create a new one each time we connect to avoid data races with + // old dieing threads still using the previous object! + ClientConnectionState state; + + // Connected & Connecting + public bool Connected => state != null && state.Connected; + public bool Connecting => state != null && state.Connecting; + + // pipe count, useful for debugging / benchmarks + public int ReceivePipeCount => state != null ? state.receivePipe.TotalCount : 0; + + // constructor + public Client(int MaxMessageSize) : base(MaxMessageSize) {} + + // the thread function + // STATIC to avoid sharing state! + // => pass ClientState object. a new one is created for each new thread! + // => avoids data races where an old dieing thread might still modify + // the current thread's state :/ + static void ReceiveThreadFunction(ClientConnectionState state, string ip, int port, int MaxMessageSize, bool NoDelay, int SendTimeout, int ReceiveTimeout, int ReceiveQueueLimit) + + { + Thread sendThread = null; + + // absolutely must wrap with try/catch, otherwise thread + // exceptions are silent + try + { + // connect (blocking) + state.client.Connect(ip, port); + state.Connecting = false; // volatile! + + // set socket options after the socket was created in Connect() + // (not after the constructor because we clear the socket there) + state.client.NoDelay = NoDelay; + state.client.SendTimeout = SendTimeout; + state.client.ReceiveTimeout = ReceiveTimeout; + + // start send thread only after connected + // IMPORTANT: DO NOT SHARE STATE ACROSS MULTIPLE THREADS! + sendThread = new Thread(() => { ThreadFunctions.SendLoop(0, state.client, state.sendPipe, state.sendPending); }); + sendThread.IsBackground = true; + sendThread.Start(); + + // run the receive loop + // (receive pipe is shared across all loops) + ThreadFunctions.ReceiveLoop(0, state.client, MaxMessageSize, state.receivePipe, ReceiveQueueLimit); + } + catch (SocketException exception) + { + // this happens if (for example) the ip address is correct + // but there is no server running on that ip/port + Log.Info("Client Recv: failed to connect to ip=" + ip + " port=" + port + " reason=" + exception); + + // add 'Disconnected' event to receive pipe so that the caller + // knows that the Connect failed. otherwise they will never know + state.receivePipe.Enqueue(0, EventType.Disconnected, default); + } + catch (ThreadInterruptedException) + { + // expected if Disconnect() aborts it + } + catch (ThreadAbortException) + { + // expected if Disconnect() aborts it + } + catch (ObjectDisposedException) + { + // expected if Disconnect() aborts it and disposed the client + // while ReceiveThread is in a blocking Connect() call + } + catch (Exception exception) + { + // something went wrong. probably important. + Log.Error("Client Recv Exception: " + exception); + } + + // sendthread might be waiting on ManualResetEvent, + // so let's make sure to end it if the connection + // closed. + // otherwise the send thread would only end if it's + // actually sending data while the connection is + // closed. + sendThread?.Interrupt(); + + // Connect might have failed. thread might have been closed. + // let's reset connecting state no matter what. + state.Connecting = false; + + // if we got here then we are done. ReceiveLoop cleans up already, + // but we may never get there if connect fails. so let's clean up + // here too. + state.client?.Close(); + } + + public void Connect(string ip, int port) + { + // not if already started + if (Connecting || Connected) + { + Log.Warning("Telepathy Client can not create connection because an existing connection is connecting or connected"); + return; + } + + // overwrite old thread's state object. create a new one to avoid + // data races where an old dieing thread might still modify the + // current state! fixes all the flaky tests! + state = new ClientConnectionState(MaxMessageSize); + + // We are connecting from now until Connect succeeds or fails + state.Connecting = true; + + // create a TcpClient with perfect IPv4, IPv6 and hostname resolving + // support. + // + // * TcpClient(hostname, port): works but would connect (and block) + // already + // * TcpClient(AddressFamily.InterNetworkV6): takes Ipv4 and IPv6 + // addresses but only connects to IPv6 servers (e.g. Telepathy). + // does NOT connect to IPv4 servers (e.g. Mirror Booster), even + // with DualMode enabled. + // * TcpClient(): creates IPv4 socket internally, which would force + // Connect() to only use IPv4 sockets. + // + // => the trick is to clear the internal IPv4 socket so that Connect + // resolves the hostname and creates either an IPv4 or an IPv6 + // socket as needed (see TcpClient source) + state.client.Client = null; // clear internal IPv4 socket until Connect() + + // client.Connect(ip, port) is blocking. let's call it in the thread + // and return immediately. + // -> this way the application doesn't hang for 30s if connect takes + // too long, which is especially good in games + // -> this way we don't async client.BeginConnect, which seems to + // fail sometimes if we connect too many clients too fast + state.receiveThread = new Thread(() => { + ReceiveThreadFunction(state, ip, port, MaxMessageSize, NoDelay, SendTimeout, ReceiveTimeout, ReceiveQueueLimit); + }); + state.receiveThread.IsBackground = true; + state.receiveThread.Start(); + } + + public void Disconnect() + { + // only if started + if (Connecting || Connected) + { + // dispose all the state safely + state.Dispose(); + + // IMPORTANT: DO NOT set state = null! + // we still want to process the pipe's disconnect message etc.! + } + } + + // send message to server using socket connection. + // arraysegment for allocation free sends later. + // -> the segment's array is only used until Send() returns! + public bool Send(ArraySegment message) + { + if (Connected) + { + // respect max message size to avoid allocation attacks. + if (message.Count <= MaxMessageSize) + { + // check send pipe limit + if (state.sendPipe.Count < SendQueueLimit) + { + // add to thread safe send pipe and return immediately. + // calling Send here would be blocking (sometimes for long + // times if other side lags or wire was disconnected) + state.sendPipe.Enqueue(message); + state.sendPending.Set(); // interrupt SendThread WaitOne() + return true; + } + // disconnect if send queue gets too big. + // -> avoids ever growing queue memory if network is slower + // than input + // -> avoids ever growing latency as well + // + // note: while SendThread always grabs the WHOLE send queue + // immediately, it's still possible that the sending + // blocks for so long that the send queue just gets + // way too big. have a limit - better safe than sorry. + else + { + // log the reason + Log.Warning($"Client.Send: sendPipe reached limit of {SendQueueLimit}. This can happen if we call send faster than the network can process messages. Disconnecting to avoid ever growing memory & latency."); + + // just close it. send thread will take care of the rest. + state.client.Close(); + return false; + } + } + Log.Error("Client.Send: message too big: " + message.Count + ". Limit: " + MaxMessageSize); + return false; + } + Log.Warning("Client.Send: not connected!"); + return false; + } + + // tick: processes up to 'limit' messages + // => limit parameter to avoid deadlocks / too long freezes if server or + // client is too slow to process network load + // => Mirror & DOTSNET need to have a process limit anyway. + // might as well do it here and make life easier. + // => returns amount of remaining messages to process, so the caller + // can call tick again as many times as needed (or up to a limit) + // + // Tick() may process multiple messages, but Mirror needs a way to stop + // processing immediately if a scene change messages arrives. Mirror + // can't process any other messages during a scene change. + // (could be useful for others too) + // => make sure to allocate the lambda only once in transports + public int Tick(int processLimit, Func checkEnabled = null) + { + // only if state was created yet (after connect()) + // note: we don't check 'only if connected' because we want to still + // process Disconnect messages afterwards too! + if (state == null) + return 0; + + // process up to 'processLimit' messages + for (int i = 0; i < processLimit; ++i) + { + // check enabled in case a Mirror scene message arrived + if (checkEnabled != null && !checkEnabled()) + break; + + // peek first. allows us to process the first queued entry while + // still keeping the pooled byte[] alive by not removing anything. + if (state.receivePipe.TryPeek(out int _, out EventType eventType, out ArraySegment message)) + { + switch (eventType) + { + case EventType.Connected: + OnConnected?.Invoke(); + break; + case EventType.Data: + OnData?.Invoke(message); + break; + case EventType.Disconnected: + OnDisconnected?.Invoke(); + break; + } + + // IMPORTANT: now dequeue and return it to pool AFTER we are + // done processing the event. + state.receivePipe.TryDequeue(); + } + // no more messages. stop the loop. + else break; + } + + // return what's left to process for next time + return state.receivePipe.TotalCount; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs.meta new file mode 100644 index 0000000..1b6d222 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Client.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5b95294cc4ec4b15aacba57531c7985 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs new file mode 100644 index 0000000..15265f9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs @@ -0,0 +1,39 @@ +// common code used by server and client +namespace Telepathy +{ + public abstract class Common + { + // IMPORTANT: DO NOT SHARE STATE ACROSS SEND/RECV LOOPS (DATA RACES) + // (except receive pipe which is used for all threads) + + // NoDelay disables nagle algorithm. lowers CPU% and latency but + // increases bandwidth + public bool NoDelay = true; + + // Prevent allocation attacks. Each packet is prefixed with a length + // header, so an attacker could send a fake packet with length=2GB, + // causing the server to allocate 2GB and run out of memory quickly. + // -> simply increase max packet size if you want to send around bigger + // files! + // -> 16KB per message should be more than enough. + public readonly int MaxMessageSize; + + // Send would stall forever if the network is cut off during a send, so + // we need a timeout (in milliseconds) + public int SendTimeout = 5000; + + // Default TCP receive time out can be huge (minutes). + // That's way too much for games, let's make it configurable. + // we need a timeout (in milliseconds) + // => '0' means disabled + // => disabled by default because some people might use Telepathy + // without Mirror and without sending pings, so timeouts are likely + public int ReceiveTimeout = 0; + + // constructor + protected Common(int MaxMessageSize) + { + this.MaxMessageSize = MaxMessageSize; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs.meta new file mode 100644 index 0000000..5d8ab5b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Common.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4d56322cf0e248a89103c002a505dab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs new file mode 100644 index 0000000..cdfe3c0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs @@ -0,0 +1,35 @@ +// both server and client need a connection state object. +// -> server needs it to keep track of multiple connections +// -> client needs it to safely create a new connection state on every new +// connect in order to avoid data races where a dieing thread might still +// modify the current state. can't happen if we create a new state each time! +// (fixes all the flaky tests) +// +// ... besides, it also allows us to share code! +using System.Net.Sockets; +using System.Threading; + +namespace Telepathy +{ + public class ConnectionState + { + public TcpClient client; + + // thread safe pipe to send messages from main thread to send thread + public readonly MagnificentSendPipe sendPipe; + + // ManualResetEvent to wake up the send thread. better than Thread.Sleep + // -> call Set() if everything was sent + // -> call Reset() if there is something to send again + // -> call WaitOne() to block until Reset was called + public ManualResetEvent sendPending = new ManualResetEvent(false); + + public ConnectionState(TcpClient client, int MaxMessageSize) + { + this.client = client; + + // create send pipe with max message size for pooling + sendPipe = new MagnificentSendPipe(MaxMessageSize); + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs.meta new file mode 100644 index 0000000..3dcceaf --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ConnectionState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af95e2b6f6343411aa8bdf871abd7b1b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty.meta new file mode 100644 index 0000000..1bc9652 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 885e89897e3a03241827ab7a14fe5fa0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs new file mode 100644 index 0000000..4f7722a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs @@ -0,0 +1 @@ +// removed 2021-02-04 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs.meta new file mode 100644 index 0000000..304866f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Logger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aa8d703f0b73f4d6398b76812719b68b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs new file mode 100644 index 0000000..4f7722a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs @@ -0,0 +1 @@ +// removed 2021-02-04 \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs.meta new file mode 100644 index 0000000..5937bb9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/Message.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aedf812e9637b4f92a35db1aedca8c92 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs new file mode 100644 index 0000000..7899911 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs @@ -0,0 +1 @@ +// removed 2021-02-04 diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs.meta new file mode 100644 index 0000000..f3a9310 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/SafeQueue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8fc06e2fb29854a0c9e90c0188d36a08 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs new file mode 100644 index 0000000..85dece4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs @@ -0,0 +1 @@ +// removed 2021-02-04 diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs.meta new file mode 100644 index 0000000..77c885d --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Empty/ThreadExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 64df4eaebe4ff9a43a9fb318c3e8e321 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs new file mode 100644 index 0000000..66bc3b4 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs @@ -0,0 +1,9 @@ +namespace Telepathy +{ + public enum EventType + { + Connected, + Data, + Disconnected + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs.meta new file mode 100644 index 0000000..ac88c1b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/EventType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 49f1a330755814803be5f27f493e1910 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE new file mode 100644 index 0000000..680deef --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018, vis2k + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE.meta new file mode 100644 index 0000000..4d7664e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ba11103b95fd4721bffbb08440d5b8e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs new file mode 100644 index 0000000..2d50aa3 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs @@ -0,0 +1,15 @@ +// A simple logger class that uses Console.WriteLine by default. +// Can also do Logger.LogMethod = Debug.Log for Unity etc. +// (this way we don't have to depend on UnityEngine.DLL and don't need a +// different version for every UnityEngine version here) +using System; + +namespace Telepathy +{ + public static class Log + { + public static Action Info = Console.WriteLine; + public static Action Warning = Console.WriteLine; + public static Action Error = Console.Error.WriteLine; + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs.meta new file mode 100644 index 0000000..8f78650 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Log.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a123d054bef34d059057ac2ce936605 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs new file mode 100644 index 0000000..2e10318 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs @@ -0,0 +1,222 @@ +// a magnificent receive pipe to shield us from all of life's complexities. +// safely sends messages from receive thread to main thread. +// -> thread safety built in +// -> byte[] pooling coming in the future +// +// => hides all the complexity from telepathy +// => easy to switch between stack/queue/concurrentqueue/etc. +// => easy to test +using System; +using System.Collections.Generic; + +namespace Telepathy +{ + public class MagnificentReceivePipe + { + // queue entry message. only used in here. + // -> byte arrays are always of 4 + MaxMessageSize + // -> ArraySegment indicates the actual message content + struct Entry + { + public int connectionId; + public EventType eventType; + public ArraySegment data; + public Entry(int connectionId, EventType eventType, ArraySegment data) + { + this.connectionId = connectionId; + this.eventType = eventType; + this.data = data; + } + } + + // message queue + // ConcurrentQueue allocates. lock{} instead. + // + // IMPORTANT: lock{} all usages! + readonly Queue queue = new Queue(); + + // byte[] pool to avoid allocations + // Take & Return is beautifully encapsulated in the pipe. + // the outside does not need to worry about anything. + // and it can be tested easily. + // + // IMPORTANT: lock{} all usages! + Pool pool; + + // unfortunately having one receive pipe per connetionId is way slower + // in CCU tests. right now we have one pipe for all connections. + // => we still need to limit queued messages per connection to avoid one + // spamming connection being able to slow down everyone else since + // the queue would be full of just this connection's messages forever + // => let's use a simpler per-connectionId counter for now + Dictionary queueCounter = new Dictionary(); + + // constructor + public MagnificentReceivePipe(int MaxMessageSize) + { + // initialize pool to create max message sized byte[]s each time + pool = new Pool(() => new byte[MaxMessageSize]); + } + + // return amount of queued messages for this connectionId. + // for statistics. don't call Count and assume that it's the same after + // the call. + public int Count(int connectionId) + { + lock (this) + { + return queueCounter.TryGetValue(connectionId, out int count) + ? count + : 0; + } + } + + // total count + public int TotalCount + { + get { lock (this) { return queue.Count; } } + } + + // pool count for testing + public int PoolCount + { + get { lock (this) { return pool.Count(); } } + } + + // enqueue a message + // -> ArraySegment to avoid allocations later + // -> parameters passed directly so it's more obvious that we don't just + // queue a passed 'Message', instead we copy the ArraySegment into + // a byte[] and store it internally, etc.) + public void Enqueue(int connectionId, EventType eventType, ArraySegment message) + { + // pool & queue usage always needs to be locked + lock (this) + { + // does this message have a data array content? + ArraySegment segment = default; + if (message != default) + { + // ArraySegment is only valid until returning. + // copy it into a byte[] that we can store. + // ArraySegment array is only valid until returning, so copy + // it into a byte[] that we can queue safely. + + // get one from the pool first to avoid allocations + byte[] bytes = pool.Take(); + + // copy into it + Buffer.BlockCopy(message.Array, message.Offset, bytes, 0, message.Count); + + // indicate which part is the message + segment = new ArraySegment(bytes, 0, message.Count); + } + + // enqueue it + // IMPORTANT: pass the segment around pool byte[], + // NOT the 'message' that is only valid until returning! + Entry entry = new Entry(connectionId, eventType, segment); + queue.Enqueue(entry); + + // increase counter for this connectionId + int oldCount = Count(connectionId); + queueCounter[connectionId] = oldCount + 1; + } + } + + // peek the next message + // -> allows the caller to process it while pipe still holds on to the + // byte[] + // -> TryDequeue should be called after processing, so that the message + // is actually dequeued and the byte[] is returned to pool! + // => see TryDequeue comments! + // + // IMPORTANT: TryPeek & Dequeue need to be called from the SAME THREAD! + public bool TryPeek(out int connectionId, out EventType eventType, out ArraySegment data) + { + connectionId = 0; + eventType = EventType.Disconnected; + data = default; + + // pool & queue usage always needs to be locked + lock (this) + { + if (queue.Count > 0) + { + Entry entry = queue.Peek(); + connectionId = entry.connectionId; + eventType = entry.eventType; + data = entry.data; + return true; + } + return false; + } + } + + // dequeue the next message + // -> simply dequeues and returns the byte[] to pool (if any) + // -> use Peek to actually process the first element while the pipe + // still holds on to the byte[] + // -> doesn't return the element because the byte[] needs to be returned + // to the pool in dequeue. caller can't be allowed to work with a + // byte[] that is already returned to pool. + // => Peek & Dequeue is the most simple, clean solution for receive + // pipe pooling to avoid allocations! + // + // IMPORTANT: TryPeek & Dequeue need to be called from the SAME THREAD! + public bool TryDequeue() + { + // pool & queue usage always needs to be locked + lock (this) + { + if (queue.Count > 0) + { + // dequeue from queue + Entry entry = queue.Dequeue(); + + // return byte[] to pool (if any). + // not all message types have byte[] contents. + if (entry.data != default) + { + pool.Return(entry.data.Array); + } + + // decrease counter for this connectionId + queueCounter[entry.connectionId]--; + + // remove if zero. don't want to keep old connectionIds in + // there forever, it would cause slowly growing memory. + if (queueCounter[entry.connectionId] == 0) + queueCounter.Remove(entry.connectionId); + + return true; + } + return false; + } + } + + public void Clear() + { + // pool & queue usage always needs to be locked + lock (this) + { + // clear queue, but via dequeue to return each byte[] to pool + while (queue.Count > 0) + { + // dequeue + Entry entry = queue.Dequeue(); + + // return byte[] to pool (if any). + // not all message types have byte[] contents. + if (entry.data != default) + { + pool.Return(entry.data.Array); + } + } + + // clear counter too + queueCounter.Clear(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs.meta new file mode 100644 index 0000000..614bab6 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentReceivePipe.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 010a208972a9a4e0cb0e7c18a60b4494 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs new file mode 100644 index 0000000..be456a0 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs @@ -0,0 +1,165 @@ +// a magnificent send pipe to shield us from all of life's complexities. +// safely sends messages from main thread to send thread. +// -> thread safety built in +// -> byte[] pooling coming in the future +// +// => hides all the complexity from telepathy +// => easy to switch between stack/queue/concurrentqueue/etc. +// => easy to test + +using System; +using System.Collections.Generic; + +namespace Telepathy +{ + public class MagnificentSendPipe + { + // message queue + // ConcurrentQueue allocates. lock{} instead. + // -> byte arrays are always of MaxMessageSize + // -> ArraySegment indicates the actual message content + // + // IMPORTANT: lock{} all usages! + readonly Queue> queue = new Queue>(); + + // byte[] pool to avoid allocations + // Take & Return is beautifully encapsulated in the pipe. + // the outside does not need to worry about anything. + // and it can be tested easily. + // + // IMPORTANT: lock{} all usages! + Pool pool; + + // constructor + public MagnificentSendPipe(int MaxMessageSize) + { + // initialize pool to create max message sized byte[]s each time + pool = new Pool(() => new byte[MaxMessageSize]); + } + + // for statistics. don't call Count and assume that it's the same after + // the call. + public int Count + { + get { lock (this) { return queue.Count; } } + } + + // pool count for testing + public int PoolCount + { + get { lock (this) { return pool.Count(); } } + } + + // enqueue a message + // arraysegment for allocation free sends later. + // -> the segment's array is only used until Enqueue() returns! + public void Enqueue(ArraySegment message) + { + // pool & queue usage always needs to be locked + lock (this) + { + // ArraySegment array is only valid until returning, so copy + // it into a byte[] that we can queue safely. + + // get one from the pool first to avoid allocations + byte[] bytes = pool.Take(); + + // copy into it + Buffer.BlockCopy(message.Array, message.Offset, bytes, 0, message.Count); + + // indicate which part is the message + ArraySegment segment = new ArraySegment(bytes, 0, message.Count); + + // now enqueue it + queue.Enqueue(segment); + } + } + + // send threads need to dequeue each byte[] and write it into the socket + // -> dequeueing one byte[] after another works, but it's WAY slower + // than dequeueing all immediately (locks only once) + // lock{} & DequeueAll is WAY faster than ConcurrentQueue & dequeue + // one after another: + // + // uMMORPG 450 CCU + // SafeQueue: 900-1440ms latency + // ConcurrentQueue: 2000ms latency + // + // -> the most obvious solution is to just return a list with all byte[] + // (which allocates) and then write each one into the socket + // -> a faster solution is to serialize each one into one payload buffer + // and pass that to the socket only once. fewer socket calls always + // give WAY better CPU performance(!) + // -> to avoid allocating a new list of entries each time, we simply + // serialize all entries into the payload here already + // => having all this complexity built into the pipe makes testing and + // modifying the algorithm super easy! + // + // IMPORTANT: serializing in here will allow us to return the byte[] + // entries back to a pool later to completely avoid + // allocations! + public bool DequeueAndSerializeAll(ref byte[] payload, out int packetSize) + { + // pool & queue usage always needs to be locked + lock (this) + { + // do nothing if empty + packetSize = 0; + if (queue.Count == 0) + return false; + + // we might have multiple pending messages. merge into one + // packet to avoid TCP overheads and improve performance. + // + // IMPORTANT: Mirror & DOTSNET already batch into MaxMessageSize + // chunks, but we STILL pack all pending messages + // into one large payload so we only give it to TCP + // ONCE. This is HUGE for performance so we keep it! + packetSize = 0; + foreach (ArraySegment message in queue) + packetSize += 4 + message.Count; // header + content + + // create payload buffer if not created yet or previous one is + // too small + // IMPORTANT: payload.Length might be > packetSize! don't use it! + if (payload == null || payload.Length < packetSize) + payload = new byte[packetSize]; + + // dequeue all byte[] messages and serialize into the packet + int position = 0; + while (queue.Count > 0) + { + // dequeue + ArraySegment message = queue.Dequeue(); + + // write header (size) into buffer at position + Utils.IntToBytesBigEndianNonAlloc(message.Count, payload, position); + position += 4; + + // copy message into payload at position + Buffer.BlockCopy(message.Array, message.Offset, payload, position, message.Count); + position += message.Count; + + // return to pool so it can be reused (avoids allocations!) + pool.Return(message.Array); + } + + // we did serialize something + return true; + } + } + + public void Clear() + { + // pool & queue usage always needs to be locked + lock (this) + { + // clear queue, but via dequeue to return each byte[] to pool + while (queue.Count > 0) + { + pool.Return(queue.Dequeue().Array); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs.meta new file mode 100644 index 0000000..cf1415f --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/MagnificentSendPipe.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d490021c2e6a64374bc88168cec75c70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs new file mode 100644 index 0000000..7cfd73c --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs @@ -0,0 +1,67 @@ +using System; +using System.IO; +using System.Net.Sockets; + +namespace Telepathy +{ + public static class NetworkStreamExtensions + { + // .Read returns '0' if remote closed the connection but throws an + // IOException if we voluntarily closed our own connection. + // + // let's add a ReadSafely method that returns '0' in both cases so we don't + // have to worry about exceptions, since a disconnect is a disconnect... + public static int ReadSafely(this NetworkStream stream, byte[] buffer, int offset, int size) + { + try + { + return stream.Read(buffer, offset, size); + } + // IOException happens if we voluntarily closed our own connection. + catch (IOException) + { + return 0; + } + // ObjectDisposedException can be thrown if Client.Disconnect() + // disposes the stream, while we are still trying to read here. + // catching it fixes https://github.com/vis2k/Telepathy/pull/104 + catch (ObjectDisposedException) + { + return 0; + } + } + + // helper function to read EXACTLY 'n' bytes + // -> default .Read reads up to 'n' bytes. this function reads exactly + // 'n' bytes + // -> this is blocking until 'n' bytes were received + // -> immediately returns false in case of disconnects + public static bool ReadExactly(this NetworkStream stream, byte[] buffer, int amount) + { + // there might not be enough bytes in the TCP buffer for .Read to read + // the whole amount at once, so we need to keep trying until we have all + // the bytes (blocking) + // + // note: this just is a faster version of reading one after another: + // for (int i = 0; i < amount; ++i) + // if (stream.Read(buffer, i, 1) == 0) + // return false; + // return true; + int bytesRead = 0; + while (bytesRead < amount) + { + // read up to 'remaining' bytes with the 'safe' read extension + int remaining = amount - bytesRead; + int result = stream.ReadSafely(buffer, bytesRead, remaining); + + // .Read returns 0 if disconnected + if (result == 0) + return false; + + // otherwise add to bytes read + bytesRead += result; + } + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs.meta new file mode 100644 index 0000000..e7e5744 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/NetworkStreamExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a8076c43fa8d4d45831adae232d4d3c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs new file mode 100644 index 0000000..4ec4fd2 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs @@ -0,0 +1,34 @@ +// pool to avoid allocations. originally from libuv2k. +using System; +using System.Collections.Generic; + +namespace Telepathy +{ + public class Pool + { + // objects + readonly Stack objects = new Stack(); + + // some types might need additional parameters in their constructor, so + // we use a Func generator + readonly Func objectGenerator; + + // constructor + public Pool(Func objectGenerator) + { + this.objectGenerator = objectGenerator; + } + + // take an element from the pool, or create a new one if empty + public T Take() => objects.Count > 0 ? objects.Pop() : objectGenerator(); + + // return an element to the pool + public void Return(T item) => objects.Push(item); + + // clear the pool with the disposer function applied to each object + public void Clear() => objects.Clear(); + + // count to see how many objects are in the pool. useful for tests. + public int Count() => objects.Count; + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs.meta new file mode 100644 index 0000000..9a7dafc --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Pool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d3e530f6872642ec81e9b8b76277c93 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs new file mode 100644 index 0000000..0b4ada7 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs @@ -0,0 +1,401 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using System.Threading; + +namespace Telepathy +{ + public class Server : Common + { + // events to hook into + // => OnData uses ArraySegment for allocation free receives later + public Action OnConnected; + public Action> OnData; + public Action OnDisconnected; + + // listener + public TcpListener listener; + Thread listenerThread; + + // disconnect if send queue gets too big. + // -> avoids ever growing queue memory if network is slower than input + // -> disconnecting is great for load balancing. better to disconnect + // one connection than risking every connection / the whole server + // -> huge queue would introduce multiple seconds of latency anyway + // + // Mirror/DOTSNET use MaxMessageSize batching, so for a 16kb max size: + // limit = 1,000 means 16 MB of memory/connection + // limit = 10,000 means 160 MB of memory/connection + public int SendQueueLimit = 10000; + public int ReceiveQueueLimit = 10000; + + // thread safe pipe for received messages + // IMPORTANT: unfortunately using one pipe per connection is way slower + // when testing 150 CCU. we need to use one pipe for all + // connections. this scales beautifully. + protected MagnificentReceivePipe receivePipe; + + // pipe count, useful for debugging / benchmarks + public int ReceivePipeTotalCount => receivePipe.TotalCount; + + // clients with + readonly ConcurrentDictionary clients = new ConcurrentDictionary(); + + // connectionId counter + int counter; + + // public next id function in case someone needs to reserve an id + // (e.g. if hostMode should always have 0 connection and external + // connections should start at 1, etc.) + public int NextConnectionId() + { + int id = Interlocked.Increment(ref counter); + + // it's very unlikely that we reach the uint limit of 2 billion. + // even with 1 new connection per second, this would take 68 years. + // -> but if it happens, then we should throw an exception because + // the caller probably should stop accepting clients. + // -> it's hardly worth using 'bool Next(out id)' for that case + // because it's just so unlikely. + if (id == int.MaxValue) + { + throw new Exception("connection id limit reached: " + id); + } + + return id; + } + + // check if the server is running + public bool Active => listenerThread != null && listenerThread.IsAlive; + + // constructor + public Server(int MaxMessageSize) : base(MaxMessageSize) {} + + // the listener thread's listen function + // note: no maxConnections parameter. high level API should handle that. + // (Transport can't send a 'too full' message anyway) + void Listen(int port) + { + // absolutely must wrap with try/catch, otherwise thread + // exceptions are silent + try + { + // start listener on all IPv4 and IPv6 address via .Create + listener = TcpListener.Create(port); + listener.Server.NoDelay = NoDelay; + // IMPORTANT: do not set send/receive timeouts on listener. + // On linux setting the recv timeout will cause the blocking + // Accept call to timeout with EACCEPT (which mono interprets + // as EWOULDBLOCK). + // https://stackoverflow.com/questions/1917814/eagain-error-for-accept-on-blocking-socket/1918118#1918118 + // => fixes https://github.com/vis2k/Mirror/issues/2695 + // + //listener.Server.SendTimeout = SendTimeout; + //listener.Server.ReceiveTimeout = ReceiveTimeout; + listener.Start(); + Log.Info("Server: listening port=" + port); + + // keep accepting new clients + while (true) + { + // wait and accept new client + // note: 'using' sucks here because it will try to + // dispose after thread was started but we still need it + // in the thread + TcpClient client = listener.AcceptTcpClient(); + + // set socket options + client.NoDelay = NoDelay; + client.SendTimeout = SendTimeout; + client.ReceiveTimeout = ReceiveTimeout; + + // generate the next connection id (thread safely) + int connectionId = NextConnectionId(); + + // add to dict immediately + ConnectionState connection = new ConnectionState(client, MaxMessageSize); + clients[connectionId] = connection; + + // spawn a send thread for each client + Thread sendThread = new Thread(() => + { + // wrap in try-catch, otherwise Thread exceptions + // are silent + try + { + // run the send loop + // IMPORTANT: DO NOT SHARE STATE ACROSS MULTIPLE THREADS! + ThreadFunctions.SendLoop(connectionId, client, connection.sendPipe, connection.sendPending); + } + catch (ThreadAbortException) + { + // happens on stop. don't log anything. + // (we catch it in SendLoop too, but it still gets + // through to here when aborting. don't show an + // error.) + } + catch (Exception exception) + { + Log.Error("Server send thread exception: " + exception); + } + }); + sendThread.IsBackground = true; + sendThread.Start(); + + // spawn a receive thread for each client + Thread receiveThread = new Thread(() => + { + // wrap in try-catch, otherwise Thread exceptions + // are silent + try + { + // run the receive loop + // (receive pipe is shared across all loops) + ThreadFunctions.ReceiveLoop(connectionId, client, MaxMessageSize, receivePipe, ReceiveQueueLimit); + + // IMPORTANT: do NOT remove from clients after the + // thread ends. need to do it in Tick() so that the + // disconnect event in the pipe is still processed. + // (removing client immediately would mean that the + // pipe is lost and the disconnect event is never + // processed) + + // sendthread might be waiting on ManualResetEvent, + // so let's make sure to end it if the connection + // closed. + // otherwise the send thread would only end if it's + // actually sending data while the connection is + // closed. + sendThread.Interrupt(); + } + catch (Exception exception) + { + Log.Error("Server client thread exception: " + exception); + } + }); + receiveThread.IsBackground = true; + receiveThread.Start(); + } + } + catch (ThreadAbortException exception) + { + // UnityEditor causes AbortException if thread is still + // running when we press Play again next time. that's okay. + Log.Info("Server thread aborted. That's okay. " + exception); + } + catch (SocketException exception) + { + // calling StopServer will interrupt this thread with a + // 'SocketException: interrupted'. that's okay. + Log.Info("Server Thread stopped. That's okay. " + exception); + } + catch (Exception exception) + { + // something went wrong. probably important. + Log.Error("Server Exception: " + exception); + } + } + + // start listening for new connections in a background thread and spawn + // a new thread for each one. + public bool Start(int port) + { + // not if already started + if (Active) return false; + + // create receive pipe with max message size for pooling + // => create new pipes every time! + // if an old receive thread is still finishing up, it might still + // be using the old pipes. we don't want to risk any old data for + // our new start here. + receivePipe = new MagnificentReceivePipe(MaxMessageSize); + + // start the listener thread + // (on low priority. if main thread is too busy then there is not + // much value in accepting even more clients) + Log.Info("Server: Start port=" + port); + listenerThread = new Thread(() => { Listen(port); }); + listenerThread.IsBackground = true; + listenerThread.Priority = ThreadPriority.BelowNormal; + listenerThread.Start(); + return true; + } + + public void Stop() + { + // only if started + if (!Active) return; + + Log.Info("Server: stopping..."); + + // stop listening to connections so that no one can connect while we + // close the client connections + // (might be null if we call Stop so quickly after Start that the + // thread was interrupted before even creating the listener) + listener?.Stop(); + + // kill listener thread at all costs. only way to guarantee that + // .Active is immediately false after Stop. + // -> calling .Join would sometimes wait forever + listenerThread?.Interrupt(); + listenerThread = null; + + // close all client connections + foreach (KeyValuePair kvp in clients) + { + TcpClient client = kvp.Value.client; + // close the stream if not closed yet. it may have been closed + // by a disconnect already, so use try/catch + try { client.GetStream().Close(); } catch {} + client.Close(); + } + + // clear clients list + clients.Clear(); + + // reset the counter in case we start up again so + // clients get connection ID's starting from 1 + counter = 0; + } + + // send message to client using socket connection. + // arraysegment for allocation free sends later. + // -> the segment's array is only used until Send() returns! + public bool Send(int connectionId, ArraySegment message) + { + // respect max message size to avoid allocation attacks. + if (message.Count <= MaxMessageSize) + { + // find the connection + if (clients.TryGetValue(connectionId, out ConnectionState connection)) + { + // check send pipe limit + if (connection.sendPipe.Count < SendQueueLimit) + { + // add to thread safe send pipe and return immediately. + // calling Send here would be blocking (sometimes for long + // times if other side lags or wire was disconnected) + connection.sendPipe.Enqueue(message); + connection.sendPending.Set(); // interrupt SendThread WaitOne() + return true; + } + // disconnect if send queue gets too big. + // -> avoids ever growing queue memory if network is slower + // than input + // -> disconnecting is great for load balancing. better to + // disconnect one connection than risking every + // connection / the whole server + // + // note: while SendThread always grabs the WHOLE send queue + // immediately, it's still possible that the sending + // blocks for so long that the send queue just gets + // way too big. have a limit - better safe than sorry. + else + { + // log the reason + Log.Warning($"Server.Send: sendPipe for connection {connectionId} reached limit of {SendQueueLimit}. This can happen if we call send faster than the network can process messages. Disconnecting this connection for load balancing."); + + // just close it. send thread will take care of the rest. + connection.client.Close(); + return false; + } + } + + // sending to an invalid connectionId is expected sometimes. + // for example, if a client disconnects, the server might still + // try to send for one frame before it calls GetNextMessages + // again and realizes that a disconnect happened. + // so let's not spam the console with log messages. + //Logger.Log("Server.Send: invalid connectionId: " + connectionId); + return false; + } + Log.Error("Server.Send: message too big: " + message.Count + ". Limit: " + MaxMessageSize); + return false; + } + + // client's ip is sometimes needed by the server, e.g. for bans + public string GetClientAddress(int connectionId) + { + // find the connection + if (clients.TryGetValue(connectionId, out ConnectionState connection)) + { + return ((IPEndPoint)connection.client.Client.RemoteEndPoint).Address.ToString(); + } + return ""; + } + + // disconnect (kick) a client + public bool Disconnect(int connectionId) + { + // find the connection + if (clients.TryGetValue(connectionId, out ConnectionState connection)) + { + // just close it. send thread will take care of the rest. + connection.client.Close(); + Log.Info("Server.Disconnect connectionId:" + connectionId); + return true; + } + return false; + } + + // tick: processes up to 'limit' messages for each connection + // => limit parameter to avoid deadlocks / too long freezes if server or + // client is too slow to process network load + // => Mirror & DOTSNET need to have a process limit anyway. + // might as well do it here and make life easier. + // => returns amount of remaining messages to process, so the caller + // can call tick again as many times as needed (or up to a limit) + // + // Tick() may process multiple messages, but Mirror needs a way to stop + // processing immediately if a scene change messages arrives. Mirror + // can't process any other messages during a scene change. + // (could be useful for others too) + // => make sure to allocate the lambda only once in transports + public int Tick(int processLimit, Func checkEnabled = null) + { + // only if pipe was created yet (after start()) + if (receivePipe == null) + return 0; + + // process up to 'processLimit' messages for this connection + for (int i = 0; i < processLimit; ++i) + { + // check enabled in case a Mirror scene message arrived + if (checkEnabled != null && !checkEnabled()) + break; + + // peek first. allows us to process the first queued entry while + // still keeping the pooled byte[] alive by not removing anything. + if (receivePipe.TryPeek(out int connectionId, out EventType eventType, out ArraySegment message)) + { + switch (eventType) + { + case EventType.Connected: + OnConnected?.Invoke(connectionId); + break; + case EventType.Data: + OnData?.Invoke(connectionId, message); + break; + case EventType.Disconnected: + OnDisconnected?.Invoke(connectionId); + // remove disconnected connection now that the final + // disconnected message was processed. + clients.TryRemove(connectionId, out ConnectionState _); + break; + } + + // IMPORTANT: now dequeue and return it to pool AFTER we are + // done processing the event. + receivePipe.TryDequeue(); + } + // no more messages. stop the loop. + else break; + } + + // return what's left to process for next time + return receivePipe.TotalCount; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs.meta new file mode 100644 index 0000000..9cee8b7 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Server.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fb98a16841ccc4338a7e0b4e59136563 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef new file mode 100644 index 0000000..cd8d16a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef @@ -0,0 +1,12 @@ +{ + "name": "Telepathy", + "references": [], + "optionalUnityReferences": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef.meta new file mode 100644 index 0000000..572c127 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Telepathy.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 725ee7191c021de4dbf9269590ded755 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs new file mode 100644 index 0000000..6f026c9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs @@ -0,0 +1,244 @@ +// IMPORTANT +// force all thread functions to be STATIC. +// => Common.Send/ReceiveLoop is EXTREMELY DANGEROUS because it's too easy to +// accidentally share Common state between threads. +// => header buffer, payload etc. were accidentally shared once after changing +// the thread functions from static to non static +// => C# does not automatically detect data races. best we can do is move all of +// our thread code into static functions and pass all state into them +// +// let's even keep them in a STATIC CLASS so it's 100% obvious that this should +// NOT EVER be changed to non static! +using System; +using System.Net.Sockets; +using System.Threading; + +namespace Telepathy +{ + public static class ThreadFunctions + { + // send message (via stream) with the message structure + // this function is blocking sometimes! + // (e.g. if someone has high latency or wire was cut off) + // -> payload is of multiple < parts + public static bool SendMessagesBlocking(NetworkStream stream, byte[] payload, int packetSize) + { + // stream.Write throws exceptions if client sends with high + // frequency and the server stops + try + { + // write the whole thing + stream.Write(payload, 0, packetSize); + return true; + } + catch (Exception exception) + { + // log as regular message because servers do shut down sometimes + Log.Info("Send: stream.Write exception: " + exception); + return false; + } + } + // read message (via stream) blocking. + // writes into byte[] and returns bytes written to avoid allocations. + public static bool ReadMessageBlocking(NetworkStream stream, int MaxMessageSize, byte[] headerBuffer, byte[] payloadBuffer, out int size) + { + size = 0; + + // buffer needs to be of Header + MaxMessageSize + if (payloadBuffer.Length != 4 + MaxMessageSize) + { + Log.Error($"ReadMessageBlocking: payloadBuffer needs to be of size 4 + MaxMessageSize = {4 + MaxMessageSize} instead of {payloadBuffer.Length}"); + return false; + } + + // read exactly 4 bytes for header (blocking) + if (!stream.ReadExactly(headerBuffer, 4)) + return false; + + // convert to int + size = Utils.BytesToIntBigEndian(headerBuffer); + + // protect against allocation attacks. an attacker might send + // multiple fake '2GB header' packets in a row, causing the server + // to allocate multiple 2GB byte arrays and run out of memory. + // + // also protect against size <= 0 which would cause issues + if (size > 0 && size <= MaxMessageSize) + { + // read exactly 'size' bytes for content (blocking) + return stream.ReadExactly(payloadBuffer, size); + } + Log.Warning("ReadMessageBlocking: possible header attack with a header of: " + size + " bytes."); + return false; + } + + // thread receive function is the same for client and server's clients + public static void ReceiveLoop(int connectionId, TcpClient client, int MaxMessageSize, MagnificentReceivePipe receivePipe, int QueueLimit) + { + // get NetworkStream from client + NetworkStream stream = client.GetStream(); + + // every receive loop needs it's own receive buffer of + // HeaderSize + MaxMessageSize + // to avoid runtime allocations. + // + // IMPORTANT: DO NOT make this a member, otherwise every connection + // on the server would use the same buffer simulatenously + byte[] receiveBuffer = new byte[4 + MaxMessageSize]; + + // avoid header[4] allocations + // + // IMPORTANT: DO NOT make this a member, otherwise every connection + // on the server would use the same buffer simulatenously + byte[] headerBuffer = new byte[4]; + + // absolutely must wrap with try/catch, otherwise thread exceptions + // are silent + try + { + // add connected event to pipe + receivePipe.Enqueue(connectionId, EventType.Connected, default); + + // let's talk about reading data. + // -> normally we would read as much as possible and then + // extract as many , messages + // as we received this time. this is really complicated + // and expensive to do though + // -> instead we use a trick: + // Read(2) -> size + // Read(size) -> content + // repeat + // Read is blocking, but it doesn't matter since the + // best thing to do until the full message arrives, + // is to wait. + // => this is the most elegant AND fast solution. + // + no resizing + // + no extra allocations, just one for the content + // + no crazy extraction logic + while (true) + { + // read the next message (blocking) or stop if stream closed + if (!ReadMessageBlocking(stream, MaxMessageSize, headerBuffer, receiveBuffer, out int size)) + // break instead of return so stream close still happens! + break; + + // create arraysegment for the read message + ArraySegment message = new ArraySegment(receiveBuffer, 0, size); + + // send to main thread via pipe + // -> it'll copy the message internally so we can reuse the + // receive buffer for next read! + receivePipe.Enqueue(connectionId, EventType.Data, message); + + // disconnect if receive pipe gets too big for this connectionId. + // -> avoids ever growing queue memory if network is slower + // than input + // -> disconnecting is great for load balancing. better to + // disconnect one connection than risking every + // connection / the whole server + if (receivePipe.Count(connectionId) >= QueueLimit) + { + // log the reason + Log.Warning($"receivePipe reached limit of {QueueLimit} for connectionId {connectionId}. This can happen if network messages come in way faster than we manage to process them. Disconnecting this connection for load balancing."); + + // IMPORTANT: do NOT clear the whole queue. we use one + // queue for all connections. + //receivePipe.Clear(); + + // just break. the finally{} will close everything. + break; + } + } + } + catch (Exception exception) + { + // something went wrong. the thread was interrupted or the + // connection closed or we closed our own connection or ... + // -> either way we should stop gracefully + Log.Info("ReceiveLoop: finished receive function for connectionId=" + connectionId + " reason: " + exception); + } + finally + { + // clean up no matter what + stream.Close(); + client.Close(); + + // add 'Disconnected' message after disconnecting properly. + // -> always AFTER closing the streams to avoid a race condition + // where Disconnected -> Reconnect wouldn't work because + // Connected is still true for a short moment before the stream + // would be closed. + receivePipe.Enqueue(connectionId, EventType.Disconnected, default); + } + } + // thread send function + // note: we really do need one per connection, so that if one connection + // blocks, the rest will still continue to get sends + public static void SendLoop(int connectionId, TcpClient client, MagnificentSendPipe sendPipe, ManualResetEvent sendPending) + { + // get NetworkStream from client + NetworkStream stream = client.GetStream(); + + // avoid payload[packetSize] allocations. size increases dynamically as + // needed for batching. + // + // IMPORTANT: DO NOT make this a member, otherwise every connection + // on the server would use the same buffer simulatenously + byte[] payload = null; + + try + { + while (client.Connected) // try this. client will get closed eventually. + { + // reset ManualResetEvent before we do anything else. this + // way there is no race condition. if Send() is called again + // while in here then it will be properly detected next time + // -> otherwise Send might be called right after dequeue but + // before .Reset, which would completely ignore it until + // the next Send call. + sendPending.Reset(); // WaitOne() blocks until .Set() again + + // dequeue & serialize all + // a locked{} TryDequeueAll is twice as fast as + // ConcurrentQueue, see SafeQueue.cs! + if (sendPipe.DequeueAndSerializeAll(ref payload, out int packetSize)) + { + // send messages (blocking) or stop if stream is closed + if (!SendMessagesBlocking(stream, payload, packetSize)) + // break instead of return so stream close still happens! + break; + } + + // don't choke up the CPU: wait until queue not empty anymore + sendPending.WaitOne(); + } + } + catch (ThreadAbortException) + { + // happens on stop. don't log anything. + } + catch (ThreadInterruptedException) + { + // happens if receive thread interrupts send thread. + } + catch (Exception exception) + { + // something went wrong. the thread was interrupted or the + // connection closed or we closed our own connection or ... + // -> either way we should stop gracefully + Log.Info("SendLoop Exception: connectionId=" + connectionId + " reason: " + exception); + } + finally + { + // clean up no matter what + // we might get SocketExceptions when sending if the 'host has + // failed to respond' - in which case we should close the connection + // which causes the ReceiveLoop to end and fire the Disconnected + // message. otherwise the connection would stay alive forever even + // though we can't send anymore. + stream.Close(); + client.Close(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs.meta new file mode 100644 index 0000000..ea536ac --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/ThreadFunctions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d01598bf851164dc48a24c26913460b9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs new file mode 100644 index 0000000..8f04fe9 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs @@ -0,0 +1,23 @@ +namespace Telepathy +{ + public static class Utils + { + // IntToBytes version that doesn't allocate a new byte[4] each time. + // -> important for MMO scale networking performance. + public static void IntToBytesBigEndianNonAlloc(int value, byte[] bytes, int offset = 0) + { + bytes[offset + 0] = (byte)(value >> 24); + bytes[offset + 1] = (byte)(value >> 16); + bytes[offset + 2] = (byte)(value >> 8); + bytes[offset + 3] = (byte)value; + } + + public static int BytesToIntBigEndian(byte[] bytes) + { + return (bytes[0] << 24) | + (bytes[1] << 16) | + (bytes[2] << 8) | + bytes[3]; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs.meta new file mode 100644 index 0000000..0a9253b --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 951d08c05297f4b3e8feb5bfcab86531 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION new file mode 100644 index 0000000..9ec0736 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION @@ -0,0 +1,62 @@ +V1.8 [2021-06-02] +- fix: Do not set timeouts on listener (fixes https://github.com/vis2k/Mirror/issues/2695) +- fix: #104 - ReadSafely now catches ObjectDisposedException too + +V1.7 [2021-02-20] +- ReceiveTimeout: disabled by default for cases where people use Telepathy by + itself without pings etc. + +V1.6 [2021-02-10] +- configurable ReceiveTimeout to avoid TCPs high default timeout +- Server/Client receive queue limit now disconnects instead of showing a + warning. this is necessary for load balancing to avoid situations where one + spamming connection might fill the queue and slow down everyone else. + +V1.5 [2021-02-05] +- fix: client data races & flaky tests fixed by creating a new client state + object every time we connect. fixes data race where an old dieing thread + might still try to modify the current state +- fix: Client.ReceiveThreadFunction catches and ignores ObjectDisposedException + which can happen if Disconnect() closes and disposes the client, while the + ReceiveThread just starts up and still uses the client. +- Server/Client Tick() optional enabled check for Mirror scene changing + +V1.4 [2021-02-03] +- Server/Client.Tick: limit parameter added to process up to 'limit' messages. + makes Mirror & DOTSNET transports easier to implement +- stability: Server/Client send queue limit disconnects instead of showing a + warning. allows for load balancing. better to kick one connection and keep + the server running than slowing everything down for everyone. + +V1.3 [2021-02-02] +- perf: ReceivePipe: byte[] pool for allocation free receives (╯°□°)╯︵ ┻━┻ +- fix: header buffer, payload buffer data races because they were made non + static earlier. server threads would all access the same ones. + => all threaded code was moved into a static ThreadFunctions class to make it + 100% obvious that there should be no shared state in the future + +V1.2 [2021-02-02] +- Client/Server Tick & OnConnected/OnData/OnDisconnected events instead of + having the outside process messages via GetNextMessage. That's easier for + Mirror/DOTSNET and allows for allocation free data message processing later. +- MagnificientSend/RecvPipe to shield Telepathy from all the complexity +- perf: SendPipe: byte[] pool for allocation free sends (╯°□°)╯︵ ┻━┻ + +V1.1 [2021-02-01] +- stability: added more tests +- breaking: Server/Client.Send: ArraySegment parameter and copy internally so + that Transports don't need to worry about it +- perf: Buffer.BlockCopy instead of Array.Copy +- perf: SendMessageBlocking puts message header directly into payload now +- perf: receiveQueues use SafeQueue instead of ConcurrentQueue to avoid + allocations +- Common: removed static state +- perf: SafeQueue.TryDequeueAll: avoid queue.ToArray() allocations. copy into a + list instead. +- Logger.Log/LogWarning/LogError renamed to Log.Info/Warning/Error +- MaxMessageSize is now specified in constructor to prepare for pooling +- flaky tests are ignored for now +- smaller improvements + +V1.0 +- first stable release \ No newline at end of file diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION.meta b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION.meta new file mode 100644 index 0000000..04c1c8a --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/Telepathy/VERSION.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d942af06608be434dbeeaa58207d20bd +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs b/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs new file mode 100644 index 0000000..b5f2489 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs @@ -0,0 +1,256 @@ +// wraps Telepathy for use as HLAPI TransportLayer +using System; +using System.Net; +using System.Net.Sockets; +using UnityEngine; + +// Replaced by Kcp November 2020 +namespace Mirror +{ + [HelpURL("https://github.com/vis2k/Telepathy/blob/master/README.md")] + [DisallowMultipleComponent] + public class TelepathyTransport : Transport + { + // scheme used by this transport + // "tcp4" means tcp with 4 bytes header, network byte order + public const string Scheme = "tcp4"; + + public ushort port = 7777; + + [Header("Common")] + [Tooltip("Nagle Algorithm can be disabled by enabling NoDelay")] + public bool NoDelay = true; + + [Tooltip("Send timeout in milliseconds.")] + public int SendTimeout = 5000; + + [Tooltip("Receive timeout in milliseconds. High by default so users don't time out during scene changes.")] + public int ReceiveTimeout = 30000; + + [Header("Server")] + [Tooltip("Protect against allocation attacks by keeping the max message size small. Otherwise an attacker might send multiple fake packets with 2GB headers, causing the server to run out of memory after allocating multiple large packets.")] + public int serverMaxMessageSize = 16 * 1024; + + [Tooltip("Server processes a limit amount of messages per tick to avoid a deadlock where it might end up processing forever if messages come in faster than we can process them.")] + public int serverMaxReceivesPerTick = 10000; + + [Tooltip("Server send queue limit per connection for pending messages. Telepathy will disconnect a connection's queues reach that limit for load balancing. Better to kick one slow client than slowing down the whole server.")] + public int serverSendQueueLimitPerConnection = 10000; + + [Tooltip("Server receive queue limit per connection for pending messages. Telepathy will disconnect a connection's queues reach that limit for load balancing. Better to kick one slow client than slowing down the whole server.")] + public int serverReceiveQueueLimitPerConnection = 10000; + + [Header("Client")] + [Tooltip("Protect against allocation attacks by keeping the max message size small. Otherwise an attacker host might send multiple fake packets with 2GB headers, causing the connected clients to run out of memory after allocating multiple large packets.")] + public int clientMaxMessageSize = 16 * 1024; + + [Tooltip("Client processes a limit amount of messages per tick to avoid a deadlock where it might end up processing forever if messages come in faster than we can process them.")] + public int clientMaxReceivesPerTick = 1000; + + [Tooltip("Client send queue limit for pending messages. Telepathy will disconnect if the connection's queues reach that limit in order to avoid ever growing latencies.")] + public int clientSendQueueLimit = 10000; + + [Tooltip("Client receive queue limit for pending messages. Telepathy will disconnect if the connection's queues reach that limit in order to avoid ever growing latencies.")] + public int clientReceiveQueueLimit = 10000; + + Telepathy.Client client; + Telepathy.Server server; + + // scene change message needs to halt message processing immediately + // Telepathy.Tick() has a enabledCheck parameter that we can use, but + // let's only allocate it once. + Func enabledCheck; + + void Awake() + { + // tell Telepathy to use Unity's Debug.Log + Telepathy.Log.Info = Debug.Log; + Telepathy.Log.Warning = Debug.LogWarning; + Telepathy.Log.Error = Debug.LogError; + + // allocate enabled check only once + enabledCheck = () => enabled; + + Debug.Log("TelepathyTransport initialized!"); + } + + public override bool Available() + { + // C#'s built in TCP sockets run everywhere except on WebGL + return Application.platform != RuntimePlatform.WebGLPlayer; + } + + // client + private void CreateClient() + { + // create client + client = new Telepathy.Client(clientMaxMessageSize); + // client hooks + // other systems hook into transport events in OnCreate or + // OnStartRunning in no particular order. the only way to avoid + // race conditions where telepathy uses OnConnected before another + // system's hook (e.g. statistics OnData) was added is to wrap + // them all in a lambda and always call the latest hook. + // (= lazy call) + client.OnConnected = () => OnClientConnected.Invoke(); + client.OnData = (segment) => OnClientDataReceived.Invoke(segment, Channels.Reliable); + client.OnDisconnected = () => OnClientDisconnected.Invoke(); + + // client configuration + client.NoDelay = NoDelay; + client.SendTimeout = SendTimeout; + client.ReceiveTimeout = ReceiveTimeout; + client.SendQueueLimit = clientSendQueueLimit; + client.ReceiveQueueLimit = clientReceiveQueueLimit; + } + public override bool ClientConnected() => client != null && client.Connected; + public override void ClientConnect(string address) + { + CreateClient(); + client.Connect(address, port); + } + + public override void ClientConnect(Uri uri) + { + CreateClient(); + if (uri.Scheme != Scheme) + throw new ArgumentException($"Invalid url {uri}, use {Scheme}://host:port instead", nameof(uri)); + + int serverPort = uri.IsDefaultPort ? port : uri.Port; + client.Connect(uri.Host, serverPort); + } + public override void ClientSend(ArraySegment segment, int channelId) => client?.Send(segment); + public override void ClientDisconnect() + { + client?.Disconnect(); + client = null; + } + + // messages should always be processed in early update + public override void ClientEarlyUpdate() + { + // note: we need to check enabled in case we set it to false + // when LateUpdate already started. + // (https://github.com/vis2k/Mirror/pull/379) + if (!enabled) return; + + // process a maximum amount of client messages per tick + // IMPORTANT: check .enabled to stop processing immediately after a + // scene change message arrives! + client?.Tick(clientMaxReceivesPerTick, enabledCheck); + } + + // server + public override Uri ServerUri() + { + UriBuilder builder = new UriBuilder(); + builder.Scheme = Scheme; + builder.Host = Dns.GetHostName(); + builder.Port = port; + return builder.Uri; + } + public override bool ServerActive() => server != null && server.Active; + public override void ServerStart() + { + // create server + server = new Telepathy.Server(serverMaxMessageSize); + + // server hooks + // other systems hook into transport events in OnCreate or + // OnStartRunning in no particular order. the only way to avoid + // race conditions where telepathy uses OnConnected before another + // system's hook (e.g. statistics OnData) was added is to wrap + // them all in a lambda and always call the latest hook. + // (= lazy call) + server.OnConnected = (connectionId) => OnServerConnected.Invoke(connectionId); + server.OnData = (connectionId, segment) => OnServerDataReceived.Invoke(connectionId, segment, Channels.Reliable); + server.OnDisconnected = (connectionId) => OnServerDisconnected.Invoke(connectionId); + + // server configuration + server.NoDelay = NoDelay; + server.SendTimeout = SendTimeout; + server.ReceiveTimeout = ReceiveTimeout; + server.SendQueueLimit = serverSendQueueLimitPerConnection; + server.ReceiveQueueLimit = serverReceiveQueueLimitPerConnection; + + server.Start(port); + } + + public override void ServerSend(int connectionId, ArraySegment segment, int channelId) => server?.Send(connectionId, segment); + public override void ServerDisconnect(int connectionId) => server?.Disconnect(connectionId); + public override string ServerGetClientAddress(int connectionId) + { + try + { + return server?.GetClientAddress(connectionId); + } + catch (SocketException) + { + // using server.listener.LocalEndpoint causes an Exception + // in UWP + Unity 2019: + // Exception thrown at 0x00007FF9755DA388 in UWF.exe: + // Microsoft C++ exception: Il2CppExceptionWrapper at memory + // location 0x000000E15A0FCDD0. SocketException: An address + // incompatible with the requested protocol was used at + // System.Net.Sockets.Socket.get_LocalEndPoint () + // so let's at least catch it and recover + return "unknown"; + } + } + public override void ServerStop() + { + server?.Stop(); + server = null; + } + + // messages should always be processed in early update + public override void ServerEarlyUpdate() + { + // note: we need to check enabled in case we set it to false + // when LateUpdate already started. + // (https://github.com/vis2k/Mirror/pull/379) + if (!enabled) return; + + // process a maximum amount of server messages per tick + // IMPORTANT: check .enabled to stop processing immediately after a + // scene change message arrives! + server?.Tick(serverMaxReceivesPerTick, enabledCheck); + } + + // common + public override void Shutdown() + { + Debug.Log("TelepathyTransport Shutdown()"); + client?.Disconnect(); + client = null; + server?.Stop(); + server = null; + } + + public override int GetMaxPacketSize(int channelId) + { + return serverMaxMessageSize; + } + + public override string ToString() + { + if (server != null && server.Active && server.listener != null) + { + // printing server.listener.LocalEndpoint causes an Exception + // in UWP + Unity 2019: + // Exception thrown at 0x00007FF9755DA388 in UWF.exe: + // Microsoft C++ exception: Il2CppExceptionWrapper at memory + // location 0x000000E15A0FCDD0. SocketException: An address + // incompatible with the requested protocol was used at + // System.Net.Sockets.Socket.get_LocalEndPoint () + // so let's use the regular port instead. + return "Telepathy Server port: " + port; + } + else if (client != null && (client.Connecting || client.Connected)) + { + return "Telepathy Client port: " + port; + } + return "Telepathy (inactive/disconnected)"; + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs.meta b/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs.meta new file mode 100644 index 0000000..99cde3e --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Telepathy/TelepathyTransport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7424c1070fad4ba2a7a96b02fbeb4bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 1000 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Transport.cs b/Assets/Mirror/Runtime/Transport/Transport.cs new file mode 100644 index 0000000..a944407 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Transport.cs @@ -0,0 +1,201 @@ +// For future reference, here is what Transports need to do in Mirror: +// +// Connecting: +// * Transports are responsible to call either OnConnected || OnDisconnected +// in a certain time after a Connect was called. It can not end in limbo. +// +// Disconnecting: +// * Connections might disconnect voluntarily by the other end. +// * Connections might be disconnect involuntarily by the server. +// * Either way, Transports need to detect it and call OnDisconnected. +// +// Timeouts: +// * Transports should expose a configurable timeout +// * Transports are responsible for calling OnDisconnected after a timeout +// +// Channels: +// * Default channel is Reliable, as in reliable ordered (OR DISCONNECT) +// * Where possible, Unreliable should be supported (unordered, no guarantee) +// +// Other: +// * Transports functions are all bound to the main thread. +// (Transports can use other threads in the background if they manage them) +// * Transports should only process messages while the component is enabled. +// +using System; +using UnityEngine; + +namespace Mirror +{ + /// Abstract transport layer component + public abstract class Transport : MonoBehaviour + { + /// The current transport used by Mirror. + public static Transport activeTransport; + + /// Is this transport available in the current platform? + public abstract bool Available(); + + /// Called by Transport when the client connected to the server. + public Action OnClientConnected = () => Debug.LogWarning("OnClientConnected called with no handler"); + + /// Called by Transport when the client received a message from the server. + public Action, int> OnClientDataReceived = (data, channel) => Debug.LogWarning("OnClientDataReceived called with no handler"); + + /// Called by Transport when the client encountered an error. + public Action OnClientError = (error) => Debug.LogWarning("OnClientError called with no handler"); + + /// Called by Transport when the client disconnected from the server. + public Action OnClientDisconnected = () => Debug.LogWarning("OnClientDisconnected called with no handler"); + + /// True if the client is currently connected to the server. + public abstract bool ClientConnected(); + + /// Connects the client to the server at the address. + public abstract void ClientConnect(string address); + + /// Connects the client to the server at the Uri. + public virtual void ClientConnect(Uri uri) + { + // By default, to keep backwards compatibility, just connect to the host + // in the uri + ClientConnect(uri.Host); + } + + /// Sends a message to the server over the given channel. + // The ArraySegment is only valid until returning. Copy if needed. + // TODO make second version abstract after removing the obsolete version + // Deprecated 2021-05-17 + [Obsolete("Use ClientSend(segment, channelId) instead. channelId is now the last parameter.")] + public virtual void ClientSend(int channelId, ArraySegment segment) {} + public virtual void ClientSend(ArraySegment segment, int channelId) + { + // defaults to obsolete version to not force break transports. +#pragma warning disable 618 + ClientSend(channelId, segment); +#pragma warning restore 618 + } + + /// Disconnects the client from the server + public abstract void ClientDisconnect(); + + /// Returns server address as Uri. + // Useful for NetworkDiscovery. + public abstract Uri ServerUri(); + + /// Called by Transport when a new client connected to the server. + public Action OnServerConnected = (connId) => Debug.LogWarning("OnServerConnected called with no handler"); + + /// Called by Transport when the server received a message from a client. + public Action, int> OnServerDataReceived = (connId, data, channel) => Debug.LogWarning("OnServerDataReceived called with no handler"); + + /// Called by Transport when a server's connection encountered a problem. + /// If a Disconnect will also be raised, raise the Error first. + public Action OnServerError = (connId, error) => Debug.LogWarning("OnServerError called with no handler"); + + /// Called by Transport when a client disconnected from the server. + public Action OnServerDisconnected = (connId) => Debug.LogWarning("OnServerDisconnected called with no handler"); + + /// True if the server is currently listening for connections. + public abstract bool ServerActive(); + + /// Start listening for connections. + public abstract void ServerStart(); + + /// Send a message to a client over the given channel. + // TODO make second version abstract after removing the obsolete version + // Deprecated 2021-05-17 + [Obsolete("Use ServerSend(connectionId, segment, channelId) instead. channelId is now the last parameter.")] + public virtual void ServerSend(int connectionId, int channelId, ArraySegment segment) {} + public virtual void ServerSend(int connectionId, ArraySegment segment, int channelId) + { + // defaults to obsolete version to not force break transports. +#pragma warning disable 618 + ServerSend(connectionId, channelId, segment); +#pragma warning restore 618 + } + + /// Disconnect a client from the server. + public abstract void ServerDisconnect(int connectionId); + + /// Get a client's address on the server. + // Can be useful for Game Master IP bans etc. + public abstract string ServerGetClientAddress(int connectionId); + + /// Stop listening and disconnect all connections. + public abstract void ServerStop(); + + /// Maximum message size for the given channel. + // Different channels often have different sizes, ranging from MTU to + // several megabytes. + // + // Needs to return a value at all times, even if the Transport isn't + // running or available because it's needed for initializations. + public abstract int GetMaxPacketSize(int channelId = Channels.Reliable); + + /// Recommended Batching threshold for this transport. + // Uses GetMaxPacketSize by default. + // Some transports like kcp support large max packet sizes which should + // not be used for batching all the time because they end up being too + // slow (head of line blocking etc.). + public virtual int GetBatchThreshold(int channelId) + { + // change to GetMaxPacketSize by default after removing obsolete +#pragma warning disable 618 + return GetMaxBatchSize(channelId); +#pragma warning restore 618 + } + + // Deprecated 2021-06-17 + [Obsolete("GetMaxBatchSize was renamed to GetBatchThreshold.")] + public virtual int GetMaxBatchSize(int channelId) => + GetMaxPacketSize(channelId); + + // block Update & LateUpdate to show warnings if Transports still use + // them instead of using + // Client/ServerEarlyUpdate: to process incoming messages + // Client/ServerLateUpdate: to process outgoing messages + // those are called by NetworkClient/Server at the right time. + // + // allows transports to implement the proper network update order of: + // process_incoming() + // update_world() + // process_outgoing() + // + // => see NetworkLoop.cs for detailed explanations! +#pragma warning disable UNT0001 // Empty Unity message + public void Update() {} + public void LateUpdate() {} +#pragma warning restore UNT0001 // Empty Unity message + + /// + /// NetworkLoop NetworkEarly/LateUpdate were added for a proper network + /// update order. the goal is to: + /// process_incoming() + /// update_world() + /// process_outgoing() + /// in order to avoid unnecessary latency and data races. + /// + // => split into client and server parts so that we can cleanly call + // them from NetworkClient/Server + // => VIRTUAL for now so we can take our time to convert transports + // without breaking anything. + public virtual void ClientEarlyUpdate() {} + public virtual void ServerEarlyUpdate() {} + public virtual void ClientLateUpdate() {} + public virtual void ServerLateUpdate() {} + + /// Shut down the transport, both as client and server + public abstract void Shutdown(); + + /// Called by Unity when quitting. Inheriting Transports should call base for proper Shutdown. + public virtual void OnApplicationQuit() + { + // stop transport (e.g. to shut down threads) + // (when pressing Stop in the Editor, Unity keeps threads alive + // until we press Start again. so if Transports use threads, we + // really want them to end now and not after next start) + Shutdown(); + } + } +} diff --git a/Assets/Mirror/Runtime/Transport/Transport.cs.meta b/Assets/Mirror/Runtime/Transport/Transport.cs.meta new file mode 100644 index 0000000..55072e1 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Transport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cfffcac25d6d64ced9de620159e221b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Utils.cs b/Assets/Mirror/Runtime/Utils.cs new file mode 100644 index 0000000..0bfc18f --- /dev/null +++ b/Assets/Mirror/Runtime/Utils.cs @@ -0,0 +1,136 @@ +using System; +using System.Runtime.InteropServices; +using System.Security.Cryptography; +using UnityEngine; + +namespace Mirror +{ + // Handles network messages on client and server + public delegate void NetworkMessageDelegate(NetworkConnection conn, NetworkReader reader, int channelId); + + // Handles requests to spawn objects on the client + public delegate GameObject SpawnDelegate(Vector3 position, Guid assetId); + + public delegate GameObject SpawnHandlerDelegate(SpawnMessage msg); + + // Handles requests to unspawn objects on the client + public delegate void UnSpawnDelegate(GameObject spawned); + + // invoke type for Cmd/Rpc + public enum MirrorInvokeType + { + Command, + ClientRpc + } + + // Deprecated 2021-03-15 + [Obsolete("Version has never been used, neither by UNET nor by Mirror.")] + public enum Version + { + Current = 1 + } + + // channels are const ints instead of an enum so people can add their own + // channels (can't extend an enum otherwise). + // + // note that Mirror is slowly moving towards quake style networking which + // will only require reliable for handshake, and unreliable for the rest. + // so eventually we can change this to an Enum and transports shouldn't + // add custom channels anymore. + public static class Channels + { + public const int Reliable = 0; // ordered + public const int Unreliable = 1; // unordered + + // Deprecated 2021-03-15 + [Obsolete("Use Channels.Reliable instead")] + public const int DefaultReliable = Reliable; + + // Deprecated 2021-03-15 + [Obsolete("Use Channels.Unreliable instead")] + public const int DefaultUnreliable = Unreliable; + } + + // -- helpers for float conversion without allocations -- + [StructLayout(LayoutKind.Explicit)] + internal struct UIntFloat + { + [FieldOffset(0)] + public float floatValue; + + [FieldOffset(0)] + public uint intValue; + } + + [StructLayout(LayoutKind.Explicit)] + internal struct UIntDouble + { + [FieldOffset(0)] + public double doubleValue; + + [FieldOffset(0)] + public ulong longValue; + } + + [StructLayout(LayoutKind.Explicit)] + internal struct UIntDecimal + { + [FieldOffset(0)] + public ulong longValue1; + + [FieldOffset(8)] + public ulong longValue2; + + [FieldOffset(0)] + public decimal decimalValue; + } + + public static class Utils + { + public static uint GetTrueRandomUInt() + { + // use Crypto RNG to avoid having time based duplicates + using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider()) + { + byte[] bytes = new byte[4]; + rng.GetBytes(bytes); + return BitConverter.ToUInt32(bytes, 0); + } + } + + public static bool IsPrefab(GameObject obj) + { +#if UNITY_EDITOR + return UnityEditor.PrefabUtility.IsPartOfPrefabAsset(obj); +#else + return false; +#endif + } + + public static bool IsSceneObjectWithPrefabParent(GameObject gameObject, out GameObject prefab) + { + prefab = null; + +#if UNITY_EDITOR + if (!UnityEditor.PrefabUtility.IsPartOfPrefabInstance(gameObject)) + { + return false; + } + prefab = UnityEditor.PrefabUtility.GetCorrespondingObjectFromSource(gameObject); +#endif + + if (prefab == null) + { + Debug.LogError("Failed to find prefab parent for scene object [name:" + gameObject.name + "]"); + return false; + } + return true; + } + + // is a 2D point in screen? (from ummorpg) + // (if width = 1024, then indices from 0..1023 are valid (=1024 indices) + public static bool IsPointInScreen(Vector2 point) => + 0 <= point.x && point.x < Screen.width && + 0 <= point.y && point.y < Screen.height; + } +} diff --git a/Assets/Mirror/Runtime/Utils.cs.meta b/Assets/Mirror/Runtime/Utils.cs.meta new file mode 100644 index 0000000..7cf1557 --- /dev/null +++ b/Assets/Mirror/Runtime/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b530ce39098b54374a29ad308c8e4554 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7453abfe9e8b2c04a8a47eb536fe21eb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Version.txt b/Assets/Mirror/Version.txt new file mode 100644 index 0000000..6b0ca88 --- /dev/null +++ b/Assets/Mirror/Version.txt @@ -0,0 +1 @@ +44.0.2 \ No newline at end of file diff --git a/Assets/Mirror/Version.txt.meta b/Assets/Mirror/Version.txt.meta new file mode 100644 index 0000000..097f259 --- /dev/null +++ b/Assets/Mirror/Version.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c6b1f72568a9340178b4c34608fbdbc3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..4a3e6f9 --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ada6a2a4ef4bb8c61bc4d02d07f5ce24 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ServerRow.prefab b/Assets/Prefabs/ServerRow.prefab new file mode 100644 index 0000000..d2c4c6e --- /dev/null +++ b/Assets/Prefabs/ServerRow.prefab @@ -0,0 +1,427 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6152127722989631354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6152127722989631357} + - component: {fileID: 6152127722989631359} + - component: {fileID: 6152127722989631356} + m_Layer: 5 + m_Name: ServerRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6152127722989631357 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127722989631354} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6152127723756647633} + - {fileID: 6152127723766687999} + - {fileID: 6152127724410269432} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 700, y: 55} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6152127722989631359 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127722989631354} + m_CullTransparentMesh: 0 +--- !u!114 &6152127722989631356 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127722989631354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.6156863} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6152127723356841503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6152127723356841502} + - component: {fileID: 6152127723356841488} + - component: {fileID: 6152127723356841489} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6152127723356841502 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723356841503} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6152127724410269432} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6152127723356841488 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723356841503} + m_CullTransparentMesh: 0 +--- !u!114 &6152127723356841489 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723356841503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: JOIN +--- !u!1 &6152127723756647646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6152127723756647633} + - component: {fileID: 6152127723756647635} + - component: {fileID: 6152127723756647632} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6152127723756647633 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723756647646} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6152127722989631357} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 1.1499939, y: 0.5} + m_SizeDelta: {x: -37.690002, y: -25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6152127723756647635 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723756647646} + m_CullTransparentMesh: 0 +--- !u!114 &6152127723756647632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723756647646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.29341766, b: 0.13697046, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: warlock's server +--- !u!1 &6152127723766687996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6152127723766687999} + - component: {fileID: 6152127723766687985} + - component: {fileID: 6152127723766687998} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6152127723766687999 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723766687996} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6152127722989631357} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -126.5, y: 0.5} + m_SizeDelta: {x: -267.21, y: -25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6152127723766687985 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723766687996} + m_CullTransparentMesh: 0 +--- !u!114 &6152127723766687998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127723766687996} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.29341766, b: 0.13697046, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1/10 +--- !u!1 &6152127724410269433 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6152127724410269432} + - component: {fileID: 6152127724410269437} + - component: {fileID: 6152127724410269434} + - component: {fileID: 6152127724410269435} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6152127724410269432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127724410269433} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6152127723356841502} + m_Father: {fileID: 6152127722989631357} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -62.899994, y: 0} + m_SizeDelta: {x: 108.29001, y: 40.58} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6152127724410269437 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127724410269433} + m_CullTransparentMesh: 0 +--- !u!114 &6152127724410269434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127724410269433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.5776393, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6152127724410269435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6152127724410269433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6152127724410269434} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Assets/Prefabs/ServerRow.prefab.meta b/Assets/Prefabs/ServerRow.prefab.meta new file mode 100644 index 0000000..1141a11 --- /dev/null +++ b/Assets/Prefabs/ServerRow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3f62fc59c204feac2b00cff4c945109d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/picopark.prefab b/Assets/Prefabs/picopark.prefab new file mode 100644 index 0000000..758308a --- /dev/null +++ b/Assets/Prefabs/picopark.prefab @@ -0,0 +1,252 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8584291556063275422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8584291556063275408} + - component: {fileID: 8584291556063275423} + - component: {fileID: 6656609589630671630} + - component: {fileID: 8584291556063275412} + - component: {fileID: 8584291556063275411} + - component: {fileID: 8584291556063275410} + - component: {fileID: 8584291556063275409} + - component: {fileID: 345238637415786487} + - component: {fileID: 3855804468415881115} + m_Layer: 0 + m_Name: picopark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8584291556063275408 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.7736, y: -3.6729, z: 0} + m_LocalScale: {x: 0.43717414, y: 0.44597706, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8584291556063275423 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: e88c557aba8023277947be6e82d2215f, type: 3} + m_Color: {r: 0, g: 1, b: 0.044991016, a: 1} + m_FlipX: 1 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.24, y: 1.42} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &6656609589630671630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c4a1d8198c9c68ae688b0bb362dc15bd, type: 3} + m_Name: + m_EditorClassIdentifier: + syncMode: 0 + syncInterval: 0.1 + LocalComponents: + - {fileID: 8584291556063275412} +--- !u!114 &8584291556063275412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7551b48e43866812687410cc03be59dc, type: 3} + m_Name: + m_EditorClassIdentifier: + syncMode: 0 + syncInterval: 0.1 + rigidbody: {fileID: 8584291556063275410} + sprite: {fileID: 8584291556063275423} + invertSprite: 1 + animator: {fileID: 8584291556063275409} + groundLayerMask: + serializedVersion: 2 + m_Bits: 256 + isGrounded: 1 + isSwimming: 0 + groundChecker: {fileID: 0} + gravity: {x: 0, y: 0} + buoyantForce: 0 + buoyantSpd: 0 + moveSpeed: 0.05 + jumpForce: 55 + jumpDuration: 0.2 + jumpSFX: {fileID: 0} + listenToInput: 1 + inWater: 0 + waterBoost: 0 +--- !u!61 &8584291556063275411 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.24, y: 1.42} + newSize: {x: 1.24, y: 1.42} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1.24, y: 1.42} + m_EdgeRadius: 0 +--- !u!50 &8584291556063275410 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!95 &8584291556063275409 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &345238637415786487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3} + m_Name: + m_EditorClassIdentifier: + sceneId: 0 + serverOnly: 0 + visible: 0 + m_AssetId: 50c59bfe296a0ab3ca72103abcfa1d1a + hasSpawned: 0 +--- !u!114 &3855804468415881115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8584291556063275422} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3} + m_Name: + m_EditorClassIdentifier: + syncMode: 0 + syncInterval: 0.1 + clientAuthority: 1 + sendInterval: 0.05 + syncPosition: 1 + syncRotation: 1 + syncScale: 0 + interpolatePosition: 1 + interpolateRotation: 1 + interpolateScale: 0 + bufferTimeMultiplier: 1 + bufferSizeLimit: 64 + catchupThreshold: 4 + catchupMultiplier: 0.1 + showGizmos: 0 + showOverlay: 0 + overlayColor: {r: 0, g: 0, b: 0, a: 0.5} diff --git a/Assets/Prefabs/picopark.prefab.meta b/Assets/Prefabs/picopark.prefab.meta new file mode 100644 index 0000000..2fbef9d --- /dev/null +++ b/Assets/Prefabs/picopark.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 50c59bfe296a0ab3ca72103abcfa1d1a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity new file mode 100644 index 0000000..26b4839 --- /dev/null +++ b/Assets/Scenes/MainMenu.unity @@ -0,0 +1,4970 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &4091767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4091768} + - component: {fileID: 4091770} + - component: {fileID: 4091769} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4091768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4091767} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 460459964} + m_RootOrder: 4 + 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.000012398, y: 229} + m_SizeDelta: {x: 621.5, y: 68.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4091769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4091767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.5053441, b: 0.08962262, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 60 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: nano park +--- !u!222 &4091770 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4091767} + m_CullTransparentMesh: 0 +--- !u!1 &8920551 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8920552} + - component: {fileID: 8920554} + - component: {fileID: 8920553} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8920552 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8920551} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 507669593} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 7.600006, y: 0} + m_SizeDelta: {x: 35, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8920553 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8920551} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &8920554 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8920551} + m_CullTransparentMesh: 0 +--- !u!1 &18825550 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 18825551} + - component: {fileID: 18825553} + - component: {fileID: 18825552} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &18825551 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18825550} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1623347245} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &18825552 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18825550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &18825553 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18825550} + m_CullTransparentMesh: 0 +--- !u!1 &119645373 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 119645377} + - component: {fileID: 119645376} + - component: {fileID: 119645375} + - component: {fileID: 119645374} + - component: {fileID: 119645378} + m_Layer: 0 + m_Name: NetworkManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &119645374 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119645373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9c4cbff877abc42448dd829920c6c233, type: 3} + m_Name: + m_EditorClassIdentifier: + directConnectTransport: {fileID: 999744312} + showDebugLogs: 0 +--- !u!114 &119645375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119645373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7064b1b1d0671194baf55fa8d5f564d6, type: 3} + m_Name: + m_EditorClassIdentifier: + clientToServerTransport: {fileID: 748265181} + serverIP: 161.97.127.136 + serverPort: 33611 + endpointServerPort: 8082 + heartBeatInterval: 3 + connectOnAwake: 1 + authenticationKey: HelloWorld@123 + disconnectedFromRelay: + m_PersistentCalls: + m_Calls: [] + connectedToRelay: + m_PersistentCalls: + m_Calls: [] + useNATPunch: 0 + NATPunchtroughPort: 1 + useLoadBalancer: 0 + loadBalancerPort: 7070 + loadBalancerAddress: 127.0.0.1 + serverName: My awesome server! + extraServerData: Map 1 + maxServerPlayers: 10 + isPublicServer: 1 + serverListUpdated: + m_PersistentCalls: + m_Calls: [] + serverStatus: Not Started. + serverId: + region: 1 +--- !u!114 &119645376 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119645373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8aab4c8111b7c411b9b92cf3dbc5bd4e, type: 3} + m_Name: + m_EditorClassIdentifier: + dontDestroyOnLoad: 1 + PersistNetworkManagerToOfflineScene: 0 + runInBackground: 1 + autoStartServerBuild: 1 + serverTickRate: 30 + offlineScene: + onlineScene: + transport: {fileID: 119645375} + networkAddress: localhost + maxConnections: 100 + disconnectInactiveConnections: 0 + disconnectInactiveTimeout: 60 + authenticator: {fileID: 0} + playerPrefab: {fileID: 8584291556063275422, guid: 50c59bfe296a0ab3ca72103abcfa1d1a, + type: 3} + autoCreatePlayer: 1 + playerSpawnMethod: 0 + spawnPrefabs: [] +--- !u!4 &119645377 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119645373} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 549.18726, y: 276.28845, z: -35.125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 748265182} + - {fileID: 999744313} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &119645378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 119645373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6442dc8070ceb41f094e44de0bf87274, type: 3} + m_Name: + m_EditorClassIdentifier: + showGUI: 1 + offsetX: 0 + offsetY: 0 +--- !u!1 &135854319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 135854320} + - component: {fileID: 135854322} + - component: {fileID: 135854321} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &135854320 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135854319} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2075223912} + 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: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &135854321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135854319} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.48175287, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &135854322 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135854319} + m_CullTransparentMesh: 0 +--- !u!1 &182560529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 182560530} + - component: {fileID: 182560532} + - component: {fileID: 182560531} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &182560530 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182560529} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 669647880} + 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.000012398, y: 0} + m_SizeDelta: {x: 621.5, y: 68.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &182560531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182560529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.5053441, b: 0.08962262, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 60 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: LOADING... +--- !u!222 &182560532 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182560529} + m_CullTransparentMesh: 0 +--- !u!1 &191069528 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 191069529} + - component: {fileID: 191069530} + m_Layer: 5 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &191069529 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191069528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 826408260} + m_Father: {fileID: 334495266} + 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: 350, y: 3.2602682} + m_SizeDelta: {x: 700, y: 300} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &191069530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191069528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!1 &191347232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 191347233} + - component: {fileID: 191347236} + - component: {fileID: 191347235} + - component: {fileID: 191347234} + m_Layer: 5 + m_Name: btn_back (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &191347233 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191347232} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1924143148} + m_Father: {fileID: 1596694918} + m_RootOrder: 1 + 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: -5, y: 81} + m_SizeDelta: {x: 190.8, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &191347234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191347232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 191347235} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 426841344} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &191347235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191347232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &191347236 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191347232} + m_CullTransparentMesh: 0 +--- !u!1 &207541730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 207541731} + - component: {fileID: 207541733} + - component: {fileID: 207541732} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &207541731 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 207541730} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2081822806} + 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: -82.5, y: 0} + m_SizeDelta: {x: 165, y: 22.2} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &207541732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 207541730} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8962264, g: 0.47103906, b: 0.008454986, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &207541733 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 207541730} + m_CullTransparentMesh: 0 +--- !u!1 &216809019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 216809020} + - component: {fileID: 216809022} + - component: {fileID: 216809021} + m_Layer: 5 + m_Name: Text (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &216809020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216809019} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 426841345} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 192, y: -37} + m_SizeDelta: {x: 309.6, y: 45.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &216809021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216809019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.3279541, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'visible to public :' +--- !u!222 &216809022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216809019} + m_CullTransparentMesh: 0 +--- !u!1 &265593948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 265593949} + - component: {fileID: 265593951} + - component: {fileID: 265593950} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &265593949 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 265593948} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 538701693} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &265593950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 265593948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back +--- !u!222 &265593951 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 265593948} + m_CullTransparentMesh: 0 +--- !u!1 &279343214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 279343217} + - component: {fileID: 279343216} + - component: {fileID: 279343215} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &279343215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 279343214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &279343216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 279343214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &279343217 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 279343214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &328088079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 328088082} + - component: {fileID: 328088081} + - component: {fileID: 328088080} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &328088080 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328088079} + m_Enabled: 1 +--- !u!20 &328088081 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328088079} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &328088082 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328088079} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &329581558 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 329581559} + - component: {fileID: 329581562} + - component: {fileID: 329581561} + - component: {fileID: 329581560} + m_Layer: 5 + m_Name: btn_back (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &329581559 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329581558} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1680289179} + m_Father: {fileID: 765427587} + m_RootOrder: 2 + 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: -5, y: -160.9} + m_SizeDelta: {x: 190.8, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &329581560 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329581558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 329581561} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 765427586} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1596694917} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &329581561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329581558} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &329581562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329581558} + m_CullTransparentMesh: 0 +--- !u!1 &334495265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 334495266} + - component: {fileID: 334495270} + - component: {fileID: 334495269} + - component: {fileID: 334495267} + - component: {fileID: 334495271} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &334495266 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334495265} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 191069529} + m_Father: {fileID: 855704758} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -21.850025} + m_SizeDelta: {x: 0, y: -43.69995} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &334495267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334495265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 191069529} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 334495266} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &334495269 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334495265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &334495270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334495265} + m_CullTransparentMesh: 0 +--- !u!114 &334495271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334495265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &339747108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 339747109} + - component: {fileID: 339747111} + - component: {fileID: 339747110} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &339747109 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339747108} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 528708157} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &339747110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339747108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back +--- !u!222 &339747111 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339747108} + m_CullTransparentMesh: 0 +--- !u!1 &426841344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 426841345} + - component: {fileID: 426841347} + - component: {fileID: 426841346} + m_Layer: 5 + m_Name: Host + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &426841345 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426841344} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 576576279} + - {fileID: 960965250} + - {fileID: 528708157} + - {fileID: 1737478359} + - {fileID: 1290170657} + - {fileID: 216809020} + - {fileID: 567960490} + - {fileID: 1623347245} + - {fileID: 911045167} + - {fileID: 1372891272} + m_Father: {fileID: 460459964} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &426841346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426841344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &426841347 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 426841344} + m_CullTransparentMesh: 0 +--- !u!1 &428455322 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 428455323} + - component: {fileID: 428455325} + - component: {fileID: 428455324} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &428455323 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428455322} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 874719645} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &428455324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428455322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Join +--- !u!222 &428455325 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 428455322} + m_CullTransparentMesh: 0 +--- !u!1 &460459960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 460459964} + - component: {fileID: 460459963} + - component: {fileID: 460459962} + - component: {fileID: 460459961} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &460459961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460459960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &460459962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460459960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &460459963 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460459960} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &460459964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 460459960} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1596694918} + - {fileID: 765427587} + - {fileID: 426841345} + - {fileID: 2085694275} + - {fileID: 4091768} + - {fileID: 1587804770} + - {fileID: 669647880} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + 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: 0, y: 0} +--- !u!1 &507669592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 507669593} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &507669593 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 507669592} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8920552} + m_Father: {fileID: 1623347245} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &528708156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 528708157} + - component: {fileID: 528708160} + - component: {fileID: 528708159} + - component: {fileID: 528708158} + m_Layer: 5 + m_Name: btn_back (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &528708157 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 528708156} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 339747109} + m_Father: {fileID: 426841345} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 139, y: 43} + m_SizeDelta: {x: 190.79999, y: 54.600006} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &528708158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 528708156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 528708159} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 426841344} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1596694917} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &528708159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 528708156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &528708160 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 528708156} + m_CullTransparentMesh: 0 +--- !u!1 &538701692 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 538701693} + - component: {fileID: 538701696} + - component: {fileID: 538701695} + - component: {fileID: 538701694} + m_Layer: 5 + m_Name: btn_back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &538701693 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538701692} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 265593949} + m_Father: {fileID: 2085694275} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 295.7, y: 66} + m_SizeDelta: {x: 175.4, y: 54.600006} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &538701694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538701692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 538701695} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2085694274} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &538701695 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538701692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &538701696 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 538701692} + m_CullTransparentMesh: 0 +--- !u!1 &567960489 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 567960490} + - component: {fileID: 567960493} + - component: {fileID: 567960492} + - component: {fileID: 567960491} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &567960490 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 567960489} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1284222583} + m_Father: {fileID: 426841345} + m_RootOrder: 6 + 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: 39, y: 72.80001} + m_SizeDelta: {x: 454.9, y: 39.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &567960491 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 567960489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 567960492} + m_TextComponent: {fileID: 1284222584} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: Warlock's Lobby + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &567960492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 567960489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &567960493 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 567960489} + m_CullTransparentMesh: 0 +--- !u!1 &576576278 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 576576279} + - component: {fileID: 576576282} + - component: {fileID: 576576281} + - component: {fileID: 576576280} + m_Layer: 5 + m_Name: btn_back (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &576576279 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576576278} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1600833610} + m_Father: {fileID: 426841345} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -109, y: 43} + m_SizeDelta: {x: 190.79999, y: 54.600006} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &576576280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576576278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 576576281} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1475822001} + m_MethodName: hostClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &576576281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576576278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &576576282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576576278} + m_CullTransparentMesh: 0 +--- !u!1 &647088022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647088023} + - component: {fileID: 647088026} + - component: {fileID: 647088025} + - component: {fileID: 647088024} + m_Layer: 5 + m_Name: btn_back (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &647088023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647088022} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 906270157} + m_Father: {fileID: 765427587} + m_RootOrder: 1 + 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: -5, y: 81} + m_SizeDelta: {x: 190.8, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &647088024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647088022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 647088025} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2085694274} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &647088025 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647088022} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &647088026 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647088022} + m_CullTransparentMesh: 0 +--- !u!1 &658455021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 658455022} + - component: {fileID: 658455024} + - component: {fileID: 658455023} + m_Layer: 5 + m_Name: Image (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &658455022 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658455021} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1587804770} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -32, y: 2.2} + m_SizeDelta: {x: 20.5, y: 23.1} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &658455023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658455021} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.57300574, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e88c557aba8023277947be6e82d2215f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &658455024 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658455021} + m_CullTransparentMesh: 0 +--- !u!1 &669647879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 669647880} + - component: {fileID: 669647882} + - component: {fileID: 669647881} + - component: {fileID: 669647884} + - component: {fileID: 669647883} + m_Layer: 5 + m_Name: Play (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &669647880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 669647879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 182560530} + - {fileID: 1815580243} + - {fileID: 2081822806} + m_Father: {fileID: 460459964} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &669647881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 669647879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &669647882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 669647879} + m_CullTransparentMesh: 0 +--- !u!225 &669647883 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 669647879} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &669647884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 669647879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bdf250553f1581a5a9c0d1e2a393c97c, type: 3} + m_Name: + m_EditorClassIdentifier: + sceneName: + loadingWheel: {fileID: 1815580243} + loadingProgress: {fileID: 207541731} + serverName: + isPublic: 0 +--- !u!1 &685533038 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 685533039} + - component: {fileID: 685533041} + - component: {fileID: 685533040} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &685533039 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685533038} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2075928838} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &685533040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685533038} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.54333895, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &685533041 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685533038} + m_CullTransparentMesh: 0 +--- !u!1 &748265180 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 748265182} + - component: {fileID: 748265181} + m_Layer: 0 + m_Name: LRM - Connector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748265181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 748265180} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} + m_Name: + m_EditorClassIdentifier: + Port: 33611 + DualMode: 1 + NoDelay: 1 + Interval: 10 + Timeout: 10000 + FastResend: 2 + CongestionWindow: 0 + SendWindowSize: 4096 + ReceiveWindowSize: 4096 + NonAlloc: 1 + debugLog: 0 + statisticsGUI: 0 + statisticsLog: 0 +--- !u!4 &748265182 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 748265180} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -549.18726, y: -276.28845, z: 35.125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 119645377} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &765427586 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 765427587} + - component: {fileID: 765427589} + - component: {fileID: 765427588} + m_Layer: 5 + m_Name: Join + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &765427587 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765427586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2102555259} + - {fileID: 647088023} + - {fileID: 329581559} + m_Father: {fileID: 460459964} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &765427588 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765427586} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &765427589 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765427586} + m_CullTransparentMesh: 0 +--- !u!224 &826408260 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + m_PrefabInstance: {fileID: 6152127723245455929} + m_PrefabAsset: {fileID: 0} +--- !u!1 &855704757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 855704758} + - component: {fileID: 855704760} + - component: {fileID: 855704759} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &855704758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 855704757} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2032072676} + - {fileID: 334495266} + m_Father: {fileID: 2085694275} + 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: 2.5} + m_SizeDelta: {x: 700, y: 372.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &855704759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 855704757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.5219973, b: 0.29556784, a: 0.5294118} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &855704760 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 855704757} + m_CullTransparentMesh: 0 +--- !u!1 &874719644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 874719645} + - component: {fileID: 874719648} + - component: {fileID: 874719647} + - component: {fileID: 874719646} + m_Layer: 5 + m_Name: btn_back (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &874719645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 874719644} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 428455323} + m_Father: {fileID: 1596694918} + 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: -6, y: 8} + m_SizeDelta: {x: 190.8, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &874719646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 874719644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 874719647} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 765427586} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 +--- !u!114 &874719647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 874719644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &874719648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 874719644} + m_CullTransparentMesh: 0 +--- !u!1 &906270156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 906270157} + - component: {fileID: 906270159} + - component: {fileID: 906270158} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &906270157 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906270156} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 647088023} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &906270158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906270156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: public +--- !u!222 &906270159 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 906270156} + m_CullTransparentMesh: 0 +--- !u!1 &911045166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 911045167} + - component: {fileID: 911045169} + - component: {fileID: 911045168} + - component: {fileID: 911045170} + m_Layer: 5 + m_Name: MaxPlayerLbl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &911045167 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911045166} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 426841345} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 375, y: 27.200012} + m_SizeDelta: {x: 56.4, y: 44} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &911045168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911045166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.3279541, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1 +--- !u!222 &911045169 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911045166} + m_CullTransparentMesh: 0 +--- !u!114 &911045170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 911045166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 999d2dbf959117cb7b0a1e05d0acec67, type: 3} + m_Name: + m_EditorClassIdentifier: + slider: {fileID: 1623347246} + text: {fileID: 911045168} +--- !u!1 &960965249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 960965250} + - component: {fileID: 960965252} + - component: {fileID: 960965251} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &960965250 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 960965249} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 426841345} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 176.8, y: 165.2} + m_SizeDelta: {x: 362.3, y: 45.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &960965251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 960965249} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.3279541, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Host new Game +--- !u!222 &960965252 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 960965249} + m_CullTransparentMesh: 0 +--- !u!1 &999744311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 999744313} + - component: {fileID: 999744312} + m_Layer: 0 + m_Name: LRM - Direct Connect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &999744312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999744311} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} + m_Name: + m_EditorClassIdentifier: + Port: 7777 + DualMode: 1 + NoDelay: 1 + Interval: 10 + Timeout: 10000 + FastResend: 2 + CongestionWindow: 0 + SendWindowSize: 4096 + ReceiveWindowSize: 4096 + NonAlloc: 1 + debugLog: 0 + statisticsGUI: 0 + statisticsLog: 0 +--- !u!4 &999744313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999744311} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -549.18726, y: -276.28845, z: 35.125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 119645377} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1284222582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1284222583} + - component: {fileID: 1284222585} + - component: {fileID: 1284222584} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1284222583 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284222582} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 567960490} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1284222584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284222582} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.6981132, g: 0.5280066, b: 0.25685295, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 25 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 58 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Warlock's Lobby +--- !u!222 &1284222585 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284222582} + m_CullTransparentMesh: 0 +--- !u!1 &1290170656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1290170657} + - component: {fileID: 1290170659} + - component: {fileID: 1290170658} + m_Layer: 5 + m_Name: Text (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1290170657 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1290170656} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 426841345} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 234, y: 28} + m_SizeDelta: {x: 216.1, y: 45.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1290170658 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1290170656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.3279541, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Max Players :' +--- !u!222 &1290170659 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1290170656} + m_CullTransparentMesh: 0 +--- !u!1 &1312228675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1312228676} + - component: {fileID: 1312228678} + - component: {fileID: 1312228677} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1312228676 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1312228675} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2102555259} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1312228677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1312228675} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Private +--- !u!222 &1312228678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1312228675} + m_CullTransparentMesh: 0 +--- !u!1 &1372891271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372891272} + - component: {fileID: 1372891273} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1372891272 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1372891271} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2075223912} + m_Father: {fileID: 426841345} + m_RootOrder: 9 + 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: -167, y: -37} + m_SizeDelta: {x: 46.7, y: 41.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1372891273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1372891271} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2075223913} + toggleTransition: 1 + graphic: {fileID: 135854321} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1475822000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1475822002} + - component: {fileID: 1475822001} + m_Layer: 0 + m_Name: MainMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1475822001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1475822000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d09d35eaa4b0b70808b492564e29e265, type: 3} + m_Name: + m_EditorClassIdentifier: + usernameTxt: {fileID: 1587804771} + scrollParent: {fileID: 191069529} + serverRow: {fileID: 6152127722989631354, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + heightPerRow: 60 + curSelected: 0 + _LRM: {fileID: 119645375} + isPublic: {fileID: 1372891273} + serverNameInput: {fileID: 567960491} +--- !u!4 &1475822002 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1475822000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 849.94025, y: 136.09279, z: -84.62001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1587804769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1587804770} + - component: {fileID: 1587804772} + - component: {fileID: 1587804771} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1587804770 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587804769} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 658455022} + m_Father: {fileID: 460459964} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -89.79999, y: -23.799988} + m_SizeDelta: {x: 180.70001, y: 46.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1587804771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587804769} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.5053441, b: 0.08962262, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Warlock7 +--- !u!222 &1587804772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587804769} + m_CullTransparentMesh: 0 +--- !u!1 &1596694917 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1596694918} + - component: {fileID: 1596694920} + - component: {fileID: 1596694919} + m_Layer: 5 + m_Name: Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1596694918 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596694917} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 874719645} + - {fileID: 191347233} + m_Father: {fileID: 460459964} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1596694919 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596694917} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1596694920 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1596694917} + m_CullTransparentMesh: 0 +--- !u!1 &1600833609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1600833610} + - component: {fileID: 1600833612} + - component: {fileID: 1600833611} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1600833610 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600833609} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 576576279} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1600833611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600833609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Host +--- !u!222 &1600833612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600833609} + m_CullTransparentMesh: 0 +--- !u!1 &1623347244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1623347245} + - component: {fileID: 1623347246} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1623347245 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623347244} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 18825551} + - {fileID: 2075928838} + - {fileID: 507669593} + m_Father: {fileID: 426841345} + m_RootOrder: 7 + 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: 57, y: 27} + m_SizeDelta: {x: 419, y: 36.2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1623347246 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1623347244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8920553} + m_FillRect: {fileID: 685533039} + m_HandleRect: {fileID: 8920552} + m_Direction: 0 + m_MinValue: 1 + m_MaxValue: 10 + m_WholeNumbers: 1 + m_Value: 1 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1680289178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1680289179} + - component: {fileID: 1680289181} + - component: {fileID: 1680289180} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1680289179 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680289178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 329581559} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1680289180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680289178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: back +--- !u!222 &1680289181 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1680289178} + m_CullTransparentMesh: 0 +--- !u!1 &1737478358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1737478359} + - component: {fileID: 1737478361} + - component: {fileID: 1737478360} + m_Layer: 5 + m_Name: Text (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1737478359 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737478358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 426841345} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 249.9, y: 72} + m_SizeDelta: {x: 216.1, y: 45.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1737478360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737478358} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.764151, g: 0.3279541, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 29 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 61 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Room name :' +--- !u!222 &1737478361 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1737478358} + m_CullTransparentMesh: 0 +--- !u!1 &1815580242 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1815580243} + - component: {fileID: 1815580245} + - component: {fileID: 1815580244} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1815580243 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815580242} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 669647880} + m_RootOrder: 1 + 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: -198.3, y: -2.5} + m_SizeDelta: {x: 22.9, y: 25.515} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1815580244 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815580242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8962264, g: 0.47103906, b: 0.008454986, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e88c557aba8023277947be6e82d2215f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1815580245 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815580242} + m_CullTransparentMesh: 0 +--- !u!1 &1924143147 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1924143148} + - component: {fileID: 1924143150} + - component: {fileID: 1924143149} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1924143148 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1924143147} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 191347233} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1924143149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1924143147} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 32 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Host +--- !u!222 &1924143150 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1924143147} + m_CullTransparentMesh: 0 +--- !u!1 &2032072675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032072676} + - component: {fileID: 2032072678} + - component: {fileID: 2032072677} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2032072676 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032072675} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 855704758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -23.2} + m_SizeDelta: {x: 0, y: 45.4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2032072677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032072675} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.35062516, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: aa5beb46a7b830442a612d72f0278ded, type: 3} + m_FontSize: 34 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Servers +--- !u!222 &2032072678 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2032072675} + m_CullTransparentMesh: 0 +--- !u!1 &2075223911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2075223912} + - component: {fileID: 2075223914} + - component: {fileID: 2075223913} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2075223912 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075223911} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 135854320} + m_Father: {fileID: 1372891272} + 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: 23.350006, y: -20.800018} + m_SizeDelta: {x: 46.7, y: 41.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2075223913 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075223911} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2075223914 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075223911} + m_CullTransparentMesh: 0 +--- !u!1 &2075928837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2075928838} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2075928838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075928837} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 685533039} + m_Father: {fileID: 1623347245} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2081822805 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2081822806} + - component: {fileID: 2081822808} + - component: {fileID: 2081822807} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2081822806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081822805} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 207541731} + m_Father: {fileID: 669647880} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -135, y: 35} + m_SizeDelta: {x: 170, y: 28.829987} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2081822807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081822805} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2081822808 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081822805} + m_CullTransparentMesh: 0 +--- !u!1 &2085694274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2085694275} + - component: {fileID: 2085694277} + - component: {fileID: 2085694276} + m_Layer: 5 + m_Name: ServerBrowser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2085694275 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2085694274} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 855704758} + - {fileID: 538701693} + m_Father: {fileID: 460459964} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2085694276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2085694274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2085694277 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2085694274} + m_CullTransparentMesh: 0 +--- !u!1 &2102555258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2102555259} + - component: {fileID: 2102555262} + - component: {fileID: 2102555261} + - component: {fileID: 2102555260} + m_Layer: 5 + m_Name: btn_back (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2102555259 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102555258} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1312228676} + m_Father: {fileID: 765427587} + 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: -6, y: 8} + m_SizeDelta: {x: 190.8, y: 54.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2102555260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102555258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2102555261} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2102555261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102555258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9245283, g: 0.44443506, b: 0.03488783, a: 0.7921569} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2102555262 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102555258} + m_CullTransparentMesh: 0 +--- !u!1001 &6152127723245455929 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 191069529} + m_Modifications: + - target: {fileID: 6152127722989631354, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_Name + value: ServerRow + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_SizeDelta.x + value: 700 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_SizeDelta.y + value: 55 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6152127722989631357, guid: 3f62fc59c204feac2b00cff4c945109d, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3f62fc59c204feac2b00cff4c945109d, type: 3} diff --git a/Assets/Scenes/MainMenu.unity.meta b/Assets/Scenes/MainMenu.unity.meta new file mode 100644 index 0000000..92d4c7b --- /dev/null +++ b/Assets/Scenes/MainMenu.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 30be7b4e23f01d9c9a57f18dd93ffc8c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index c8f7760..e234596 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -229,189 +229,6 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 2.25, y: 2.25} m_EdgeRadius: 0 ---- !u!1 &517436246 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517436248} - - component: {fileID: 517436247} - - component: {fileID: 517436252} - - component: {fileID: 517436251} - - component: {fileID: 517436250} - - component: {fileID: 517436249} - m_Layer: 0 - m_Name: picopark - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!212 &517436247 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: e88c557aba8023277947be6e82d2215f, type: 3} - m_Color: {r: 0, g: 1, b: 0.044991016, a: 1} - m_FlipX: 1 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1.24, y: 1.42} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 ---- !u!4 &517436248 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.9, y: -3.55, z: 0} - m_LocalScale: {x: 0.641, y: 0.619, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &517436249 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 0} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!50 &517436250 -Rigidbody2D: - serializedVersion: 4 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_BodyType: 0 - m_Simulated: 1 - m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: 0.05 - m_GravityScale: 1 - m_Material: {fileID: 0} - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!61 &517436251 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0.5, y: 0.5} - oldSize: {x: 1.24, y: 1.42} - newSize: {x: 1.24, y: 1.42} - adaptiveTilingThreshold: 0.5 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 1.24, y: 1.42} - m_EdgeRadius: 0 ---- !u!114 &517436252 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517436246} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7551b48e43866812687410cc03be59dc, type: 3} - m_Name: - m_EditorClassIdentifier: - rigidbody: {fileID: 517436250} - sprite: {fileID: 517436247} - invertSprite: 1 - animator: {fileID: 517436249} - groundLayerMask: - serializedVersion: 2 - m_Bits: 256 - isGrounded: 1 - isSwimming: 0 - groundChecker: {fileID: 0} - gravity: {x: 0, y: 0} - buoyantForce: 0 - buoyantSpd: 0 - moveSpeed: 0.1 - jumpForce: 75 - jumpDuration: 0.2 - jumpSFX: {fileID: 0} - listenToInput: 1 - inWater: 0 - waterBoost: 0 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -570,8 +387,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2141095116} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.04, y: -3.04, z: 0} - m_LocalScale: {x: 1.464, y: 1.625, z: 1} + m_LocalPosition: {x: 0.1868, y: -3.486, z: 0.102} + m_LocalScale: {x: 1.0104527, y: 0.93892497, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 diff --git a/Assets/ScriptTemplates.meta b/Assets/ScriptTemplates.meta new file mode 100644 index 0000000..0dfbf44 --- /dev/null +++ b/Assets/ScriptTemplates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c00361129d75a941a732ef88e326a4f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt b/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt new file mode 100644 index 0000000..f0c0669 --- /dev/null +++ b/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt @@ -0,0 +1,244 @@ +using System; +using UnityEngine; +using UnityEngine.SceneManagement; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-manager + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkManager.html +*/ + +public class #SCRIPTNAME# : NetworkManager +{ + #region Unity Callbacks + + public override void OnValidate() + { + base.OnValidate(); + } + + /// + /// Runs on both Server and Client + /// Networking is NOT initialized when this fires + /// + public override void Awake() + { + base.Awake(); + } + + /// + /// Runs on both Server and Client + /// Networking is NOT initialized when this fires + /// + public override void Start() + { + base.Start(); + } + + /// + /// Runs on both Server and Client + /// + public override void LateUpdate() + { + base.LateUpdate(); + } + + /// + /// Runs on both Server and Client + /// + public override void OnDestroy() + { + base.OnDestroy(); + } + + #endregion + + #region Start & Stop + + /// + /// Set the frame rate for a headless server. + /// Override if you wish to disable the behavior or set your own tick rate. + /// + public override void ConfigureHeadlessFrameRate() + { + base.ConfigureHeadlessFrameRate(); + } + + /// + /// called when quitting the application by closing the window / pressing stop in the editor + /// + public override void OnApplicationQuit() + { + base.OnApplicationQuit(); + } + + #endregion + + #region Scene Management + + /// + /// This causes the server to switch scenes and sets the networkSceneName. + /// Clients that connect to this server will automatically switch to this scene. This is called automatically if onlineScene or offlineScene are set, but it can be called from user code to switch scenes again while the game is in progress. This automatically sets clients to be not-ready. The clients must call NetworkClient.Ready() again to participate in the new scene. + /// + /// + public override void ServerChangeScene(string newSceneName) + { + base.ServerChangeScene(newSceneName); + } + + /// + /// Called from ServerChangeScene immediately before SceneManager.LoadSceneAsync is executed + /// This allows server to do work / cleanup / prep before the scene changes. + /// + /// Name of the scene that's about to be loaded + public override void OnServerChangeScene(string newSceneName) { } + + /// + /// Called on the server when a scene is completed loaded, when the scene load was initiated by the server with ServerChangeScene(). + /// + /// The name of the new scene. + public override void OnServerSceneChanged(string sceneName) { } + + /// + /// Called from ClientChangeScene immediately before SceneManager.LoadSceneAsync is executed + /// This allows client to do work / cleanup / prep before the scene changes. + /// + /// Name of the scene that's about to be loaded + /// Scene operation that's about to happen + /// true to indicate that scene loading will be handled through overrides + public override void OnClientChangeScene(string newSceneName, SceneOperation sceneOperation, bool customHandling) { } + + /// + /// Called on clients when a scene has completed loaded, when the scene load was initiated by the server. + /// Scene changes can cause player objects to be destroyed. The default implementation of OnClientSceneChanged in the NetworkManager is to add a player object for the connection if no player object exists. + /// + public override void OnClientSceneChanged() + { + base.OnClientSceneChanged(); + } + + #endregion + + #region Server System Callbacks + + /// + /// Called on the server when a new client connects. + /// Unity calls this on the Server when a Client connects to the Server. Use an override to tell the NetworkManager what to do when a client connects to the server. + /// + /// Connection from client. + public override void OnServerConnect(NetworkConnection conn) { } + + /// + /// Called on the server when a client is ready. + /// The default implementation of this function calls NetworkServer.SetClientReady() to continue the network setup process. + /// + /// Connection from client. + public override void OnServerReady(NetworkConnection conn) + { + base.OnServerReady(conn); + } + + /// + /// Called on the server when a client adds a new player with ClientScene.AddPlayer. + /// The default implementation for this function creates a new player object from the playerPrefab. + /// + /// Connection from client. + public override void OnServerAddPlayer(NetworkConnection conn) + { + base.OnServerAddPlayer(conn); + } + + /// + /// Called on the server when a client disconnects. + /// This is called on the Server when a Client disconnects from the Server. Use an override to decide what should happen when a disconnection is detected. + /// + /// Connection from client. + public override void OnServerDisconnect(NetworkConnection conn) + { + base.OnServerDisconnect(conn); + } + + /// + /// Called on server when transport raises an exception. + /// NetworkConnection may be null. + /// + /// Connection of the client...may be null + /// Exception thrown from the Transport. + public override void OnServerError(NetworkConnection conn, Exception exception) { } + + #endregion + + #region Client System Callbacks + + /// + /// Called on the client when connected to a server. + /// The default implementation of this function sets the client as ready and adds a player. Override the function to dictate what happens when the client connects. + /// + public override void OnClientConnect() + { + base.OnClientConnect(); + } + + /// + /// Called on clients when disconnected from a server. + /// This is called on the client when it disconnects from the server. Override this function to decide what happens when the client disconnects. + /// + public override void OnClientDisconnect() + { + base.OnClientDisconnect(); + } + + /// + /// Called on clients when a servers tells the client it is no longer ready. + /// This is commonly used when switching scenes. + /// + public override void OnClientNotReady() { } + + /// + /// Called on client when transport raises an exception. + /// + /// Exception thrown from the Transport. + public override void OnClientError(Exception exception) { } + + #endregion + + #region Start & Stop Callbacks + + // Since there are multiple versions of StartServer, StartClient and StartHost, to reliably customize + // their functionality, users would need override all the versions. Instead these callbacks are invoked + // from all versions, so users only need to implement this one case. + + /// + /// This is invoked when a host is started. + /// StartHost has multiple signatures, but they all cause this hook to be called. + /// + public override void OnStartHost() { } + + /// + /// This is invoked when a server is started - including when a host is started. + /// StartServer has multiple signatures, but they all cause this hook to be called. + /// + public override void OnStartServer() { } + + /// + /// This is invoked when the client is started. + /// + public override void OnStartClient() { } + + /// + /// This is called when a host is stopped. + /// + public override void OnStopHost() { } + + /// + /// This is called when a server is stopped - including when a host is stopped. + /// + public override void OnStopServer() { } + + /// + /// This is called when a client is stopped. + /// + public override void OnStopClient() { } + + #endregion +} diff --git a/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt.meta b/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt.meta new file mode 100644 index 0000000..6221c57 --- /dev/null +++ b/Assets/ScriptTemplates/50-Mirror__Network Manager-NewNetworkManager.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed73cc79a95879d4abd948a36043c798 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt b/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt new file mode 100644 index 0000000..22ad46d --- /dev/null +++ b/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt @@ -0,0 +1,90 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Mirror; +using UnityEngine; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-authenticators + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkAuthenticator.html +*/ + +public class #SCRIPTNAME# : NetworkAuthenticator +{ + #region Messages + + public struct AuthRequestMessage : NetworkMessage { } + + public struct AuthResponseMessage : NetworkMessage { } + + #endregion + + #region Server + + /// + /// Called on server from StartServer to initialize the Authenticator + /// Server message handlers should be registered in this method. + /// + public override void OnStartServer() + { + // register a handler for the authentication request we expect from client + NetworkServer.RegisterHandler(OnAuthRequestMessage, false); + } + + /// + /// Called on server from OnServerAuthenticateInternal when a client needs to authenticate + /// + /// Connection to client. + public override void OnServerAuthenticate(NetworkConnection conn) { } + + /// + /// Called on server when the client's AuthRequestMessage arrives + /// + /// Connection to client. + /// The message payload + public void OnAuthRequestMessage(NetworkConnection conn, AuthRequestMessage msg) + { + AuthResponseMessage authResponseMessage = new AuthResponseMessage(); + + conn.Send(authResponseMessage); + + // Accept the successful authentication + ServerAccept(conn); + } + + #endregion + + #region Client + + /// + /// Called on client from StartClient to initialize the Authenticator + /// Client message handlers should be registered in this method. + /// + public override void OnStartClient() + { + // register a handler for the authentication response we expect from server + NetworkClient.RegisterHandler(OnAuthResponseMessage, false); + } + + /// + /// Called on client from OnClientAuthenticateInternal when a client needs to authenticate + /// + public override void OnClientAuthenticate() + { + AuthRequestMessage authRequestMessage = new AuthRequestMessage(); + + NetworkClient.Send(authRequestMessage); + } + + /// + /// Called on client when the server's AuthResponseMessage arrives + /// + /// The message payload + public void OnAuthResponseMessage(AuthResponseMessage msg) + { + // Authentication has been accepted + ClientAccept(); + } + + #endregion +} diff --git a/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt.meta b/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt.meta new file mode 100644 index 0000000..be22fe6 --- /dev/null +++ b/Assets/ScriptTemplates/51-Mirror__Network Authenticator-NewNetworkAuthenticator.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 12dc04aca2d89f744bef5a65622ba708 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt b/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt new file mode 100644 index 0000000..544ead6 --- /dev/null +++ b/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt @@ -0,0 +1,61 @@ +using System.Collections.Generic; +using UnityEngine; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/guides/networkbehaviour + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkBehaviour.html +*/ + +// NOTE: Do not put objects in DontDestroyOnLoad (DDOL) in Awake. You can do that in Start instead. + +public class #SCRIPTNAME# : NetworkBehaviour +{ + #region Start & Stop Callbacks + + /// + /// This is invoked for NetworkBehaviour objects when they become active on the server. + /// This could be triggered by NetworkServer.Listen() for objects in the scene, or by NetworkServer.Spawn() for objects that are dynamically created. + /// This will be called for objects on a "host" as well as for object on a dedicated server. + /// + public override void OnStartServer() { } + + /// + /// Invoked on the server when the object is unspawned + /// Useful for saving object data in persistent storage + /// + public override void OnStopServer() { } + + /// + /// Called on every NetworkBehaviour when it is activated on a client. + /// Objects on the host have this function called, as there is a local client on the host. The values of SyncVars on object are guaranteed to be initialized correctly with the latest state from the server when this function is called on the client. + /// + public override void OnStartClient() { } + + /// + /// This is invoked on clients when the server has caused this object to be destroyed. + /// This can be used as a hook to invoke effects or do client specific cleanup. + /// + public override void OnStopClient() { } + + /// + /// Called when the local player object has been set up. + /// This happens after OnStartClient(), as it is triggered by an ownership message from the server. This is an appropriate place to activate components or functionality that should only be active for the local player, such as cameras and input. + /// + public override void OnStartLocalPlayer() { } + + /// + /// This is invoked on behaviours that have authority, based on context and NetworkIdentity.hasAuthority. + /// This is called after OnStartServer and before OnStartClient. + /// When AssignClientAuthority is called on the server, this will be called on the client that owns the object. When an object is spawned with NetworkServer.Spawn with a NetworkConnection parameter included, this will be called on the client that owns the object. + /// + public override void OnStartAuthority() { } + + /// + /// This is invoked on behaviours when authority is removed. + /// When NetworkIdentity.RemoveClientAuthority is called on the server, this will be called on the client that owns the object. + /// + public override void OnStopAuthority() { } + + #endregion +} diff --git a/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt.meta b/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt.meta new file mode 100644 index 0000000..c5a0018 --- /dev/null +++ b/Assets/ScriptTemplates/52-Mirror__Network Behaviour-NewNetworkBehaviour.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 29b2ae9aeacc49b47b711838dd1876a4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt b/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt new file mode 100644 index 0000000..7ad5b77 --- /dev/null +++ b/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using UnityEngine; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/guides/interest-management + API Reference: https://mirror-networking.com/docs/api/Mirror.InterestManagement.html +*/ + +// NOTE: Attach this component to the same object as your Network Manager. + +public class #SCRIPTNAME# : InterestManagement +{ + /// + /// Callback used by the visibility system to determine if an observer (client) can see the NetworkIdentity. + /// If this function returns true, the network connection will be added as an observer. + /// + /// Object to be observed (or not) by a client + /// Network Connection of a client. + /// True if the client can see this object. + [ServerCallback] + public override bool OnCheckObserver(NetworkIdentity identity, NetworkConnection newObserver) + { + // Default behaviour of making the identity object visible to all clients. + // Replace this code with your own logic as appropriate. + return true; + } + + /// + /// Callback used by the visibility system to determine if an observer (client) can see the NetworkIdentity. + /// Add connections to newObservers that should see the identity object. + /// + /// Object to be observed (or not) by clients + /// cached hashset to put the result into + /// true if being rebuilt for the first time + [ServerCallback] + public override void OnRebuildObservers(NetworkIdentity identity, HashSet newObservers, bool initialize) + { + // Default behaviour of making the identity object visible to all clients. + // Replace this code with your own logic as appropriate. + foreach (NetworkConnectionToClient conn in NetworkServer.connections.Values) + newObservers.Add(conn); + } + + /// + /// Called on the server when a new networked object is spawned. + /// + /// NetworkIdentity of the object being spawned + [ServerCallback] + public override void OnSpawned(NetworkIdentity identity) { } + + /// + /// Called on the server when a networked object is destroyed. + /// + /// NetworkIdentity of the object being destroyed + [ServerCallback] + public override void OnDestroyed(NetworkIdentity identity) { } + + /// + /// Callback used by the visibility system for objects on a host. + /// Objects on a host (with a local client) cannot be disabled or destroyed when + /// they are not visible to the local client, so this function is called to allow + /// custom code to hide these objects. + /// A typical implementation will disable renderer components on the object. + /// This is only called on local clients on a host. + /// + /// NetworkIdentity of the object being considered for visibility + /// True if the identity object should be visible to the host client + [ServerCallback] + public override void SetHostVisibility(NetworkIdentity identity, bool visible) + { + base.SetHostVisibility(identity, visible); + } + + /// + /// Called by NetworkServer in Initialize and Shutdown + /// + [ServerCallback] + public override void Reset() { } + + [ServerCallback] + void Update() + { + // Here is where you'd need to evaluate if observers need to be rebuilt, + // either for a specific object, a subset of objects, or all objects. + + // Review the code in the various Interest Management components + // included with Mirror for inspiration: + // - Distance Interest Management + // - Spatial Hash Interest Management + // - Scene Interest Management + // - Match Interest Management + // - Team Interest Management + } +} diff --git a/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt.meta b/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt.meta new file mode 100644 index 0000000..328373e --- /dev/null +++ b/Assets/ScriptTemplates/53-Mirror__Custom Interest Management-CustomInterestManagement.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fc1892bf5b3ab304a9be7b71d05b6ae8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt b/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt new file mode 100644 index 0000000..69e0d54 --- /dev/null +++ b/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt @@ -0,0 +1,178 @@ +using UnityEngine; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-room-manager + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkRoomManager.html + + See Also: NetworkManager + Documentation: https://mirror-networking.gitbook.io/docs/components/network-manager + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkManager.html +*/ + +/// +/// This is a specialized NetworkManager that includes a networked room. +/// The room has slots that track the joined players, and a maximum player count that is enforced. +/// It requires that the NetworkRoomPlayer component be on the room player objects. +/// NetworkRoomManager is derived from NetworkManager, and so it implements many of the virtual functions provided by the NetworkManager class. +/// +public class #SCRIPTNAME# : NetworkRoomManager +{ + #region Server Callbacks + + /// + /// This is called on the server when the server is started - including when a host is started. + /// + public override void OnRoomStartServer() { } + + /// + /// This is called on the server when the server is stopped - including when a host is stopped. + /// + public override void OnRoomStopServer() { } + + /// + /// This is called on the host when a host is started. + /// + public override void OnRoomStartHost() { } + + /// + /// This is called on the host when the host is stopped. + /// + public override void OnRoomStopHost() { } + + /// + /// This is called on the server when a new client connects to the server. + /// + /// The new connection. + public override void OnRoomServerConnect(NetworkConnection conn) { } + + /// + /// This is called on the server when a client disconnects. + /// + /// The connection that disconnected. + public override void OnRoomServerDisconnect(NetworkConnection conn) { } + + /// + /// This is called on the server when a networked scene finishes loading. + /// + /// Name of the new scene. + public override void OnRoomServerSceneChanged(string sceneName) { } + + /// + /// This allows customization of the creation of the room-player object on the server. + /// By default the roomPlayerPrefab is used to create the room-player, but this function allows that behaviour to be customized. + /// + /// The connection the player object is for. + /// The new room-player object. + public override GameObject OnRoomServerCreateRoomPlayer(NetworkConnection conn) + { + return base.OnRoomServerCreateRoomPlayer(conn); + } + + /// + /// This allows customization of the creation of the GamePlayer object on the server. + /// By default the gamePlayerPrefab is used to create the game-player, but this function allows that behaviour to be customized. The object returned from the function will be used to replace the room-player on the connection. + /// + /// The connection the player object is for. + /// The room player object for this connection. + /// A new GamePlayer object. + public override GameObject OnRoomServerCreateGamePlayer(NetworkConnection conn, GameObject roomPlayer) + { + return base.OnRoomServerCreateGamePlayer(conn, roomPlayer); + } + + /// + /// This allows customization of the creation of the GamePlayer object on the server. + /// This is only called for subsequent GamePlay scenes after the first one. + /// See OnRoomServerCreateGamePlayer to customize the player object for the initial GamePlay scene. + /// + /// The connection the player object is for. + public override void OnRoomServerAddPlayer(NetworkConnection conn) + { + base.OnRoomServerAddPlayer(conn); + } + + /// + /// This is called on the server when it is told that a client has finished switching from the room scene to a game player scene. + /// When switching from the room, the room-player is replaced with a game-player object. This callback function gives an opportunity to apply state from the room-player to the game-player object. + /// + /// The connection of the player + /// The room player object. + /// The game player object. + /// False to not allow this player to replace the room player. + public override bool OnRoomServerSceneLoadedForPlayer(NetworkConnection conn, GameObject roomPlayer, GameObject gamePlayer) + { + return base.OnRoomServerSceneLoadedForPlayer(conn, roomPlayer, gamePlayer); + } + + /// + /// This is called on the server when all the players in the room are ready. + /// The default implementation of this function uses ServerChangeScene() to switch to the game player scene. By implementing this callback you can customize what happens when all the players in the room are ready, such as adding a countdown or a confirmation for a group leader. + /// + public override void OnRoomServerPlayersReady() + { + base.OnRoomServerPlayersReady(); + } + + /// + /// This is called on the server when CheckReadyToBegin finds that players are not ready + /// May be called multiple times while not ready players are joining + /// + public override void OnRoomServerPlayersNotReady() { } + + #endregion + + #region Client Callbacks + + /// + /// This is a hook to allow custom behaviour when the game client enters the room. + /// + public override void OnRoomClientEnter() { } + + /// + /// This is a hook to allow custom behaviour when the game client exits the room. + /// + public override void OnRoomClientExit() { } + + /// + /// This is called on the client when it connects to server. + /// + public override void OnRoomClientConnect() { } + + /// + /// This is called on the client when disconnected from a server. + /// + public override void OnRoomClientDisconnect() { } + + /// + /// This is called on the client when a client is started. + /// + public override void OnRoomStartClient() { } + + /// + /// This is called on the client when the client stops. + /// + public override void OnRoomStopClient() { } + + /// + /// This is called on the client when the client is finished loading a new networked scene. + /// + public override void OnRoomClientSceneChanged() { } + + /// + /// Called on the client when adding a player to the room fails. + /// This could be because the room is full, or the connection is not allowed to have more players. + /// + public override void OnRoomClientAddPlayerFailed() { } + + #endregion + + #region Optional UI + + public override void OnGUI() + { + base.OnGUI(); + } + + #endregion +} diff --git a/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt.meta b/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt.meta new file mode 100644 index 0000000..fe5bc32 --- /dev/null +++ b/Assets/ScriptTemplates/54-Mirror__Network Room Manager-NewNetworkRoomManager.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2e5656107e61a93439544b91e5f541f6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt b/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt new file mode 100644 index 0000000..52d7050 --- /dev/null +++ b/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt @@ -0,0 +1,107 @@ +using UnityEngine; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-room-player + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkRoomPlayer.html +*/ + +/// +/// This component works in conjunction with the NetworkRoomManager to make up the multiplayer room system. +/// The RoomPrefab object of the NetworkRoomManager must have this component on it. +/// This component holds basic room player data required for the room to function. +/// Game specific data for room players can be put in other components on the RoomPrefab or in scripts derived from NetworkRoomPlayer. +/// +public class #SCRIPTNAME# : NetworkRoomPlayer +{ + #region Start & Stop Callbacks + + /// + /// This is invoked for NetworkBehaviour objects when they become active on the server. + /// This could be triggered by NetworkServer.Listen() for objects in the scene, or by NetworkServer.Spawn() for objects that are dynamically created. + /// This will be called for objects on a "host" as well as for object on a dedicated server. + /// + public override void OnStartServer() { } + + /// + /// Invoked on the server when the object is unspawned + /// Useful for saving object data in persistent storage + /// + public override void OnStopServer() { } + + /// + /// Called on every NetworkBehaviour when it is activated on a client. + /// Objects on the host have this function called, as there is a local client on the host. The values of SyncVars on object are guaranteed to be initialized correctly with the latest state from the server when this function is called on the client. + /// + public override void OnStartClient() { } + + /// + /// This is invoked on clients when the server has caused this object to be destroyed. + /// This can be used as a hook to invoke effects or do client specific cleanup. + /// + public override void OnStopClient() { } + + /// + /// Called when the local player object has been set up. + /// This happens after OnStartClient(), as it is triggered by an ownership message from the server. This is an appropriate place to activate components or functionality that should only be active for the local player, such as cameras and input. + /// + public override void OnStartLocalPlayer() { } + + /// + /// This is invoked on behaviours that have authority, based on context and NetworkIdentity.hasAuthority. + /// This is called after OnStartServer and before OnStartClient. + /// When is called on the server, this will be called on the client that owns the object. When an object is spawned with NetworkServer.Spawn with a NetworkConnection parameter included, this will be called on the client that owns the object. + /// + public override void OnStartAuthority() { } + + /// + /// This is invoked on behaviours when authority is removed. + /// When NetworkIdentity.RemoveClientAuthority is called on the server, this will be called on the client that owns the object. + /// + public override void OnStopAuthority() { } + + #endregion + + #region Room Client Callbacks + + /// + /// This is a hook that is invoked on all player objects when entering the room. + /// Note: isLocalPlayer is not guaranteed to be set until OnStartLocalPlayer is called. + /// + public override void OnClientEnterRoom() { } + + /// + /// This is a hook that is invoked on all player objects when exiting the room. + /// + public override void OnClientExitRoom() { } + + #endregion + + #region SyncVar Hooks + + /// + /// This is a hook that is invoked on clients when the index changes. + /// + /// The old index value + /// The new index value + public override void IndexChanged(int oldIndex, int newIndex) { } + + /// + /// This is a hook that is invoked on clients when a RoomPlayer switches between ready or not ready. + /// This function is called when the a client player calls SendReadyToBeginMessage() or SendNotReadyToBeginMessage(). + /// + /// The old readyState value + /// The new readyState value + public override void ReadyStateChanged(bool oldReadyState, bool newReadyState) { } + + #endregion + + #region Optional UI + + public override void OnGUI() + { + base.OnGUI(); + } + + #endregion +} diff --git a/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt.meta b/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt.meta new file mode 100644 index 0000000..36a48dd --- /dev/null +++ b/Assets/ScriptTemplates/55-Mirror__Network Room Player-NewNetworkRoomPlayer.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1ca8a6309173d4248bc7fa0c6ae001e0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt b/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt new file mode 100644 index 0000000..8f16194 --- /dev/null +++ b/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt @@ -0,0 +1,83 @@ +using System.Net; +using Mirror; +using Mirror.Discovery; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-discovery + API Reference: https://mirror-networking.com/docs/api/Mirror.Discovery.NetworkDiscovery.html +*/ + +public class DiscoveryRequest : NetworkMessage +{ + // Add properties for whatever information you want sent by clients + // in their broadcast messages that servers will consume. +} + +public class DiscoveryResponse : NetworkMessage +{ + // Add properties for whatever information you want the server to return to + // clients for them to display or consume for establishing a connection. +} + +public class #SCRIPTNAME# : NetworkDiscoveryBase +{ + #region Server + + /// + /// Reply to the client to inform it of this server + /// + /// + /// Override if you wish to ignore server requests based on + /// custom criteria such as language, full server game mode or difficulty + /// + /// Request coming from client + /// Address of the client that sent the request + protected override void ProcessClientRequest(DiscoveryRequest request, IPEndPoint endpoint) + { + base.ProcessClientRequest(request, endpoint); + } + + /// + /// Process the request from a client + /// + /// + /// Override if you wish to provide more information to the clients + /// such as the name of the host player + /// + /// Request coming from client + /// Address of the client that sent the request + /// A message containing information about this server + protected override DiscoveryResponse ProcessRequest(DiscoveryRequest request, IPEndPoint endpoint) + { + return new DiscoveryResponse(); + } + + #endregion + + #region Client + + /// + /// Create a message that will be broadcasted on the network to discover servers + /// + /// + /// Override if you wish to include additional data in the discovery message + /// such as desired game mode, language, difficulty, etc... + /// An instance of ServerRequest with data to be broadcasted + protected override DiscoveryRequest GetRequest() + { + return new DiscoveryRequest(); + } + + /// + /// Process the answer from a server + /// + /// + /// A client receives a reply from a server, this method processes the + /// reply and raises an event + /// + /// Response that came from the server + /// Address of the server that replied + protected override void ProcessResponse(DiscoveryResponse response, IPEndPoint endpoint) { } + + #endregion +} diff --git a/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt.meta b/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt.meta new file mode 100644 index 0000000..a034ec8 --- /dev/null +++ b/Assets/ScriptTemplates/56-Mirror__Network Discovery-NewNetworkDiscovery.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 04337367db30af3459bf9e9f3f880734 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt b/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt new file mode 100644 index 0000000..671fad7 --- /dev/null +++ b/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt @@ -0,0 +1,163 @@ +#define onlySyncOnChange_BANDWIDTH_SAVING +using System.Collections.Generic; +using UnityEngine; +using Mirror; + +/* + Documentation: https://mirror-networking.gitbook.io/docs/components/network-transform + API Reference: https://mirror-networking.com/docs/api/Mirror.NetworkTransformBase.html +*/ + +public class #SCRIPTNAME# : NetworkTransformBase +{ + protected override Transform targetComponent => transform; + + // If you need this template to reference a child target, + // replace the line above with the code below. + + /* + [Header("Target")] + public Transform target; + + protected override Transform targetComponent => target; + */ + + #region Unity Callbacks + + protected override void OnValidate() + { + base.OnValidate(); + } + + /// + /// This calls Reset() + /// + protected override void OnEnable() + { + base.OnEnable(); + } + + /// + /// This calls Reset() + /// + protected override void OnDisable() + { + base.OnDisable(); + } + + /// + /// Buffers are cleared and interpolation times are reset to zero here. + /// This may be called when you are implementing some system of not sending + /// if nothing changed, or just plain resetting if you have not received data + /// for some time, as this will prevent a long interpolation period between old + /// and just received data, as it will look like a lag. Reset() should also be + /// called when authority is changed to another client or server, to prevent + /// old buffers bugging out the interpolation if authority is changed back. + /// + public override void Reset() + { + base.Reset(); + } + + #endregion + + #region NT Base Callbacks + + /// + /// NTSnapshot struct is created from incoming data from server + /// and added to SnapshotInterpolation sorted list. + /// You may want to skip calling the base method for the local player + /// if doing client-side prediction, or perhaps pass altered values, + /// or compare the server data to local values and correct large differences. + /// + protected override void OnServerToClientSync(Vector3? position, Quaternion? rotation, Vector3? scale) + { + base.OnServerToClientSync(position, rotation, scale); + } + + /// + /// NTSnapshot struct is created from incoming data from client + /// and added to SnapshotInterpolation sorted list. + /// You may want to implement anti-cheat checks here in client authority mode. + /// + protected override void OnClientToServerSync(Vector3? position, Quaternion? rotation, Vector3? scale) + { + base.OnClientToServerSync(position, rotation, scale); + } + + /// + /// Called by both CmdTeleport and RpcTeleport on server and clients, respectively. + /// Here you can disable a Character Controller before calling the base method, + /// and re-enabling it after the base method call to avoid conflicting with it. + /// + protected override void OnTeleport(Vector3 destination) + { + base.OnTeleport(destination); + } + + /// + /// Called by both CmdTeleportAndRotate and RpcTeleportAndRotate on server and clients, respectively. + /// Here you can disable a Character Controller before calling the base method, + /// and re-enabling it after the base method call to avoid conflicting with it. + /// + protected override void OnTeleport(Vector3 destination, Quaternion rotation) + { + base.OnTeleport(destination, rotation); + } + + /// + /// NTSnapshot struct is created here + /// + protected override NTSnapshot ConstructSnapshot() + { + return base.ConstructSnapshot(); + } + + /// + /// localPosition, localRotation, and localScale are set here: + /// interpolated values are used if interpolation is enabled. + /// goal values are used if interpolation is disabled. + /// + protected override void ApplySnapshot(NTSnapshot start, NTSnapshot goal, NTSnapshot interpolated) + { + base.ApplySnapshot(start, goal, interpolated); + } + +#if onlySyncOnChange_BANDWIDTH_SAVING + + /// + /// Returns true if position, rotation AND scale are unchanged, within given sensitivity range. + /// + protected override bool CompareSnapshots(NTSnapshot currentSnapshot) + { + return base.CompareSnapshots(currentSnapshot); + } + +#endif + + #endregion + + #region GUI + +#if UNITY_EDITOR || DEVELOPMENT_BUILD + // OnGUI allocates even if it does nothing. avoid in release. + + protected override void OnGUI() + { + base.OnGUI(); + } + + protected override void DrawGizmos(SortedList buffer) + { + base.DrawGizmos(buffer); + } + + protected override void OnDrawGizmos() + { + base.OnDrawGizmos(); + } + +#endif + + #endregion +} diff --git a/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt.meta b/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt.meta new file mode 100644 index 0000000..be7e6d7 --- /dev/null +++ b/Assets/ScriptTemplates/57-Mirror__Network Transform-NewNetworkTransform.cs.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 38d41e2048919f64ea817eb343ffb09d +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainmenuController.cs b/Assets/Scripts/MainmenuController.cs new file mode 100644 index 0000000..381eb35 --- /dev/null +++ b/Assets/Scripts/MainmenuController.cs @@ -0,0 +1,113 @@ +using LightReflectiveMirror; +using Mirror; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class MainmenuController : MonoBehaviour +{ + public Text usernameTxt; + [Header("Server List")] + public Transform scrollParent; + public GameObject serverRow; + public float heightPerRow = 60; + public int curSelected = 0; + public LightReflectiveMirrorTransport _LRM; + public Toggle isPublic; + public InputField serverNameInput; + void Start() + { + + _LRM = (LightReflectiveMirrorTransport)Transport.activeTransport; + _LRM.serverListUpdated.AddListener(ServerListUpdate); + _LRM.connectedToRelay.AddListener(refreshServers); + // serverNameInput.text = usernameTxt.text + "'s Server"; + // refreshServers(); + } + + // Update is called once per frame + void Update() + { + + } + + void OnDisable() + { + if (_LRM != null) { _LRM.serverListUpdated.RemoveListener(ServerListUpdate); } + } + + public void refreshServers() + { + StartCoroutine(requestList()); + } + + IEnumerator requestList(){ + yield return new WaitForSeconds(1); + if(_LRM == null){Debug.Log("WTF!");} + _LRM.RequestServerList(); + } + + public void ServerListUpdate() + { + // + //clear all entries + Debug.Log("it works"); + foreach(Transform t in scrollParent) { Destroy(t.gameObject); } + bool b1 = false; + for (int i =0; i < _LRM.relayServerList.Count; i++) + { + //int mapId = int.Parse(_LRM.relayServerList[i].serverName.Substring(0, 1)); + GameObject go = Instantiate(serverRow, scrollParent); + go.transform.GetChild(0).GetComponent().text = _LRM.relayServerList[i].serverName; + go.transform.GetChild(1).GetComponent().text = _LRM.relayServerList[i].currentPlayers + "/" + _LRM.relayServerList[i].maxPlayers; + go.GetComponentInChildren

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Μyqb~6>QDL)D5~7m!QF` zk4({?bPla*GYov&LG91z^#ab_3RU54+P_$_9JmKp{>{`3TD8lWK-9mZG!>6^ja>w( zMf9sDujwn_h-CX+pOU6nCgTjN_LR$L(Ubg5Ztp>mom68gHkFr~xn|hNP0YNmO@}jj z+w#(7?gyH*PgV%dHO;^sL~yR%?%(3JI8x5{cTKpqtdFesIB6c;j%{?1%s9g$sL1L3 zua~7727_@Hk^-{n<}oMb!fSq9lyN&OOXBYTgPr*87M@upn zxt-O}*`c^vnS2{|4Rd}mcFH_)48X1BxJLW9j?!A=ciZF|zpWK#h^MsE>in%*)cCFh zQGNFC66nWWQoq#V_5NkZpHd(yV@!7p%Ov@eZF!qEkISFVCCSD8DkDO%oH;!fvP#-A z3=a8_iSN`W4D{5a~u}yEqx!k#7>n2evH{x&)`mv*RrKX3k&#fAM$dnyyO}>jCOP$GP z`l5OgCa2tK%nPhrGyc3+CQ}ogpleTF4Oxt+a=Tc;=VEqq;0IG?4xfWnM%{W zZQ7r0no)94{bnW^>x_@m`$DEN?Gd>NZ*RrX+bQk1z5e@}AyYXH(HrA{V@?SPvDCxP zd8J+4!;tKqj+85%{(t!}@jVr_<{e3v+`e_jwB<>KRCO;<`@bz;c zIJKeEJUY0N#$fR+xu?^?)vvx|KtYvjGK{}2N>8q2MZd1wfrCUkA3}}oPz7pYLWa8U z=1LK}&&#KSMns=wb`Osm4^b2w0b(B;MPf8-QinRmw3dW_Y<2n64krA|+3SB|09yMw z$mv)StqadHIo-|Yysn{$k8gmSj`6Tz{5s;H>1k*QLryn+L7{u-IGK}+nsAL!9x=)~ zF=D(=0-tw`(JXOGi%f8|_|L$Nn|F&XxmW?QG+Eg|pcp3x& zY?Nzxppiy7{lpT}3x=!nL>Y~Dw%|pZOX|DMd2J$DWE^B~tc?1|e^D7#jcwX5NETTy zGtuaO50gc%=qR-?S)|piWS87pUS$$ESr$16yDEB)W)hyGQGLSC?@rdf%Y;$bUwITc zCR!#6zLnm?rFw01q8$GFQsrECc)d=!u8JyYdL6RJ!N=u3l(;&R2GM}Pla5SmKysj* z#b=+1&yqaPf8UN&$7DA96dS*j^Io;P26>ldk-Gin$IU(%i^lnAZnke>Qntq3_w&n+ z^=UQw%h2VzuEqQ2Og(Jqc2W-;SXuSSZZO#H=DFK*m7A1qkfgnsw})t!vHKciE0^?# zLOu7I=hp?iW0$nh6w>dNRR12$b%?m4P!ByJ*{;b|VaF_A+E{Z@|=( zu!k-7MjYjuNe*|ML0847Dr^iLbef~v32l#2?c(T>=Q-Ly#`PPbRR@`#k8Kn)ieE!I zJ<&(qUH3rZ*J2gy`vO)Js&a1}7ZR48F*6qnc0)wIT4tPBBHV#I2{>e^gyX za!u#HnY+zCv=9^irP3uWUdvSj{Lttg&cA7z=7|ME9T0AQQ*GA89h%d6*tjoUV3QkGk3 z6<)h{46m;bm|tJX&7pi6OmYA-UBJJ))hc;xBnuWh9Ca=m@WHG-D(>e{dqiVg3;Z9n zJ2&=n4YS(q8z$PF?NMIwbX8Xq&)c2tBaS2OJ9Yse`aRSWDKZQh2xS^m65Vu5H%L+` z%Zt*EbO5s>U7cX^Tez$`ZW6a9?YHPE8I-;pjb-)k=J9MoYhsr@Vl3TvQXesyX}Rm| zPq%nV=SVRaB^(zPrt1z(!gVpMEt9!E!tKxj7YZ%$dc0f&iGh<|;ele}Ff?klZ*nN% z4DM!rkZhqQKnDBQ?QBBvVvl%N?DXA*`>B@cEy1y52byVr7~D%#!wq?;bJH=mk?NaT zVd|S{&}G~GPbf6#3X=noG0jCEi>}@7r&t1Ha1FX3ECH72=0byxouD_E@GyhB8s_Hb z#F-@MWj9e7aUC;AXIRR$=Jq$xE0ZV^Es#A2SB*>wg$DakPW)4$CmbNsOgMkAel#Qc z@uTb)TZovz9Y?D?5e;5qf+_n%is~J@9P)gj7bah)enMh!xo3`Ue;i#r{zfXd`zH?7 z;NqHAGDRB)v`2der+B16SeU88j8roY0;kMN{t!5kk=;yH5d9atj2?05yFD2G-)|4m zmRHdp%6hkl_+wsZ56<6h58f9e(HBrwjW6ZD)H~5VCAC4K_^ls&Svx)DUR~bpw zHkj|5)3I-s#}J2OARS!k^+(y_v&uG?cBssxU$jOwlL>0F4Pwfq+kk4{7B-AH+*k8q zq>?t>Y$ncJOPlUb!{gHnGa>H1e&O3<-DQcYo;0)Zy0p|;L%sTWm}wyyld^ymCpfwzovzVs{I3Eym24SgEv zMVk~?Xx@oCK)A&bjm{l!#Jlin-9f`Eayd4 zczv3Ul1{sSt=r&m@SE}DufedY!}w8Cmg@A`m?&$i+u~or6xm+<>IcE~+je5?mF3Hu zb~5?06Jj5qF)>`P9qT5aCMh`aCr1rwsSiM=#Wc;3mo#rsCij zGL4j6@P7L|*2+3hFSLZk>;2d5#CtN;%nphE!Drf%x7s7W4j}`7R??Q(+cLqHbhHlr0Te)^G4No zqpN>21}-%iXe_uq+b?;Z-=a%?hU8_{3m5q%s?=)tY7cFos$S(8tu_YDMHK(DHAT1a zp?}A}J(*q~Ge;`lT1{Arx4_OO6f%nDPUa8~TKm4uwDppMNL%mU4(52Dy>2}TOZ(g8 zh3vpiTFAPoOuP7E8QT4`;w@ zA}g%PPxd<#$Q1WGF1%l?`_(~;`!v?H+fogliEGfIT8gKC5FA~xTwct0mY60eR9QXV z#M;;N!8bFuNyF|_UUZ$wF1j}1qU+5SW*q4-J=TPg=mP7Z={|}rHf~0JZ9I#I&F>OE_hS{(MSR^^)rnAylMX=6vHa->_19}p`u~p%>b)kGjzqs8@7Y8Ds z6Zozp=1b#iGCSI~?UHXt3@TA28g{|RDC2=OG!tV14a%y-HtqOzU4wFL2Z`%u9{W#_ z`Uxkr`&@%^%m8rah~|9^%F%I;u^}Ae?{^rF-iG3S)4U}2AsBV4wi%`DQOwR)(W!85 z9?btJw3f-h&ONvT`~wD!d-2NiW5Lpcf8j3(kR}KuATyGUzp~@F=$ZlgW;0!U4Dlr! z;Rzv=$kJDKsBGfJjv?7kYZ*)?wo8*U$RL-}4WB^EN2cyM$TSlW>ur zgjr+F;8UK)4I9}!r-@YKSpFS@ekOscVOB@!&&HqRgl+e?Gljk%AW+po#IzeyG{#bU z!dxa|!mG>+NyPLi#B{7=j*tmVOt-yFJCTW)9KQFW`La&DI&`i=plXCdniE2dxkLT} z`O+*r;{)|Zeef@G{;yO%L=qIkm=e{)1{-8sEMey@n^?jl&Uu~EK<={;vMrXddE6>W z*jCe~%_g}|BxEP7WZ6S*B)N}tYlnI&llyem&y|~iW$<`30r{Nj(hyvl#Zm7^13t&j zY)q4+f0!hYGfHIi3aTOo zw@JFhqzT^Y$Dmh&n|u(nd!I2FCLfH>26ozGo?n#1aAzf5pl!B$W26aLn3RS2WUlS( z71FY?-oA7{%y!(7vkT_6R#e={ZM4P=fUcv%TX$=SKI1X=Nc%DyS;$(Qbq69dAhP#y z4Rh^dx==SCx~?=27e~eqb${>eAs_DXHvPHAi(9F0tfLI62L9Dxzxk5!r>(*5LpRi! z)lkyXKf~;iRlfTwx0<|l!~+uS`hRE~h$D~buyg8md5F)xf`HQEgRq!|!(7d-cPQ?r zSDamOzmLKW{M3Ng+{>1!Z?Z3DNm%{w7fBoro$p8iw<_2X{`l4=c?-%qP2v1Psg zE)rWVvKL)4V)!a1ZcBq!5BS#FGFE+c@K(d>`?i+q=u-O=R@Bv5>-h?@9ry#?fBnun zh+T#J+gQf|GDf10#x_&Gee_`U9^b&{pYR-0HlXTX>f-4Y!L5NWldKM!0-5{t?|_22 z^S8w?dlE)wPv-CNT@)2Irtwyq4;J7ecvKLiI#rV)W3qePL&D`7zLA%D-L3|1m9~7otyC(Hdyb}Ti*!oQ-!im?9bMW!?a%+2HpV?sQ)+Jai26Qy zzVSYmoORZhbR!h^&2Ph`WQ_~cbWB^U+w=Yq@m5}_?`?6$=|?nm5cT7=mDAUben69q z`n`p+tf&L)v>}=dw(c9q)_v~mDO$g|IlD}>=}R(UkvGpTS*upZVF&nYJYNak;1@rz z+8qnNKUn9X&fS>l_y#6d%@*=4l{=T0CV|Pad`oo;$K3`Tmv2#K%T?TDw7H#AGiVi- z;M>BCT^Zd+V8N!%#y0Xa-C!_H!n?~u=U`HreC(~D(wGKzT6)SD73;Qd;=s3!U;R)M z-|oJJ4l8YeZQ5KqtW1Si{_HoCwmE$8J|`xmsV!b#IWaH1gVRkGpvB{P7J%&t>FB|# zr}NO}3!{p4iNV7Z^MZ2>6qPYAoYDI{>Bi3Pml~M~XY|G3MeSBPFlA9XJYQi4rZ=={ zpSSKKBl47A^)iV`E*G1kHfb@5deWih?$1{Fm?CSLo@SIGu_InqLnGd4hJ3K(qeB#ig6;_G3tkz$p-3zs&fmN zuc|pI@O5@@CT8BE0j=6qll;po^tZAFaJ_ap+I|z4Jv7ao%D0@u)?)Dl?$l}#Z{bSg zG=`S&3MII+md;JhMs6z_rs26)M+F$UDa~kRUd{d%@>)z@|4!EjN9Z%x`LhE%x@PIR zUtP=kHMe!5&G!#4r>Z1UC%ALaZ?V^_w++wzG4H`qI>PPaJ;Xk?}4XB21l0$fjI;UG?Q^=x6N8Lku{!jw+PXAyx*DZ z)geczF5*$1#ybff`ozfwh+)7zkT#dv zB=D{zY&)HM){kOOSTi}oQ%sKVCxslrOtNMZojN29goU49w zY?xon#?5{-t^D7TBM1qD!dCYbUvU+X8~qk?1SV8~K&xLlLa;)P;Os6(XbRfVhaBNT zlaM29RLT(=Jka2223N=tOe9CJP3R#_Af_hC{xH0PQcNJ9HErt2(}4Aj?hxpU5?P+U5;=%9G3P;gdoxCwB6%z zELp+OPBzmbNkEk6NE#mn>6S` zoiKx}-tJk}d5QK+j_@nU9G;P#bRk)TyPNGs)kCK>5MeqD z)y!lWOvGBT9$M_DUqEjj>eg^(8ulkLFa|%Ibwy|c{(KKQA%p5Y*{q57V z@lmDOagh#ki41J2NJsxA^{2>C;bnGJ0?*(I16;{ug&=tu&g5Pkc7P_H=W%kKUSP_W zci_f>pRyfzOh@TQ#v+%@;qErJ^*>PO@1QGnA48Le@4%;?VnU797O#A|Qr9WV7921> zjM2X-uTA?ZQ)#L?mo4-E%oj5iE3MRV(1yoK>#M;HFyR(MJMfmNt@iWs4t(D&o7fI~ zREes@a8i~zIAMjGW)a97F1uj|o-1$t&7;4igl${ew4F$J!AZGfZIAp!C6i`%sDFh5 z+n%w`${F$wJoFS@)RTAMh1h`?Vjb}8fX{GtISOZ&lP#%Rs!HViFTIjL^GAU1NyD5f zr<|}fCW5JaJkX|{T#AJMD<|COJDj%u=D8iELD>3_{Y@@eXY<2UvZ^s9rbn3O+?J(u z*NzEcCi^P&U|OLE^BOegu4)Qet+6{HVGnc|yfe%1kmU{y<8oNyyW6yDOZ~>kv5>te z%v&EOMAZzzD)bbTc9;xF^>iy!+Oh2QZ^MnfaJpQ_1sk{h#PpJ29O^pLOEP*lC&^qo z5Qp3HE-rlsE>+T9FRM-O4(a`Fh%R&3HTaDoXsBzV-BmBnt1#sfO4o$NLoHN|s>cnT z>#i>Sx|}qOjd#qiaNUo+lQ=zUluj(!jzS)-OEJ~Y4e_d2;#mk?}Qyw>4^<>%+P*&D4p}i7-noYCf>%xgUw&A zgt^hMCyF2;q3w8b*=$|?Z7}g13lq=h#=|J_!KDFy6W9f(e-=gY_eXJqm@;%@VVQL< z69Y)8KUJ_UWqSTQx*KJTGH`p(bRrT1OG#x@AvCy-YXd%&w=-eDcW-8LyWcSrS=_%o zI@uL>EaJY&N|wB^%fD=0%aSl=rf%g)Tw*Mw zDNdW+2h;p)dm-D976v|D$BZB9Uv)`4Hne!C_IQ!BL-k%IY#os>^NLH_(dae<8UNM# zDbK^2%yIm+s1Mp4UyA*zbjARVpjsnKOA@+7UM5c$c)J)orG( zEpvkR*Ie51GWPPav}5Z`CrLZ10*^x4p}yT-#iSiON!metxNc1xN74>wUMH7!#O@|( z$A{LWtt9OzbVq58>3-^$0&ghK9XGJlHxT3bo$qW%;F{ra7YHd2G zi)H6R8~nQi3pbQb55dDyP795&ev5NW;(&*n znS?{yuzZ`^yZj0S8`Ao5F#0%Amw+|nI@3$E*Y%b@xwXQyVM%(eUTPZ1>g8XxgSZ9Y z*N)6$YMXNn=u!L4o~lon2V3V+;o-`V+3=7sO_-k9KZGXS8Rbhx^>a)hi&;(@sdP#aNwl!?cnFt}o5Y1|~=A^w&Or85&iB_H4 zht3JCPT2i1mY;L5#=K?SP=o13GVmNXMXB>5+k4;^QKgSpl%Gn{2m=y}nBq&fb1CIf z6q?D~?9r>s18~r^&Z5FR9pFVOF>eHVOWbVkQ}o!?TQC6KvK}TkAj0M^UCr0TJwm5W zCcJ|MbHEt}*GpHvEkkUX?4_$44AP_AX1Ude4+Q16Vw%T`R>5RkpiURYUb-rDyOF=s zB6-|vR9SJq(-19eW5!EhYXZ(EgN|t2D@>XX$HIX21(ntpDw`&EW>`GI-B-7tDPlE^ zYNM=danRd(6i_!bc?8>#T(^yat$4}P-ZIwP6jrWg;V-f9p;r+8Jr>?{gEbD}512g> zo>sZ@{aS*=vofcA(8&2)SSi}Y@?nbRRV%!CQFpt)-4pARWcQ;U%t(9#j6@{iPOr`r zHcx3;6ix3Bwaid$S2MHO5ohDv*)^&a(H_j&nP$J5N*<6OKo2(*K8<1Y$+6bNq3oqF zhbo9kp)2no3k`<4J1UKd!`Lpc`I0{k?c0iIoPIG8QO&?ZeYfd;LH-~M zTv$%`!%Bh;((r9mvURrU$?P~v+Gdo(g4lf1acNXy5KfRZ2?dkABYkCgwz?`BI;Oc^ zVI!HZgv+B7N6NmYlCKq2gV6xJZIXTllZEdqpO-vCew(8t1YC#CP%1qyb2Qv=4_iV0 zV@T6V$Ka%&+u4jXB!eHEH`-gg$Du_p!fDF_`+I|Pk7$B+X_$5Lg{=vU@#?2>k6;jBs4;j5Od4AdHbUV>|1|v+i(39mz)=yH^Vyt~oA6@=?_O zB74Ec;q@wB#(_xH7?p$tAD;AbdZB8ivS?jc1dHH$X%vq@8ptAWL~dY7*pIOY3m+|z1xx$9Est4V!&zZ74^Wk4UUJI!FJoZDAh%7oNBF|p3i!|j-JmtbY?ByXVCNK zvl{2p^I7e~4~yrsqTMs~EvcAQ-OICyv&rs$-1yXy;1RIE)8d{7dp^k{UdG!l(EEB% zdJod-{V*!J%bl@4pAPZd>zKn-u#cIdQnhdcROKFd=tNCWUmHFYTKJPjkoH`)>bE+|(Er3Hb2~6)ti~mU`Y}#^FSOGyOA!PZ;BC*_nGO5T{f4@VLbYO z(WZIR|5cmj>kN`q2Hs5e(T9}lF8SB!AGCQM#~WY|*}U5VTBRDBPkmsgvDT*FIy|86 zdE4NZhR4>uU>kaPME0V0ZT?L`^-Z7JM%0aJ4!&j^d2Uo&`nR^xzlP|Frj-W&Ei^1H zw{*-uCMFiOmX7U=$iDoq((&&_RSxzpyW!g#>o2F3P23yXJh`SUqH7lZyi_>(E zHI_|!d3x*@pOnSCJ~O54V%gM(XKgC}wk-Dh*)>zV%BR0!YCbZnd}eb(+q0?Vvro*| zh5obL)Vwgv@=JOApOO<#dsWP7U6g%(RK+d(7FV90STXN~JL~-_D;8W#Y3_Kc;#TLf zw)4+aEP8W!%Kq0X?mV)hzT(r0)IY6^oqC}n>z^wt@3>a6_CQ+e+@C87j+g`P9I@4M zAwA`}QCl~3rf+&KZ0n|)jGE^rY%OWbXnZSt>z2i( zeQT-e%&OP`>&&g?s(-9X322|ab*t*(%uNA~d0Q)0&u7*ISQl)4Ky@awF~E51)*Y(L znXLiRZCf8!{hHYsU|6=bN@dRq2y`yr`l#we)}}yd<<=V2Cu?c~jrCifRP8Bj3^Wek zR;xO@t~F3UdfU^g#vc97d4R6T~us*A*dO(#p-1usMb-(Iw52~_3atr=$-ec@H+~>zu}WYCFv^g6y0(B4pQKM1RhzFn(^zUz-!@&)`%bBm(r8t83a7V za{<4~ct*oP`cVJGFVSWH(E|T-54;I@3h#x2Q<-G{$pTLYW=eb-@Wg}hzz@DzR_@N`}$;~y9JyA=2U@Mjsob*v!@yJcBH)Qn3~xYP08jb2 z4|uv`Df|CG_^(p<*CGB3zz4!#E%5YiH~H6v!@eu<)JBd1Pjoq+L0}@4=RM$+0}n5*ct!w8@qExD zo><_6f&VA)28I7+z!P7*+`98W7kDcFNZ^(2=N{mx9w!2?tj9_b|4qOfK$pvP5O^x@ zoxtN?7yeZ^h;P}zEBW>z@FBq82R!AM#bc194uOBB2YwhLr*`WAUfFIZ0#EJZJn)o` zoS%5$iC_N&URl3OfTwc(1iV}>YHw!X$)CHXJ0A)}{C>bIoQ~UuFME zz*9c{4!p8nQh}%Oy&ZV!H?sdN!v8=_EK2_m1CJkR6!6OY>;;ng?Ihr--sE^*1D@hf z0$v&a1>hNfLG?{2=Ekd4DiZyUk9GbI~#wHgsZ$~fT#MM1H7`nT7jp0 z-T}NapI-uxDwi^P#Pc=q?J`Mnnf0=)353_~;6FvOT2cGzU26!d^Q-P=a zeFD6a|EmT5GVu6uZ5)5Ac+pKk!Qb z2Y@F&j0RGf?jhi*{>A~X98XRHPvNKHk23#n0#E7923}d-PlW%)J^Wt+p7?ne@c7ro z&rUcfAM1d}kBbk#0Z;8@Gmy%9)F2Wn@BP3l%NqzhwdcoxSGMOV0)MCn{#M}eBfSZ{ zGC!F>(zx*%@XB$c6nJuX0Zl%MgyEA#Un@H9>tfhRh(L#nSf z;Avi24!m;R>w&?F!fygzIe!`8p!`$;uguR(;Avht1iWh=NBn8Pllwj34S;gGR^Z9~ z4e-i&%?>=Z2XAx=WqWv0;DdVLPXSNm4+mb^Za)T|+_QjJjt~C;p7?ef@Jhb@Ec|Em z@IMet0E?tz;Fa|i3Ow<1JMc<=&IX?N_$=_sdR!^|J9_xX){4dRX%GBkz!P6OfLGSb zOTgnt8jQgMS$6UBT_7pF3BW7sr44v0=Um{G{P|hnQ+nWiP#EeLYk^m`|DnKBzbFJ= z14#8qQZcm$KS0Z;1@)*cL!v;=s{|MS4R@(+9= z@Z*3#1N>M(+5h9f)4JuKz`NEh@PAsw6M#Wo8P6r)slH->$G@(4uEP-q_d?*uEAXN4 zOz!o-Q~Gkc3xFs7JO#XxKZ}8pEW~M*Lb1Jf$Q1p9(yc=RV+-{9FM%#q(^BczncG>eu-HW#B1}+whAa z*X92;;89fRPW+AATX>8tK8&dSfSq*-$EveMRMSt5%q=|#es--DE2oR*WH)+aKrcvaD=rRf>DS*r^2 z^3wA&m*kXWai4`*Sw(5<)@QBHLTFHP^4FvZPm!7H^YS*w^AI`tQ`0jui_+5bH?th& zp@bW2uRT3%M(s>01_tFrIT&E1d}S&*?d zYn6ra5ScSICbBR(C$^7J1*=yVXYmq==rXg4Eky;KiG@W4mV#9UxiZJoTt&(*0C!gB zt}o8!k;)!XX_;vS>n&>v6cxp5k_B0norSVxZOF>Ei29X7X66(Zrdw8J_o`+^XmEc+ z&MM9m7F`C~%Ep{b)UPEQ5m|CM&6V$>tW{Y#8+tb#9%nK53y0JwbfO+AW4~ix~JugdcG6>~rEnpNymXp7_fTjldf0ipb6=G%%IsibvrJ%4E zO^zS_C>e^28fG?c!kIwGa}|8BKC(J9eX}Z!>QO}#0aY4>R8~FBPg(gYaDyPPR#n>S zRcQIhKe-DEInxzY4ixH3#Mpx_s!kJN-}ulX$;&h0EA%$?7W<$M+6H#mP(Gl$N=^ zFgIrvEgM*tx-vr^*tks<-M!E(QKGYA7q8FjPG$oj6*7nCvCGXngv(u6AeK-rOrB*u zXDdx;6a`k17T$JTeu^xdF)lK5E8A>uSWr2x2v1_~MieJ{e#g8>BLdu@a2Tkr#sU8j4De&e?4q1P&3o zRz$qbiix;STF>Q84^Lti1Qs2szv)uWkZVFz)Tm5bh2eZnma?v8N`8SQXZ2>q3WV)1 zTnh);8^UK|qVBb{p|LejG`b#s6};)r77>?n`f{;M(6D@`T>YMxuH{Uhv3ISJdSnaC z%*5!&R~~%^Wj?yt{d<0jv#_$ja3s26UrDVlN?${3q&}nRT2pt;r#*Qgw|U}*a*^Cu zVqLk$NZMDr$`&Ov0THu}VD}t~hS6sg^lCJdCPhX^PDwAyn;H|5URao$6_Ha=d=qfd zOA6K(VYrT>$Rk&!u{65o;2!(MUS#H-cS=rU^8>?n?HM_Rx%sA1fe_{G3PIaO1)Vlo zvQxQn`dq+;=o5!wA$dt((FJ?-4`>5DIruDah>?#2+e2~^n^D*%vWHjJ+Ix*dia^S3WRI|}A*a{4pa?HEk_t>$t9P|+Rza?oFXoQk z!wru_tYv5~DKbQ3xGOGKKT#0*2B2p#6&_rnc~1DGfRUoBE+SaMRQTsLrI%G&{Rgq zv)(g4odMo82fBW8V~th;KxD1?aXD?MCgn741f(5d(Wsj$@sQ(x6dVY({%h6uZ%WNP=0S z^Sk2g+V%7Z*L~ZgAQB(?*pc?|(R)kU!$Yqc+5;nRP5VGo!()pz){$Jfp%8+leNg3{CIa_NN+!|vv`2C>sgG3zRe#T_a^9e4X|8>$$eX+tWDC3=^Qk;*$$q-;RC`3giT$lmN`4lq~r~%N9gW* z*1jV^v41xX#qz61?5q}Di;q4tz`Q6}|9hTX8`r+`$)b{XkbQgUb5?e(-~~rr{Q;%s zd)K}r>zVa_l2*1c7cbH(PAQ9{H(>J8&BMP>k+`M=`ix)+|EaRaOFqVWID3q&%9y~2m8I3c)o$=%AmA~r(lS$M*!kgWQ z0KFxi&tCl5Aut{N(5<9=g3myI`Y4}W&^w9FRd)D);%^NpvEU2pC;p?P{D5yM2fgyA zBP9uZvGk{p^hwW*J|p|fREGF};;&WE6G>^PkNh=5?}NT<4tk|e_ao?Q=_mh8=?nBN zoX@?&lfEx~f)Bmuexyu-ueG1}uR*_qKJR|$oussdZ%04$aswkvCphSpzA=~+Vkvwd z?PpU6rzh}w>=pjR4V)fIppW`-3i=h^PJ4wv9nQnIa?p!jOUf?zX7p3OR#J+=SHnTC z@P(wDj*qpUKI*?-&@;(XANltd14n=KLO~bfK(F)@CR4h3=nehwFZK=|zQ6kMBSkcP?Hu$?iz=6`Wx1C;YXQ-2(Df z!cpvRyP%6`dhsVIm3yx27EM z@Wy`V&7^RM&&vMxo?jC)IU#^RAN6Pc1NtUGH}n&}<`2R*{6YAZKM3C@=>7HIfGo-w z*ZJ(Ld@+LFU-@BBn0@`xGyj0TeT@*gYc zu{;_L2VH*)1wDvReWbtR58~hV2lNwvKtKNn^lN`W*R0`X>971je?X7<1A3C6vuU~y z{#gGYe9a%w8~%XaEa--Q>ZeW6>7FRQUiE8T%kWZAKkMJxJWgjy&V7WhUC-%;e#V~@ z8#vv}L9g_KHgZCL%T36Zs~`A?N9OW{n0b`aJsIa`pdO*`Zae3d+{gbIZn6s z(>_`cays3s#@8#nwD7&?4ZLdhXT>I0O8~kQEUCNa;xjczWmeOA?Zf z2;0Z~JD%k*MZosG+^qq`y@m+CIu3Pq9)8C&xC09O*{3;PBj60Q4=PVpEyp*bJ&`*I zkmAvy{ZYPa5SaK?4oLjU1SEb23H$|Q)(W=;a2()LKnmCP1c$K#S|8``_FX*wD!{Su zmkUVohXPW#hH4IH2zV6zjPN?ZdjZcr%H5d)Uf;>x)dGeKc)E(?a|H|#u=Ww2z8;X` zwLi?^p&c9=0a3Jw0Kg@H-U2p0!0AZ>I=6GTML?Z^wO9~Ryy1Yv$7|bo{aFE1;6AZc zk{SRzF}{$$6u?!0et_cv+sZi~t$@Uz6hMl{YLg`V8&M5rlY1X3;U2&p0(RcV@s)s~ zz-I%F0Zal60gMI=2Gj!@0NcUL(SR+0qW~KKM*>y@1_5pY908aFI2lc00g&ol14!+uWg~|x0D+1~2EJbX1^9o$KPEImL9Uz-YhD1b8nUjRJ6lIOD; z@G#t&fEcnOBtQz+2xd|^Ga!b*h-d-50jI)!;x0+L5wHPpAK(@N!vws(ocF_W!2O_S z15$iCz(at}Wt`p!_zK)@DV$&RfHt^0?&R*HfaKN)_i0oPxq|@j1-y1U?}s}C3>EMM z8l498r2<}C!rkQph6{LlF~=JLsoc&*B42>;5^+dCM>21Rxq!%GMAB`d{RwCQydU^0 zkPBeQi6{p=2$%`@B;X9dr*KUzmcx~PfRvu~Rt`e}cf;*WlBDMV8vx1wAr4pW6K=b3 zmjl}2Zzt0rw(& zl7JdO$Y%Btd=%|p5^jQU&umO&Hgh790EsUNfW*&O0mB6}2wF~G3+yVb~!0mulfE3;g_#j|1Ak{+< z;LU*7<9U5w0VI5baK{3oD@6DK4ng_#9M1F>`15gm{ow#y4S!ZZG{uM+fE14eNbx&O zJbnuxjdNkbtp`L`iLlP*^|*8vWJ&JQK7w0lyb*4KaL){w$tmS3gC@^=t2=K)7ZV>2s5WRl#Sv7CM$klgJzarXs4%6BCo^^0;0 z4yypK-6;A4AXpjE47dr<4oLkr22cZdAx4s{fEGY%C%J&+KLwEdg#nVkmMPp{&14ZC zkivxm5j(>=58PqG9RP@?9f603ng2vU@_!zc zO8m+Nybmx2klI`GAigfi1th)%0Fr+PB7G9D2Jk72tJNH?31vCn15Kt1(iTY&W1+)uj70@i8Q9y%$ zl7LRM0~TIDyMR^!%>o()GzcgO=tTQr;RUn{Xcf>bpiw}BfRcbtv@;f7K)Zle0nGv$ z1vCgK3Ft(-WZ?z03uqP4ETB<9gMgBNPP9uFUO;N!)~BpcDOqg%^;{&sqKjGz(}H&>)~BpcDOx zg%{8+pjAM#fJOlg0!jip(f?R@0qp`>1vCq26wn}`B%l-hl7$!0E}&IFvw%hc4FXC6 zI??G_cmeGKS_L!)~BpcDNa|GGN_v2RL0Lb4tfVcq{6YK9UPk z_$m?pJ8~m_E7~i4k035`%W~Ld!Y#{P-xdC4IctT8Up|-r6zNcSSU+EuZ^(VB8{pv*0P^ zxC;fnPUKIP13wI&P<~{&?m6Nw+yPeN7GxQMKeAlb0p1c_mc!bFTb8>vg3m;k<*d(& z_++{2y}~WaQO{9%;9r)T-iWf0JJ-&Vm;Nl=vRw2wjC(|v<)H3@F3UYX!?;XzSWkd+x$J+CUvh`ym%hi4O>)cU%4vcw>*4r-P`kq@HFdP85LF32sPvwtSS%X$gajfpOw<5!6M)BHqV zwkWTB&i5hwl7IPJFj3IubHpbFT|RfbU%2IS%65@ISufxf5nk3a7=iXi@ymKk5h6dd zd8E%vxaD)h_e6a1IpbhazGm)SNjKdDoc=RA*2dO)NvpYy6j`?8}A)Ay~YKUoiL5^$71S?_G9@GqYO z2a5J4pKIrd^yPEtR6&=|wHFGyd=4Ei=<>PtV$nWiJ)GTwAF|#}y2y{L$1_dPWxbdI z!Y%9BY!&5~&;70me#+;BQ6hc$+;6JzZxHoMcJ!$H^11ChB7OOs^l`xt`P}nm;g-)y z?-BmxbKCEQTR!Lfi^z|BE;>>4FZrBvoS@6+!k0yO`5bqLsDJs~cc5s0vYr;%b*22v zdRg^?{|S>35x&2Q^3@CXGEx7s9@BBr{$;(QCxpA)z=BJgMf$Q{+5nNBtmjoE+MBGG zmLwSG8$|vhV-Yxhi>xGy^ z{IZ@>r^v6YSMrT0kE{oU?J}F%_wOX0zYT(avfj$Ga(`aQ>6s!vS#M;CNMF`7 zNfrKOy(*K4U)Cd;Dd@7^3h9ked1XDv5Rrc~AbnP}e~?|@zYt#O{-uZebPsnV@~8Aq zcBqx^jXm7A_V7>k<5ZH-l|I?MQ-+U4`IPQsJ<{()eJkl9J?KMwxTAZxJ$i&s>yh6j z$eA+!xjo!uuTx21(j)%EJ>0)wyioez*(3b99&Ylh^#2v=Q|W%KNBobYJuB&pdhqX= z9`q&ftn@#xM|{K4PL%ZRJ@O}sJJJ$YuV=TO#DztH68GG?BgF+V7gDJ}-|f1ch=g6X zQQXSF-Bl%pF7M!Gl8ln?Wc0p2z^?JFx5yqzzrPO@MJHcaQhFskt~T{V$+wE=!jYgc zKDe%3_6mT@KvEjJ6C_BATk(?Orl6#_6DWKNcJd2<%G4-x#3pfntrtmgflbg{H<;uC z;Ce^50#KA)ccOZR>P?aPE^d|dcUwe`s4wsGjS|^U*9{ECtslB-EIcqqce|0QB=ora zB1hUI;l6zdM$_$e*2r-yPY%ymDI1yNm;GfD<(J*uMm6HLrz?znQ$_YCXQ5XUl|4{I zT@7A|?RH^YCdly#*7pu6d+2`Qrk~*5???$xoYmYcnm`F2iMvvAWR&%;tL`%Pe^qjA zIg!LLuurs_0hT?$e(fJO7{T_yjx;S0kNe|tsuJ7XBiNtT#CDv-Z95H8l{UZ~<~ejU zFr{@?M!r$Ymp|z9>MYN|k~nWP;*!X5;)bKw3mD93vVp>;S}!}plB%-dk{0dfBHPB4 zkV*97wHv7lBxi0qr{JJrlD4Pkn#n*WdQTVNgw@PLyaFA{YOGh`_BwWlqFKro<~eZz zWM|uC0J72UgCsfp&qSZ5tptk8iG`O`Jht{|I_}{DI zk=saP38Zc?vrGdj-{vnbv=O2n<#4J(luj4+%LEeB2$?@6oW83BxaS(GebS|IGhhcO z2DV&7%4a#Yk>ux7q=?DJ4WMtE0x8_&ylIG`!CQ@k)7TpikA}446hD$fJw>en)5dNA zTaFMLA33todyRF8==jBdMyS6Czs)4HvO;UuBkvl_>4nE2?|sbeP5#^GDSQT>{V zbij!;R=KbWg37Z4v^&*QIL@GpWC=7M-HZbF*NP}gP|X~BT>3W?Nd=7UkZPt03!6f= zL1#3LA_T`F%M$9Ky*4+s5z)+^o+R%){rKcavy zSljCrkt!`vnf%$d*J(P*;2D+VR?3~`>Er%&rWJDv+%Z{#ZBpWqTaUL0j^d1lU#>Uw z+M?covQXUO1*o{`%S5(FxNqR4qdC&(q$7GHAyIOOQ-d?QJ`*xjf1BDu5*9rM-W|Ep zsdG+sI6lo9#e?SH^k~{3gpjQD1so|#RhUsWntta%Svwi3^ZWAhYr^x^(yH@d?{8i9 o)1NnV;B;p$x%TH(oN;~Svi)@aefMX-yE)h|^SbNf9sW7<36_3McmMzZ literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-arm64.a.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-arm64.a.meta new file mode 100644 index 0000000..1504880 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-arm64.a.meta @@ -0,0 +1,80 @@ +fileFormatVersion: 2 +guid: 1485de7d76884a64bac00df01454081e +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: ARM64 + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a new file mode 100644 index 0000000000000000000000000000000000000000..d8b77ba428e0ec356f1b6427f21cf758ae40cc83 GIT binary patch literal 145208 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 z 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a.meta b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a.meta new file mode 100644 index 0000000..aa56177 --- /dev/null +++ b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-armv7.a.meta @@ -0,0 +1,80 @@ +fileFormatVersion: 2 +guid: fa239cb4c47fc9447816815f80667fea +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 0 + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: ARMv7 + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a b/Assets/Mirror/Runtime/Transport/Ignorance/Plugins/iOS/libenet-release-simulator64.a new file mode 100644 index 0000000000000000000000000000000000000000..e6051c3a94211cce891da52a0cb1d35fc03b4a60 GIT binary patch literal 167208 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

vH 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 literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png.meta new file mode 100644 index 0000000..6e069a1 --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/BaseColor.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: ce00d67f9368944fa8ef4de6ccc77bfa +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller new file mode 100644 index 0000000..e05d28c --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller @@ -0,0 +1,272 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Controller + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Moving + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Shoot + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 1107772262116321704} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1101 &1101104249963802978 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102824315819425342} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.6 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101366829127142966 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Shoot + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102254808008813326} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101806660142692138 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102207974245764242} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.6 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101862483397811748 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102207974245764242} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101947542735704306 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Moving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102824315819425342} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &1102207974245764242 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Idle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101947542735704306} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1102254808008813326 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Shoot + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101104249963802978} + - {fileID: 1101806660142692138} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400006, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1102824315819425342 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Moving + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101862483397811748} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400004, guid: 38b49695fc0a4418bbc350f2366660c5, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &1107772262116321704 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1102207974245764242} + m_Position: {x: 252, y: 48, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1102824315819425342} + m_Position: {x: 252, y: 204, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1102254808008813326} + m_Position: {x: 420, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: + - {fileID: 1101366829127142966} + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 60, y: 132, z: 0} + m_EntryPosition: {x: 60, y: 168, z: 0} + m_ExitPosition: {x: 60, y: 96, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1102207974245764242} diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller.meta new file mode 100644 index 0000000..7e1061c --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Controller.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7211483bbd794b6d85ed88576e7d85c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..61ca0cbaf3c3a65d4f9e6903252d5505af499806 GIT binary patch literal 80294 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 O1W=Gs{a7Vs68wM81?4ON literal 0 HcmV?d00001 diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png.meta b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png.meta new file mode 100644 index 0000000..333174c --- /dev/null +++ b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Emissive.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 9b3e91ab0048a4aa3a17706a349c6bf5 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Metallic.png b/Assets/Mirror/Examples/Tanks/Models/(Public Domain) Recon_Tank/Metallic.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d5559fe82d85d11be1b75d41003ed1c74b05c7 GIT binary patch literal 62860 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 z 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 Build and Run + +Start up to 4 built instances: These will all be client players. + +Open the Offline scene in the Editor and press Play + +Click Host (Server + Client) in the HUD: This will be host and the 5th player. You can also use Server Only if you prefer. + +Click Client in the built instances. + +Click Ready in each instance, and finally in the Editor (Host). + +Click the Start Game button when all players are ready. + +You should now be in the Online scene with your players of random color. + +WASDQE keys to move & turn your player capsule. +Collide with the spheres to score points. +Lighter colors score higher. diff --git a/Assets/Mirror/Examples/Room/README.md.meta b/Assets/Mirror/Examples/Room/README.md.meta new file mode 100644 index 0000000..eb4961d --- /dev/null +++ b/Assets/Mirror/Examples/Room/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9110f04bd1e8468479f6625342d311c5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scenes.meta b/Assets/Mirror/Examples/Room/Scenes.meta new file mode 100644 index 0000000..17072cf --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f704ae4b4f98ae41a0bce26658850c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity b/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity new file mode 100644 index 0000000..94aedc6 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity @@ -0,0 +1,301 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0, g: 0, b: 0, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 2 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &639890310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 639890313} + - component: {fileID: 639890312} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &639890312 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 639890310} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.23429157, g: 0.254717, b: 0.23546094, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 26.991467 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &639890313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 639890310} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2008127829 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2008127832} + - component: {fileID: 2008127833} + - component: {fileID: 2008127831} + - component: {fileID: 2008127830} + m_Layer: 0 + m_Name: RoomManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2008127830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008127829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3} + m_Name: + m_EditorClassIdentifier: + Port: 7777 + NoDelay: 1 + Interval: 10 + FastResend: 2 + CongestionWindow: 0 + SendWindowSize: 4096 + ReceiveWindowSize: 4096 + debugLog: 0 + statisticsGUI: 0 + statisticsLog: 0 +--- !u!114 &2008127831 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008127829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e7d8650c751710349bb9546d1697b9cb, type: 3} + m_Name: + m_EditorClassIdentifier: + dontDestroyOnLoad: 1 + runInBackground: 1 + autoStartServerBuild: 1 + showDebugMessages: 0 + serverTickRate: 30 + serverBatching: 0 + serverBatchInterval: 0 + offlineScene: Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity + onlineScene: Assets/Mirror/Examples/Room/Scenes/RoomScene.unity + transport: {fileID: 2008127830} + networkAddress: localhost + maxConnections: 5 + disconnectInactiveConnections: 0 + disconnectInactiveTimeout: 60 + authenticator: {fileID: 0} + playerPrefab: {fileID: 1480027675339556, guid: 21daf89214c6ee443ad6875b73083c60, + type: 3} + autoCreatePlayer: 1 + playerSpawnMethod: 1 + spawnPrefabs: + - {fileID: 1139254171913846, guid: 52f1c9ea06cfd154cb68ff9d1b66fc13, type: 3} + showRoomGUI: 1 + minPlayers: 1 + roomPlayerPrefab: {fileID: 114033720796874720, guid: deae2134a1d77704b9c595efe69767dd, + type: 3} + RoomScene: Assets/Mirror/Examples/Room/Scenes/RoomScene.unity + GameplayScene: Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity + _allPlayersReady: 0 + roomSlots: [] + clientIndex: 0 + rewardPrefab: {fileID: 1139254171913846, guid: 52f1c9ea06cfd154cb68ff9d1b66fc13, + type: 3} +--- !u!4 &2008127832 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008127829} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2008127833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008127829} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6442dc8070ceb41f094e44de0bf87274, type: 3} + m_Name: + m_EditorClassIdentifier: + showGUI: 1 + offsetX: 0 + offsetY: 0 diff --git a/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity.meta b/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity.meta new file mode 100644 index 0000000..45332ad --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/OfflineScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9e6f14982412b2545a0911ebaaa46a23 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity b/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity new file mode 100644 index 0000000..01b83ab --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity @@ -0,0 +1,822 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.17276844, g: 0.21589246, b: 0.2978263, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000002, guid: 83612f89e0d5b404fbd99891bda78df4, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &151116940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 151116942} + - component: {fileID: 151116941} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &151116941 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151116940} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 0.990566, g: 0.9496818, b: 0.82702917, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.7 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &151116942 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151116940} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &204334129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 204334130} + - component: {fileID: 204334131} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &204334130 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204334129} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &204334131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204334129} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &263230754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 263230755} + - component: {fileID: 263230756} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &263230755 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 263230754} + m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956} + m_LocalPosition: {x: -15, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} +--- !u!114 &263230756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 263230754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &290557149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 290557150} + - component: {fileID: 290557151} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &290557150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 290557149} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -15, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!114 &290557151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 290557149} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &733367779 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 733367780} + - component: {fileID: 733367781} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &733367780 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 733367779} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &733367781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 733367779} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &990635329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990635330} + - component: {fileID: 990635331} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &990635330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990635329} + m_LocalRotation: {x: 0, y: 0.92387956, z: 0, w: 0.38268343} + m_LocalPosition: {x: -15, y: 0, z: 15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 135, z: 0} +--- !u!114 &990635331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990635329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1050066542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1050066545} + - component: {fileID: 1050066544} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &1050066544 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050066542} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.23429157, g: 0.254717, b: 0.23546094, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 25 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1050066545 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1050066542} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 70, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1305256737 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1305256745} + - component: {fileID: 1305256744} + - component: {fileID: 1305256742} + - component: {fileID: 1305256743} + - component: {fileID: 1305256741} + - component: {fileID: 1305256740} + - component: {fileID: 1305256739} + - component: {fileID: 1305256738} + m_Layer: 0 + m_Name: PlayArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1305256738 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 2, z: 0.1} + m_Center: {x: 0, y: 1, z: 5} +--- !u!65 &1305256739 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 2, z: 0.1} + m_Center: {x: 0, y: 1, z: -5} +--- !u!65 &1305256740 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.1, y: 2, z: 10} + m_Center: {x: 5, y: 1, z: 0} +--- !u!65 &1305256741 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.1, y: 2, z: 10} + m_Center: {x: -5, y: 1, z: 0} +--- !u!23 &1305256742 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3201636fa507dad448e9a36d66a80825, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1305256743 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1305256744 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1305256745 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305256737} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 4, y: 1, z: 4} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1445635739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1445635740} + m_Layer: 0 + m_Name: StartPositions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1445635740 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1445635739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.08, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 733367780} + - {fileID: 2127619492} + - {fileID: 1975674813} + - {fileID: 1760045337} + - {fileID: 204334130} + - {fileID: 263230755} + - {fileID: 290557150} + - {fileID: 990635330} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1760045336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1760045337} + - component: {fileID: 1760045338} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1760045337 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760045336} + m_LocalRotation: {x: 0, y: 0.3826836, z: -0, w: -0.92387944} + m_LocalPosition: {x: 15, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 315, z: 0} +--- !u!114 &1760045338 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760045336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1975674812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1975674813} + - component: {fileID: 1975674814} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1975674813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975674812} + m_LocalRotation: {x: 0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 15, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!114 &1975674814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975674812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2127619491 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2127619492} + - component: {fileID: 2127619493} + m_Layer: 0 + m_Name: PlayerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2127619492 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127619491} + m_LocalRotation: {x: 0, y: 0.9238796, z: -0, w: -0.38268325} + m_LocalPosition: {x: 15, y: 0, z: 15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1445635740} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 225, z: 0} +--- !u!114 &2127619493 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2127619491} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity.meta b/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity.meta new file mode 100644 index 0000000..8a990fe --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/OnlineScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d7a6763559b31854586c9e49916273ef +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity b/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity new file mode 100644 index 0000000..60ffaa1 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity @@ -0,0 +1,187 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0, g: 0, b: 0, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &639890310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 639890313} + - component: {fileID: 639890312} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &639890312 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 639890310} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.23429157, g: 0.254717, b: 0.23546094, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: 3 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &639890313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 639890310} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity.meta b/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity.meta new file mode 100644 index 0000000..8749026 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scenes/RoomScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 48478f4d522f96945b8396f376299d3a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts.meta b/Assets/Mirror/Examples/Room/Scripts.meta new file mode 100644 index 0000000..b15256a --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03401915dd450454e88f0a839d3346f1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs new file mode 100644 index 0000000..8724cd3 --- /dev/null +++ b/Assets/Mirror/Examples/Room/Scripts/NetworkRoomManagerExt.cs @@ -0,0 +1,84 @@ +using UnityEngine; + +namespace Mirror.Examples.NetworkRoom +{ + [AddComponentMenu("")] + public class NetworkRoomManagerExt : NetworkRoomManager + { + [Header("Spawner Setup")] + [Tooltip("Reward Prefab for the Spawner")] + public GameObject rewardPrefab; + + ///