From 59c17f5003dcc1b77fba08701fbf832fe416d453 Mon Sep 17 00:00:00 2001 From: Zheng Wang Date: Thu, 1 Feb 2024 00:53:34 -0800 Subject: [PATCH] Add Unity raw video base 7 base 7 Base 6 Base 5 Add base 4 Add base 3 Add based 2 Add base --- Unity/.gitignore | 59 + Unity/RawVideo/Assets/Scenes.meta | 8 + Unity/RawVideo/Assets/Scenes/RawVideo.unity | 1210 +++++++++++++++++ .../Assets/Scenes/RawVideo.unity.meta | 7 + Unity/RawVideo/Assets/Scripts.meta | 8 + Unity/RawVideo/Assets/Scripts/App.cs | 174 +++ Unity/RawVideo/Assets/Scripts/App.cs.meta | 11 + .../RawVideo/Assets/Scripts/IncomingVideo.cs | 55 + .../Assets/Scripts/IncomingVideo.cs.meta | 11 + .../RawVideo/Assets/Scripts/OutgoingVideo.cs | 121 ++ .../Assets/Scripts/OutgoingVideo.cs.meta | 11 + Unity/RawVideo/Assets/VideoPlayer.meta | 8 + .../IncomingVideoTexture.renderTexture | 39 + .../IncomingVideoTexture.renderTexture.meta | 8 + .../OutgoingVideoTexture.renderTexture | 39 + .../OutgoingVideoTexture.renderTexture.meta | 8 + Unity/RawVideo/Library/AnnotationManager | Bin 0 -> 4124 bytes Unity/RawVideo/Library/BuildPlayer.prefs | 0 Unity/RawVideo/Library/BuildSettings.asset | Bin 0 -> 4152 bytes .../Library/EditorOnlyScriptingSettings.json | 1 + .../EditorOnlyVirtualTextureState.json | 1 + .../RawVideo/Library/EditorSnapSettings.asset | 20 + .../Library/EditorUserBuildSettings.asset | Bin 0 -> 7996 bytes .../Library/InspectorExpandedItems.asset | Bin 0 -> 4228 bytes Unity/RawVideo/Library/LastBuild.buildreport | Bin 0 -> 239096 bytes .../Library/LastSceneManagerSetup.txt | 5 + .../RawVideo/Library/LibraryFormatVersion.txt | 2 + Unity/RawVideo/Library/MonoManager.asset | Bin 0 -> 4112 bytes .../Library/SceneVisibilityState.asset | Bin 0 -> 4420 bytes Unity/RawVideo/Library/ScriptMapper | Bin 0 -> 14493 bytes Unity/RawVideo/Library/ShaderCache.db | Bin 0 -> 16384 bytes .../Library/SpriteAtlasDatabase.asset | Bin 0 -> 4120 bytes Unity/RawVideo/Library/Style.catalog | Bin 0 -> 243632 bytes Unity/RawVideo/Library/expandedItems | Bin 0 -> 4164 bytes Unity/RawVideo/Packages/manifest.json | 45 + Unity/RawVideo/Packages/packages-lock.json | 354 +++++ .../ProjectSettings/AudioManager.asset | 19 + .../BurstAotSettings_StandaloneWindows.json | 17 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../CommonBurstAotSettings.json | 6 + .../ProjectSettings/DynamicsManager.asset | 37 + .../ProjectSettings/EditorBuildSettings.asset | 14 + .../ProjectSettings/EditorSettings.asset | 40 + .../ProjectSettings/GraphicsSettings.asset | 64 + .../ProjectSettings/InputManager.asset | 487 +++++++ .../ProjectSettings/MemorySettings.asset | 35 + .../ProjectSettings/NavMeshAreas.asset | 93 ++ .../ProjectSettings/NetworkManager.asset | 8 + .../PackageManagerSettings.asset | 44 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 781 +++++++++++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 239 ++++ .../SceneTemplateSettings.json | 167 +++ .../RawVideo/ProjectSettings/TagManager.asset | 44 + .../ProjectSettings/TimeManager.asset | 9 + .../UnityConnectSettings.asset | 36 + .../RawVideo/ProjectSettings/VFXManager.asset | 14 + .../VersionControlSettings.asset | 8 + .../RawVideo/ProjectSettings/XRSettings.asset | 10 + Unity/RawVideo/ProjectSettings/boot.config | 0 62 files changed, 4448 insertions(+) create mode 100644 Unity/.gitignore create mode 100644 Unity/RawVideo/Assets/Scenes.meta create mode 100644 Unity/RawVideo/Assets/Scenes/RawVideo.unity create mode 100644 Unity/RawVideo/Assets/Scenes/RawVideo.unity.meta create mode 100644 Unity/RawVideo/Assets/Scripts.meta create mode 100644 Unity/RawVideo/Assets/Scripts/App.cs create mode 100644 Unity/RawVideo/Assets/Scripts/App.cs.meta create mode 100644 Unity/RawVideo/Assets/Scripts/IncomingVideo.cs create mode 100644 Unity/RawVideo/Assets/Scripts/IncomingVideo.cs.meta create mode 100644 Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs create mode 100644 Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs.meta create mode 100644 Unity/RawVideo/Assets/VideoPlayer.meta create mode 100644 Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture create mode 100644 Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture.meta create mode 100644 Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture create mode 100644 Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture.meta create mode 100644 Unity/RawVideo/Library/AnnotationManager create mode 100644 Unity/RawVideo/Library/BuildPlayer.prefs create mode 100644 Unity/RawVideo/Library/BuildSettings.asset create mode 100644 Unity/RawVideo/Library/EditorOnlyScriptingSettings.json create mode 100644 Unity/RawVideo/Library/EditorOnlyVirtualTextureState.json create mode 100644 Unity/RawVideo/Library/EditorSnapSettings.asset create mode 100644 Unity/RawVideo/Library/EditorUserBuildSettings.asset create mode 100644 Unity/RawVideo/Library/InspectorExpandedItems.asset create mode 100644 Unity/RawVideo/Library/LastBuild.buildreport create mode 100644 Unity/RawVideo/Library/LastSceneManagerSetup.txt create mode 100644 Unity/RawVideo/Library/LibraryFormatVersion.txt create mode 100644 Unity/RawVideo/Library/MonoManager.asset create mode 100644 Unity/RawVideo/Library/SceneVisibilityState.asset create mode 100644 Unity/RawVideo/Library/ScriptMapper create mode 100644 Unity/RawVideo/Library/ShaderCache.db create mode 100644 Unity/RawVideo/Library/SpriteAtlasDatabase.asset create mode 100644 Unity/RawVideo/Library/Style.catalog create mode 100644 Unity/RawVideo/Library/expandedItems create mode 100644 Unity/RawVideo/Packages/manifest.json create mode 100644 Unity/RawVideo/Packages/packages-lock.json create mode 100644 Unity/RawVideo/ProjectSettings/AudioManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/BurstAotSettings_StandaloneWindows.json create mode 100644 Unity/RawVideo/ProjectSettings/ClusterInputManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/CommonBurstAotSettings.json create mode 100644 Unity/RawVideo/ProjectSettings/DynamicsManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/EditorBuildSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/EditorSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/GraphicsSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/InputManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/MemorySettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/NavMeshAreas.asset create mode 100644 Unity/RawVideo/ProjectSettings/NetworkManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/PackageManagerSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/Physics2DSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/PresetManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/ProjectSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/ProjectVersion.txt create mode 100644 Unity/RawVideo/ProjectSettings/QualitySettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/SceneTemplateSettings.json create mode 100644 Unity/RawVideo/ProjectSettings/TagManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/TimeManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/UnityConnectSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/VFXManager.asset create mode 100644 Unity/RawVideo/ProjectSettings/VersionControlSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/XRSettings.asset create mode 100644 Unity/RawVideo/ProjectSettings/boot.config diff --git a/Unity/.gitignore b/Unity/.gitignore new file mode 100644 index 00000000..6d7aac39 --- /dev/null +++ b/Unity/.gitignore @@ -0,0 +1,59 @@ +# Ignore bin and obj folders +[Bb]in/ +[Oo]bj +[Bb]uild/ + +!/**/[Pp]ackages/* +!/**/[Aa]ssets/**/*.meta +/**/[Tt]emp/ +/**/[Aa]ssets/TextMesh Pro/ +/**/UserSettings/ +/**/Library/*/* + +Unity*.csproj +Assembly-*.csproj +Azure.Communication.Calling*.csproj +*.sln +*.csproj +.collabignore +.vsconfig + +# Ignore .vscode +.vscode/ + +# Ignore visual studio temp folder +.vs + +# Ignore visual studo user files. +*.user + +# Ignore certs +*.pfx +*.pfx.meta + +# Ignore logs +*.etl +*.etl.bak +*.blog +*.log + +# Ignore symbols +*.pidb +*.pidb.meta +*.pdb +*.pdb.meta + +# Executables +*.exe +*.out +*.app + +# Ignore Xaml app packages +/**/Azure.Communication.Calling.Tutorial/AppPackages +/**/Azure.Communication.Calling.Tutorial/BundleArtifacts + +/**/ArtifactDB +/**/ArtifactDB-lock +/**/SourceAssetDB +/**/SourceAssetDB-lock +/**/EditorInstance.json \ No newline at end of file diff --git a/Unity/RawVideo/Assets/Scenes.meta b/Unity/RawVideo/Assets/Scenes.meta new file mode 100644 index 00000000..2906a5fc --- /dev/null +++ b/Unity/RawVideo/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7ab19a46484ccc42962961c9acf4e22 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/Scenes/RawVideo.unity b/Unity/RawVideo/Assets/Scenes/RawVideo.unity new file mode 100644 index 00000000..8f820f45 --- /dev/null +++ b/Unity/RawVideo/Assets/Scenes/RawVideo.unity @@ -0,0 +1,1210 @@ +%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: 12 + 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_LightingSettings: {fileID: 0} +--- !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 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &227201737 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 227201738} + - component: {fileID: 227201741} + - component: {fileID: 227201740} + - component: {fileID: 227201739} + m_Layer: 5 + m_Name: Hangup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &227201738 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227201737} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 400861706} + m_Father: {fileID: 1954927664} + 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: 0, y: 0} + m_SizeDelta: {x: 100, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &227201739 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227201737} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + 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: 227201740} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11500000, guid: 00ddcfdd542e7634a9b2fa21f7a2ad90, type: 3} + m_TargetAssemblyTypeName: + 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 &227201740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227201737} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 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 &227201741 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227201737} + m_CullTransparentMesh: 1 +--- !u!1 &384309796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 384309797} + - component: {fileID: 384309799} + - component: {fileID: 384309798} + m_Layer: 5 + m_Name: ControlBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &384309797 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384309796} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1954927664} + m_Father: {fileID: 1307967304} + 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: 881.82495, y: -847.1} + m_SizeDelta: {x: 1763.5999, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &384309798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384309796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &384309799 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384309796} + 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: 7 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &400861705 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400861706} + - component: {fileID: 400861708} + - component: {fileID: 400861707} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &400861706 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400861705} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 227201738} + 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 &400861707 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400861705} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + 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: Hang up +--- !u!222 &400861708 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400861705} + m_CullTransparentMesh: 1 +--- !u!1 &535979683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 535979686} + - component: {fileID: 535979685} + - component: {fileID: 535979684} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &535979684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535979683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &535979685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535979683} + 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 &535979686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535979683} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &582562167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582562168} + - component: {fileID: 582562170} + - component: {fileID: 582562172} + - component: {fileID: 582562171} + m_Layer: 5 + m_Name: OutgoingVideoPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &582562168 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582562167} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1307967304} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 441.02502, y: -448} + m_SizeDelta: {x: 882, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &582562170 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582562167} + m_CullTransparentMesh: 1 +--- !u!114 &582562171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582562167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb232e9dd3f16ec4f928c3f17aa07fa1, type: 3} + m_Name: + m_EditorClassIdentifier: + rawOutgoingVideoRenderTexture: {fileID: 8400000, guid: ccc9e3d29355b2a44b4c53b68614c318, type: 2} + maxFrameBuffer: 15 +--- !u!114 &582562172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582562167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: ccc9e3d29355b2a44b4c53b68614c318, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &1307967300 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1307967304} + - component: {fileID: 1307967303} + - component: {fileID: 1307967302} + - component: {fileID: 1307967301} + - component: {fileID: 1307967305} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1307967301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1307967300} + 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 &1307967302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1307967300} + 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 + m_PresetInfoIsWorld: 0 +--- !u!223 &1307967303 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1307967300} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + 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 &1307967304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1307967300} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 384309797} + - {fileID: 582562168} + - {fileID: 2044750101} + m_Father: {fileID: 0} + 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: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1307967305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1307967300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 191db07b5393307429d50e3d789fcd2c, type: 3} + m_Name: + m_EditorClassIdentifier: + startCallButton: {fileID: 2026791659} + outgoingVideoPlayer: {fileID: 582562171} + incomingVideoPlayer: {fileID: 2044750104} +--- !u!1 &1613927553 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1613927556} + - component: {fileID: 1613927555} + - component: {fileID: 1613927554} + 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 &1613927554 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613927553} + m_Enabled: 1 +--- !u!20 &1613927555 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613927553} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, 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: 402.5584 + 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 &1613927556 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613927553} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1954927663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1954927664} + - component: {fileID: 1954927667} + - component: {fileID: 1954927666} + - component: {fileID: 1954927665} + m_Layer: 5 + m_Name: Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1954927664 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954927663} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2026791660} + - {fileID: 227201738} + m_Father: {fileID: 384309797} + 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: 0, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1954927665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954927663} + 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.13040987, g: 0.08778922, b: 0.33962262, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 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 &1954927666 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954927663} + m_CullTransparentMesh: 1 +--- !u!114 &1954927667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1954927663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &2026791659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2026791660} + - component: {fileID: 2026791664} + - component: {fileID: 2026791663} + - component: {fileID: 2026791662} + - component: {fileID: 2026791661} + m_Layer: 5 + m_Name: StartCall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2026791660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026791659} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2101126576} + m_Father: {fileID: 1954927664} + 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: 100, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2026791661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026791659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 80 + m_MinHeight: -1 + m_PreferredWidth: 80 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &2026791662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026791659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + 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: 2026791663} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1307967305} + m_TargetAssemblyTypeName: App, Assembly-CSharp + m_MethodName: OnStartCall + 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 &2026791663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026791659} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 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 &2026791664 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026791659} + m_CullTransparentMesh: 1 +--- !u!1 &2044750100 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2044750101} + - component: {fileID: 2044750103} + - component: {fileID: 2044750105} + - component: {fileID: 2044750104} + m_Layer: 5 + m_Name: IncomingVideoPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2044750101 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2044750100} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1307967304} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1325, y: -448.5} + m_SizeDelta: {x: 882, y: 600} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2044750103 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2044750100} + m_CullTransparentMesh: 1 +--- !u!114 &2044750104 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2044750100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0779f823971d50e46b4225741b1c364b, type: 3} + m_Name: + m_EditorClassIdentifier: + rawIncomingVideoRenderTexture: {fileID: 8400000, guid: 402bcdf89d5d1d3409b3ce586825abec, type: 2} +--- !u!114 &2044750105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2044750100} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: 402bcdf89d5d1d3409b3ce586825abec, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &2101126575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2101126576} + - component: {fileID: 2101126578} + - component: {fileID: 2101126577} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2101126576 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101126575} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2026791660} + 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 &2101126577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101126575} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + 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: Start call +--- !u!222 &2101126578 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101126575} + m_CullTransparentMesh: 1 diff --git a/Unity/RawVideo/Assets/Scenes/RawVideo.unity.meta b/Unity/RawVideo/Assets/Scenes/RawVideo.unity.meta new file mode 100644 index 00000000..75a9203c --- /dev/null +++ b/Unity/RawVideo/Assets/Scenes/RawVideo.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eed486d40799c7540a3fe22d18c85183 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/Scripts.meta b/Unity/RawVideo/Assets/Scripts.meta new file mode 100644 index 00000000..410682f6 --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5824d4734e8ff7445bfdbe0553513045 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/Scripts/App.cs b/Unity/RawVideo/Assets/Scripts/App.cs new file mode 100644 index 00000000..8e054802 --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/App.cs @@ -0,0 +1,174 @@ +using Azure.Communication.Calling.UnityClient; +using System; +using System.Linq; +using System.Threading.Tasks; +using UnityEngine; + + +public class App : MonoBehaviour +{ + private CallClient callClient; + private CallAgent callAgent; + private CommunicationCall call; + private RawOutgoingVideoStream rawOutgoingVideoStream; + + public GameObject startCallButton; + public OutgoingVideo outgoingVideoPlayer; + public IncomingVideo incomingVideoPlayer; + + void Start() + { + callClient = new CallClient(); + Task.Run(async () => { + var callAgentOptions = new CallAgentOptions() { + DisplayName = $"{Environment.MachineName}/{Environment.UserName}", + }; + + var tokenCredential = new CallTokenCredential("<>"); + callAgent = await callClient.CreateCallAgent(tokenCredential, callAgentOptions); + }); + } + + public void OnStartCall() + { + Task.Run(async () => + { + rawOutgoingVideoStream = new VirtualOutgoingVideoStream(new RawOutgoingVideoStreamOptions { + Formats = new VideoStreamFormat[] { + new VideoStreamFormat { + PixelFormat = VideoStreamPixelFormat.Rgba, + Resolution = VideoStreamResolution.P360, + Stride1 = 640 * 4, + FramesPerSecond = 15 + } + } + } + ); + + rawOutgoingVideoStream.StateChanged += OnRawVideoStreamStateChanged; + + var startCallOptions = new StartCallOptions() { + OutgoingAudioOptions = new OutgoingAudioOptions { + IsMuted = true //Audio is not the focus of this sample + }, + IncomingAudioOptions = new IncomingAudioOptions { + IsMuted = true //Audio is not the focus of this sample + }, + OutgoingVideoOptions = new OutgoingVideoOptions() { + Streams = new OutgoingVideoStream[] { rawOutgoingVideoStream } + }, + IncomingVideoOptions = new IncomingVideoOptions { + StreamKind = VideoStreamKind.RawIncoming, + FrameKind = RawVideoFrameKind.Buffer + } + }; + + call = await callAgent.StartCallAsync(new CallIdentifier[] { + new UserCallIdentifier("<>") }, + startCallOptions); + + call.StateChanged += OnStateChanged; + call.RemoteParticipantsUpdated += OnRemoteParticipantsUpdatedAsync; + }); + } + + #region ACS + + private void OnStateChanged(object sender, PropertyChangedEventArgs args) + { + var call = (CommunicationCall)sender; + if (call.State == CallState.Connected) { + var remoteParticipant = call.RemoteParticipants.First(); + OnRawIncomingVideoStreamStateChanged(remoteParticipant.IncomingVideoStreams.First()); + } + } + + private async void OnRemoteParticipantsUpdatedAsync(object sender, ParticipantsUpdatedEventArgs args) + { + foreach (var participant in args.RemovedParticipants) + { + foreach (var incomingVideoStream in participant.IncomingVideoStreams) + { + var remoteVideoStream = incomingVideoStream as RemoteIncomingVideoStream; + if (remoteVideoStream != null) + { + await remoteVideoStream.StopPreviewAsync(); + } + } + // Tear down the event handler on the departing participant + participant.VideoStreamStateChanged -= OnRawVideoStreamStateChanged; + } + + foreach (var participant in args.AddedParticipants) + { + participant.VideoStreamStateChanged += OnRawVideoStreamStateChanged; + } + } + + private void OnRawVideoStreamStateChanged(object sender, VideoStreamStateChangedEventArgs e) + { + CallVideoStream callVideoStream = e.Stream; + + switch (callVideoStream.Direction) + { + case StreamDirection.Outgoing: + OnRawOutgoingVideoStreamStateChanged(callVideoStream as OutgoingVideoStream); + break; + case StreamDirection.Incoming: + OnRawIncomingVideoStreamStateChanged(callVideoStream as IncomingVideoStream); + break; + } + } + + private async void OnRawOutgoingVideoStreamStateChanged(OutgoingVideoStream outgoingVideoStream) + { + switch (outgoingVideoStream.State) + { + case VideoStreamState.Started: + switch (outgoingVideoStream.Kind) + { + case VideoStreamKind.VirtualOutgoing: + outgoingVideoPlayer.StartGenerateFrames(outgoingVideoStream); + break; + case VideoStreamKind.ScreenShareOutgoing: + break; + } + break; + + case VideoStreamState.Stopped: + switch (outgoingVideoStream.Kind) + { + case VideoStreamKind.VirtualOutgoing: + //videoFrameSender?.Stop(); + break; + case VideoStreamKind.ScreenShareOutgoing: + break; + } + break; + } + } + + private void OnRawIncomingVideoStreamStateChanged(IncomingVideoStream incomingVideoStream) + { + switch (incomingVideoStream.State) + { + case VideoStreamState.Available: + { + var rawIncomingVideoStream = incomingVideoStream as RawIncomingVideoStream; + rawIncomingVideoStream.RawVideoFrameReceived += OnRawVideoFrameReceived; + rawIncomingVideoStream.Start(); + break; + } + case VideoStreamState.Stopped: + break; + case VideoStreamState.NotAvailable: + break; + } + } + + private void OnRawVideoFrameReceived(object sender, RawVideoFrameReceivedEventArgs e) + { + incomingVideoPlayer.RenderRawVideoFrame(e.Frame); + } + #endregion +} diff --git a/Unity/RawVideo/Assets/Scripts/App.cs.meta b/Unity/RawVideo/Assets/Scripts/App.cs.meta new file mode 100644 index 00000000..f1812c2f --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/App.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 191db07b5393307429d50e3d789fcd2c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs b/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs new file mode 100644 index 00000000..50c2f743 --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs @@ -0,0 +1,55 @@ +using Azure.Communication.Calling.UnityClient; +using System; +using System.Collections.Concurrent; +using UnityEngine; + +public class IncomingVideo : MonoBehaviour +{ + private struct PendingFrame + { + public RawVideoFrame frame; + public RawVideoFrameKind kind; + } + + ConcurrentQueue pendingIncomingFrames = new ConcurrentQueue(); + + public RenderTexture rawIncomingVideoRenderTexture; + + private void Update() + { + if (pendingIncomingFrames.TryDequeue(out PendingFrame pendingFrame)) + { + switch (pendingFrame.kind) + { + case RawVideoFrameKind.Buffer: + var videoFrameBuffer = pendingFrame.frame as RawVideoFrameBuffer; + VideoStreamFormat videoFormat = videoFrameBuffer.StreamFormat; + int width = videoFormat.Width; + int height = videoFormat.Height; + var texture = new Texture2D(width, height, TextureFormat.RGBA32, mipChain: false); + + var buffers = videoFrameBuffer.Buffers; + NativeBuffer buffer = buffers.Count > 0 ? buffers[0] : null; + buffer.GetData(out IntPtr bytes, out int signedSize); + + texture.LoadRawTextureData(bytes, signedSize); + texture.Apply(); + + Graphics.Blit(source: texture, dest: rawIncomingVideoRenderTexture); + break; + + case RawVideoFrameKind.Texture: + break; + } + pendingFrame.frame.Dispose(); + } + } + + public void RenderRawVideoFrame(RawVideoFrame rawVideoFrame) + { + var videoFrameBuffer = rawVideoFrame as RawVideoFrameBuffer; + pendingIncomingFrames.Enqueue(new PendingFrame() { + frame = rawVideoFrame, + kind = RawVideoFrameKind.Buffer }); + } +} \ No newline at end of file diff --git a/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs.meta b/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs.meta new file mode 100644 index 00000000..1cc9531b --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/IncomingVideo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0779f823971d50e46b4225741b1c364b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs b/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs new file mode 100644 index 00000000..43bd52ab --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs @@ -0,0 +1,121 @@ +using Azure.Communication.Calling.UnityClient; +using System; +using System.Collections.Concurrent; +using System.ComponentModel; +using System.Threading; +using UnityEngine; +using Random = System.Random; + +public class OutgoingVideo : MonoBehaviour +{ + + private struct PendingFrame + { + public RawVideoFrame frame; + public RawVideoFrameKind kind; + } + + private readonly Random random = new Random(); + private BackgroundWorker backgroundWorker; + ConcurrentQueue pendingOutgoingFrames = new ConcurrentQueue(); + public RenderTexture rawOutgoingVideoRenderTexture; + + private void Update() + { + while (pendingOutgoingFrames.Count > 15) + { + pendingOutgoingFrames.TryDequeue(out PendingFrame pendingFrameDiscard); + pendingFrameDiscard.frame.Dispose(); + } + + if (pendingOutgoingFrames.TryDequeue(out PendingFrame pendingFrame)) + { + switch (pendingFrame.kind) + { + case RawVideoFrameKind.Buffer: + var videoFrameBuffer = pendingFrame.frame as RawVideoFrameBuffer; + VideoStreamFormat videoFormat = videoFrameBuffer.StreamFormat; + int width = videoFormat.Width; + int height = videoFormat.Height; + var texture = new Texture2D(width, height, TextureFormat.RGBA32, mipChain: false); + + var buffers = videoFrameBuffer.Buffers; + NativeBuffer buffer = buffers.Count > 0 ? buffers[0] : null; + buffer.GetData(out IntPtr bytes, out int signedSize); + + texture.LoadRawTextureData(bytes, signedSize); + texture.Apply(); + + Graphics.Blit(source: texture, dest: rawOutgoingVideoRenderTexture); + break; + + case RawVideoFrameKind.Texture: + break; + } + pendingFrame.frame.Dispose(); + } + } + + public void StartGenerateFrames(OutgoingVideoStream outgoingVideoStream) + { + backgroundWorker = new BackgroundWorker(); + backgroundWorker.WorkerReportsProgress = false; + backgroundWorker.WorkerSupportsCancellation = true; + backgroundWorker.DoWork += BackgroundWork; + backgroundWorker.RunWorkerAsync(outgoingVideoStream); + } + + private unsafe RawVideoFrame GenerateRawVideoFrame(RawOutgoingVideoStream rawOutgoingVideoStream) + { + var format = rawOutgoingVideoStream.Format; + int w = format.Width; + int h = format.Height; + int rgbaCapacity = w * h * 4; + + var rgbaBuffer = new NativeBuffer(rgbaCapacity); + rgbaBuffer.GetData(out IntPtr rgbaArrayBuffer, out rgbaCapacity); + + byte r = (byte)random.Next(1, 255); + byte g = (byte)random.Next(1, 255); + byte b = (byte)random.Next(1, 255); + + for (int y = 0; y < h; y++) + { + for (int x = 0; x < w*4; x += 4) + { + ((byte*)rgbaArrayBuffer)[(w * 4 * y) + x + 0] = (byte)(y % r); + ((byte*)rgbaArrayBuffer)[(w * 4 * y) + x + 1] = (byte)(y % g); + ((byte*)rgbaArrayBuffer)[(w * 4 * y) + x + 2] = (byte)(y % b); + ((byte*)rgbaArrayBuffer)[(w * 4 * y) + x + 3] = 255; + } + } + + rawOutgoingVideoStream.SendRawVideoFrameAsync(new RawVideoFrameBuffer() { + Buffers = new NativeBuffer[] { rgbaBuffer }, + StreamFormat = rawOutgoingVideoStream.Format, + TimestampInTicks = rawOutgoingVideoStream.TimestampInTicks + }).Wait(); + + return new RawVideoFrameBuffer() + { + Buffers = new NativeBuffer[] { rgbaBuffer }, + StreamFormat = rawOutgoingVideoStream.Format + }; + } + + private void BackgroundWork(object sender, DoWorkEventArgs e) + { + var rawOutgoingVideoStream = e.Argument as RawOutgoingVideoStream; + BackgroundWorker worker = (BackgroundWorker)sender; + while (!worker.CancellationPending) + { + pendingOutgoingFrames.Enqueue(new PendingFrame() { + frame = GenerateRawVideoFrame(e.Argument as RawOutgoingVideoStream), + kind = RawVideoFrameKind.Buffer + }); + + int delayBetweenFrames = (int)(1000.0 / rawOutgoingVideoStream.Format.FramesPerSecond); + Thread.Sleep(delayBetweenFrames); + } + } +} \ No newline at end of file diff --git a/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs.meta b/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs.meta new file mode 100644 index 00000000..7511d4ae --- /dev/null +++ b/Unity/RawVideo/Assets/Scripts/OutgoingVideo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cb232e9dd3f16ec4f928c3f17aa07fa1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/VideoPlayer.meta b/Unity/RawVideo/Assets/VideoPlayer.meta new file mode 100644 index 00000000..4e337c66 --- /dev/null +++ b/Unity/RawVideo/Assets/VideoPlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8285f225ee2f3454189767458f43f6dc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture b/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture new file mode 100644 index 00000000..7415a151 --- /dev/null +++ b/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: IncomingVideoTexture + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 5 + m_Width: 640 + m_Height: 360 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 94 + m_ColorFormat: 8 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture.meta b/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture.meta new file mode 100644 index 00000000..68fc4562 --- /dev/null +++ b/Unity/RawVideo/Assets/VideoPlayer/IncomingVideoTexture.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 402bcdf89d5d1d3409b3ce586825abec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture b/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture new file mode 100644 index 00000000..78260d23 --- /dev/null +++ b/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: OutgoingVideoTexture + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 5 + m_Width: 640 + m_Height: 360 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 94 + m_ColorFormat: 8 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture.meta b/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture.meta new file mode 100644 index 00000000..5e7d8536 --- /dev/null +++ b/Unity/RawVideo/Assets/VideoPlayer/OutgoingVideoTexture.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ccc9e3d29355b2a44b4c53b68614c318 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/RawVideo/Library/AnnotationManager b/Unity/RawVideo/Library/AnnotationManager new file mode 100644 index 0000000000000000000000000000000000000000..7a965ce634e44a9c27b06701b6406345a3aafa80 GIT binary patch literal 4124 zcmeH`yKmD_6vppu65fyUri547SR#@P3?SqxK&ey&B|@#r5SiqX8aXzyT_MVH`2!Gt zK_yt&SQwcqSlAIO5)uPqXRSHky}q{NQYJEd$Z%Jjm8rQZ7T_nB!@H|fF>#AU`LZHZMQ zRaS}9inkRe-*YB03G2-sECByX{4mwnKLJr9>ELXFH%Y+-UV*%!88T-T_KjGbW?(+9 ze1Nw}c%1C70ZJqtoOaBUa*bM?YX@WtNr&OIM)94HEhHV_^(vDOsKtNpN_6uBev8f~ zNWl4b14twtoYlteZx6}bN+4=FQU3n+Ds7xE&_vuH&cAO9ud4ka={Vnhy7FQCe@-IK zcK}c#=_vYt5b}m*$VLArGo-4b|A(MTg;X;B8vpSg6#d2XG5#O<3(xz1R87rN(f?yW zGSA2T$A|JS|4)Et+tu^Q`+sr^ANPMMw-+V+e?upFNj09&DTui+e4RA#dXAw4hd=LB z%~hMAknl4p(S_lk6Ml9Z{w3k(w&A}LejeOH(lO(Ceq=|E@7=aNdnf`n>UCCw zKzPyJK!hUdje6Odc_)lm*3#O!zVF@e?1!!xP&ezWjr^?bxON!MT_@1(2hNj7_0-*T z?O{m2_e7um$9>jWvAv-hu;>Tw05iMJn!rkXAk@%ekL~wE(HPSDCI9Vi_r9Vi_r9Vi_r9Vi_r9r#}ky!!b2 MDr2uLPJx+!09_v0!Tx8&k)wyiQSX{s6#@ zGYA1!q~4Ko;m(Bv9N@w?0Ir0Y-F35e<(xQXB=3&@zn$^UuDuB%YqoFABi%2h-*ZFt zYbZCE%MJ_;ImJasHby zHpE6+vcAnI*CoRi=dahdrHO=>tZyr-p+KTZ*0&ARR`uaNw5o5%Ixg!w4La7>1AYAY z@%`J0ypD~uWPQ6LpmBZwcB39D2wk$iJ*ee%9^XIQhgS9BhZ5(qK6t-Hefu$Wh>f)5 z{vANME*ZAT`VKac@RIv?2-Q#^(Io5Z1+`UuhmkkK!H>V6N7iwJe1<0ugN}RGr^TWR z^@;EIF8G~r9Ys;Ih);or{Fuhjjrc71$d99_S;S4ykoRj0T|6Hq2niR3PsoWBzM}Za z6#h){Qz`tF;`kox7CnCzL|oT1Iux3m-$%vIrtnXSpG)Ci6+fTCe=2?aPlrSM+G2U2)e@yjXvmg0jcyr?*wcL4pFG{`1vt}D6jMQ`FN#? zgcp5(cs}F%bv409YPMrdu^_PB1x~ohT*k?g&m50h%qlvy1>5C>xwPysYo=6S%eDz4 z${03HAw+m%5626{q5+*9oRfW4^*PlK&5;V_#nR*q^SSN0#OC+CM>Jr5mHLZf79bUU zFYtnuC74VkjaoI61`t7=HK|%=7R(L;rhS__B6F?m*t`OPC3~R~aMY$M)bgH6*P9Qt z+X>I4&IAtB#9?chx+YYqW+;m;thlslny&7kH(!J+FKf26Z`Pkb| zjYC}}=330hkm}Q+AGjrf%XctSD?KD|9=JK KZ?K_E=Klu+(M@jv literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/EditorOnlyScriptingSettings.json b/Unity/RawVideo/Library/EditorOnlyScriptingSettings.json new file mode 100644 index 00000000..649da0d8 --- /dev/null +++ b/Unity/RawVideo/Library/EditorOnlyScriptingSettings.json @@ -0,0 +1 @@ +{"m_DefineSymbols":{"m_Value":{},"m_Initialized":false},"m_AllowUnsafeCode":{"m_Value":false,"m_Initialized":false},"m_ScriptDebugInfoEnabled":{"m_Value":true,"m_Initialized":true}} \ No newline at end of file diff --git a/Unity/RawVideo/Library/EditorOnlyVirtualTextureState.json b/Unity/RawVideo/Library/EditorOnlyVirtualTextureState.json new file mode 100644 index 00000000..b026ed37 --- /dev/null +++ b/Unity/RawVideo/Library/EditorOnlyVirtualTextureState.json @@ -0,0 +1 @@ +{"m_VirtualTexturingEnabled":false,"m_VirtualTexturingEnabledInitialized":true} \ No newline at end of file diff --git a/Unity/RawVideo/Library/EditorSnapSettings.asset b/Unity/RawVideo/Library/EditorSnapSettings.asset new file mode 100644 index 00000000..7a90624e --- /dev/null +++ b/Unity/RawVideo/Library/EditorSnapSettings.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13954, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_SnapEnabled: 0 + m_SnapSettings: + m_SnapValue: {x: 0.25, y: 0.25, z: 0.25} + m_SnapMultiplier: {x: 2048, y: 2048, z: 2048} + m_Rotation: 15 + m_Scale: 1 diff --git a/Unity/RawVideo/Library/EditorUserBuildSettings.asset b/Unity/RawVideo/Library/EditorUserBuildSettings.asset new file mode 100644 index 0000000000000000000000000000000000000000..0f47e400fa8ec48a24cdd889209b613c2d6add9d GIT binary patch literal 7996 zcmbuDTZ|k>6^484wd0tOfD?j)F%E=VAlTV;2w-#B*_plBdl|OZUK50{#c$he-kZJpeHZDHUT+Wt=qlfbWI+S;)Fb+bobV? z(4b)d>Vc)KD1IArPOUz$W!Z(;7Dd7(?e{BiB%KT^v{{i#YmGECN zKUTv3%KX+L9QpYYapcGA!Q-@1K0n?-XjFdO2A-N1^5cyKF7xv+9W3zwCfLR(q~!g- znbf2FzXhCa@yO>V_PNe0#=pqpY4(3RjA9g0^8Vijbu1Z5^q)Q7-kzeQ27YW$dcNHO zZJeN_pz|%+pHGq&^M41lae|V9&M)o!J5E}C{`)omC%{v4s_)m%hdT>=EU`bx=ks{R z7FFc`0*&Y##RvUPl<+3=lO?>z{H_xIIP-Uw@TZyIUBaJbPVYHQ)cF6z{M{N&=l6H! z?Gq0BL zUoxL6;V&?+mGBpt*Gu>H&Pc%uJ%Qk2vbzn%GqOL(36#S(rm^LvMIPzMmgu|Ld@gQAo-AZ<2bHe;b@_@yPoZ1up$R z#r`*76r+%m_unG*DF1D6w#6gw-zjkE{}=3^en*V-zX|(EG?Ie;k)P`Kk4x%N{yPOO z^ZSqFe~g%iZYNPlLH;H8Hy)o4bu1ame0&1vCPAd+$M+FZj~ZWC;L`tL`r(EA?4sKk zg_OMih}5I}_rTc}kNo;<6}XJg-Q*wf*@jU@)c(B8d?&+DRs0I`ehGh)`2#~Z?vKw9 z$NWDE9;c1+^Z!_Z>-q6uYMRtA|LpzoO2J;gKR#68`u#B`uE$@$KYkn>eX!*3kDnmD z&c}@3(A;r<#QZ-AyBLKO{QgFK{=)J36x6X~D5-z#e*0-CV-!*<#x>ghd02rA&&KC7 z(8mnvQK4V_*dOYC{aK(Gg_MeMt>*s`QtRwJ9F^&g+~iq`d9J! zJd9!#Qu6-4KYpfl-V?O5Xo>Nj+-*-vgJX zNtyTm{T!dRoyZT*bwxPUb6ndLQRH~7uF<)ad|&XJR^<2|eXlknXGDPz(PFx#qUhrT1j zWcIs}=;V~ETDuhrtJM{Yj^}JR>B`7X>SDdu$|2>J{YsiV5sa+<>Q zo0}r4+IA?qSbsLD^};-`zCW+;`{&q5<7U{`g&2pj{Kcs}{i;(-1c{%TO zBbw5@m-IQ~yLRHi>~~zp+cf=N*c6x#D^^3R6ZnJ>{v{!7TBVMYjD69HMCe#9S}*!r zqCruzT4L3&JKg4TkKnZ3f|;7{49%uH?{PZ?KHb`Tm}qG8$DA+8A9390>BNGC{l)t~db(ITxM zGItR6xz(C!CJQ(iWfs#>ydYXuv%j?EHGJQ#(oUeAt`8x}f@%;mj{qX%Zc)>31(QX?>D8$Sp&9^;#Uft@Dby6aPc`vpY%pi z{EoJHQBzfY?8!Ia@5A~pX{z1(WE%ViYHTd8s8=ZbM(N1vJ>^c(f5Q&G;56HvFt8rIfcKXjh$bR-onb( z%73tPy=Nwy?8YCkm$=CXC2I}b=)H|H12FPNMF literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/LastBuild.buildreport b/Unity/RawVideo/Library/LastBuild.buildreport new file mode 100644 index 0000000000000000000000000000000000000000..c277d94e22ed1b7a53e7d7e42cc4f3ec1ff0bfef GIT binary patch literal 239096 zcmeEvXLwUb6Yen`lF%V05D>jv#->+yTkg2fV!*N`+X7hc(TCGH$=jG|u#>3mgt4&H9;pwwy&)mvDPD&|wd-m+yg~`!>)Q{+K$md=6qbCME zcpFkT!^;g`7&-_-HvHuo`I1fE$(tMeBBZ2{{T6(~eDZrqehIfW@LzmkehK)Un-9FP z;3kw5zJa{j@C-y!5?-7p{si-TLjE9lVLJXsn(rnog#Xrp^m6bj4KHy(d{-d95hNmg zEV7V|Z#1|GQha4G`7q7HcSn3kLmV()2?>Y~pI;s`v+<1vH$dzG^h4n*{eRYgj(kgE-*-&kI8KU`VVCuZrSKh`RyD*1+>e zKpg2;Dk6Uz%g1Mk1ONXtNW}kF5obc2=YPQRs}{;HMdW8Oq$B^TVSYBg(E$IK$WL`h zmdZ~ViTu>SeD+`ba1+W%mnO@C%LFs(#P2KmBaOKE2qdcYh%XX~pT%>0byaERnL+iJHKwlS7Vg@UCBQ zani?E($@y>xs4SEjm%cK=QUVt5Ll7OaKemi_`-r?gTMy+yas^{RvfTFphDmc0);|a zp`|1hiVap;p`|4iiVap=VJJ{yg@6rKnok>ieMrahkp`O$Us!M~A8D|Mc`iOns*nmd zSZVo4gUuHIUs^tFu+J+WHdrZsY5B0hiu0rO8L2u0kwYSO=>uaj3|5d5nt?(bsL@%C zX8s+aS;IOt0d5@q@$Wyc`c+xluSvxTCEd#m#kvU)Js)L;@B{yojc+ud5)FqGlrh9Y z@c7U?e8+rL;`Jep&m=N~87%O8FZho6jxyt$q0t$|MN(NvQh?5)PSR_!1(NUndY#GN z2*u?I5xPvRnWiAAg&%M32gPh&s^gpW{?_E?UfPtMv0~+6B-asMoQ+sa$9@9;&S7FP z5hnjV=3(G$P>^`xV)oK$w31?w1Tkopg(O87H5q!Xt#tToEfRe8Y|pOY)1S7QUhYD* z%iRt>nEY8Bq+S6W9Ln=rHLCHC-Do$8zvusfD1nZW7zkYrev)n&GgyFDL29r8eCIU; zkK)S(k zf(q#Lf)~;!-EcO1VW9-@KM~?Oc;UYacf%z~{baKI!rgEQVg|g={#&>kE=kOQ$&inA zOS)nBuJ%2y5~U_N%k;=uD4KqBU2H!Kc3KMxWyUu3V6pP_tUudxokVfo+2)NFjC z0sb%PHQXUts#Qx#dJQxOrSefq(rdg^D4){b3F%0`HheyhejWV35B`V-G_%BJ?7NWs zJoF>cB%pjZ>*<@4@m>&xr%)Z%3Bj3NwA|zrd~mt*QXXNB*|PtZZ?!6d`e%<=(ofFX5$+Tj`Z6@^7H6JKj-j#DSdHwjuf!`sGm}Reku6g2@^#D^TqPj zS(JxSUVl14tis)YO|Gmwd#@wTWDgj#>^(Y+L~fCr$?&cS^P_|*_dG>DVB^RcyuZZ z#*HQ`z_ti5Sl3$pG7K8MHi{(~Gpwcz>I6tOCks}iRjnuEcoIWcaRe3l8fZ2f%@+Ej z-fFW!XGmput@ zd^chns9!J+;mO8^zv?)IKfnA7o?oF*K8&NF9YbG1+A)qpeBs3dw?p{zv8_Ai zqq~vw2gf1Od^aHv^83T{u`bCtMDzpf2eBUwgM8#IjzjQwJYaqr;QNK)D?ARNb}YwN z1^x&><$s5`l)pF*k>*RsVK@$X-Z%`$A#Oe>2{btBN$L)i=8NrA#0k2e{~h9#zBhov zehkMUZrRzQe5oBk$06c;sU1MaA<}#?eL4=Y=R2ia5hV)LP>bY64e95R zvF*N}St94iVfH=01QuQpQoUk?uFuB)l-Y#-t`*iigty*^_$hJ7miy~k(C;X0@E75& z{+Z{x)oAf|K1;{JK5eM`uSwsDU&mT=A)5};p^B^vo^)k)(t2i{S_ zc?j1fnW5iNW*BtVEQJPoCeX_YvzB^hsY2wxg-;Z2Tc!u;DJ+|r#G`@1ia`duaSRI| znFsGFKkuBiQNojcBQ*g&3zPc8?}_WzqKwmKT0uFdDWc6rWniW{-2}aYqKN`JQ?uHl zgx-QUiY>|@P}-Og0iB~+r`B7Pz6Pt&pok3!QnXeCn2jbyY?@kQ9OjX(w!-tVZZM$G z`!GCxP{JWp5Ze6XUeY?Y<*)bJ=KSI3-51haizh0>s@EB`3=6F}isb>rvH(ZT5PCJ} zal=1mVdT=UkGDGOIlW{8q`4MLY=*&*r3g@GSr85rXTq293`Ir_*;8+Y_57;$-WnVyM3@4;`J z=ZzGPxTY9+f<=S99fZlA^mEkC$JLk4jXNB2`bS;akZyH*L9%PH1nar*GSUP`9s_k3 zM}ZKc>h?W-v&8q$bd_`8-S1zw!1Xx7jj2W|xV$UCy1C3{g^bp~sdD1IodGS6x9v2> zS8=9^U_c|;rTm~e28I$eAci`OF==E(B?$R*Hgx`Dq^4ZfGt-x!Dc3Jaa|s4ej9O|_ z#;OfmY$LQ_`0A1s!Dg-2fZVAd!nL0@@X0t5g0Q~zyd~HEZ8YMS-@onn_3GW%k|51_ z-pJy@c{#m0i`Ew!NEnb;=UIJ)V21&r(SJuKX(#O1b#-ySoWZq)U=5_bCQPx$6f5Xy z%V0!>{Uip&l)x~#_a;d~OHKIfyWeX*?bP^A&*5);QZX5loyQboOfp)Ht^JI8O%XZ= z4M7Zu=`O>RiJcMzL(9}p7v9sXedqgnJ37#;0uKLaX;Uw zv-Yykx$5<^=6zlJph&p{gGl)@Q-aXXB~+o`9zr8K4n{vTZFuH4zQgbODQ_izhYl$@ z`i1QWVl^m5-1o3rQv@``F<@Cat*eaIm54pxolYoKs$j|=6@MRBu^y`3m!ZXa7eWUO zdJJMZCN{`i_wmmw%6!qL^o3IemEypang=^c680voct>HnpmW(LaSiRj#(j`_GDV=@dLrf=+(OF`A>-{r* zs^=E0w=Uc`=KJ4Yw$7p~!_;~WX~l#Z(!hY9=-9>35e+>Ehn^lQd-=EVmDUB+ym+$D z$*X-Jt$4h&x0+a!S!dNM*xv$}IV?`49TGDk367Br$ASz31Dw*)b>?imoKkCB?*@O5 z+8T$BRXH3*Q4LHt4$?(|*{DWGj3D5E3j>y!+pzA#NRn_axy!e89#{`{c@z;c=%=K0 zuF;)ENEPZ)1_}px7!Z>u(-VD0ktAW=f-Sza&ubRdYVhrY4xcS*0fRf)@)vHWc8)y9 z&gX0qa3F~RFqC2M^&))M?cv8{SX&`nra&_=>7^pNVc%QbyAy>Bser&CUa<_?}kpN_jz4b zZ+LnmU*mpx@T=Hq;#Oc$V#ndHHYp-A(!o%&FkZ0XjDVj@7#?8`jktyX{naNyjV_FM zv(0xk2RzIQf#l-V2@Vf4%vy`Gx6Y(hfG-sWe+C%u`RmNddaZ}aqIs9m64T9Nbcb{; zJ>=fnW1;hBl?*(U@^0oU(6tYqfNHE(oeslOi^m{SYF!cC1uX9K0gW6vx3l!F<*U5= z9V?mg$v5|E1VHjjmN&?pp|dJNwR(M)qM2Wl-p!FFIUc{ zeH(h`AFusqs~+&1m!+vU8qErSZ91&(LUMuvo`C`B&GO0 zdZy$0erWo>B)wp>TB8G6iU6HD)o4)b70vvOdZU??wLYOnX=k!{xw$mrYI~r846STN z%a!&(Lm4`c8J*W@4>XdYYnn$BU1<+A7SZ8$)on(n!e^Q*Co44yY|*LDqz*rLb@YYb z7EfNN_5r;k>60xUCPOMbqlt(nmy_)IG||;INK+B5=`8-3(faR>v3=^V4?@cwQq=zW zz*5gUWV!(FB`8Js;m04-S{!3b0J^k04YioMH-`ea4zma=x;r`5~ zJN?WVmNczKLB_BOZ_>1Fivq+n6$=rCAbgwCw|BYIZIf!1ajT~+leO~|>dK*y07VVY zWo{i(&hdm2jNuv0|7CxP6MGo2>>P*BB9in!wI5nhk_1OKix)5)|119rS)2j1kryKw zhLFWH^1rg@JQ!WX!27iVhT;E~oy!-Ucmk%(01B|r68bsOaNySURuB62ef&$SU*jjF zqg>0iNpwhqg`|v&h#rU*w1s>JyO}Fvs*KNLhA@)63nC8NRegG_++FRz&fDGwcRjDsIcOT0pTj@2y^cuwHR# zQ5p*Fd*a0syvS22tyQcuINzPpI&<^)51u5q{o{77r9@;*R;`z$h3+JnPPUiJTSV(H z8sHEzneqFt`}Bu>?^x@$_-jpMnSaL|MHzn~56Sq?{`|J&iL@-|S;Oc!oR($umlghb zFyuj^YSWtWyB`N$!g9ax`2j(^j%-BQF&b^)b25vU`-{?;adca?k?%M9;7Pp((S6E( z@v(0aH0&d%aF}rLGi%kzCq+1{)yGf&G__fs3|6zn!Wob+jUZ*X`)CHmYbTuI-oR6S`PgmMJ-SAYiot=AA8FnqY7}{v*89T z!@(UcNj>k!URpD(u~F-}qoEtag1E-Bc;(|1*YUK@$tP!&^1uD- z)$nl{HzEhS4p)HMJQ#6>gI~`|XB-NHW79BX%?ii1fMGi^>zACP{c@{?wf!~0_wlj0 zF2qJL0XPDZ%!U-khGS0*;`&sapnRLxFXriRgZ0+lq{lxFimvoy8vM>h_1PCj%f?~I zxhONvITixugPXQXKzFe|L}w$M>{* z6DHrJIR00@#b6PJ0yfEM`iWw2wa-07L@S?7%ys;e(puK|&1U;O<1YNt?GN2Lz5Y9t z6*=8y?|EXaSIwyu3I^RE1FjG9NHN12(qTsPV4RZ`5d$EfB}~W{U-W4fFK9 zdc}HS(}DbGwVv_-;t^VnP932(z!Fh2EQN;O4~Au-W-D3x76a@Hj|+-G?&EKVnj=zh zz8L+zly{DJR5%IOPiLabtMtaywg#;=8g{;dEkXb1XM{DiT8*C$xSEc??ybeH-9op% z2?F}C>9g72JR-HjU~!WLCel4ZEk*<6@~Uyj5ZgG2PDKox&mGp_!<$6BcJ%XGmK(*o%0Wr z0;9`U!C_;9@H*!oCaC6~OH_Ktj1tjXXK0UpBK!|*(=ce% zdZPjQLJYL`76jB`{+*Suymb&P*sv&L$r4xSX^A3MCgHgT4v8MxO!|=2595j9(fb1f zszDM^0`H@OsJT4}=XSYGsnqX!U@t5GlG;d?t-S1VSMF5Q5?Jm7bldHzuj| zsbDjt({9#6>;{=+QjX{mR3;-`N00Rs0$CQVrYBkms3r3nQ+>M9znBgJQ9ms%P=h5cxi(M?gWR1RjB zslZl%W!iA$N0cGlsMf%wIWc6A7RIn_qiD4Y5fFbRS~jB)4VUyJy-v%?khS(m2OH2G zGzuZ0o&8F5z{3sZFs%wtn`lYu2Ww_zGb|P84|utZjzb-xt#h~qH85gcl}-#dsFcK{ z8;Dv6Z0mur+QO`+8{XwIP|x|4rDcqJRod(*4rOM?_5<6uRf=tO4~<@rtrI@T**}M` z6Nwa}Tt$o8`ACMeS^PxN*xHSHAbY!rj>8y3LJw`^trmB97ldedy^@?b@Q{yL#Qejd z>(;j_k{0GNI&3^7rh{X|t?f`UoRE9R@{sWwVVkXwADF5&;CgnghLn=GuWCr_ zK2^Z4EFW|btx+=do7LJM9S0_H*{UNQJc$588oXYqY&JT>VKJD8zcD=>)KfCq_vyhr z79PZ&g7al?@sdc75X0%BlX{uck1!gH9PGqo*Vxu4;5(k;nG zGt?j@VWUBM=1oC_m*LLx5}Xvc4_Tu&6T#qeK{Qh$tuOQoIaOb=S+Gwx9V^TPhOxm4 z4iBxKezkykU^Ga1SPM(`8|7iV%V?v8%Qgu+@bev{cbk^gX@1(u3KA-kzuHLSU({ZL zFaTbz;3wMe9{2`sKG-Nncb!|Lyd-`QobZLT;>`7uutZ) zh(0&Lrx|(vE874L&kr!Gaf+HSi_;DqpobgyMYTxx!D4+jK-wYr=7i1T zP>NAUR!D3EzByrw7ov$K zq?8~pV{0U|0^eL98@4j4!o-E+v^KvIcSu?RRh<(Pec;C&LK?xqNiMf{?+XASAhl7Vp)3qg8h_3L!!g77!1GL<6kO{$Q9|zHIoUY1F44%#D`9j?NE2QSC zKA+PwXv{{PCNxr>E}Av&?Wyd#rcP~inYm~$E-$M;(#$M@MRhT6W9-D>*_>Vg#NAQZ zL2%l)BdJUKL40DuoNge{b015{zPf)}(ndLN@$7LsMNSVrj_y@yUAo48WAyy>Mr&GO zdgx1XPod=-2p=wMoBsL?a7da}1~}8uPS#eR=%R4P0U-p}^wqX<61p*P*r3*|HH%2w zXrs^A9SukbuRISWSEs1qMFe@Bh5{Y;L1Y#{P($2xJce_-(&*|5@Uw|1+uIF}gWYkU z3c)q~8sl?-&J2SdqnN?GyyydUPeh8YvMU))k#5I%Z1-KXow&AKvC*)5!6a%bHo1vJ znr1AOi}iajtlsbkpS@IEZFJG^<-UZFb*-)qmhVqcT->p+5M0_mg28weNhy~XoMYtj z;?n*r#AuDt>S0BMohYY?T?sFvOZAT`9oD+Sy)AH96ncj3l5cQ z9^N3hv@eT>qnCAX&DX(YjXLw)gQau%& zmSurazE^;~*qkQPaj!tj?DTw@*zRRC?G){GjPoDvZ2roneJgkuQoxfaXEUH);`(?b z#9damMXZsd<{Ox&eCeDB6z4s*WsWJ)m6+(32{_mX58ScW0H=$zc)NCK-$b{XaGw_2 z6Cw5YV4HS-AKoB1Jr5?9H|n~^z2)`-0}WngEGI9sOZzC1%Un#D(@jRYNF0Jo+jOiI z_J^lS%yLds1GHX?9*NCJ!gVIeGBSleHEv_MwqAiIS$ZN7CtJPZ(9(S}yg_iO{)*F@ z&1#*jeT994`&c?QaA_aKXv(NgTY1xvHXCob#*fLyKIoyv@g*MGMw7(iY@@G3`gLg8 zUkiQ2@f`Z-=5sHFk}e2|@N$_RN4j)SFWaUD11}V#LVXH80Ycb*ASBA z0xj2-H9S_1UOLiaz8a_3LWp&9yh`FDCR0KuX&t&$SH!E}&_g`(OkP(Qv3%C5grUjs z?lOMb=|+MrJyfI~ZSBT{w0|U|T|34W56Iy0Ty};az3G&mOUHom>2TJ(U3xe@bX#y+ z#-(HW_{hLGJ2_kVEJ$wv)k7||)rs8t!a|cQoEW2v3uNe9kv`MIF6{%P^hK2Ib(?{- zH^CbOmyQPsZSXA^!1E@e%8QPghoB63wH@cQ~Z*5YHc1Q*wz$Mr0t{yuBfF9>T7UIB82ZHNmU4%nAWniN} z9O$~E5`o~-@dBxLJAHBCdD%w*P4{mIX>v*A>#76n{w0GYAjvV{c#->GTx#<;l)rcH z-eMNm=#N7BSP2kZI$rLjO+%N6xVPkG#vz(JHgX8)_i`EEdj<6o7n0K(4K&<8M`|wi z<%uq)70=yf10C-3PKLPa%BM41;fw<+PZCqoR-a>#HXF0Jbl$jEjF`1HdSj6uv+G>i zH^Zh`k?Y$=ZyeHNeWOdu*GIm5=q}`Qn%yA&N_D9=nLKoO-#NY82cr`p{w};QymA|G z*q;NBfSy%x^?Fr)^; zaw%mX9AB+ro;W3}1~sn)h3emV$RUmjhl- zJm0ouybL^tf0+Ssk2m2BLb2?R@cK8>ZdJ9B` zLU2+(+7?$nJ^)%Sk`JW$T=~caTHUcTgW#lmAT3$>mnNY`9RZU^3kq%`U72bE|ZUT&zFydK&u=Y2@sr?k9P9%u?U{+GWlp%w0tZEIwM>q zAMJ`KA4`BHmyZaDJE4Emse)J150A`rJv<3*y{@$}?NH4*kU6=evOU{&0`0KT5LxxEKMi?AslME^uoW`(iO}JbR zDV4xC2$kT4`WiA77IMa#MMy1uwJhc#FR+ir-{NKS#OGj1phzqUaI6=bvGho`H0#i* zm6vz(&Wd65;$MY-Y@1Gsdd(-3L}_6 zYFM)cKLVt~bb7tQoMBMlAJX7{BV&d|pXH(Ohiz3lSUji5uz>xhfJNwq9)Jgbl4mLm zMnmf)Jscy4KZRBD3RtnAx3p3KyD3#g9Nta_wqG+350BY}d-G?f>ToIb{#!qm$?VQ~W6NqW03p+x!0& zhO~q>!z_0#Y2`y<1(608Q*&5^GN|qXcY98a~mxfU(KiMUitq}2NFGu`ofY7V+@NB z^=B(cwd?Jsg?^);>QEU={-BJ2iC+&gA{U0;rT;~}i8S!j057UI6>y6Yj4G~`STxJQW;28s<5LIujRbJ5Z&2pe_P5w6W9XaaFtdvNeY zIi3||-qM$d2Im#Fb>yj50Sz4bPdwjFp#lG9mIBU}qFplj$zWw0?)epr<4{WNb>a?j zaE@5HA%zdHG7(x{`j+IkXz#?LDu9*)2fpGYE)<^HXOyxaJY{FrbNR*RtBUw_`Jhk9 z^Z9R4KIqyzg)zeldj^<%M2w@q;J>5Z8v7mI_z>~E_>MXd1Gb|VR5|$_zKNfg=z{T_9z)4t%CtKGwWs9%Pse?MxJOSJ z#7}(&kB$K@8`Udghv}@zX{d(5q$6Vk#DI9xFakk=4qgl?-qQy~{i52iXYc3+{&idU zLXr%gjMNOB4Me;O2${9YaCH{6H}(-j$1|Yj$@$KtG7Lgk|*5k3wbg$i^~Io1-2*|kWuUt83AHPu`o9l!Gd%97|KndpTem#*Pg1vO}T#@ zyR+hM-@dVs>;x84AJIlLoFLju4fj@%Rqlv_4AkJ+$PbPon`6*Vt1$9Jc-GEkx7v)- zB>tG`0t|MU=%t1eM4+FyD5H`rM!nXmRjTl$XLc|b&t}3>4rpUQoa0GM5FRs}m172P zopH|pm%I_9d-rdsT{0N*o#mAsCvI6*_9FX&y!j`bhfN39q$aukMr^AXwrq6zL#TXu z^}6L(+n#(crf;d(r>(c)9H$f5sC?^S7aABY7A0}0YSYw1bzli7iFp%c@Y5!P@d7Op zj@Q^?TayHpxcnrXqzQ;gMnn!0)#aTcQ3z&rn*FD5@4^j5ggkl!&bgj)3ze?Tq(z;&ztD@Ok<)c{rnSWSyzESGFJO zcco3XbNC4F0<uvjG%u2rCT$y6=&q@ZRWgGq2eOi?%>m>XPnMo5p z@Am0B+A=3lnQ@6{uwpd(!T1n+SCzqHA{yEr3s)y;^}bfCS(lUn zTlWE?P>t~d`NDO;VUBS@^}FRFL;5e7JxSj;dDIQmO)`8bE=C9WCVfaOxDnN67?k5j zB#vP4cw<0DM^94T`QRiT1kcFyEEy>neGW1q*QXjI6+@F9rFwX6R^9-BMup#-Aj`&VkJ?;9y z-{&8TPl4aaU~`6N4*jmLAr&qsL|`=$6a>W8mBiqPIGm7#;4|YG=#=%se7PhBHuoGFiN3$- z)He?!B4?keGP=p`CvQ60?g;+^Gn2J&*9*A(K^+kP7MR^^@2V{ifW5=8Ag(?vuK0lA z+Tk&#XRC4J2M-zJA?V*~)&Y`VC_|tl%{rK9NVeed)Jnf}9hx3OZT4)W!`o0Mr*mRv zw)s$`^1$}okAI$1N1G~7r?~Rtpm&O{AH-Ehgp2nRcR8+tjU7*p(RAH#NAKo5Nb7?2NK|Mp=55#9O6ogcp& zT58AbVfAlL81?OI;R6}eh z=W-&P?7JN5hYxbZV<6%W<{5mbEYxGT#JmfcOA`}^_}y#&ZPc{cld^ht|72BpH6+W( z>MP0+F_0mpQ#{iVPb;b%XHe)xB_gl4NyzMQ~B+BIhiG;4wa zd#T{CLeUTKuG*Cwe-MJ5ua?VwV_4U!?2S7Yh8`XpaF$KWR2TN`5fQc z{poprstR)h(_=%HcG0*3AKYDOv#eDxX3Zp~Vx-Xuvmy38xaJiuJVa&PP=t>)0U=~Q zO-%f^thZlH-#hy*oVY(WcV1^#)F~OWvXN^Ny7Z%l;m9^kXQJcAEWp%Agei{2Z!k=z z^0S*a*k}x%{p~Eps7IX!c7uEwIRkGoKX;50^FWh~okWIrndrSd;GlCL2LEp?qL;wp z9ho1`v~b6r{2QwdWQ|Jv{mSO?{fnSiOub0yp}!mh(q2Mhg0O(m%Pw)@aZ22(oOkMM zJ{*5=*wrk^mnmOy+cs%O+!hL)1Q+mUkKP-C)G-#qyh>M0R$Yvs3<5|3b(Fb_MmpO7p!M8!4WrjnmF!TAe@4Z2mONcAqhr77JAG#{2A@yLs=4YmT{zA5O@OmjfRqbuJ%i+q#e%S-7GSWrY}-NDPoVs>5aA;N-nfT4h4$;s_J z;+uvugIAflv>7|7*U-+8CxfMs&%@?Hq%#UJcoZKhY9)C(tq)#q_YY}ePVS)EpB#*u zx*_7LkEbb26`k~@72T$6K4Ca;0}iP+8fbg+l)<)uW83jy!6g5{#tYvb+H%&IbJilp z^u?_cIc#LPgf1D(Ht0=t$*_qYXHVI@LmLq`9B*N8UrIl7cE{fv8}LTpoV#N>@0rzn zX(vdQsUv7dYJTprQWa)vNUAXA{(^&P zV_h-!<1RWfJB;&AFz$o44Wkk@*gNbSK=T&i;+=I4A*1S^8Q>fyqGRp4h2A|A2~#I_Z6*jf?#Fd6)uox0QR(dr~(za)Bu;EdBV#Ga-;B!=o43f;iz!e780%z=@880;QY7;(eCW zNM2k)xigD{+b%U!dGqHJ!rS!IgYm@e2lWC5ng&@`-RCI=Z5H01GGP? zwvMTA_AP%+ry_KZWNwaF!1U}Z7-{(Nc}mjGaomIf>xk>$yPVebq=RGM2%33t%if!Y z@S&>y@Ea$1LgX8UzOaf5=L&2waWfaXBNzx`Jf>ANZENlO-W8kqHdwgT@MiXn6~|vg ze@(4%dw&2vc%2CrE|WeKeQy{L8@H+Ma%>}Z9LedR3*V!zWmq(BmM@k=hF67bD&PW4 z2hs^!x>_%bPvrPhELX7mCwwUk3AO@`Ej|6He{EI9%=>j3eYU(zr{3^e8D11u@6dT%L`Y)f zh7K~PjJ4t?!V$;f(Q9bru&Mc1X_q3rcC_&DIk&3g(tgh2aNrTKA0os8;xEF&+tNCY zrA^M)6V~|WZdLA5CXU@5@1%_-hegtli>=@Q5iZ_$He1Vhbn8Hc&1-#1?@=7?@U^x_ zlE(EslHiKLHTY0*fg()UZ(_*fn6%b=*%gc-Yd)KQe`}-Y#W*J*BR|EPYr`HL+80hj zgd0<1lcBj`gh)8x2qKhe8{>YI%Ij$2;bvRgBpva2@Nvjb4WsB9 z(NY^|Yoc%AuzE7cn4DoD$|qQa6Wcn5JdQKu{MYvm_?YHa+_7ca@soR9p{I#smpgdj z{6tuj$x9uq6MEQw zFeEa1=ePE{->}75zYm5)Djrv;r16G4nfj5X7Xba0#yE_4Xv4`h0&F3_Z7v$|U z`2Dcr%Ub2;jlMPz%P&KtxH3Td02TQl0vI8pox|dlH`2)Y2VHY2OlqW>zPDF?yV_nQ zim316>5oWs9HL(e<`Yqg!2EPN>~MmaB3RB~CT??_ucx!YEE5n$iturro5%5$2~FG^ z6z;!tRJB^)SLt`t2YxHVn?kmNFP_n&B=2xRrpazP0KF&?y~!-j&j~u8cI9ZiXS)B` zT77GVl%Jz3LcV0jtL%tF*n))<^SGFc`h22A^mzNv+e8!3PxA|H)if%1?4B)tb;Giw zUEA-%=!dLf?VSd@0f;R0l)+N@Bbs=_V2nIaD{A$jCoQZ~Ms?9RsT&>IKF1PnG@7^v zoSrR!)UmB|-ehw;Gn;*@ypddX&&hRP&x;9Dd%|yI>R!4gg50#jJP1(YSbR7Hd_I@0 zyX^UQ4}Z3>$DQDBW}6OFncZ(`s%w2Ftj`M9!KGBN+DeN{4RjXtgknW-9U#V)wwXW` z?zU;0KE0dYt?8?Rat2xy1!_o^DR*)80jUSNj#h<^Ca(RokMM}Nl0DcQQvyaHL~o&=cW+rb z{xl}2=G^s7>*AzLZ9yCFYpSvD#xdO@p)U*#^y|IM}X zE$0&q&<%wht5|b=8GjI04vQBsTyD2&-0yXBrvI`UEoz*+*?HOk$d{4t;`KS$p+Iv7 zzXf{sv(n+ZT}*-#>4@s%eLTtr2E=0`F<3vdjYizQ%Ug4yl%~_-L(6M)sJL`Kj!lSj z%L1#!)sL!r#j9;HBEQ!}@RWay=V;#KLt?vyUl2H|rNy;>Jd1kJ&J+?ZU=e z?uWPl3(+*d1nfgFAYB|UVaVom9~~I9{12aP)5gzhGDTTozmxqsdBz_Z09v={3qNUyff_ZsK-T&L5tUR9PKsMj%?OTZ`c#g9BqjV2V&xS#(f9F zv~&IbgE{_hepD&*;jNbWHJz+SvHfayUhU6am zHT|E}?{9d&$o&A&VAG3O2L{TGTox;{LYkiKhxEj>EAPY(KDh`%?)PmB6s z#qOt0&Z#=sP$He{#pYqWxR(IVBcc!_vOSsO`mMu}-yW&T=0@me#I*S2l9RZIY_oB1 zgw_n}aL5-n>~&~#yxk+e(ild?E*h!-U&Qr&CvFGLZhQYs;M157wU8{+=87lJ=p6-D zHuDXF&5ykitb6Av;cx{Bq-HW7CDOtm#xsd@cpVPm-_2ZDQCi!J=wCF<;awhkZr(fK@kI15E&qy3>sK+TWqVUo0 zjRA3RJ<%+mBnfTK4zAo+A6{l!hyKyV?bg?9t2AKTgVV4LMjugWDdDIgPK=DxP^K)HL<-pzuAHKdM?p{TH{~ zR9{De(FLms$en{w|6Jyf@8cPkK6_}S&F@>TCoYfbH_glEMyY$BOmLF#GX1Qt9z5Wd zNZ9@&?pM=AJjrJ98w`_gQex_drF<%VT>ZU~ApsLyvXANc^ONG4N!#_W5;;xWOF{ak z4{!SZrI6C|eBa2Lm|Y^pNq!YAr?zz=R8EZ|e&w?GRgURU)wvJrG)nmO{=H*k?<^cL z2J&TeNO5I|)S-QipX?q%Vhi9ddg@|j^D7bjU(~+iwmr%n*FmOz6nxJrXMdSL``_?g zWw!6}{_C6yb-D~@iEbs@o6QH3#n<%YP>a$}ZL#l26@(#_ghbz7<#g}mwdr>(Y}L$5 z?UShUP(U#({)y8_{e?aIR^aXHex=f*=52;q_tXb2<6LJ-f_)=Yl`_wV$#NgbXvVeJc(O)U1z2U>vR_PIYcAssfTNK zt`e-=uu!|@=aFe2;dssotRnv%lQsfU>b=Vn;o`4o-+*jSyktc1Z!pbh(4O|K!NZ+xBQ?^jp95!$kP46Lm#+V^_o$Wuy^pk>o%_ zMmjz74G?j@pg!WV)A0y=fiUDjwVgXghWD75*xJqON@5Ret4`o?;1Qo>6Yt%z5Ki$N zB2{z?oG^+YlG@G%9Ou*Hb*9z#QEu?7SFum0I-f^4hm+cn?qIWx+?+qkW{NsU6i zOSocOFB(hP_us>|Wwkkre<$q6qj-@aO&Lu2f`8bWtuD@f@$D12{a&_B}hknqM9*O!( zroLXPPqz0flCF<;F%fXSqc#fG_!jO}1Yw*AE7ucSIo7dXr`?|#(Pr1uP@g_KTdu*r z+X<`=x137bco|%tCurjA$K}4?wlM7LgHyI- z6k*I^am7g*nLVhIFzcpY_|&92dn3LZHWJ4yGWA$IpO>Q#*EZ+Qx*V8OLklZ{oI`4# zbDt!_$933Nj<5Tr%ANLxG|P_vY|1B#M;&z1UU1+cku#fdK3Rl=%X_&~G;#UrE0rQg z`)r$c;kQ}6mV}RWg&k#|BZ=dCv&iH)ued29Jc%qmnd8|tu=kZK{^?V9t#%9iy!7wg zAYZ25r1R0}Oa})U?6WWr)!~*kU%gI^XBiUJBuo|2*H5 zKJ*)o(_Y>O8K6rgbG~@`Bpf0SW0Ywkn!G=WE})6a3ziJ7n;$ZLg?iJ4)pgZv`$Mu! z8H=kAN!^3hiZ>;ZB_YUX`*+F%-nU~vl1O0)`5aG$b%QIGyBoS{z!mdVU$5@C{$B=< zWX#Uj`+y+`Lt;1xn2j%HuxBG3F7xi6(8T2<20krcHfYPX2^asZe)vjPCw*c>hefCX z033LPA6U|vBKq7$H*xxJjXtyPUSQ7yt)D2KPA~lg{dY3ud?~)$Wu4l_BEuL55^#8@ z){M?l#5PNWjmyMsj;;Tl{%>UjUY-1Jex=wkbt(tD0vkB!kS^DaSSP%Xi9SuiEPsFC z9~&cu2Ipq=KhDe-gP`--VC~KHx>?O)tbdaJ^(kH!XS17m(i;n+vWj^L)RXL zEnIf~lPW1yZ@Sp-f*TgWgUt^m&61d({Fn?0uCy~0?6#_I9Tc}iHEZ7;8FhPWY{_I7 z@J!;zjPzIQla=6t1AO53@inKCMVB9lc*X1SF~@ZLd#{0Af(A{yQT9aL;|1TN|J!x- zNct1Wx>?+b8E1q;xixe>Xs!qw?_;vh(!_1MKUMwFM0Issg-=i3KXi33>R>0Z6}D5^ zN#C%Gl^xe7Co7E=p&mqGXiZF3`T*on8xxO!_kLo>hJcc+UkGxdF|**quy<31Nky|rM4|uYsn2g@+@*{pN19AIt3tI#X%D z`XQZ)L&M>GqF9TzEjd66{<};>i|egCPRqSsuLmU}HqIPqtX6u|jXo*b8GIjnYE{S+(dBkr<%=}&!Y>8>4WIZd**1Mx&D+^kesb-Y1t(c?KNzv+Y-a&2 zm%%fc(xJ%15;zzqu|9(*LRGJjp($Kq zJQ#U;_K}pJiJNL4h(DRW<&;{UW^vo3!}yV5QPQ<`Q3lMWvbR!%DVoJIIi@Aw-l;ig zYVi8IyB37~F!_rjBKBb!demS zI2I4NLL)ctsD3hbRNbF4pkXWT{}y%YCr|qoWs};X;)4s;iLhu`Jda_yx8kSs+ji{> z%?`a;VqRRUV@3EA3dy8>?giT>Y!KDP8#H8uDG2LD^tete_c=|x*W__r>Zd{LXWfWu z(7C?vJ>-pyE_lVVhr@OUvsw=out9`jGK*(&42KR6J6pql;f@Ne|J?s|qiCGBasmUf zZzOHR;mlLe7W_1Y6blY^Z3$FoY!qST^&@;i6H5%4R5Gk-)ZGmog5OHJ@X=cd&S5R& z3n6P{V_^L!x<&vFw;@osSQ)M~j%D_cO1ry6rW{yUs`Aa=5m)*;hsDt@M9$bJ@!;7X zG5Uyw^W_G|a%8pTLEVrQbB{Et-?99!Cx*EI%k%1xocDw$-K1E0!CrM>7OXR4ev8c_ zoLt^RuF}L3CAL)$`YGIV`|2&*zxX_Dwv%IYhkl6p55)UB0?8#HM6kAqaB&@!&vAMA z4VxS1)B50>UpAZk`{gUI!M|!doMWp92j@@aYm7e^dtY_?cw*q9w-4ucIuLv`5Rzru z;`7E^xbU4CNw6FTPitXY>V$0~y4ftA&FN|@w)$qF>d}e{@2&r$v45f~#@x@7A2{w9 z++DDS5o+dR5w0aHE__KNCFc8&Nj~|H@0{&(60Qtf`e_mUck#x9=yd1nso^Rvyi^Mo zP{Ik(;xlVw@vLStCfqKt2%ukZSp5`s6-)zH$LuOa_PbB=JJ{`Vlgs7ul zFoZgF6H+Gp$%VZuIv zgs(o)f{a2T%^XT%3x$T{_aR`P$g9WaASJDqSgx%_a8kqXm@)YQR)G5lpm;T(f5wJAE zJJXvljSvoq=#6CY8=T%Jc?~KjMs8cYf76DxO7}TV`iA8De>#6aPv?c5#$0b56yf50 zNc@&2R-IPOtIOobbJNZ*%2-q8VCx=`EK^U<=L4Sq>78ji0rZfF9+$;@PVdQIZ(j^) z9W?2np~XVwka529^a_nLaG&;2(ijW4VqYW(?x@6cIcMe&nx^= zux08uPWJH*yazQ<=zbIXT7@GrxYjXT4SdX}<_++fymQC6RTs>4OBms|GQ2Nt8*#v8 z_hQ=4H-O8!cq*S`W=n;L?nc`WL$jOov%!f~UsZdgi=6D)tz`SFy?^Qq$ujsPek;*g zcCki140rHCigbEj+A;cA$y`x3r}abp(%vzl<2G*HRnPq2>D5l!@h|3u$|7CNAzEy9 zT!fSNXO(X;o_zA)xXI|hVMlT+x6d!E@8?>3nfsIAh*r>FCqy`S-DENxUUT)I|KS!M zxa6-jn?t(aY0w>hD^oX;zD(@5AaOF7A&1wJKIEi`9@ppRIlX_BWwx*N5%Mx-l^8sF zb`9i<487vYD(T0iYZDE)MFO2$_GCbHN`#5)u8{9&qTf$L_YJufzHHOVU)Q{4j6UUL zT~OOXa%L#8E3{~<7l?3h{gTIVyfdL{r@jZHR+S0doi*w5xt{X8DW0uP=WYNCT)_q2 z6l%7U>Jiu!IB7qb43FY_#)~)3UA&OH>cFpcq7Ed5{o64Zl3(7oh}RKc8lDj9Z-is$ z>3D!mGZVVJ>oOO)Sw({t8fNOnSA9rOtsZxgRKoTWfk(Z!p5Ewt;! z+B(bdpwEK$fq4vDOqCx`=Y$6~-cWPfw-x5Kp5vrV?0}8y5P!Vnln4%+(jAY0V8tHu@g70#<@qGhBitsYgKe@X& zst%PeSMl1UMOSk{n(7jd>di+JUIrQu}8AHcFY}!fEUT<@H$8Ikk{n-EX?lz|aD@^!~ z+>7h-c40ru8&08Pr+K3?VTanX=^%oSw~e&hj2}azCI_zYzqRk6=hc4K`d(8)vJ5_% zxxZMvJA|xcyTo{mZIA1#tNi&LYMaZc!mDoF+`O|_L9=R3>MMt~C$a@?d!i%MnQYza zWf@$3ex`}$`QM%{VGih--7ButnLR_!xuP$l+Ya~y9bK1<62e^mg#Wyszshl}t#<3e zHPzV(k&{1rFsJ4o>~m%K|5E*Y;qiL1g}LAf2Hqy3e_^~R*K7Hy+aYZ}>QM9Oh!TfR z7coY7{+L8#%m7=Wt$kD?a928^$@SA#PBSxf&E@Ii>x7M1Tyl5K9pB;@`Q`f0*fcfx z&v54xy?Q5hiY1C;mzg@M~9P5dsdezT;OPTFfSwtR238Lsw( zJ-b?5Qv+RvWFaGSPY}6CWZ0trppmhiyN@dM;JfL+c6eB2=9bWTZ6R4kE~R}EZnlEO z)nXzy*mK4G(pFAme{9z1UBO-Ul&Y<0meIH(whb8?#g%mWofCVH>7pLqJPDvW%OC05D#W2mh8s^McSEot9>Ek&*&`_K(#V`nx1-K2 zIvlyyP-@Afm@1=Q)~0zB+oIC|xrZS{sA zFq2*)7t!}9pgF(aYc;f@&o?{%D4$Z>JLb001vu>MNf=+4Jqsf}SZfTfX6mDWSt&aI z!Axs{Z#v`CRfcbc&#XLOL-34^Uk)B!cS~+{vvc@JTat{AMe{=Tbh2sKHyNj}s2L(K z^Os=c?LF;21-n8Wd{tF*bL5()R~8TZyj}TD@)!&GWEpoN)MmIzQRItdrX-=o`?~X- zmf0gc=l77VQ~Fh}mUei}@z)~9)DMnJugUm}nRo;b@8^8}WMw}(B6?PM#1Hw4;uRGw zZhL&>%l`Z}oB~5V*d)o@F*Bni^cHY>e}3EdW^`bQmCwF#dv{UG(eKIAd&PE4_f~|c z={{O4JTox}mPDY1;V#E=dBi)uS!4aDM^@QgcgDw^i|E%RV{+TrpX_HzQlp=eb>V~t z*AvkXD6JJWFZcTDsqd77-UF)L+L_iA<-rNPEw8uim-@m<%;Z`XqnXt{>s|>q-Zsy3 zY(pQtm_rEtdwrK+bE{*hCI`fO)7B~61 zm6z5P*d)GIxb9p7S1h1OAnk$$rb;C|OM66l_VHJt-LLiX-LSNKHf4E$J+1Q${7|YvryAlnRAf28% zXIWF0@Fwvu3h1a$N@wFp)y9Rvae*TOg?OEFb>`6aB5>Zz;hrSPvHAjQW(3;~#-ke? zTg+#{9hQ%u*sV(jmY{7)}%AXDC~d4ArbDe3emw{REtHON-j#rtDZ(Cbq!#+-2br_)z40MiNG zPxaYQIME(%OvVpCcE&!d8iK(@Ss@7j(8$Hy5p~YAt{A*9y(aL7=$(+{AjoU+n+@LX86+b#vxBpj8`3)WCHqcW?&dEoIqT}iK zg78d)YXOUwV~n|Y(C5ndyzstz_G^MK&pfblG~~Hhn zoK}YOJjdCxak+vuzO$y3nZEqc)mh=lUuWxDWaCKIJMuGC(6$qn7xY_1ep0l-LD) z>`O1!3WgOL)CMXiqLaz!gs?_lGU(dMzc(xlU$?tT%Cud|3c)Wy2ex~`A`oQ=+@U)h z&q&bI1RLS$lH$?P!d&}YUnx=GZ zc`~%YvO1T-5;IR%chVM@8{g1-iI|?F@3B)?(NUM z`}!sA0bDaj*Uzyz^S4B_5}1r-b6UTSa*tHBT|e!&@4Yk1y7%lN&-WM9^}twb7QGLo zqKFpf`3**^+DgBwrEdGIU){KZ_s$B@&(nZhHLlOsDUn35vqyk z^0C`hPB-q;=BabTee=R+y&LR#b_~wR%k)>Wb<6Y#5`&RqtZq2CO!(Qb)kQS9e21_O zt>LPkQ>F}SyC!X0w<%w0b@8arWoW)seZRmj!B@y+>a1P?;vh;Z^cInQynyV6>v zuNpb$uZ{k-cOGfnT^?s4pS^ufFc8mCHyLd^{sf_>h#uE5KCBaM*k{zz!#;lMg>A=8 zXwdB9x_EhdFU1#}7)C<|mULyP^|onZ;cXEP4bZ`m$8kgmlLys5p0O@HZ0vs%e!Nvg zAM;#UgbfrZ7v#(#6n=LRz3G&kP>yx#4L@?9c&x#es0oUp>K4NHZE)1vvw!%n zUF_JX1+K7ZrSs41j87xn5n-^PpWbMWQ5#YnoZ;_^Fm7UX(uWyk-ZdJO^!6A(qx_SF zpBnN9cNpseUcEqf6`Bu~8Ab|qMVNX0mScvUx9YEepEmpZFV)|i-&?ulJ(PKw_VrTr zD_-{oi-5>Bn0hi8vN;C*)aJGB1Oy(Mx8xsP{zR9YQ)Qn+7O%e{i>h$}4(a_AB23w= zE+2DDh7kq2eTk~2?K^f)*tI(l?MoTH6i@Fw*T=&gKGDgxbCK$caE)ZRGMTaK@42kv zm*=8FKUBQ=S*-5;dPVr2id$cDI!JncmTmQjtB6k$Ud#$aMbyMI_2!`|;z#(cj$Ri=)vQmu%- z`uV;{Tqk08MGB2X^mrW=aC&u1S2=p5(dmvuwlZy-q7N-zyFzD@;~m8+ep@jytA(Z_EL>(4Y(Nv6T{?L7 zM*)ATY6nadTAp8wwvJ3aIn$OL=I7{L8qGwQxW8fn$5cYE3f=D0XYSmaEsj{GMz~_0 z_jx|t6pQUBBcZtn7q`nRv%y*H(Jmt%>4+x9Qhs;j(wNo+Ln+!xz(0oxp4*anPfC8CuL&%$8h zv?ex=>@c}hSna*-F0D+dRQL7tSJHEY`OcHpB3yi&beH2wP^WF_753BGj2?4pYX{tS z(!Ox0AK0gto}pI*Z#+a8csoyIgX-9&QO5)ChPGN>QPuO|r;~nivYk8l^i{;%A@#V5}DH?Ijdo%Q@*YI z*ZkdO*@CZhB|FMvgL%eevgF=&Pg;B&taR`SP{yVkjn*_RuEqBj(aDDAVA#s()X{$w zl)uIIP|kqyZzzK`MfhHdn$P6E%LuI@L$aEut%xRXC!WmFk-Tg}dizq5x29A`fAB`z z*n1Ix#|ggE_5avnxuSsQwG+|jyj{oWTej``WZk*a!K;5u8T73&*u4llO;*nQVe=~b zGE{iOcZ@cbEe#dgi|8#u219tv>BXN|nqUZPvc874>=NUSr%v`AM9z52vY%ZEhrR0I zI2=6J$!C zX={O#mBO@Hqz8^x>tL;pcs5t)D8kHjy(e=RS;Du}@VVw+b&Z~f*ydHPS}`krmVM^##S&?#HfaSVqyO2B=s+Ejj$ zx*&8GVd3^uGv?f~bo(uM?|q*d2fmx+Rk7s%;q5xWno7F%wPVMQZN=WjF7^ZhByNu&VbMUc1 zPs7%Wl`-P`lS2_rj6~62J+Wu{QJ6-NHETlxZ?ig=dD(KG{f8|V>o#w)>#hGt!!YT| z5L+{+W5D&Nu)rRS)?k_875!wAbkXp;=Ui%i*%HK$rFg!IzWivkG9E0AW-)&yA1WrkdM;Ft@=LO%ji0bQBQaAm z@~3vr>_7?^wqfv-0Jyxo#&s%dsoHDf+WJ|+$;Afx40>xx^noiL-GHvSqCeDDex9lT zZeWp!2bT#6bj}JH-0VcW?YpC2N}bw%{roKfTlqKnMd>MLC5jp#Sh!e@-0BchxIlj< z0Ir0OPqsa?-x_zgQO9!*8^4#V?6YNRXa-dv8~DZtkOhSW^pz0_!p>^%ayM*~T};%2 z*UyHx@xEjr7S0BvY6qoC<#;;sZb@MQoe&FHwwCMJt(`^X?JcXGI-~x>$rH(#0cW9} z9N|<1nhimE$l_&kcV&-fMnYkNJ(mxdrYdW0*k!SF?xfdM@3?)tf^B94FtPm6#>LSM z0$*)h+={~Cf#~4Jmjt3`RgIauPti-XJ*?gH{lm-o2-J8MPe);r0cJ9+kI)r+)ZCwK zRmU>Jn!@19L13}~!=DbOPP^^wH%&P|LSpshhQK-doBN5?KiY;qh_(%d1$2%n334yC zt$a?gNPJ@Ja`P8u*TmQh@T0g`I2)GzFMG0Sf+bQ41LRGU0K)cp5>Q`1oDHv467eE* ze>o7(Rz(#@O4RBMIWlbDF+IzIVQeW}pv#f~*UjO*=GK>7-hJ2QbPI7*osyLaqRX)H zMdH796c*U4#w5VMzRJZ>djqYSZ5yww5>R&EiIR<(6Me7Ki-i4w-8c3Wu6VL`(SU2) ztyyj3#92q@zPz(w(^1oss5R8J2{oB4ZBC0Tp2FQ+G!_U3>OkSd@e%x(l0?M%(ao1m zZBa^kAb6o@Nt~=&7xW#EJQvD!vl7e}{Bio!k)i=QBpPT;d)lj114qg7>YM9~h&*U4 z;-^t`jNS*|1JibdbE4>heC7f@W#p9dXGJkP-ih+d>^k?i6FIvHRWfcW}V`qv! z>|1A&L`lo+(Qy5s#j^crH6MuT*J&){r(cMtEIZv)W7VkH0U5N897~qdK6vKLB&B*hS5Rx^KNdA>>O@X1bdki2JIe+IAq}DS zM=at=_q$M7QV=ct6aW^1$lZ4$Ohf~^I|oO7kHf-EJGBvjhaFWnBGwHTUW651v&WMKn*9`Rr;t}GX| zp4u^5Y=D5w-9`Z2D13O`@Y9(js?xTH`??oAN^00e#xyM7?{#1F9S^=DYerB%3ymfj zLeTbhVjA@Icv%Ztf0fpqoEWg*lz`Z>F-Z7 z4ky{1ojG}QuD69 zf8rDFj=tkrgQE4T%&)7ZN@a!aYpF2^g_k96vw?&)AW$8|4t3KxQ-)J`fG3?vLhi4u zsCuVAI7Y1qo+}w~C-|5rKc3>Q6X##(#CUP~2(?_%LBud4C`^HvLFh>ZOtu|Y{hcnZ zePGhU8`I4vUn^O?$md7f%hg;7Gc%IHwTgqqv>}PYzuXT!yYF7nKI2XO&+GQhA1>fW z7thA0R3sSq0cN;k4Z2cAy4}I&SnrIYZ~?!v2(BxSyJps0V_~$rf5eDdbLHJicCWGg z(y2uNZjI)_BqGVnE9NIge>~7nvhT5U+^x{WjZ(x*9yv#G^8l3^O(_WQ^;F3$kzL-r(A!d=GyaXDaUW&_I7sPX{|F z*k0IJq!A8x3J3V@ok^1Pii6E6o6|Ou#BJ$uyCTZ`?ZN;4#obpd4xP9$*B@NxvYQ8m z2Xuc1!Sk@@U2)0)$FFm2MVABR_J_s%c#76LTra7v+9}8k<4MtkJc0>H#y;H8o_QGV z=(I^avmjtm#nJ+`al$zoc1#(Teuf!C(FsF8tKb-MDK!Hj8Jxkb&qU(W)q9+gNE*BpgefYaH zx%;exA-z)*dZX`n=oYdaaf}R42+^oSQUmNw(SkiLCCTQ8bA3aj93+c2wC?MYxN^!t zH9xK5$`h-nf9);_of&*73Y=ZA)urEJY8$ z7k(0eUOOAJy@PD*Q)SO;bXS`S)#B>J8Cau*+^uE*PO6`YYGHgSda#%Cf!>z(E^Cz1 zJqH^nUhOh=zCw(!{PO$3UWR5J=yxb6n%nRTqQ{ve^xw^Qir@70eRkWr;q%p>{y7$g zze6R3$OZ{8Ly?J2L1>*qJN=UUL7EV|Y;PH~@}a0A z9GwHYH`K>bctI8!lI$;gsLPGqIi8LwwQK*=<;y>}1kRsAds7?xgI#K=M!nm}AQlDN zU4J}97ssse6GrIPZfWWBcFGrvEgeTqPI2q|kHFnBp?tB-4w>=_f370fkD>!IkOy=& zui8^~j8)d+KQ6E96W?rt7-8U9kD_IqlYwruKA%9*1e;z;iV|vXTQ_vzQtR)V)=S=5 zZk=soU|x~cLE4;D02;?RCTOho{wk|){3$%ESWY855%5fi^%{TN&tcmq|C#M~=avy*PIRY5l3` zi5p;sv%#7lF_+X7U6AK&pgZ^Ky2(AoIZ>8R8^4QMa;zIaj|6N~7ZpCkF^vF<2AoCa zq^P9DiX}nUrY(M|Nc9-$z5Bo@fwM^PUXqJqf;YP_hA8Bdh@B9~Lob%l>mKJ6ae358 zyW~&H=e2%pRzsk6qiDV0gX4GFgCU5b2R2?F&~s^EeQ<0o(LAG;O*>p!_Q9N=hlTVk zyMA~MH}08*1q(4Un4$yrk2xun>0bW9=ub5z1Ge}zdh*|ivuRi#^60zb%CnwbkLw)+ z%X?^|0l~r~R_e~1=SGuqB`jXazj!I1rc)}SJKcMhTMemLu zlOEiM-Om_jIn{k8OI%U2)XSs>(E|2wp*4Wfkx0j>(Vet0Bm)N@vq~nEq8rbVWfFjH zpXVJWZe3xWe0pH|hu;4t3fu`Sp8n)2I>o-TLipL>6;Abs;G6!wrihT4Rfy*V6&kB)+R79;o@&nk zGj1w7_s?)xMd>F;8xd7F!uTa-3Pl%WH3{f8ieK$l&tAFGCwA(GqwbwcHhw{Nj!vFK zQ-;G#rEn#a^)l(jec0VT+Z2zzMm9cztzyfla3{0zZeDb011d z<$owYu#RO$Xq?@3@0TwG;x4};|D>)1GV((efxc|OT!Riv{R|2d#Gskp1e4ezE?|?@ z+~{+r4JJG_Hp9Bh06nR<#+s&bg>3OK3KQ1N_=yEfl167w9Jgqll=x3#otBMaMxgHu z#YEeULp=jgi+^v8t_-KJgs@0ZuRp+Y^1>yXr(0z+GeX^cH@7<~;>V)nt3eGdn^01C z4Mt|F!q1z{^{{#2nH0SULeIAkSr2=6`}&^t3DG@g?>LlFeY=2;EbgAuJGUHoX6{(3 zl>q@rt$CwJFsCDDQTSkO@&VuL<_E0zh{qgU9Ticv$-ZD$etr}eA1g0#pH+tcLdNt) zP#83Ja$oL4*RqpODQZjoqOW~gQ>MYq)*gmo(Bl!&mt4IfH=r1?C6dAedni+b=Y?6v z4|Wdos#N=U<-h%XN?iA#lNj~<#pwbwY|iV=?7}uIyKu89jBw^V_ai*(J#mWdQgOef z@x#JjG^kPo`=JKxDLtN1a;3d*p;nILqGC}zxUvCPwZ2Uy9W9nFtiL*}Yv$vH0y?p{ z@}!50SSV&LlN4ynJNav89Yj-@zz%Tk&wc3qcJle{wOq`%r}!}*K;Chwo8`xFhY#U32F`wWW`;`OK6ueIxjtVS!#{?i zr_pOb&!MvS^dXL~W2U8j{cKg?qJj4eS-qhXkA(A?|5#?`QP}Vqho5|cEl|AOYfvYL z{YRUhYdb6OT%$qgJ0AZ3k_@sP9a)#z1 z;5F3^taV}eqm4}=PRZ4Be=j*tHl1M>P`D&4XAo}y*NFp_UbHULFrjJVZ$V}9JOpCa zg8pcTc~3K(Hs?A%Gt5GYRx+VwE+Ra5?6ur1Zl2Y`$hC83btz|RP~9$e0W|Yw@WfV# z&*;x@#ie1`Zo>ZuO_>-IOW}kwFc)wRjY#{@K-7KF+g(+!ociy|5X0m}=M2OZged!| zY3dM1;Q*a35)*#?my!Fy(_&b7)g4cIoF6{eK$+3gojT_r80I*N!wT~v3Rf6e$4r7N zVq$1Lk4=x5K0&V{ZMuxFDd6Ml#5B=TVSf|pPahv-hFrsVjql!nb zidT%@dv`~Iw97>Pbts-atzYXwWQPq_p|UmB&nNc=(0vsw(x}@Xx3A+Vj2hhn7$+^P zSF7h^>#&9PkFNPHyD#KxBmZ&&@-J1$y#!|xSb}GQpu2=9(v6~LTFx-c5{hmh;mt5h z!kc019f$3lWj)h!ZKEAc2UoBZ;0;MFX>(hos#edpXWd}@wo56R5rk$o&}^_{$NdxH zM+XP-77hmpEtjx@3nRJ+M7h0`H`{!7cbN$7rxQn-a|Pd3McIEJc2XcHD=M1Q4ZsG z&bO)YasND*|B-EkF2i^Q(zelZ9!$Pg+=uaXjFP*5lqwG`Y-dwy`YCGz&vCsqrtC;f z?=Y93F(}3YzR3y-8^~WCVB4Hgy>5!dwF6Q8FI>)kxy`>s*OkQv_rg(XT`l)Qc^+@_ z2@*n98LXu6!MUL#McDB>A9&wObxd8hxO?u0fnVp8gzv=qn5g!f{S%MuK`2&H7(n*3 z35MiTvlrd%>^L-O*R)cfwgi^Jwyy!Uj<6kuS_+~zJ>GogSR#clmgo=<8}7s8Ihprk z@|}h(D)?|UvE!zslE9}^2cg#s)rX8TMGmlL>ceUZAMD9|z*l9#=kmD@(F#fD9- ztI_Cse5V0^n%4blbS6cb(>^Exs2!afPcu9ay3K6l6NMBq7KD%@iH5 z7jg-mtHyt{U0>DFbmP>I((f^Q9Xt^RLuCSNJY<%l%5cn6B;4UuqChqgDQezE(Sp5b>PX(P{Kwk+n^`_v zoBems{r{bH7C1|aen(Vp)txFt*-p^|o`wLuO5fBU!z?Q7^6Y9AQ2Cf8#>4Y&#ocGD ze$uhKh|{ry!T{%44q$Nq)T?bZn}6c_9KW{1c1IZ21%_e}(m&|-P@pFY_Fz4Pmjk*x zcSl07lfnr4XqXdOmmjiK58H~)ZuhQYQSog;yhjOO)Zr6pBSPCasT3ZN$!vn>(V~WP zzu!)m9DEnxIsKjLhrs_3SW zU>i#l`osG^jiL!_&J5x{d|&Er`5~vviy}XD-So8LLPsGxQa?^04)Rtg&Dj4!{$CR# zNT=v|uy2U!5rAIY)HNrTohTPN|8|W5XNG3uJ0-uCV|N;Z(+Vys1#ZQ{?4f9d5n4Gw ztLw4%Q+x-?Htww$<7@9bNg%GPBR{lGW5c)H#1fR^M_bC<(@*Iyr#{9A7-lbp0qnG4 zg9(4%SM7B6u0`8z79GyFPWxg~68^I8T|s=ZTch4IXofBtx1`^HU>}7op719Ru$6NQ za5hW6dAs#0KZg%>8yOe}VfA9sHDAb=pTIjZfytn7rVyNAE`*2m4%OMUPgG}B`*#`L zm+w$7K;Ij>M~m_ak>vzERoL*K_P(BFkUCiI&Yg3bf5i&HehNSA>o%?gzqv#6^H!q7 zLvO3?{&2(RM@i@y4w#JngWC~Kll)2U^Z-tIM+cG)Aw0uk3-FF{7-6dxSTSHrAw5PSPjN7hbdg(ZyFEbJ}lSf(DJ!! z_Dknqoo_d)>-uK`HKBsGFzOqj@F8X>Zj-L`N0AQf=yG9v<_JaG74{v_p3^dX%0m0# z)VjWN%DDgdB%nWk$!@Yl8Wi_?!hZsWqZ9^+2jvh9bv#bjJKNJSF8$9TZ!*_5zcr0t zUVjNgQG1`VseA&oKXB(MZg!05XHs~9XTC$Z59?fRIMedr8|w`x!@r#J956?qhiK8Z zEm|T}TolL#w@HB;1Wk_d(9Q(f-Q7)8r$`8 z9<6Lo@A`WGIWsA-jDXJjB^d%e6XGRjcNM|JR@|PTup|?{iG~xt9SJ?ZXNzRs9QR56 zEu@QwU_E5$S*GP1U!65kH>kgw*Z9JmJ4s;$+c1w{ZJF7&S>OBi?pv1B8J}D^xi_|* z4aG`laUA5RKEfL{Et7j|KSq*wio(>7@Xuoe_hHMX)#R&d)l!ALu5qSX)h5PW`7sIR zqkX#cWM%s_MPn49kpwh$ZEbOKkgVlu)5=rc8Tn_8=cn;Y@=}z}@d?n>5VG=JoipXguiNt6oTw2>bRP(5*0U5Xu%q(`tsbTW&6?!em(6h5lRR@y-wRU=Ta!Yu zGC!OIL#HFURf2}8qQ7{mvHI2gfW{55lMir@J&g4ng%$5%{Dh3+KJ1a}c3q;9-Pkt0 z)LW;}$Qv%`I|KF&dxL{5{F1ZYw8qamPho&_r~oiXy7arZMKp5BzC*olJ7&ZS#D|M3 z!+QK;0Mj9_D@0LGX{$Ga)T3*s8r|MWGpRT&R{ zUi_vU=+uaC&K=^}-xMB*>6o|^o+ZAS)6VDp$(3JfylQ>c>LQLe{F?udQdVr|a@6|^ zjikkU@iIlv8T~%|s0cl)L90aeNBcR>8JyO^cW=NQfm*&o_A>-Ea9b@D`yjz|OpRf# zQ1tMbh@VWL=VkMH>ez;ob#cdgKRA`xSB$>n+55$@!AP`>qj{C02|isL5AH*&vW*6% zEq*FqHMQY{BjzjD2-FP!rcW1$=Gcu1LjPy(;uc~I+hj^}8JWX(jlu`|Fct7whddtI z$}TB&-9PaQI?JAvL<~e*Z^7y!lDi^(4!h~jQ@&1NgZmmyFb_%2;?DHZO#6mO;g?A!IA`6I=*@GGR-^ib7u2`tn#XAzZw5Swvo{?@s5(|AHnI!HwS8}ae&1dDxPd7}SSlz6HNv{@26Vb)Jw9)8J6slGP zipTZ0B9}9SUx0veGS9)RYX-V(3)8{%E=$o;4HK}7W&EH%+5grWY0fhyh zTlg^^OL({P{gK(-91kUbdfLDFlAOy}ry8m=b#i%wQOW^+hpYbgHYC)R;_j(lA?|W`w z?I$ZsnxvqaOpM@#qKiZUGH+xgpa?NZ9WYOLFc~Sh59Q_h< zh#$`=+Q1Lzab$f)wm3NIq4Z|NmKC!`p1LLbANc%YqR%qyUy3mJQ-h zOM5Np5;Jt`DXVWKc}Iej+-mMfyr6Kvo;Dg!c;Zwi@Xs`xuCdmQJx)z|*V@2Y5qf7X zC9CX2Ew&gPt0*W#XI}DP3nSQqEESUz4oj--`Z#IM!oE!gmaM&07@MV^+!J~yyrOU= z5E(82TrOQ(URq%59>p9Te6&ZXYe~#QEcUrORPH$*Z9?w4lJ432n!*fzcdQ@xVUX1_ z|JMCvc}E&|lvdhfv#uoW41=qS+yvB6*(ES&%otFU%)b;Cko^L{GG(&uz*~zSj!1Pp z*>FUtrG#Gx=*FK=gB1OF@$O==+RL|RcXze-1Y8fCPtgRuGi(BR|0-c?tp2r{doc9! zAI2%iV+3mEc<LJhrS?^UCId-{N+-+)fn8z3K9u+|@+0 z!PLPD+@3}@)?cZX<4Hp(PpL!w9Yq^#`&^(c8NVp_pi`AYEnbyAP`RwXfi!quVd;k>IX9*hJ1piUzESxr+O6$-{Y<7PqrF ze#mS*KzZkZ3TyBl`zxO%uzh5P?YjNBc2J%r?z{TB+O zima_jP58J_ymZ!&g%*cCOl$2mC1@z_AH%~(9orA;70J9coDf6R8h+f5Hfm)M=`;J4 zqMJhKrUKm`%Re0GyVZWf&V0qdZhv0z9L*IjRMfZ!WLgZdSI6;O(;;7OP zt=l&W8|=Yh0o;choZI%R9_3hT>A8pb-PP@93G`h1O?fAgR*j{M2FhTwhwTE0D+Rc| zc>huO;H=ICe19*m@Fl|LOU8%`lFFI8$6}kBXU&R>kJS;-&w_17O03lH6b8@8vV{{pw`i{!CXZGfXK8R}u%2$p>5yD~e9dYT~fH zW3|zfpM@L~@HL9ZtD^SdP}Dykdl>k-x>V^0#ayK+YmBt$Ek@t*$obFmQk z8+wEge$D8YoNe!KnXyB(bF#?ewZL7IB76qaZrh9#3G_F$r#e(qn^1wG3pzKC&^_rq z<&=-yA!F@^!C|M`PMRtpi$%)?^rNME?ix`vA(ku+<=*w=ps%q$M}|u`wJ1NoOrPvB zW6=8W%71ZYR0!-%*p}AlMx|2C6$@6RFaiH_0MpaA3;TW&A6+!P_Uk^UlbaZLUzt67 zit@940r+>v@L`(@KOU0_&wjLM=;Q*e9rf@vD zcKS!R=5-v#t{uDLZ}EVC>lk=1m0dIKSrdSIrNB9)jo(0nr>YdLRBox548Ya4QgY+V zqL|HhO1u4MJhy!m`kqI=f60!~ktMvdai>KznZ*yqi{;+>u8|{{r)~ z8ihN8;P#zL_<2d(VRc)_^(z(UtOr$VWGP^~78kdk-^|)RWEKH>8**iz`+&Q#U!B5+ zY2zm!u>IS2b>~*1Dw`i0-?2XCU%|k94kdF?Yo}df%qL?C%PI~E<1vln(__hvfty35 zrYqz=d!~v0HZ6&ITiv(|&&(+_EdX75aYbF(0u?HqPzY0l!U}tYnNF~Ne0NZuIzhCy z^n(@QJKuK|h%@{wk0J|DPLQLZn3pDxQs@)T2B}G5fi(;PEFpt0c<|%_o)zxB9AX&T{Wr}UD32ux_FnzT9WOj?&KmU@ z$4L`SOtLmbH=fAPuo+}c4u&M0>62=cW~WZCl4)vZko|%EK;jp|%n@!HDmU_eu-qS+ zq+E`&4uuI~mid6`#gsjXo-ITfeU*)Re}3g-$-g$d{xYfXL3d6ARH)@EcZ_iD)|t8# zO^^rQFpdu&!b`OYnQD1y{U=-Tg;RZYV%x+}d7#b_{8yb#U5~<|IsXC6i6O>Oc6L)X zr=2{|_;hboN$hDIon2IZn{`fgZ2=PsEBL4$;e>B)r7B#g3CUZ_|eF~d1k?mZ-*4nti<>5c9B(Ty465!7nMSTq^UO4Hk}DTNJen*_jSwCbQ^ zs>ET5ky*n^%^yb^=(Dl*gpST8bDB`|Bs>BUS=NYusF+1tLCP@AD15*>YSD?`V%U>S_eOC&8wcwU;G0JE%E@6ZjYlIG1lZ)>LA( z@&I%7)rFVxQvb`kQ{H&Kdv_LO3koBgD@IX-m+g#8-?`93y8m3MOGY35eb}9UZ}6Tg zsIW9(Jh9ALQZ!(_h5?NOrJQEp5W8)^9^u;Qjg@gp_}Cg_2wfUMIpwjmkKKyG0(vqB zupGKwb$4Zv$I7ycnq~E!k|xlru;{o9Qiu5NVyI@j<0>A8X-&}uK8vCWpB?HaK5N_7 ze(v8lj3)=0>=4LZ^YYmd%>Y8vgi$_%lesn&omjM9_=zQSTD@t!|Bz~z^_IV9S68o{ zY$R|F6z?3zOhq+1%78!%+}#^*0RJFeC#fxkMa4m3Oy_X#-0H7o4gTn2CtG{(>%5$} z1^4=)?|IGvop)w67tDZS(=c*QnW0y2N6~U6v|@qQhtp;Eoe|p{ywtGKjfO+&{eHg{ zZLqC9MGtK3JfN3TKcepAF0^z#KS?{ez26W?v|!&g8T=+;sc zRm0+?4pjwmec#L|x^OOJ1KryG4Wbr_(;{W})Q795r<80ApFY2^)r$to;5(@7Us;wg zohfX|geTH@geN_QJ)1x4(fH`nJImx>a=A051mv2sy?JINQLO@atnw}tR@j62fYs-9 zsB&a&Nqsld3|WZF1_?jb;^li_j00j(SBfU+8ISpdKVz3yvU=<|Gos8?@#g;LW(dR> zes|yV)nl?XAl)cTaHeGtOxC4F2JSv$d48KY^VhKDvyKnr=ff{yBD>#ef+{eS{X3~< z?@r+W-k2`ncw=2Nc<{o2g_e8DZd#rZU!kwSJ+z|FR@`qLE1l}9++E`|x__8O30eGJc7&2~t40vO6cyUUD1rI9?G%s1(23pJ^ z>yDkk#4x=mETC7+7ZUzweLppRyLC!T+fFu48{SmIHi!Xd66>@h-+^@+*dNf|FsJCp zqu-C8RG`1Se^z@hr~XS19IsX_^6~kS&}+he12Ts+i55<;^`@|aY)WGZZ(au8`Zpw8 zv{8L;_>b3rG?XFSJiI~i+FzKx>oQ3$C$%emDB7T>l7My-$;rqY_WqHn(`&mZ)}AN{ zouSR4@aI!7NBUBjz$Q12EBmvc*!j{Y; zLo>w|5uR1J|03hoIJ>CFXEy!&Y0qncb^I0En#2Pkkinnd9zbCN{gVlpvfea|pB|r5 zsdeQl1HX2uF5&0b&(1((e=36l(d<4~B+}T;7)a3s*=e(w@S&hjx5^)+`_^VJ8T9IQ zJ4wmbJMq|eXwofwilcW}wnaSnQUKr91uL7}wn$&EUcJt#ecCz?exCf23_T z0zff%}z=FaEa+CxZ2ip2Q zjaS=7P3gS%`QMcWbmQk)p*!TbE)>svM7KFvO=wBc0N>PT3E{)h>wQ{HHn%+BmDKd) z&U;@3)}?s+M?c2wit{z{fFM6qy%#9=4?xEQ_R1v`o(S|#_(>pmd}?noQ@j^<+@?4% zT{ddbA_IHVvOb(PEF%5dxU(rb* z#$RX+Fz+orRcsK#n)>~4KKsJ&Pgvb&R<70U)c6m_ET0X&SQ2@C*p~sCyL%G37i!4L z?vns*2P_*3mj`)oW*K?!_A&SV-k)y2YOku>hWX6~3gpNNy|=bqvxX%>zT`$TH-#XxG$!R!UMi&Ho+78uKLYj zGplMzJ#zLPtX(%x%#WvN+nK8u>K>vEVKBB7P0-_=6F9yH4-wa_7;O1qTmQE6Z~imV zp(O5B>*`6JpRn3y>?l0RL=I8`Pp{IoO1EDoO`IF_wvYUMXMtX9h2((M!EUOts2zY@ z+s6>PThQOK5Ey$31NN2hGi*8G$>C=Ox$9Qjr#9*|zI)4Yc3seSJaVBEvx53&7c>h1 z`n@^u&`1Ru10vJvPpl}5J+U!7qieHPeSd+5C7Q>|^_EkpP`#eusrP1IIxS=@Lj5|x3~J2XYjeqvzEohq93Evu_bxWU1C!X zqArmFi@rTVYDcV5OJro-YX&K~QF!K|cgIfw;HmyOzs-{URuMsSto)nVHWH{Q zDjps#cF$TxLHRTq`?YaM1orz|?kZzsH2nrkU!D9{K z!+_BJ6&5Y9-F{gyMZERo`d{G#tCaC9*s&;hMrwmcQna8pDvQwC=$UO^u+YwK>G}?g zs#@4oF+a~yOh%;$k^6N-IX544e?c>f!5M$*%zbEyQpjq2ffW6YQ54Np=x6+hlDPNV zc-+P3?@;mH-DTFv8aK^%`5)!B(S;9u#R(M`s?k_rL`Tw{0SpTiu^&-(+*|Iqjzi@T2JSo4fy^iF$id^svo>pJ<>rq4}Zn zAxg`{nDQQXer$KQMc?u0sh`Dra7h@hXx3!TNm(H?hN2C6i&@XT>)yd<%66V>D&4nv zdqtZ^mZJpj9{-FsSCR|U{;0FTi=vI~0{nyl?ROu~Jv`#jfBU(C&mPQq-OB}i$MfF5 zWXo~m;+^phh441xO<{;<5im?HU?>;YVt!4FYdh!O+Fh%?wba16lOp$~Hf9N~t=LO5 zybIxyQ#e6~gd~%7igsFlwvJ<``Aw=+X{)f18JLsMv%!(26^Qy0npvPhMdMk8>qB7y zdCdbX_5Zxkql-ht@{J=#e4n+5es|(SnI>qD(N{QNY64=DP6b_K9Ou*4^%03H7w#s$~k39(7343J~P8DDh3_Zu|dv1_TIaC#8=AGVS3YxK98T^E(N zjq&zB)L>c4YXM(U=Ps4ZPIFwlDE$zK05fZ`#bB8ocWsp!N6`b>$sqJjU1@p#r1v!0 z#sS{_T?+w*8I(aPNnq^LWERZ+l9l$$-!H>cX{K^8{RbP(i!C3Z=zTSHEi@dHE zN_MZ2m=>2OM-~mr3_{LaX2;6T1PYrg;i)Kv@N`FysMb9t(|5bSo7~l}-%)`)MbYP^ z?#!od5=7OXq6snW1VZ!rEbpAhZ)FzqI?Nr_~Mq` zqE{AAyL-NN63B-Z&)1~+UtbD?Od_P(Xhcy$4W)qZ=A^#&w8hm_Uji})QOrz_qX>&G`pP$R(1${$ou8mj9d z%7VHH3)efbRTYH`o+eRPL7!y-)auj8)F#1^lVF=yop2}z>alfm1`)4X%#tJQUH@Q zXo680htQ;I;+VNx9?vX^H7x49MkRo9HEJ%1J7^;1&xyVdX|9jZPNuK||D-zz|58lH z&;B5Lc;p|~aeIt5#Ta&4(~G@OG=;(ex+oKH9I#FX)P`^$F_NQg}uYbqX%P+_qO;AI)P({U9 z-DzdhDQu$%w$7;>k3QCH75{O7^z__W&)oX&^(k8tJ}%i&>>pC4l6BZ-P#83M0l;v4 z&yw*W5@+AXV>}%%syF^#Ucf5EbArlG&UI*V?~EHCp?3|V=%$l*XLgZyx4E>_abA4L z=eUTRZwbR>lhOAjsfW47?oR#^RJ!ktu2!*^;Zd7?e>9z?uoh;Ra0)Bz;S9jqd(ZWM z-aE!*MEi%Q-?~3eAaC%SdYBCzn%SeE1eyQKGH)h@2liIy-5l>KJW#py4VBzTR=r;s zQpt5|Nz~nG&jn=W_>!LUntO}7^Xg|&*ud6G1#Hpb&sOGJwcizdHo)$bvWG{Bt}8bZ zo)vC5bP=~AC_M9soSCK(UY%($xk0$i)1`;=m@UH#nqc`iK+cLfzu54SwLmYHK^F2uc)!(;^ALhsVD z+c6nk&%7Vk^tgy0OVRc*dnR?&OwEm^=)t?^0=+eE2kioEWzl)=S3?ij*@*e+6_eM{ z!GdAt@X&PL!|}Ubt;i93--y!ZWPK@jH}>^^_WU%9t2?-JQ0yNH0nE7+ZK!R?1lkW5 zIPQD0xLo}Rw}V#)zP#I;pY~7kYf|Kauqug(p=iNcn(QU-Y1QS<))f1f^Q2|!4tU!6 zZOO(US)GKg#j_)TSupb`ETA7%fTh*jmfiP=2k&_Ixr@cQbLR!_?iQEldV9Wb405o1 z0-6-96NY5wQ}`g~mJj$6eAbjdRL**_Z`|V#t9xt{@Wpv^kGPqhJOmAJ#r;Z9a1Bc# zI?sHqd~m9aTc-sSZO}Kv_K|gJR3~|F$4B?0j~{svCweIo$Y1;{rjL6yu;l}o;zEiZ z|>ckLopx=cbX$JRh ztxX>fIP%!>{*fO$%loYOG2Fm&QQy{fLitEfl+#1g;1y$i16_O-K7n-Fh>4@HVZDl< zY`}K%*qyjzV)fA)BX&&bxHrwf*c6M6mPGc>k2jVhto zi*+Y9S$8~@-c>otQ|*n<*CjmIvI(|c@3MxET4hhYF82tYXJBm>D|1}H+6DPJ ze)2%2ZpVV96c&*GVFx)r^_o!4X5>!Wv%7o~axNZk;8zm47uEp`Fk}C4Q3k0wFPLGL zQ8+-ZG62V`l`*Z?wUh2>fBNdGSh=6TIaRzE8IFCCx*z;kFiD51Jyl3oup2Rf!UE@% z=n%&f8^$@K_hd=d+O%37KA2~g$Q*609Zx(#(nnO=698EbTx&9BIfYGQI{>y>%j^!P zH?oacw8e4O$K-DUzUgoA33`xY2CbklfZt_unDA%p}q!Y_wC2cItPK5+8N)15r3WTcm@Pt7}`-v1*ID=9E>uA3P zACsGkw>=3B2>WO=TcEZ8*#%yxnojHGm_abkLap!~E7$yJXeKqOqlo|sz?p?9_|84zHe1tD1l0;#J^>fZ7Jbe66_I8rgA@cTN+nQAlwssQW zA-OIBPO7$CTl+UukP)nqPvS}kp>h$g;aZBm2m1Z^$p!j1l`_jruiG;J5gwCF3WWUT zpZGRx6{#oqH|r>R;NOUjk@tOmX=3D>qxNeD27SKkx}}wXpI)@DitoB=!>7!8ie4D| zcId7O(7SN6!7|@Z;e`01 z$#KG$|ANjpbUa}l)?>Na#`%w8`7-Ru1U(;cyIGvWLv1IJqlsG9zz3`fVKz{-K?b9N z_KsS{$GS<+?^@UGSjE5UEf|A%$g_`s>3k@Bzr_x9!PjhR7Su)_OeTME{1{t$*TFZ%PVQ!x?JO&aSRt2#CUrRY2Z`KAfkNRZ_`~AaMBxD&BL(ohmmG*YYB^}b;@-#i z6j=W-F#fG)pBAz)uuH;rDhDegg$G-k6NFcFOjdnQx9Gp_{ps5e23ELG685Qf{an1{ z{&LNam{FT4EMRM-0G5obxMeotaYv_|-v4jRX%hqU^?H1=RC>$DAWt3VF1U797|#|8 z53HN%Ny3{0Pqwb>ip69Kh*WLTuDJ;O71i&)>Yx8lJ)>v+d8MWy4h4UsN#5W#&RE+qdc1-RLik>fC z2=o}8Chy*8*SUNDNvds~IHAMPV>wb0`i>3C6#q^KDtW-sBNvtDB!AXp*~vps1@!v0 zb=+NUj(y~?Q~y2LwxvNIM33kFbmCTpbUml{S-q7?(SrS$LugG3Y}Izn&Uoj^A^x?a zdPw(5`Dy(mPNi15TfyxR&`aXg(A(V%~Yweu`?eDc~`X;#5C zfp;vlhOWfW>Ex|x$;-auZi-esM~X=WT4$U-iB3A%?hkL})Oe6tnt}a%SpNovEp&SL z$-Q0VV<(_9RvRp0aivkXz}AtTAw1}Ca`(J%BA=D#_OJiy-guY5o+|FS%BOpDhBc&9 zSU?XZ0hYw;33s1aG&yShF?P?6liLmSxA?H=_2|?IGc$WAY@^8fnVuzlI$S2Hv9ryE zm9yJ9*In2!&_F)v`={uVs~m-SCTM!$?xnDREfhwuL@n&RS~kJ{;DV+nKKg%|-Q2*s zc|AUnbDq23%9m1QWojRV4|J9BIgVG$R1*7EgVXoT?VR_dW5$*CBE-vI(^Y7CmC6BgWZ&hF1f0=Y$AhupKO?)??ySCu#07VbpvGaMtQ=1q2KV(;S zTD$4|Q1hXF5d!%gAD>)Q^evue~q7V z%<{zp1MOpW4;STU`2;|ChYJuMp|C+cUlw3{+0pG|(n9gvvN5fi*L~N-1L5Z3`R~Ok zNZgW*=faQ&BnC$*JYe4pyGVHTWAWu(uac*w%<{6eHClXGB7`R-Z~`(aRBELeR}q3T zCg{2-Iw8$m(IrwgPmWUL3UpPFy||xA(VU8YCw{UB%}u5=zTbKHK5YxL%)j*Q!_#cg zcYHk1k27d{1;ELS^Wz$0fUSHxM$xrrsUo?!#J%gL$BVKiN3CCGzPS3;=QBJ9_2Z|j z8(%=NsY3G(@z@N+*W(l|@Szic)-wA}SFWa8e;u*&nNL02@&dMwpk3uABlaTd-RS8r z_oHX4{zcLCAn$0DP2O=%Q#aEYgY07dIy%YD($T92|2yi?)!cn&OZ7BI6LW&113403 zpz}v-=EPm=ril~#=Cz9OzFo3)>KYdhm;B%%4)6gMZC0_Jq_Dvr%Li=Avk&*yiE-Fc zIr+k{m{)HFa$&!>$26`3stiS7LQ$RU7==HUdUS0R^)W?7Y-34W_Y{S362YWZtcp%k-lRPZ!~6Lh!fWe(@QnaQK(Uvyk>=+;@& z_(oYLe*65R3ZAnldZP$mLV%u4w+d$;KI+iGr@+c>?)Madn#P~_2<~9du(EQ7qUTNM z_T)UVp;Xv(dkrc4S!GqV$w$Uz2Rw2!>xK2Rjx?$x2e zu}Y(o1kQ<~?I7K|AMEX+^At^ueR-AeCGq;$dNo>Fr}R2?b>{pbX6F2B!>h}1TVu_6 zf!^){MF;X?AwXwAa{R&L(;Qd)6T7dST2@s+=Je@kZ_ywNLAUc3!(623!TFaB^vtej zEUGUGO4xMSI=|l54*0zdkU2fOo{a->{*N}l>=~k%5QL50OFX!ouMvJbZTir;ovh`W zY5O*%*SvoZpJ^qB3sksn&sUv@9>SMR;RAmt8}RL%etl-P{jSvi+U9obx2d*)ckJ}| z#)A)CL=@^t`!|IXbi2oOj*q94_Bs!=Nj4o{sYaV)Q(oMkVi+G;`%|mid2@EQIMB}C z<}9qjZ+tyUxx~PlZWb%?EM@GU4k+hLEr4smsjj?^T6TH0x=q$JxIzqaOOkb9bv9gw9+|JOa{<0xzYL4 z_p+n<&U`rX^(@Owygv<)bG`LJ))Z?PIQb((8HLUVqZ%%{c(m{WU8Asq%&T&^^||p! z{S%DTvieq|uYD_xIJREk{!ekwCq0?hi2-nM$9Sq~w0PaFQ~2P#W^Qu$p8C9KcH7zI z$jaf3lgFz+wiK{81#N14%?Ns;-=OG#&h!8}`!>$KUrO|B>+(8|F5_Cw!L{gyu9?Pb z^QI(8ld6})r=jTEVCV{!Lt#uJa+M1hl}2kbd|V}4KCf$d?oCE{0h{>u>`vm_;f`1n zQ04*LJ9>uSO$r;VQ`jwTojyJ8BX1MYJp1dC!582C`;S84{1#j%v3i1;qm`4RX4bop zstayve2bz9c6ct(93nqmam*LH!`BA5Y&h@dC2*en9zV$aG*m4qM{yjv*azhqUA6bt zSQ8B4yG`K(yGwPO@FduDz0n9evz3>U`#RNj?*Bi^51~^;n;*JE;Q<-X13a@UNBhUw zm!H2SYVXvHeyg#aVyKMM^;9SyjK*D|Ms|oVcX@F5-XVN3NkHP{nt-4EiWAbc&y-W7lbGMCeo;M^i1Y&=u{EbO&Ew{rVR z$pSV5Z~T&*28-*EEi_5VhZHS{lbPP*cxcox_gG}P&63T3ZMazFhQv)ERw|f7f=-6` zJbgsb0i6^JbZ+aZu`tpV~y$vQhfl#SCB5_m-8F@*{Al2I;s z_a-m4y&vM(Vd1v&Wv07`Hyc>9r;kan2;vEa3DzT;U@{5#zG=^kGKa=lyH2g(J-xa> zOj-9lvj|dCgW;|GgB5C}KTf3KRbiN?6uo5hGkywy-o}}!jy=5P=PX1`%9(cBGYx%b zz`E$!j6bpIyGjZhjfj38g%|wwr2E{OnM55-KhVQ!Ozg6|Z{m(M+xFXW8>$oOGm0L_ zNCD8RKe_t73!*R4ug^&jEU42%;H>{mJC(;bLsb{-*#=*sC45fd105Lhfbiq_J2$cU z8H+II+Z(@>>vcg`FX`1Lx*?+?psU0TZD4;-HA@mp%L|GY$VxWQ+RlN~l@MFfQrh~IYPr_?@R+%^Q z;^6=JdLb*w#WPqN$wf?jMd5?}T|n@)xl+yBzPEMS;!j&#hRrUs-lGKe8&wY{(}Zy; zSQ(!n`b*2jq1s~*tBuhZ|x_xR#0=Tjro_N2k)N=^dgVPUojVd zjs6`}%w9?7tdq^E&~pDifj-|l z@e0VZI4Av!fZAAVmXkUtX01LK?++uZ<-yT|%V zq6~DD2b$r(BEs(}x)5{C2fAP1^}2B})p33Kgt*AL+d~B8ocF!#Jws6#)QtOsvhF`n z^x!>*Jtcgs^1eZpXW}t?SC%*FRX^`+$<~5s3uK_Tm?i3X7RcV~!z;irA1Q3G2eSd& zowh$Z^ftFy)V%#^Tk*Vn0huaf^Kl7Mbe#qt8lgC!#St0ddu z2Uk_!vANXjFa!5Idu|l&FJyrVmeCA2Hd~798w!sHk?~Z(v%0tK?cOeB+NPX~IMFw4 zpFk~wu8l?IOGC_iq6%P@7uZ*yDO&RgE#qh8-OVP-1Cu0nE2mF zTlgu-*dOLAMJJZLe?HKOcU-r-%v9S0^MkWWTh81n5a$a-nzN%1p0znisUFV-8o6r{ zomj0Ig{c z{f4PKJrRCG?O$qrwD&NbbVi6W|52FmnS-AKz%)Cl;keJWP0t25cKtm4$r~B^4*RO8 zp9n50LN<}FDLUR!#DVQ(5n$TN6e&ivCu%q1rBA3N_+xj+MZUL7zzShioy$PnosabPu5hfZ*Kj4m!L12AGwFB%$k#P4Pp z)|rOxIUPNXtR2N<61PL``te*8wm%Bh+O`6PFP`ut2kS+Gbd)UzL?<*LX z!!6_+Bl80_6GzRnNW9bu_07klTMA1Gs=23df`6>aC+jw%_ka;qW&P83H{RCmTJn3$ z=l?k$gZ#a4K$P_IcJG12t0IL_qptwttICcYzC4PyjmQ{3$$b8VkP^W7ll?~~$)fB^ zC<;o!KSnq!Q8+cRmp6o$1N-&q(CROT?Vfcj2R?gXCg98P+EDtvF=Y5uhgKPgZe@xt z@FyGSI<2g*HOTIEVvO<2Mr*_WDv9$@o5$diyko|pcs%9nRH5*IKQZhr#|PgUY2FoY zSohy-Jb%le{H8+n%R2FDDmE^&BV8)HO1N%i*gM7=s47Jhc#s7&%LZ5ZTtjqy>sa?~ zhbAA|igls^a;$fz;W|vSp`MCBYb6@q;H5+zZ%Kt-H3}2hZO-oqAL`|Hf90)o+B$XK zpJ81_EVtyx#48WP#}o&s5Z}?%5{1%Q5l9ZJ>J&}b&zV58eoloR-JSOBx@j6w?{V)d z|FfDKO@A#hYLx6b7N6+G6s~CWuJ{qXC%kBXIH|0Kg>j_Aq#ZFHPhVo0F<^aIeOQ!@ z^R^;4I1Wy%CPl!QM@@{wHAFGu9fpxdE- za%~L0CWU7d%PDln`vb?TkT-dE7rrS3iDU6?J}FdjX`Qu&fg*UC#(>wON8Yyr#7A4cziN*dd z*+=g7X#9m2POF}DvH!&bHi#?4 zG@vlq6MmY1Cj7j3ImFWWk#y(Mu?rSBy!s}fn~Jvckx~XDzad2n?5Su%D>^ECU(>jU zTiRO8omtM@s#Z___b)OoCk_r_WwQ}QXC8T{T%hwMbkLtmEtW3J$@=$zW2MCyhXFFe z@)_?FbPZTOR*9|y!$bpwq%nm9&TiEgj<*R{%qt#Ev=^hK3n8~nBi41EwR${|($4fj8PaVX1B&?_~ zrW8JBf-e*B^?l>ME$Ok{vQ2*1y36LM`t!?5p;)=Lh+1YDqz;w`IFU=s=>Ol8q6fBs z@i)Q`yOhpKr-!lyr{{Gnb@j^C?!}}>qA(7g>hbKhZbs1n-K+u{3-4qdk~_>z|0GQ` zIdgj47=9YXJzw=~08Re@&fU|Nh%wD6OmN=j5lktyQ)@PlmAq}ZVd=8Zre#M6^w`m{ zo!NILy*c#n6|vt@eUe&Gw6TqhACLbyo~QT@Z}}$M)N%Qc&##$vV>*b@cRcz)hc@KA zh}~|3I{a{d1>*w!j+PWn*!x*PvqQnFp0%u-Ev_>EQmxiCzLso$$U)l|S5qsmbB&p4 zMPUOyEd5US@%`@8eLt>TwY5rXYF5{Cnm|oZk$TuAK;8}SuGSPCki#UPb9C{uF^8RM zMMq6@no!@+@5bk;exd>`N6$^MrS*_nKf*utv(kPezB&k zwt;$?4;RVXn2|rV$l6l4fL{rKYgbf|>tv_Ln~o&RTv+DVQv-co5(h__6;>A_Rf!HR z@`Fw=yd8xJ)5MQ4!v*X!nk_q?79^4!2|pCo;mdj(0a+=mAA`IVN;5J3uO^Auo}vS` zQ3%jcpPqkWqh*VwR&OoNeB5!#3t`~dqrarHbbF)Y>M?uIF>*gm2?dsv4iqMMccv71 z_kejnk|S&!mp59FSoTK8aRT=}e+d&fNF6D=5n$;$N$N%J1Fyd01#ap-vE9YUFR@$Q53vE))%rpU!2-`zmAC zyx(DWcEiATLmMzXGjSh%o^>kPzT@t^sRGpA{z^rFoQ%w3x>9t*(C@`hG@+YycEXez zYwXi^Z+l(Md0OjISikYmE$)8#seDkjFxMv)_X){qyCmSF`dh5f@H$X{qwx|M4@AXtGxO=X>C`_&$S)f>+&g$CNc-eKegQ%qe={BRH4mc#yX%s{D#t)~{n8DdtVEy6TSc7{CK| zeRSfNBmm!=!T|4_3K)jnx)Gfwo4wuR)Y`;X6{?E(F%+#seApQ+n!>?86g`khqYC7m zqwm@N811ksD!ko{LFI3s!Ty7x@2nFW(d#kD=G(YAI#_GyXz;!i&Q%Bpev$y^fp62> zgh#wue!5}ifcRA}<`-fLqaVV6 zpA5jbr%#X2Csw1j)wvtqtILKLp6ELRFcRBABR4V$%JQ)?q{B6av7j)4t=6V8;hW8> z%|pD??P5+Hs`Y5~hEK(p-4>B*A~MH_U3 zNmcG0EB3hA%jqp5PZ6l3A~!ddz%{Jha+Sr{({ z|3A!GdkXV5gb6>xsuRA(RQ)%ud_>rRN|ha+@6K#m680C+M((?|w*Y$}u*Wz+M8*B6 z-T?kF0_s5F#P&aajEo7+e~%6EKbU5}I;_=ytwZZQvqazV?BAd0C3i#{O=m_)eCRmm zNYPASDKd`Wjrn`=1FmLK+X(_sQKae^ohV#W2`-}= z953qEYo8sp-eyD8#I=FtKSp;S!_SLfk~36k?vHN(;6J&WE$nbfR6fgoz-~}y9!$}I zDKB#1=}OW$^BP~T?7d@PcLV)5c7N*lE+kt#R1xSak&g))OMIC@6eg(KF{(-U6tne8 z%WAcEwy#>P$9 z*4EQH@+gMPCPFoFWO@l0R|*%{;vTiQHE5eN>hbZchmPC(r(KsH8@~gu0nfhG;Robk zxDpeEmz6)hlj4m+VeFqQFWe}aV8dhq&AHwF+t=60W>JgL@YAL?;elUf$Jd)JwUVCTRKc-{QcRV~OE*^GofZ9Z* zFMi4~p1k#(5Qci}?9gv<<_?BD!jtnGUDuft?l&^lCPJcwwNZdw9s$v~gX+inAm@#D4MH?EaU>sv4<<4{XgQqGoY#EdHdM0WA|FIT)TqUumhnav>-*X z(*i_+U?_qW6%iB_3xbM>9T5=~6%iFXc5GL!y^9@t*LU}von#YEylC?KzxhB(lzGnV z?CkVi)^=yVvGs2TIA44}k)LK+pI>bc@!gqi8R)IyQkl^dPLSEiMr57FwF#XYWoo&0 zV8ZfU)tWWc;6MFZX7T)8rN}a4D0*NE6cKtNp9@_a^~`T9?NvEb`b;=UL#^0v@dY9c zT-*WaJ5(8pOeWOsimRvL zZ#MSNvV`%VaDZRt{ukj%#>;-oe61U%m9(4ORxf3?E^sLC+v0Q#J2($LpC^UGpX{eB zf@8RWYnIKNhl1q+$xg33)ydY7<1CwPi|db&v5&uE4tP;?L0%1-aL+&d?m0pEsdhy> zJ{C;1YU)=>%i4g_ejLaCgAg5WG;x|7eB^ih)KZEjtbIPv3_RZ3XO(G6PMlz7 z-K+1WI`h-~t+nSmNLi1Hg@!SVqcFgJFm28~xAfxS3oRJiXDJQNTiAQofU%dJXo>-%e^(VKMZhqw{*mj^zL5_@4D-NA4;7`;@I510*Fm0c8w7E zQ+OaQV9|?47aqKGi+CdnHGOU z3*XCv@A)E4N{D6aONGtWbswi+Z_-S|?He`JL#f7(Q5FDZvE$hS<^fVR zh&X|w1AAX+!0|Dnvi-$yk>&G9zvr`7pGi!{{xpwm{abrqDeJ6#pf+n)+4m!-aDg9R z0Jt`u8TR$d7*U?S*^W+&LZ0>G$HnW%va(Bs1A1H<@f{UHxn-Gjfd!JH5Z2b?{rfMepF;Z_n`lRcLQ{&czH#gF3x0!Xf+TCLDgv$M{-_)=U8gmKQ|DwvpnJ^w&@j&Zfy6gAq z4zr`r6}+io>QhY@F+HUL6l~}q3v>we_s61PA!Tb7J><9#WFikHy*AwQ$L_ciRx`!= z(Uw77zqq}hu^q3O7W;#>(|%PifD4T9s09_D2w@DTFvcJZ_!S8lz0$u8*=uofW9We+ z9S=swN1)ICmlzcuSunac+B#Hp3FoID(A;7qb+COYjGbFM z;>-El-!;fp+0IY(x;z|@i*TVDo6JK|W`y1BlPOH$EEmw1zX>0j?~eA&u=QQitjm+N zPgY&kGJaYHxk8KNBgN@hW(tK1VlCkW*K(Jix4b+0n`ZyB?pxy@0U~@Z@vRSf;QyYp zLfIOqBFfoI79=r5KOjxSUUN5EeZR z_CqeUi!{VvCA~V0!UZ}yydAf0o2ymsSgUH9aQ4H-4^Grw-#|mnqeguwmxf53ac&jY zxJW|qoqviuN2gPC;|V`XfNss|aYL)G5oc_#@0~QQRRXq${&-!mxRUu|_($b^y~ zBPlFkGeov0JTPq3bNKFe{+sK5$((UuO$FV~DB!J4B2gI2aMXhXp=egw%%E_>S}`3s zoO?H%?w@li-!gIi)HeOL6%Nv{R;6@}N?iqe>!<{A3;#2GpAM(vW>R#4KjA<(seDrJ z%N9RpKN(o;8XZ1FgTDDgdjjoaT=s&l)$~UN_hK{+0d{e;?~aL>6+jv`d#Co^vkrmIl z{hH|As0tk?hfUKC56e3cVhy!;*lc0%lw~EpROXstqA9#f3Emun_oP$R^Itj$Z?At- z)FSs=g}V6c;n5XkU28S|5&u;vMUgMLmtO>`Kh{(gfVRpU3a1Of>DZa$>&YiJvFF~e zx0qF7dhu7|*Y`ElJq4gdh6H_)dXf74ZrGHCcYJW|Csd8#8gY&YwnKnk8qmvaIaV~z zG;7z4UTuuF&%2|g-^#8dxxN7{qw*eySPBE^2Br&n<}(juGroz(ZwP8vr{{pp+V*Oy ztqo?3YR-r5)|$(MD-v+M`ryIfXyhoh-BbLcV_hZc$^wJJy2ZE9~E^ug`$Cn=qJSw_(Yjc(Z%Nl ze&qw*yZ(urr<*lNAIQ|a=r*v)Nc5Q&JYeOP^U3hlAR-YmgwWkws2T}5Mi|Qi3Jd7w z4&Au*coIJ`=dY_)yW;mXPw#v1UM(-}u&BweN^Hzr;wufrDKU&`ArGchz+|@R-IzSH z6?u1`<`lHKP(v3ne%fzjr%?ok@J)AP;wfBU!!|Y~yz05zQDA2GFnxEF-kc{F^+R>a zE4~>S!SE(~Te`%X9Bzp2A_^y*7ioa=T|0BH0d^DjMP=7SnVCFY?0ppcsiT%2(+g$v>`rbdK+$47pdSHaw4XM^o`Zj4;oSxX;DgRG%CC^0*wh!sBI*b)jC z?8hv?HRsBe?$a!eB~&XPbn{}Y-f$hPD|g=lRJ~vW55I#YpJA3#Sir7p+@0`fzIW$- z4=k%}8?(LP><@LTYIz4Ps~c2e56I5MH}{cRMO2`K7f#idOQ7($$pN1r1P_k8iy9DT;4n|b4u0u+qmYT%?n zXuPu%(syX00C(X>5=9gCMG?@v+^pNznht)M)3e%K>>So?EI-Y%+IQ@lQ?;pfGFdQN zGl6f)#btt+3(F}yVABYDa6JDUoix?Y-s*ei?R{G}TN#QmULGEl6%YSDrR)B|HYPKg zR#4b75N-S_0Bnh)E$lq&k2oD+^s?H;uF@IkGcB;OyehNpj`3-@n_wk{If_NhFyTE3 zKZkepGYl}VmLnP8wQBhG9vWr_X~$1$vZm^s%^{)W3Q;DR!U#H$=|wQEDAu1>Mcgmt z<@yCLE3Dk3+n71{xFR1cd#flMpkMp|$BQw6;qxDfV-6NypL9UDS3`anxep4D0ju~3 z6(54Vf4ZBmgi8%FDHJ_en|z>Wm|>WDLF~RN_tTpVq0OH20e=3~6duq&!rt6ER5KXZXHWPN%O$%`ENmCPZk~p`ec580Y(<4?a~O^f zp<)7Apv+w2=Mg5Ag|fFuv5GO3!iD36_>~2?>f9St=ii+zKOO4lb9VZ{_J5MUvg+Pj zfC;Uk=z#5_*M~g6)0W2$h5DxZiz1t@%G_5t24UdY-(`D#{IDc0Mof0)J5;UoS_%)y zM=IcvKe#yD)Y>;m@}Q^f4ksrq>m2!Yp~k&yCG!g9;^FHkj1c4PU_y9ymmD@+d-AfEl+83`k`xEPd7KGqzs(|U@gJNldWl>{_DwX3pKUtqLykvyQsp(?xo zWL7$w1=4eDcUJV64HT^qjui8W&}!1E(vny|yZqRi1Kl!;TlLe@AK+gDmELO{rQvXG zq;P?31oh?k-sIBU$NhiWZ(VbGZ?wg(rHkzU8M7r3*06NM4<`X_?1Uq>(B zJN?Zs#3l7kFN%KJUqk%=w=hz+tvEC!C^UqawrLa&(ChB~I9~O$oh+DkTr@gfBpf+@ zRQ1JwRM*JeCjukGn9UTuI3hDSgr3df{>3Tw1=f*q;aOiQRu*We`zaMGR?cTq{KP%u zFp1RH4+j=dA6GDY9XgXv(FfTO_UE40=3c#+ke8+l_Y{dl_k)%Rbz2Lp;#aeh%g!W5 zC8s!sizRmph0TuerVy|lZNAm>t?h}mF2jXwTdbF9sK5R78OzOiP?_AUlqOIG&DJYB0ZtC`gbb6*rL^Wd77Z=hx4J zKSgwQQglE!rvaV!lWnDI+V*PPeC8WF^VL3@@>xg0`h&^ybuk+w+_>C)hoB(XVegxSA^hvb>*JESWjlcFa*9jYu?`CWM=bX!=1;@(6EyK+Td=&Bz>#ZM@85#fw% zSud_R081>x?560$zUg4f@nBr5KL7gtE0}xjMZ?d-EZ;ZR5c}0AOQr6I^_GPMp{O&a zyoaI-x;F;sE~=W@XODBAf|?u7w4T1~rxE{itJ1ZQdiVy)f)STRm_QEo_d#}x;O`q3 zi~jyP#dP7D!C`;BTH|8O|Mz*pbz=n5)@mK746~2I z>&~J@y3m~PtzNwK;i8aJ9cB)<=~E$p@c{Js@0}6Kxe{21^?S{sZ!C&F#9PCASaClI_4b`Uf$=jcZ&vJwyYS` z<60^`*W?ZXa}RQ-$N>r$#JA!B*Ma87efx|SuaP|*d@)SyqCxkRvJHvV#n#uNeg#2j zaEL5``;Gkwj5k5h3lN&c5gQ*&g6gMQx#`pw(i$itH+qG#Ya)62ScYCad8jZu{D;p7$D z&I;KAPYt__-)nGF1+c=Uu&bb!hOxeNxw9H!_wlC=v5 zdX*o1>fZmEaNg3RZ0Mc7R0x-CdrQJ4-spl)^sq-L+TiCG z0PW?queZM9m2o<8N65mYd*e0O(5hz#SJYu>&RzwJoCBF0?;BJujycOPM=5%6Mw?g> z-hQ@ss6N)ZeD1zmBGU@H+h9CA&stU)VE3;|9!YJsl20&~xS_KV$0&UMWGxB+-?cNj zcXnHRT~YpM=C$P!Rfg&SA1#??vJe~^W*K#y!jVL9m{=1&-KyBz@Yy;0HOA{_w>B7T z=f#hsY%wc*Adq@~*FZlsEE#n!;~G2etf5Q#nG+Ny&~b$X(~7R5f}VW^19$DzcYU?B zae6pECLOMwNF}j^CW`xedU%b;Vpc%mgf(;&a=c4VkZxc2cBj?q`wL zck_YPu95lIt6IK@S+_+VG;YR(|4F>Y0R>fkxz0y% zpat@tq^KDK?KdY0E(~Pt!&4N-QAC!6BEk=ob3Q9%R&#RS7`5+VRLc|VJ05=g*1B<_ zEp{9jca0R{(`gC==+rd85b@XIq>jRnb%iEjjqc9#(S_~6*?0KpA;BW_TxTc@AisR3qM%}mzo`?5Ea}{LJASE$x92+ zRSGZcF+DMd_nPCi$+r#**2W!OZIgaJ@Sra2Iu#v@E;&J-5G%++;es*$QuM)IDFFJDw%z)0U2GG-WbNQ@lT8yf&_}jW za1ic82*!N~isD2|{yVX8h?$jfZXaKx=!3p@bR_F=y~VzPBdt0nwhyZ4*6E#}mVRpK zGZ=Z;zn+l8*f0}B9SvlXY-?YCTz-X+sCNt@|UHm*k zy5XiM&SAPiVF7*_4I%uRpY7Q7qj~QoP7ix_s=R8IhMd!H$qSYgxIYFn<0eHP=wJ+me*SRdVmId@^|#J;=~q8{86bDC(E}f3}8>D0fyo=H4>A|4VPKQ?in!W zayu>OoT$Y!>~Wp8T3@V#Odf#i?AUTE<_?7o^j!yM!XN+QYKhG(6QVP`=KSb7qOC6U z9f?)3->6b{<}QT;fYdQ`&A3`rcAY}(A3>ir??dTBiukCH06}59A}vO z6ec+9!vRyJwt8>e<4ognZ;rN@ylK6Lda2)$X(Uq~Xi^2ezc|T$K;Zy?M9-D*rcq?)NU`Xh=a=(9UO^MI?{l}){Eca2+kJtCo_fsF>5ntMxK&_{HCsiNkI zRTz&c+L7pQuTcAK$M(3bdY?R;lsH#$uE5y0A&;{tj3JdI^RDz|c z^SRb<&NerT)<0Uc`Gx4Z8rH3Bddh{Wr$cksLL}Vji&|jV-|)u}w|GHe0)M^3aE?Ds z^=_M#(|c&K|JhiVn#N``toUU~C5Fxl1-a9U{TUN7Gz*soD}G~z_$5Ubc##Bj?Pjb$ z(a>h>Jpb9VoBQ4vs%34xnhn6>2sVVeX4R|l(S4qD4cNi-2#b!~dE-5ik_65J8=mH<|fo|xn7qXqUkvVaBl^Y$Np|7D<^|$zd1tr4J4&8q> zfooa7yPQjlu=4$u!s9~pq2nmRhvWSPQ#zR6Sy^esBjZ}Z1%Fgyhij*MD6ZaM-cj^m zKcxXZn?4^xrkfUL<+kj*`}46|y6`ttdyq-S3^PSx@pEU@dkPomU!&244+BQ@IxyHw zwn`TItlsyZd0O`Ku=44MhE3t#4n=M<0>8sy`9NU-9wh-5|G)mJ`PhEXo{48_KF<97 z?Eff_iXv7@q@oZBd*S9s3Ma%D4aN|jeX~j$c+YI!mhI=N8lJWL`hOZ5T6bJ~+>eJP2Q+ryift#im?(#V)N^+&$1=%kxzY9}*yT-UN4Z0{##q`a$6V zeVPV%9(e^_Y2M6yZrj7Hi-)y1s3E`d>v|b9Q^0FH_v}9@TJY@pp5)nMe&l`VYu;{S zQWgKo`>y1BXty@pEINFC1RJtHvjzrcfd?97B_|iZ;d8Vi{=zWW4}x<(1~A(v7K&YGy@d=$0yfEM3iL$PPD%pcv=XDAAG_6U=B!zZNqmt|f#3MZ^nV=s<( zBfVdBs`b()H`XpODz8HIBmblPgVJnLXhVi6PvJ_%j6|m8`*(#DkB3q6)+mu|Dq624S4xuytknN_#R<_l0ha7t;Xw)cN zOFhi$JXPBs*MXoB3~F|LH6BbRzTC5qZ*H`+M|XSMv;?Lt`!FO)o#Gf_PM*f$5Wrwt?Vy=Hpie56|MH0|UnN}2b+cY}5 zde1f?o!?%QVYx-8KDwnR*w71I0T_y%+iqoDA0C;(2f0v!Mk1s8ci5R!*gIB{pjs3@ zJA%(d%JF0JkPI8WeEYlmYrna$uI;IB=KT1OqW(p1G0b^0L=y}Hx!g`|ie?m{83Qz5 zPwTPjuvt>xk)+YWyPaCQ^V9q-o*?r@aW^-y=9F)tvqhi6181K8IKqP-Y41JP+MUac z@V-|(x$zub`0OgR09=g%dr^~Gi2_rH!Ug&!6>x>b=brGkp1ah@wto5ZD-UY$nf{nh z+|5x6#<8|kT^>9J;|ZUx44bp&ylr%n(WAX116%IY(#KTW*I?OEHXriXRg6A_upWgE z)-e_EO{=tJp2SSDHt+a^FEgySY3akTx{#U~Ax5VX_AOCGcBp@dGze8!vQ>;!l^ny= zr|^L;F!Cq-%aksR94%U(AWCoQ+evS)mU@xJr{tPqA|1Si$6Bc9fd&+|^<+;L5^VDv zlP8;Eb+A=4Lrt)mkpWb?{<27^#RajVMf`2p>NIrn>clCmb++ zyuq@4j)9}-%V_QRsJ2JgvrpA9MSs6Bg$H~`w?M)p7l$b!KH_M;own{-2`WB@uP zxy{xMHPx{}M`(OAWB(0~aVY-{F0@90$!@Gnp|~~54H=3^hDahO2^v=2F-<6ZpihEi zgm<&M+}K~!eqq$qrJdenShUcE{^e?ZS_ySrS%(CdxW$}2p-k}1Fc9e(byh{ZOwQvMgqofJ>Gn%VpDyI--w`^ zT|-^}e_%957@JcV!3Ja|5I(kee5`(T!TN2zlJx)WeBiSwKOcW>^Z2kc8N;FRz6C{3 zu?KX;y$H)dIE*8nU}INpJ7^37(uoQ3C5L1 zb>`OI!-)4Cc=K~-t0E^2`Nv=QZFEh6!kc3^nE?-7M>)3^E89j_?)}ly`au5QOOM=a z6QJ8T60M&Uv47lC#nrVa-s0v_wW4r>E+_M)HIP zE2h%4rEtKWb_*fAm^@EpIz+U1?TrG{t%fBgPW(82Ymb2+EK<6?%-<9S$l+%JhAo0x zO=B!95864kuiR~im4;q4l^j0Y%ZScR*tGQWGwpcj8HAE&?lP{zVz+_9-FrTNSk-Oo zW*yX9iO``Wk+bI}UJNt#1_8W@+fz8e=7|R!c^?jBHnVB8#qNmxsQ5`%x~SDtsZHkM zPpmHKz=NX%aQtZav+;GS?XiP=C$Du5T&0^hoYJopsd$tO(~-gg`@%7dTbnIQrZrl+ z-tx`Lmao5b3;As6t^;|b>j8oll>ka{=|ti2M)dIO4&ce2-?Q2YizR!!-ahEJsn<*m zvQpOlp=OtIwz3`S$HR-%nZg0*jBq01%d5NcawDzk&VKaC+OS|yV=2POqc8pt2XAZ$ z*`?T$Va12(!h@}VVB6QakF1@IMV+Nfm%ORa_jpGy?Xa=uH0Tgcg#=T%a-~w~N?`&y z5{7g9+86%iMwMLq@V#}~2__Hp*;C3!Mpo}{#E(kb4&c*r9Tec>s`#|sD15N@ivVBE zr*rfJL`{}6?Uv`R)z~r4 z+ljnnfsS%18blJJ7DVn&VFMX+oW$|%^o$>G4c^=MEbcL@&xmH-M(83(riu+8DCmZ` z5cOLq7{-{w1$Oft!1cO`q{9%)qVxkEGY<~VI^vJ`sXJW(vPH$4;4KUnsf!*w*xV)) zp0%ldN7mIQEmgmdhj{4ZdAiM$snyMi18s2mmpO_>;B;|M3K!%;3IUhT_NUn)V+E1> z+8uY*Ps=yt=b1__1YBuzbaO7&lD(+Euh?T#xaYoZ+}V09BaB_q>rip}_`!8`QD3Tz zxlsCBxyRT`Co!(x6fTgJ9Khx6(06eKVczz-m_*Ki#>Z+)w>Yz za*2jq9Iq^pD){lzK&~Bu?kVX@(FFN0m_~SDTdla-CyUNA^G1F;d*M|Z%p)z?)jy|5zKi-U(Nb15pPkt7K|N7)zjS{dTn5uQ9z7d! ze3U%E-8TJH#rv^6XFL+}^Qe@st-K$~LMmskAwdQyJ4V~zBZ5>u51{BeqQ8q@sX(_u z&3(5$MB>avZQm_&X^_+lea5pkNFH#=O%@1lsi7xG=WH#%c+*xxCPGU)O3l_J`+&P!l9a`|vYn`dC`@q1`9%_*KOTPmMx@Yo(UMFPh*7hUo3w7*@>NVv|RC5X&oXIhO zExcRFNQ*mmvEuq3d;b1wVLyIe@x}#Ec-R9OnS>!+zomep1u=*cpfx$h=Dv}aV9}6W zY16N+Xr!UunU|Kp16{ivOpngvCg)jD^so(vU+%LA-?vJ(n%p-Qt_V9ZFxl6}t0(%5 zM-EEqG8a;K&d&NmYimi-fSQs*pmEcw&usbI>}RdU?#jHD*3yWdhU$zT)W9W21BBRc zDEj+W)Zb4<{~y0PL~+kh%8L7T8NgfMwUC5iO_Qu+E$!>VBX~SbkZ1I2Fl! zbk7G-pV%ySb+S`@!pex4qMbx!#4Uzfn*qae7am*fur^CLZ?4737f)lfTN_qJek;$9 zHnlfS$d2V~Sah%{a{Z1J?r?&;1aPMxyOgjp%5p)^mRZC4U+b-*MyG6f2KD{{ky$WG zH?RS3G-(W938K8<6yX>`;Tk}2`Na}`_J4A?Zkq}_H}_q;^s{5e+TQ&9R6Uze^8|f| zwIG;l)_0=l!1Jd8on~KdjTqxntLf&Oz4|2mb5Dfm{N9{Q)E0oQ=f-(m+{}#{+wc_( z$Z_CwnKMN@iaeviT=IHfhZLBXe_g;p3^!UsCyvi;p6Fm}{;SF0hYH=5ai;yRg4xOrqtk z#d*d-NIg~1Ag_OD9}^v@GN0c9%?9Guawvt%ovdXR;7Vv)v2o9#!no(ng2Gmxnx(;R z;I$7)rU4a5%Tax#G9oaHq8CNz>BkX1_*NHvv9#|c!w315fp82vUcHw z_Nc@wQ;KI>Hk-5P8WZaia!|)M6_;G(jsdcx7-l4e2Y7J@@SNJxu6%m0ET9zFK^9ZSmgY-5Pycs%8FG zO*g<9NBPYnc#k+m=$XAKe4sN-7ZV<}HyL|*wopFf_Vm8{Hku+V{a>Q~WN`-pVIyVY{1W?RfW{LQY7JDUO=?P_!J; z-@-4WC4>i`1j~26a&t%;lD0T`bNP{`=rbN#rD9mD{p}j$i#!^MA=}GIenIqnDSAt>%v^XNz{Vn*8Nfb)Sh)yXx_>q5VBd1-qonv@&p%Ywk~u+E^ODhzLW8HH;- z!IcKM#`W;%9WVA;Rk!k|@VMtL_*~F}FPsiyN9m(NB5ynuMA46;{7KE?SBMk>8$@AU zO0YU6aXd`E=&;_oL9&o08WV^?ZD>+|n+ z&Gi6$vs0|S&?|-`YT$Z z877p%1!r3^!IhESf78&()+V#N&Jop{n!Z#Qxaewk5m$~+->RYL$qA!yVVfAg+*fk^ z$~ZB7k?@(_%1AShpcQqOQ>#bvV-DS9B2IY6(mwBp#EQGe~7 zJ~6~%ddr6v{Pg~-AD6qN6CFtcl=Z{4Tj4x3J0z25Jk#0suQ&EHqqf|#obo2)oGxp{ zNlt*>7!ec(&}m74q2>JXExTLjcQPw{V%gyN8!R6@eEu!DRMyGx<@xda@X{J>5{1zX zVZbk=RUDu4m`88>S(mrn;nnBm>U{f=J<(@87)#fSKvacvNKd9{xMKq76$3O*^xdrY z!AP(@`tXdxW^W@k*aN(FK6kkqnwc7b##~sVSr=p;`4oyC<|}>`1HHc1)s9Bk+2*vm z|1)^!l+`ZiGoEMqExr@Wjr}H+$=LfnrcxLnrr@4J_?jEz9B*uFGwbukDf4Ah8f%!* zpz_S@A15(A_N2GRWpSvJg;c;$@3FEsjfZ{_&_CT|ezl(24*RCG9Qt=~?^7Cj(#xik z)$M)UiHB}z2{tsB_+Zn}2gM#;kkwD#hs&s@Q~1CqbzDvOGu8J%$}RE8%v5oWZ=nYl z{7-5*Aa;(%EqKb%kPr5EmUT=dg)N?y9(1QAVA~q?!phwIVqS8~wqxezSHyW>ZRJNL zCZpCT>x0HOkqjAkn<2W@52KvHgV8;eObuploolnBU&E@pm{I;~jL^EG zdj8F%FoJF=0gSEBbRU1RoG9+$gyT%klZBdU;E?2W^^v3K&qOr8hBOHW`l9Iz-LOy* z=Tc4I%%bSRc_Umycq6|%=#sm&`P`Z|ZZ%fVU-LhyO;gTuM!_OEJ5)c4!W2nlDhDuG z>9@QzHrpoq_KCB7rvzNqkYD?={is-yV2*pJ(a1GO@g^(qvng!AFO#)|U%ThTUkY_7 ziMcc_Y_WxCvz9$IYCbPcV;c_hkcKFNRnZidQG`!vfF-eS6$8d<;@;&OW8TL!-s_G& z*JAIfVId_}_`Vfv{1ZfTC_KO$y>)~)dm8n8xZJYu!kD`r3oV;})3X1LwJkZv7Plz6 zA#;u!WEVqWSW0*j4j9C*JH#xu&)nwpti$%=wUsr~*}xGjUAxsa6p`iWr%e^A6P33*wyUvN*I>sQN-N8w`YLE`<%B^Y|4B z*z#lpR&{n4B$rf-a1)K#p~3F>wVjLWr<7(cGmoMNvRef7wlM{9Uj!9n-xln7Dbri2 zLErtFUg*wJ}$6kTubF&UE$+!{O=JYSIQB|Np<$mx30!p9f2?9WkK1K2ZSMSs>hHsI=D^=S-*B+4oBhI_iETo&v+GsRg`cC; zPnH2esPPP$BFrKR1K4ub#7dp#!A>UFx^vhCt0{SOc7VbA}J|K;Biwm3$VjjFa=IR`fp^dc*N}!{XQgi_m z`^d}^iYDm2VxZYszBtp<)MlIXbFKTWybf!Kd6ZQrb1?_@;uS;g8Wsd$DMcUlnOhp+ zdEW3LZIVo7v(jhmF|By?xR$X6HTfpq4%pA^6?&F~WIA9bt{*P~uS`cspIQeVB38tUaW=LnP!&k|cf z(Msk>F&(y$XN;Y_lbPnD^TA%&<~AoB$kkCXy|Y|lR{wwIX2o#_|!D&l~c+S+nfmVzi0K> z(zHK6pH$8sI?luXOmf&*kXKW*;LJ$^TF>fle5q$vvi-81JZX2_DBZ3J*m+hmxh2}e z2uv!4#ha{&UM6|&j6L^+mOI3`%flld7bRXB!2jI8&>KPz?m{-)+U^y+hKE)V&^rI2 zLHOJYc8SYhZhP?|-nn}jX|dr#HfN7H%P?yx8em5i5gN_iv#)(}6TDf~s%F=Za;g3w z#l(?iFPDZZV&dy4dU1q*M%y_4HE-4Big6!t$cmxQ-}ia2HcU&Oj+JTkbJEIVJi5YB z&R)IEPO+m7&Gi(vDFjlNCJh`%U*I9q*=MS3nB23G(N^S46wljBUSPxWY>V>B5 z^?GQ3I~C|vFYmuVK^+47~SCi`{>v!%oHTJF^Up`o`?Wv?l0>A;}S5G$#~pUfE8 zNYQ~koeFeD3K}H!G%{Tt-OJ+kg^+(V#6!w z`T1X)=lWU1*T1J%wa+)H279V(Sn#2ZqRFMM_*AhL7$%LvgLMpkMFO6i^_T2fCfu{7 z`_}KUQgQ6cr zp4(t2_uO6YJeaV@uaj_=Q&C&g*CjiLw77XTYnAYfhFD?CW_N?MAAX45Qxr3q)YhOs{4;=F5$WJ4y zlet;Xo5YU(dI{@Gp8Z|cea6z~YJYIVlf5)vWqRaJ3Jb`E>28h}1GE3JpA%!YE2c`V z2?24JA83%nU(3BGy55IM>}ON-AnuX`^x9uIwsBjrWy0|9>08?feKo{gO36LeYJvFL zE!5+NZ^uyn&Z-q=7ey1+y98)Tchs(1-ge=d9pb`_nhSHa^aaXbn^>sKmfFpOEocwn zf9D#<({mlxE_pMv(u9`iszU8#;a7f&ms}En8tjyA${q?=64}2cfNNx(W&ifKytHC) z!zkwq4{PH6t%Z!TxK#27YWYm$NpSssBpqdl@~>=ukEb6nhr%62aL42jemZ32H>hME zl6&y1(79K;l^Xo^-`ZQHXBLU&s3%0l0@_Pq!fS|M`g=J{_N~H>9Te36(eG=~jlI6+ zXHC&(*k(avab3_|JgE4>&j6V-hL+*%74E?X?F^83%RNwJ(Mv83!qaodOD5ufO8x~B z`CN+LdQ1$x!hzle$1~^pTbu1`+iJ*BgC(|8(P!GOohlDX)$k3KdZ5^=KPzDD`5Ual z9fsLQ;RUh7Zr_$=nrd$2ZRY5eMR75bVzwzjq8(+EyaeUMi9MphzFtW8y#yxrcA*+Mfdy#wZpcvhNAT(d#<&9oRtp zZT7ty?E->kR>NnTwis3HXQ*XlyH6m@qSRRjDQs}I80B&N8(n|>(!f>D-8;l@?E7SS zSmQqY*i_?#h$(c>tyvf{-_SbcQ*@x#BZklkVC+WK*lM>XW`o)Ai%phX*Tw!Sqi*yG zb_n(N$1{Bt3X>IU<`9J!)~xY?-`6P;s(5HMitE~SBzl} zQ`q8&Jf#A*a=YTb9UEg2b@h}@p1+fchFE*q>_pC2W%J|EiiS)=boV-!gg8Rs02{&R z0O3(V{;all#eb~{7x3z~&5f|}3zdEsGj!Uak-qHW9i?!26aHiYu5A}Pp5Ojf zuytn7&|3>n?kuyt6o!s^bZ|(0Q8hk%XAd1tUXD>TK@T-P$nj$8%;qg7Hxs3;6ZT!Q zxk(D6Wgi!-kN@NRkfB68K5DTh~rdG!>Vj7H@ML=Psb|L=he&5j^uJFe{H03mVOSw@q~0z4}`%@vye7iZ0^nJlL;xl5ln- zouu%9Z)0$X5FZ>&0OXU>HDwV>H+6;;oB(Z0K%LVWGV&8g7NM-#e*dtuv{H~ zVd+xwhSkF-inH#F8}6ZlwW4dO9b|!^jd5TaRZwwz>okQ4}2J@N^ay*cl#N;eg9-MfuwL8CKDE0&b7IIH6Zr^^6(1eOG44 zezlh(@lb~4I9{BkXkuBwuM$FYRkf&()%H8s?XPsBXnXZGA-c8uL?~4hLZ;s_%sC1N z=n=;w+?uSiS+wHxv6rVsN>ngKU6}d-<38&nF|zFu=AK> z1nc6srdJ{_E&I3U?gO>WO+WYM$NEb<&zaR840Dm912%yh(0Q}CnZeqnvm(xn95d+K z+(6y-7ulmB_T~~lk1#1JT>E>_)mo;fx|{R|Ggi_4Lc#ZtK-}Ui;qw`=l>1TFmswOEX5 z4jV;^*t=xecS-Tz6$%^Z<~xARu9EMNzT%YFof*PO?fx;;a&PiuQ>l-^qjoqw`45H5 zo2;+f3Bt4KcWeh&IV9M#?c|UNImR1@@UQRhk;U)K$F6DnJvy^b>kVW1*P*QYjFpel z0b8YofdO5k@PND;oFvblCaapY&wk3B8H1%h1{0#S%(=2UTS*<2Hn6>7s6fRZ7e3=A zDnG@r((4p1umO_*SI0t=ic@TM#eQtJ#`e(5?mF*xMA2dCBsR>1iaXJFFE&Z5a;eP? z3g0LqGkT{8->NsRa;UOp$MiiJIfXa$rfRTtejW4nmW3koT$$`aG;Z?H^aGmnI!b-* z#b4szx<_0%QKNxwd)8V1QXrQF2P6B-8;$W|W%(9`2V|!J@a&UWj5%drJS!SrgOKWKFtG6~F9g>9wc%%9fw>=Cs!`N6g}( zViXv|kWdeQwqg@wxkF(ICs@(|i~XgvosC=DFWBq&zSpcBb#&SXMOsrt%F9!E^H+B% ze4z6T&Tzasn-#`pn$D5mudqT}xn)c6L@$mG+f4iRgpVSee>Qa;=!43c7Ky!%~Dl#1^ z4VEI6$+C)hOyL9F6c6|o4SI9P&Ne+OrES$2F@hghW_kRvvhs@61*HC#{btGKDU|0L zf>cc5fn1p0dBQKZehrol>@G}=w0_#8liy-o7si99Y%xlWxoo9EU|X?VBpz}+x{u0f zKcO&!PDllee$H>cER8bT)VRS5>zMkNO!zUD?#YE2?nqgp?m2d_^HYk>dh~bjs|4tb zdep);$7ayR>JLV)3h{8zg`cP}`n;9V19V{|SA-^kHx;wkR3e1WD6CN&R3@pAtlRv- zR^}qX<;37s{of4Rei8fqJnL3gIpVkH>3Uf#QAo&Tfy6IDa`l|T2Xbz3f#BOepkc?i zRc!Dn<@LA{1pKS21<+Zw|cT5wV60r@e#agN1W4AW0jYkEv z+*dN9Kpe=v$Nk3sE5yn76wdVor{fjEN2$;9p?Q}VSDUcRD9+Mr!*uO%vN8pMHFRM& zUkpxFi}S=LKk(rF1b7E{wahZPZk_p}`Np9ghE36+N6Tg_V9$W~3ox_|myDn{CBf+O z2hPNj$l)_AlpiTZ-Ord@Xgw8 zTdTIEMM80dk^Sy}zpM*CSZP=y36sdt^)AYHFrY6K9*DD*0G^$v3|LBxYsc>c)&p$4Yhq`+ix0eb4?aG!+fW( zf!z`b*jlVl@HMa>khi$<^hQ0h{Ok~Rt#z!wY$AIeAwl{<(T2156VN`;(fqWn^{M!~ zS3k=20xnqd)Bbgg%UU7}kc7x14DF?X_8#G8X6EKtet%MQL4F;taqH2-yTXbF6|J5n zj(TxulH}MkUF>%%jspcjsG(Eli>`k6caZq9YJjdcVJdM#g8ejDlRJP{%`ey!NUF) zb+O8dcSGfmTqYI``&6Vqner5EH;z3_5zvkZdGU5bhSl26&w>ZFKj>%9Pg^C14sn^G z?96v%FEqL**dI?}!SRp^6itv%qZ{1wcH4f=S)69EIH^wOhu2*52WjY?3PDvN0jNGQ z2$e@dYzv);m<@)wcmtizeq@>y!&Ic`!Meu)z1MY}Ual4<$Fy+@df9BUpO&=%YWj=V zJKWu4mVw^5u8w5^Q;EWaYiQZmO~Qld?a3y#o(?I)47%RG(?CdyU0ApZwgR=Mee~?_@ROyj&@~=HpDbyfOa46HwQKk6~%b=`5b*Dd4+~P z7%latGN$1q36fwF6i1bwcB{$yn{`KMlnf3@bF`{bv_MAg z0Ig`Zmp$As*vy?&zpC9pD?bf=8!EL4iVcGOe>7|>fXj^7$UHfE)hK%SOu{d}+Z@ja z%?Y`e5nE2Q+b8?e^pXePHRRKNeQuynaZe-G0o5s5uqShX)@S2BDU}=oHuV2@Wxcus zHcAi@l&(Jxs{C`EZ8aPjbm+E;9}*D z_>i2xk2q74q7QtD0s8aCEH6LFy8ryW;g_m^-!Scez!#NTM5U$0FtsRLz!&B&;Y-TO z2|ZkGyKcBNk5F9ZEO{Bk4o9M`nV_~MW__f{8?^`*#4x5sSQ`s$i) zZ3-8dg@u}|9nf*eS{tOAfnn-UxIm8L0ar&$ao0kJ`|C1KckBMiv6d&ot%V$`?Jwn= zB~)kyzp#70E)OQX`-E4YBM&!vJXg4NTE*-t)e0mU^oxdC26M?IG;xJ4YN|)kf^~@m zT9cX`u`;ymlj-~Vk?Z`Yw(IJ`Kt9PtnMH~ z4+vid%)NBv{*o7;C+#}fqGge7nQEFi$BvtSZ6`z1=DA{$1{58T2|u7ytLck1FDn){ zzSXvm+1)wD8e*ycWp{Byf7wHio4JF86YYC8&C4{T=)-f~QP5v?=H>gPm7XOfdKOeQ ztA)?A-#a@wixbV<882bI5r%0*(F1?P^dZOBF-F^6J6yH)+EcV>(vqhxgRqUE#U5aF zh_bf?*Xg3mu~Ac%%pY+dr7uEcUNUTcHKs86leI1cOc%SYX+8d?Me>*zfiLkVyu*3dp{FLyp zU6bAs1;WV1<_k~Wn7V(kyAH4`IH%yDg~SV8Gs6an5I0*>ct9_w0-h0${p-)XZ?^1_ zU(a>B)}&~PNsv1>6@Iw#JQyaC`uc^?_DLIx9>|dXGxGfVHs>AwIZC|Y`dQ<&)K%3r z^cx~u2+iP-1b75>L*^fD3k3(yS}sNNiLr;rg~HW-$HLQ=qVIzEi(fH7|8%d-M+XZ= z$Bdk^Bw#KE%V|dE{kX0>$FPCx`EPh2XwNl)-S3~2*Gt! z?RoGO5_}8FeLOg{qP=v(_AtnI9W^`mpHfT1IW0m}$}r2&RsY3FY?dvI{%s+8b)e-d!o~}?472S7kg#C>@uj2hlbc$S@%sD+7 zwVBQoMz9eg0ppggSL^n&Ke}bp>q!m`MhEI*O=yn?O+#jjOuJAR;Jhvb4BIAdv1?*I zU`_Ml1!srX_SBG@DJ!4UY&urIkXcYL6UxjpSmsYA7&1&(9&C=UxHU|vV_mNOWs5s` zxq}NvJ7+A`vYx#R*iZsR8W0+QR<0X`3)Za=a0wbd^|uua+WBecp_KU5@3gcl_;4wL zV1^V9Y;WV2K?&i{@ukTPL(Lu>tYfyW#hL1sx;PuC86|8L0R9~dvJr&?_z?p*HW%05 zlVb5bz4_6Ll^41cnj(xmX9GF_{m==CO2J8Qdp9f|@D7=ejHbh|rBK}|da$>PfZpKk z>&|u)=Pal^PuAnD-=6<#-EV{#V$6fj@in(DnO67o`nuU)Pii2Ej-EDFpr!6tlMmuy z3POWJWC2i~!StZ;q$2*~R{_Cu;N{k8*(2|pZ@Kqzy!FGk12xnm{aGHtO6rd$76cm# zkay&ZMrCrpTjDd_Tf)`2^rWzX{_%Um@#?_p%bjy$#AkO+JL2_H-n6=IeM+UJ>Fg1P zqKBwlk@V~KqA-EYRZK9Qt84pkteEa7Qb+F>84aHdVO3<`zk?JkW5UA`!VT5(c0*sA9S4SMQ zd$I4|4`;u*ytUS{R$Ki%Rn&{pcDV_KCxew}bid6z!n5|fOPV+Ip56H4)<@r)?OGP8 z9nV-iWv)3w!$MF)U8x(!`cinImg^4SP4lg5>2Bi__o1TEyf@KxbfL3;BjyP9njq+ zK4~m?iEI z^1azhEp0MZceDLta!Ig6&dt5U=jlKSLnK}Z^eP4nIcppo#_SMex}G>xrp|ZZefPNhO#ALKX3f#aZkmq&i+y_t{_B6(Soy{`NlnC?T@x44@3{1&3iC!;kbRfx_fGR#QHB~-jMD6F0ISd@~l+z?>Ie1uC!+CC>*et4SsNZZ27#w zt5fG}9JgjfjO;XLZ^~%x_^5_MaaN+VG5(0#WA+ptEJOH}1b7w%#!MY-xq9s!`>B2r zLkhL1UGEXDs6JsB2Z|=h^(UY?_RO7TyKO(_WL);k&+ooO!(J<^EUEE;STN=?fA&tX z2!*@Nhm>1q6dU70VR2!(kK#purFT)wAL~s&uMBPVVbsMn<^MSTVXW*x zai!?R5qbvY$+P!sIPTh-pJrP=MMXRkUGvot=Pg@&3flzAar3C!BTR~_K1g9Q5)zV^ zLmz}=fgDQVf;GtkTq_>-^C_^|yX9lw*&m7{pKBS%=B{iAHe{z_1S>Ca z7{-IALj{gc;`sD!q1QwWax2DlaXC;tT1)$xv)x3Rn^D~;EJbP$mcbjjI zUl(jp6f;DEKIhr1Wm_|K8wafsYIA10s7M{Md8iZ@?{Is2IE4#zh)G4lqlZn83@Z_w zSvu!$!+IAJf}QwrmGwMe*9`BS2sEY<=SfkRg9R~y!T|O`5@3k_wEt>ti{PiWGgdbA zx-d$^IrvK(7iE!g-8>RgS7fbl&pnc&3HB{hiF@v`W3xcNOtooh zb5*SZxaQVT6dl+TZb0WstK*^7egZ*p-W_*sELQx9E|&J@Yx672OnuN-4P% zzBE`C2=Ntn3KyKkj#W5b$&7AI^>7XrFO^@L8ELl3Nyxu;D5@vHJu3>gOnIM#Bf6zm z>ctM*#r0$G0pf=TMHkMvLZEB9r|6TLz4xv}lk%Bn(Y;Lh>Ha!r<%8`FV}+^eNzsEd zu7e(V&ihsicBTj#9T1*RuKeh0OD*}&>Lt~lK|JQtUV^#_&>grwig-HK99|SI(BnCP zYqrVE8KLH(3sax@EIeMrHH@DRzojpK<%{_QBTo^Fh?KKMloN0m#+$+kddIOU;a|a! zivtIlbz2^3*E#m}z!ti-+0<(faZe299K%Q`Ofl$p{3-xU#s8)xRJFJ>zCrM;W0`)( zH1`I11mfyJRBEh{UoJYUjMJi@(Cy$6boztwp=iSy<5-RGWBAC`^^aBTzj?vL%%Am> zA6X(?yyx$)d$X)i(Ip$U$LB1}pzx*W4q%^{VRC@(&z?q~_RR{McQ$M8`Mb}0_u!|i zYNJ!lzR5^ z!#)GTBIUv2UY+Cf^u%e20XvS_>>b*{Ye2B@3g!nNpVjq~A~a=){b=Q~j-zO~6W$g8 zt#2cW>u>VTj7f@>3cLJ$Ppi6XGfsZTQ}kd@b*Mp}?Z@;B#%%>hmbfKsw0~r!r{!6$ z&SzyGs9B&l-TUcJVS@7@m0()v^v0#ud+WsgaZ^ULn%#c9hTiLd0nSN49Avy;q& zK~s;gGtEtdK{-9lu>cAi#Ptkna{OBOzD4F+snx-~)1EK8>`>JgW9N~DvSMTT^($RT z#jSjTQ50sPha4LrD4WAYxC1GyU=L;i*4|Fvy$|o4*tdI(+g0O~g&JbYs{54F%XpTE zJPZXoaRaZ6^kT^9du#M@coi?41$ zLNtNG0(J*eoA7GP3%%ZH>%TYY+B@HD-iK^0b(@-ebFl|h_N9nA$SEwKXWanHxz>c5PuurtzTf8Ndrn@i3ww<^ zgDBnT?ahvVqNF*L!UcAG5#YK!=JZQn>w9a@ZXU4f;PV%{z=fj^bWB2VYndQa9wt%7 zCc-FO?qm(!>kxib$#h-4Fnju5$E{8E<~4H~fIk1z+D=?KIgz3TJje%H|CX;g@Ty(? zHQ9ZQCPyCf*F_D1#(5>I^Uu}G(7HFA2cNJm;f0<3m4+kjj%KtKTZI}fyrp3_Wm(S& zwLPwSh8bJXrx*(9L~yqNM^N}cUl#&C!}spl>CaNS-dNPnPZ#kvYR_@Yhey9D%`s*&g-5|B zz*E%Lbwa4+?j4Rz(odRiT#t3R7JOpQdoGs5eno>IB_6m!ZVC?uVSU1r@l)Gxsc*e) zR`>kN4%fyv$2wdK44T(U(SPmCx;|5RFy#ZL)tw9bZZ&HaXOnu{tBuvh|B)|-ii*5K z(A7)|Uu+r=CX)t)Pv^62y1f(ES@zgH@5-0>d0NVj8lRMBnLy@&F8ttw#(Vh~gjqK_=p#MHB=PHM+(ipkYRba~4`?`6pTo#5tiY z2!u+te+(pt>f)K%6h91=&9hBao zlB69O`$J4W)--A-i6-0WC&RNLkbV&GA)xVWi%OG?UgM?ygIx?JYJ(@tB(kvdik%bo zL{(o=%S1a>Il;nh0AlLY!Z8P6%jiM)N;pax)!)p}qH?dLwA{3+@y5`m@@hlz)Uzvt zp06($ukWGh0ff-P${sI%Za0I6+D{@6Qup^WnjW4E&)(f#^y)*?tsVz;1ol<*8<*J7 zMNT%@TRf%D+U2-C45lQ~CM^V0dwA#JIa8u#h0``{ZZBWkX2&-$k~RY5)fw=&0){r~n|zu@c+$rG9J*RI z`*`B3s~TloC2El+N#Qm+!6!wOYHqB&l`AWCzzfczr!^T^PZE<5wGQObplV+czJ zCw^b>!hQx5?LVCq)8xgcw#61ie_VUbyDm<*!A?7U#$V9C@fNcO7xfj;z-5q45ks4{ zi3D%Vk9&ddx>g$_qVqFW>h364DkSi{Ks$YgHYKAE2vO?O)i^GIehI4d1BND=%b;YV zG*9+A$9%m>vM;Eku-DSC$jZ^v{;Tiy)L z8~4`j_CR55g8EFp1)utNkSV`UXZeu2M_9Lx4LMox*eNTgM($K76)t~BA1~~U23ur+ zTN^7-*p~#4t0fFw>RU{sbX{lulzTp8TdCWPC(9HKGaT%byuKJX_Z{$wzShZ=3SjD_ znA}qS*-;ez+NS{*4z^~lU4dlr{MrGwJ?ORzhZr0tpo5ZZ4w1=)zi*FE@{*sZ-t=I> z6w7gk`pV##gg&iFf(XGjGxU9jzUTHmz|4H&ohUL$pE3nLDpn{=6^@N4ccxs+0 zef(S0{WHsJ^O`=gRVf^+JGKS+|GbWnX|)-A&pFIsp#4TP7uWOYdhZ3h4DsRTrGdHY zB6`2HGj0q$A47K&jVKx4 z|44MWJXWhW@If)58u0lV`BnNO3#KYG%!+ zZ%=ZCQH2a+5|4M3!B&CU!A;yj5bFe#Im2k?W--xG&H*hQ}W?x#@CoY5G2Jb2$Vv&c?7+9-L|ALAm| z(`yNTumf5P!Uzb1hM75$=TQC^3Yuinbhy^1!RflmN??pZALx(sxl{2&Qy`BY1881j`n>Cp>A=xyX|61DF>>~GEUH;w8GpWmyB2YgPDjU7?WYi)56;B0@ zYKQj8A5}4!qOU>{=DXN8OsUbRU?PWk!;Qn_IE0~r01|oPFaO=WEHBbWQkl^8dFZhn z=DR3f#c>RnFlmyUHVID;vbWeBoz{Spv6(+8Z_`Vdr^dR7%1YM{8B!l=O$L5B4Se z#uXRKnILZ?0a-G%u^c2vWj6^I!+j6=a-tkOPSe(mZ;qs$xiRHQNO`emMql1!QXb-i dnRM=ov$(vM)wXE;5r&OhF(6+X#_%HB*8kFJ?LzU%>U5b40Z7Q6oC13RLarBxiQD{FwCJH{2-R4XYl&m>|mZtsm^m6 zGe)4_hNK;uv7T0)x5POi+hV+5y{EOa!C0lX3;dMf0|LKf_@Kb23?CBsyx}_pzGOJ( z(GG{+nD>8=IyvtQe4;rVUDMB|sp#&r0k0Ht-zuQ4!KKyY=;PA&`fx{o80*62NId&j_@W&Awk_LxA zjtU(9I3{rTBPVe9V@%-i$8mwfA14G3f1DIJ{K0v)1Md%ioVFopaQNelz~PVa7!T{$ z2K94&IveA?_3K=W_tvlTTX57b_V$GsPphn{UtIexZo#>}!N2S?JMjMSZ{CKa!QtP_ z0*8MK0*8OKz~SGbz~SGLz~SEsfy2L(0*8NjpLXE=;a@uEdIB8&o#~<7{K3Do0*8OE z2ps;M6FB^PRp9XNwHSBQ2-UW))X)CC9^<|KMy*did(C?>d8y5 z>OLwwHbO%bAxaPv5R(v75YrGd5VH`vyL7a+juzL^>N;9p)B4Tj`|XxjZ&nu?71uRe u#m-&Ax9g4SokbFND_)HR2cO)y1~Ry8K5M%qQAq}p3?vyyGLU4Tn}Poy^YTdm literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/SceneVisibilityState.asset b/Unity/RawVideo/Library/SceneVisibilityState.asset new file mode 100644 index 0000000000000000000000000000000000000000..17ef1bcbe931f8fa8eaac3fe82cdfaa554c2e1e8 GIT binary patch literal 4420 zcmeH}OOI4V6vyk%6G2o|R76F5p!jH~dsM^+w$eC^Ix;$f4>O)_0zfU*M9!BD^G9Q zw)@Hlg!U4L3ECbZBrO@LiB!Gn60$fmD&+Y@$T8Bup4Y$td@GF)(+}%Mpp@uzOT>uy zgEaeS3O)+8M5kLKMw2>e@B_ygE*}#=l4d*k05-0dRed7H#EuamPmm4PPk_h@lXv6d zRhoWF+FNOyG)PH_m=He@d!J^w$qfOYRPi4tJC&U_^f0p#{AJ543f6~bhqB|WB>1| zh!&W$|2qP%>vsbcHT=I9T%yy>uiu?eOU=;x^?M(b5}j_SPy6}Y&%ok#{XPJ_EFlek z{XS@rk~qJ)es=}j&F_aIobwy+F}wNsz1xN)Gw1w%B;aoSJ{oYhejfvu#)#wN`hDCW zCGq)OzqJVG_@0PxuHUH$=lJM7?KJpj*KY$<8WTVNr-7O_ckA~_gOudw|5E{X>-Xsh z=ltIjaJPP+0hh+e_kS-?)8?-K&l;p8-~ZeO-5;!XzrU@3yY+h@!a2WRiEz&EnF#0nJ{WMferE&j z)-V2Rxc9H)-^AcMVdK@Be!Ncm2nA$Zr1k_oxj?UT9~% z>_|Sy7xQjje6~=eMW&Ulv`F`__KGy`Wqon-xMvB>S|uw!+sS%GzLe97XIpgAOnNdqw0I(G7lZk%Kgb6K z9i?5>YU}JG?JsAARtr6u?`KQtBJES1mD&5O8{h0;wM+NW;W+2>_D6YdSviM$q<5Y* z=n3_$QeP>q3D<7me|iI>>-hZ_{ZC&n9}Gn@pVAI&8^IR{LSYFPXAfE e_~ogs>aWjwx^kOpKb~W}`cK>!+Ya)7;rG9HE!R*0 literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/ScriptMapper b/Unity/RawVideo/Library/ScriptMapper new file mode 100644 index 0000000000000000000000000000000000000000..4e2d0977f488408bd8f6acc55596393bcfc219e4 GIT binary patch literal 14493 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 IC@XdR|6BJ}-v9sr literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/ShaderCache.db b/Unity/RawVideo/Library/ShaderCache.db new file mode 100644 index 0000000000000000000000000000000000000000..1eff466fb31c15c3557eb295a7f4af6cfb2d3f88 GIT binary patch literal 16384 zcmeI#O;5rw90u@?5p*WJ+_?TPOCXsh>Vd1MI~a+H%E5!lGFZWeu|d}*a3p>(kA5YO zwkSA^egX0{+1h8_+V!_x`gq?Hiqj~S(@@blYcR`V7etIPTOVb8Y)VNtirLb+vg!P% zw%N(hs@6Z4U3+G=_xhWzP#^#S2tWV=5P$##AOHafKw!@VgniKLxYo)RNyHb~OBiv< zrA%cOjB^nMBHFoFzIyPxeV=abuKg$a^L9#;oepY|8Hw7f+&XBwuJwAX!a>Z74;R~| z?Lq0&JlijTSUoLD5LbDJl6 z?ZqtfM2RW)4a3h}!!*g14E0l#Ct{v+Z9_9DrlDNYgfFRO-pwO3wMS+SkMs+++nrLS zdFxv2OL!jZy?hYnDqZKGxb)z(n9Sb((EM&yb846q3Irek0SG_<0uX=z1Rwwb2tWV= z`zml`7KZ)*zJ6Y;3jz>;00bZa0SG_<0uX=z1R$^$!2TaU0t6rc0SG_<0uX=z1Rwwb K2tZ)}1wH|jJ(b@8 literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/SpriteAtlasDatabase.asset b/Unity/RawVideo/Library/SpriteAtlasDatabase.asset new file mode 100644 index 0000000000000000000000000000000000000000..5ea4eb09cf700402d68db65b40b3f7f743949c6a GIT binary patch literal 4120 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
  • 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 VV(8L0jqPh;02@Y^dx-eO{|9A6JYoO< literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Library/expandedItems b/Unity/RawVideo/Library/expandedItems new file mode 100644 index 0000000000000000000000000000000000000000..2b87dda733ca08871f7ee6eca3914d9a9f27796c GIT binary patch literal 4164 zcmeHKyG{Z@6uqToxO9|W<|!>9y4)X5}qyo{EnrwtB@I$#~J4p;}Q Z1J(iSz<+jt-)tuMnY5SN=V$Jp@C{HlVFUmG literal 0 HcmV?d00001 diff --git a/Unity/RawVideo/Packages/manifest.json b/Unity/RawVideo/Packages/manifest.json new file mode 100644 index 00000000..2ffc4434 --- /dev/null +++ b/Unity/RawVideo/Packages/manifest.json @@ -0,0 +1,45 @@ +{ + "dependencies": { + "com.azure.communication.calling": "file:C:/unity/com.azure.communication.calling-1.0.0-beta.2.tgz", + "com.unity.collab-proxy": "2.0.1", + "com.unity.ide.rider": "3.0.18", + "com.unity.ide.visualstudio": "2.0.17", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.6.4", + "com.unity.ugui": "1.0.0", + "com.unity.visualscripting": "1.8.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Unity/RawVideo/Packages/packages-lock.json b/Unity/RawVideo/Packages/packages-lock.json new file mode 100644 index 00000000..2934dae0 --- /dev/null +++ b/Unity/RawVideo/Packages/packages-lock.json @@ -0,0 +1,354 @@ +{ + "dependencies": { + "com.azure.communication.calling": { + "version": "file:C:/unity/com.azure.communication.calling-1.0.0-beta.2.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": {} + }, + "com.unity.collab-proxy": { + "version": "2.0.1", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "3.0.18", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.17", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.31", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.6.4", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.visualscripting": { + "version": "1.8.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/Unity/RawVideo/ProjectSettings/AudioManager.asset b/Unity/RawVideo/ProjectSettings/AudioManager.asset new file mode 100644 index 00000000..27287fec --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 0 diff --git a/Unity/RawVideo/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/Unity/RawVideo/ProjectSettings/BurstAotSettings_StandaloneWindows.json new file mode 100644 index 00000000..e02ae332 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/BurstAotSettings_StandaloneWindows.json @@ -0,0 +1,17 @@ +{ + "MonoBehaviour": { + "Version": 4, + "EnableBurstCompilation": true, + "EnableOptimisations": true, + "EnableSafetyChecks": false, + "EnableDebugInAllBuilds": false, + "UsePlatformSDKLinker": false, + "CpuMinTargetX32": 0, + "CpuMaxTargetX32": 0, + "CpuMinTargetX64": 0, + "CpuMaxTargetX64": 0, + "CpuTargetsX32": 6, + "CpuTargetsX64": 72, + "OptimizeFor": 0 + } +} diff --git a/Unity/RawVideo/ProjectSettings/ClusterInputManager.asset b/Unity/RawVideo/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 00000000..e7886b26 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/Unity/RawVideo/ProjectSettings/CommonBurstAotSettings.json b/Unity/RawVideo/ProjectSettings/CommonBurstAotSettings.json new file mode 100644 index 00000000..0293dafc --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/CommonBurstAotSettings.json @@ -0,0 +1,6 @@ +{ + "MonoBehaviour": { + "Version": 4, + "DisabledWarnings": "" + } +} diff --git a/Unity/RawVideo/ProjectSettings/DynamicsManager.asset b/Unity/RawVideo/ProjectSettings/DynamicsManager.asset new file mode 100644 index 00000000..72d14303 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_DefaultMaxDepenetrationVelocity: 10 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0.1 + m_ClothInterCollisionStiffness: 0.2 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ClothGravity: {x: 0, y: -9.81, z: 0} + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_SolverType: 0 + m_DefaultMaxAngularSpeed: 50 diff --git a/Unity/RawVideo/ProjectSettings/EditorBuildSettings.asset b/Unity/RawVideo/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 00000000..c9607965 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 0 + path: Assets/Scenes/SampleScene.unity + guid: 2cda990e2423bbf4892e6590ba056729 + - enabled: 1 + path: Assets/Scenes/Main.unity + guid: d4d520b81dd33da45a8173f35b13eb93 + m_configObjects: {} diff --git a/Unity/RawVideo/ProjectSettings/EditorSettings.asset b/Unity/RawVideo/ProjectSettings/EditorSettings.asset new file mode 100644 index 00000000..fa3ed494 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/EditorSettings.asset @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 1 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 4 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp + m_ProjectGenerationRootNamespace: + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_CachingShaderPreprocessor: 1 + m_PrefabModeAllowAutoSave: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_GameObjectNamingDigits: 1 + m_GameObjectNamingScheme: 0 + m_AssetNamingUsesSpace: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 + m_DisableCookiesInLightmapper: 1 + m_AssetPipelineMode: 1 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 + m_CacheServerEnableAuth: 0 + m_CacheServerEnableTls: 0 diff --git a/Unity/RawVideo/ProjectSettings/GraphicsSettings.asset b/Unity/RawVideo/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 00000000..c165afb2 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_VideoShadersIncludeMode: 2 + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_DefaultRenderingLayerMask: 1 + m_LogWhenShaderIsCompiled: 0 diff --git a/Unity/RawVideo/ProjectSettings/InputManager.asset b/Unity/RawVideo/ProjectSettings/InputManager.asset new file mode 100644 index 00000000..b16147e9 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/InputManager.asset @@ -0,0 +1,487 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: joystick button 8 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: backspace + altNegativeButton: + altPositiveButton: joystick button 9 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Reset + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Next + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page down + altNegativeButton: + altPositiveButton: joystick button 5 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Previous + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page up + altNegativeButton: + altPositiveButton: joystick button 4 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Validate + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Persistent + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: right shift + altNegativeButton: + altPositiveButton: joystick button 2 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Multiplier + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 3 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 diff --git a/Unity/RawVideo/ProjectSettings/MemorySettings.asset b/Unity/RawVideo/ProjectSettings/MemorySettings.asset new file mode 100644 index 00000000..5b5facec --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/Unity/RawVideo/ProjectSettings/NavMeshAreas.asset b/Unity/RawVideo/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 00000000..ad2654e0 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/Unity/RawVideo/ProjectSettings/NetworkManager.asset b/Unity/RawVideo/ProjectSettings/NetworkManager.asset new file mode 100644 index 00000000..5dc6a831 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/NetworkManager.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!149 &1 +NetworkManager: + m_ObjectHideFlags: 0 + m_DebugLevel: 0 + m_Sendrate: 15 + m_AssetToPrefab: {} diff --git a/Unity/RawVideo/ProjectSettings/PackageManagerSettings.asset b/Unity/RawVideo/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..b3a65dda --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/Unity/RawVideo/ProjectSettings/Physics2DSettings.asset b/Unity/RawVideo/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 00000000..6cfcddaa --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_SimulationMode: 0 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/Unity/RawVideo/ProjectSettings/PresetManager.asset b/Unity/RawVideo/ProjectSettings/PresetManager.asset new file mode 100644 index 00000000..67a94dae --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/Unity/RawVideo/ProjectSettings/ProjectSettings.asset b/Unity/RawVideo/ProjectSettings/ProjectSettings.asset new file mode 100644 index 00000000..b7653960 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,781 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 24 + productGUID: 2e1924bffe6b7354bbde3dca60c9a45b + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: SampleACSUnity + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 0 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 1048576 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 1.0 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Standalone: com.DefaultCompany.2DProject + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 1 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 11.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 11.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: 10ad67313f4034357812315f3c407484 + templatePackageId: com.unity.template.2d@6.1.2 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + m_BuildTargetBatching: [] + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 0 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 0 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 0 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 0 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: [] + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 1 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + m_BuildTargetVRSettings: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: [] + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 1 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 2 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: bi9UOuSpM2Tlh01vOzwvSikHFswuzleh + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 2 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 32 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 0 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLPowerPreference: 2 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: {} + il2cppCompilerConfiguration: {} + managedStrippingLevel: + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Lumin: 1 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + Stadia: 1 + WebGL: 1 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 1 + useDeterministicCompilation: 1 + enableRoslynAnalyzers: 1 + selectedPlatform: 0 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: 2DBuiltInRenderer + metroPackageVersion: 1.0.0.0 + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: 2D_BuiltInRenderer + wsaImages: {} + metroTileShortName: SampleACSUnity + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: {} + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + windowsGamepadBackendHint: 0 + cloudProjectId: 3615df57-6ead-4836-b604-52cda9f61a09 + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: SampleACSUnity + organizationId: jowang-msft + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + playerDataPath: + forceSRGBBlit: 1 + virtualTexturingSupportEnabled: 0 diff --git a/Unity/RawVideo/ProjectSettings/ProjectVersion.txt b/Unity/RawVideo/ProjectSettings/ProjectVersion.txt new file mode 100644 index 00000000..bca3d022 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2021.3.21f1 +m_EditorVersionWithRevision: 2021.3.21f1 (1b156197d683) diff --git a/Unity/RawVideo/ProjectSettings/QualitySettings.asset b/Unity/RawVideo/ProjectSettings/QualitySettings.asset new file mode 100644 index 00000000..bcd67065 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/QualitySettings.asset @@ -0,0 +1,239 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 255 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + GameCoreScarlett: 5 + GameCoreXboxOne: 5 + Nintendo Switch: 5 + PS4: 5 + PS5: 5 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/Unity/RawVideo/ProjectSettings/SceneTemplateSettings.json b/Unity/RawVideo/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 00000000..6f3e60fd --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/Unity/RawVideo/ProjectSettings/TagManager.asset b/Unity/RawVideo/ProjectSettings/TagManager.asset new file mode 100644 index 00000000..5c51d202 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/TagManager.asset @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: + - OutgoingVideoPlayer + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/Unity/RawVideo/ProjectSettings/TimeManager.asset b/Unity/RawVideo/ProjectSettings/TimeManager.asset new file mode 100644 index 00000000..558a017e --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/Unity/RawVideo/ProjectSettings/UnityConnectSettings.asset b/Unity/RawVideo/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 00000000..a88bee0f --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/Unity/RawVideo/ProjectSettings/VFXManager.asset b/Unity/RawVideo/ProjectSettings/VFXManager.asset new file mode 100644 index 00000000..46f38e16 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/VFXManager.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 + m_CompiledVersion: 0 + m_RuntimeVersion: 0 diff --git a/Unity/RawVideo/ProjectSettings/VersionControlSettings.asset b/Unity/RawVideo/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..dca28814 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/Unity/RawVideo/ProjectSettings/XRSettings.asset b/Unity/RawVideo/ProjectSettings/XRSettings.asset new file mode 100644 index 00000000..482590c1 --- /dev/null +++ b/Unity/RawVideo/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/Unity/RawVideo/ProjectSettings/boot.config b/Unity/RawVideo/ProjectSettings/boot.config new file mode 100644 index 00000000..e69de29b