Decompiled source of PeakVR v1.5.0
plugins/com.andrey04o.PeakVR.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using ExitGames.Client.Photon; using HarmonyLib; using JetBrains.Annotations; using LCVR; using LCVR.Assets; using LCVR.Input; using Microsoft.CodeAnalysis; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using PEAKLib.UI; using PEAKLib.UI.Elements; using PEAKLib.UI.Elements.Settings; using Peak; using PeakVR; using Photon.Pun; using Photon.Realtime; using Steamworks; using TMPro; using Unity.Profiling; using UnityEngine; using UnityEngine.Animations.Rigging; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Experimental.Rendering; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Rendering; using UnityEngine.Rendering.RenderGraphModule; using UnityEngine.Rendering.Universal; using UnityEngine.SceneManagement; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR; using UnityEngine.XR.Interaction.Toolkit.Inputs.Composites; using UnityEngine.XR.Interaction.Toolkit.Inputs.Interactions; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; using Zorro.ControllerSupport; using Zorro.Core; using Zorro.Settings; using Zorro.Settings.DebugUI; using Zorro.Settings.UI; using Zorro.UI; using Zorro.UI.Modal; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("com.andrey04o.PeakVR")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.5.0.0")] [assembly: AssemblyInformationalVersion("1.5.0+e5f9386847851d7bf3c02e50aad517a7f6c3382a")] [assembly: AssemblyProduct("com.andrey04o.PeakVR")] [assembly: AssemblyTitle("PeakVR")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.5.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace LCVR { public class Config { private readonly Dictionary<string, ConfigEntry<bool>> keyboardLayouts = new Dictionary<string, ConfigEntry<bool>>(); private const int CurrentConfigVersion = 2; public string AssemblyPath { get; } public ConfigFile File { get; } public ConfigEntry<bool> StartInVR { get; } public ConfigEntry<bool> ModeHotkeyEnabled { get; } public ConfigEntry<KeyCode> ModeHotkey { get; } public ConfigEntry<string> OpenXRRuntime { get; } public ConfigEntry<bool> EnableVerboseLogging { get; } public ConfigEntry<bool> ReacquireAudioDevice { get; } public ConfigEntry<bool> ModForegroundUI { get; } public ConfigEntry<bool> ModUIOnLeftHand { get; } public ConfigEntry<bool> LoadingCover { get; } public ConfigEntry<bool> FixHazardRendering { get; } public ConfigEntry<float> KeyRepeatDelay { get; } public ConfigEntry<float> KeyRepeatRate { get; } public ConfigEntry<bool> SmoothTurn { get; } public ConfigEntry<float> SnapTurnAngle { get; } public ConfigEntry<float> SmoothTurnSpeed { get; } public ConfigEntry<bool> MovementTunneling { get; } public ConfigEntry<float> TunnelingStrength { get; } public ConfigEntry<bool> CameraRoll { get; } public ConfigEntry<bool> CopyHeadRotation { get; } public ConfigEntry<bool> HideControllers { get; } public ConfigEntry<float> MoveDeadzone { get; } public ConfigEntry<float> TurnDeadzone { get; } public ConfigEntry<LineVisibility> InteractionLine { get; } public ConfigEntry<LineVisibility> HudLine { get; } public ConfigEntry<bool> AimAtObjectCenter { get; } public ConfigEntry<float> ArmSpanScale { get; } public ConfigEntry<float> VirtualArmSpan { get; } public ConfigEntry<float> LodBias { get; } public ConfigEntry<string> SharpenImage { get; } public ConfigEntry<bool> ForceDisableHBAO { get; } public ConfigEntry<float> FoveationLevel { get; } public ConfigEntry<bool> FixPerEyeCulling { get; } public ConfigEntry<bool> GpuOcclusionCulling { get; } public ConfigEntry<float> FoliageDistance { get; } public ConfigEntry<bool> DepthPrepass { get; } public ConfigEntry<bool> ForegroundUI { get; } public ConfigEntry<bool> ForegroundUIOverGeometry { get; } public ConfigEntry<float> FarPlane { get; } public ConfigEntry<float> ControllerOffsetX { get; } public ConfigEntry<float> ControllerOffsetY { get; } public ConfigEntry<float> ControllerOffsetZ { get; } public ConfigEntry<string> OpenXRRuntimeFile { get; } public ConfigEntry<int> ConfigVersion { get; } public bool KeyboardLayoutEnabled(string name) { if (keyboardLayouts.TryGetValue(name, out ConfigEntry<bool> value)) { return value.Value; } return false; } public ConfigEntry<bool> KeyboardLayoutEntry(string name) { if (!keyboardLayouts.TryGetValue(name, out ConfigEntry<bool> value)) { return null; } return value; } public Config(string assemblyPath, ConfigFile file) { //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Expected O, but got Unknown //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Expected O, but got Unknown //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Expected O, but got Unknown //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Expected O, but got Unknown //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02eb: Expected O, but got Unknown //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Expected O, but got Unknown //IL_03f6: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Expected O, but got Unknown //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_0439: Expected O, but got Unknown //IL_0492: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Expected O, but got Unknown //IL_04f5: Unknown result type (might be due to invalid IL or missing references) //IL_04ff: Expected O, but got Unknown //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_0562: Expected O, but got Unknown //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_059b: Expected O, but got Unknown //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Expected O, but got Unknown //IL_0639: Unknown result type (might be due to invalid IL or missing references) //IL_0643: Expected O, but got Unknown //IL_06a6: Unknown result type (might be due to invalid IL or missing references) //IL_06b0: Expected O, but got Unknown //IL_0709: Unknown result type (might be due to invalid IL or missing references) //IL_0713: Expected O, but got Unknown //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_0764: Expected O, but got Unknown //IL_0781: Unknown result type (might be due to invalid IL or missing references) //IL_078b: Expected O, but got Unknown //IL_07d2: Unknown result type (might be due to invalid IL or missing references) //IL_07dc: Expected O, but got Unknown //IL_0835: Unknown result type (might be due to invalid IL or missing references) //IL_083f: Expected O, but got Unknown //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0866: Expected O, but got Unknown //IL_08ad: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Expected O, but got Unknown //IL_08e6: Unknown result type (might be due to invalid IL or missing references) //IL_08f0: Expected O, but got Unknown //IL_0944: Unknown result type (might be due to invalid IL or missing references) //IL_094e: Expected O, but got Unknown //IL_09a6: Unknown result type (might be due to invalid IL or missing references) //IL_09b0: Expected O, but got Unknown AssemblyPath = assemblyPath; File = file; StartInVR = file.Bind<bool>("VR", "Start In VR", true, "Start the game in VR. Turn off to launch flat with the mod still loaded. You can also switch mode while the game is running from the VR Settings page."); ModeHotkeyEnabled = file.Bind<bool>("VR", "Mode Switch Hotkey", true, "Allow a keyboard key to switch between VR and flat mode while the game is running."); ModeHotkey = file.Bind<KeyCode>("VR", "Mode Switch Key", (KeyCode)292, "The key that switches between VR and flat mode."); OpenXRRuntime = file.Bind<string>("VR", "OpenXR Runtime", "System Default", new ConfigDescription("The OpenXR runtime (headset software) that VR launches with. Restart the game to apply.", (AcceptableValueBase)(object)new AcceptableValueList<string>(OpenXR.GetRuntimeChoices().ToArray()), Array.Empty<object>())); EnableVerboseLogging = file.Bind<bool>("VR", "Verbose Logging", false, "Enables verbose debug logging during OpenXR initialization."); ModForegroundUI = file.Bind<bool>("VR", "Other Mods UI In VR", true, "Pull flat screen-space UI created by other mods into VR as a head-locked foreground panel. Turn off to leave it alone (it will then be invisible in the headset)."); ModUIOnLeftHand = file.Bind<bool>("VR", "sPEAKer UI On Left Hand", true, "Move the sPEAKer music HUD (timer, current song, mixtape name and icon) onto the left wrist instead of leaving it head-locked. Requires the sPEAKer mod."); KeyRepeatDelay = file.Bind<float>("VR", "Key Repeat Delay", 0.4f, new ConfigDescription("How long to hold a key on the VR keyboard before it starts repeating, in seconds.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.1f, 1.5f), Array.Empty<object>())); KeyRepeatRate = file.Bind<float>("VR", "Key Repeat Rate", 12f, new ConfigDescription("How many characters a held key types per second. Set to 0 to turn key repeat off.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 30f), Array.Empty<object>())); VRKeyboardLayoutDef[] all = VRKeyboardLayout.All; foreach (VRKeyboardLayoutDef vRKeyboardLayoutDef in all) { keyboardLayouts[vRKeyboardLayoutDef.Name] = file.Bind<bool>("VR", VRKeyboardLanguages.SettingKey(vRKeyboardLayoutDef), vRKeyboardLayoutDef.Name == "US", "Offer the " + vRKeyboardLayoutDef.Display + " layout on the VR keyboard. The Lang key cycles through every layout you enable here."); } LoadingCover = file.Bind<bool>("VR", "Fullscreen Loading Cover", true, "Fill the whole view with the loading screen's colour while a level loads, instead of showing it as a panel with the world visible around it. Turn this off if you ever end up with a coloured tint over everything after spawning in."); ReacquireAudioDevice = file.Bind<bool>("VR", "Reacquire Audio Device", false, "Troubleshooting only. Re-initialises Unity's audio output when the headset session becomes focused so the game re-reads the current Windows default playback device. Only try this if you get NO sound in the headset - the re-initialise can itself silence audio that was working. Does NOT choose a device: set the headset as the Windows default output for that."); SmoothTurn = file.Bind<bool>("Comfort", "Smooth Turn", false, "Turn smoothly with the right stick instead of snapping by a fixed angle."); SnapTurnAngle = file.Bind<float>("Comfort", "Snap Turn Angle", 45f, new ConfigDescription("Degrees rotated per snap turn.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(15f, 90f), Array.Empty<object>())); SmoothTurnSpeed = file.Bind<float>("Comfort", "Smooth Turn Speed", 120f, new ConfigDescription("Smooth turn speed in degrees per second.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(45f, 240f), Array.Empty<object>())); MovementTunneling = file.Bind<bool>("Comfort", "Movement Tunneling", true, "Close a tunnel around your view while moving or falling to reduce motion sickness."); TunnelingStrength = file.Bind<float>("Comfort", "Tunneling Strength", 0.7f, new ConfigDescription("How far the tunnel closes in (smaller circle). 0 disables it.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); CameraRoll = file.Bind<bool>("Comfort", "Camera Roll", false, "Roll and tumble the headset view along with the character camera during backflips, falls and ragdolls, matching the flat game. More immersive but can cause motion sickness."); CopyHeadRotation = file.Bind<bool>("Special", "Copy Head Rotation", false, "Copy the character's head-bone tilt (the subtle head lean/bob during movement) onto the view. Can be applied to flat players too. Caution: turn it on only if you don't get motion sickness from VR."); HideControllers = file.Bind<bool>("VR", "Hide Controllers", true, "Hide the VR controller models and show only your character's hands. Interaction/aim lasers then originate from your hand instead of the controller."); InteractionLine = file.Bind<LineVisibility>("Lasers", "Interaction Line", LineVisibility.OnInteract, "When to show the right-hand interaction line: Always, only when something is interactable (OnInteract), or never (Hidden)."); HudLine = file.Bind<LineVisibility>("Lasers", "HUD Pointer Line", LineVisibility.OnInteract, "When to show the left-controller HUD selection line: Always, only when pointing at a HUD item (OnInteract), or Hidden."); AimAtObjectCenter = file.Bind<bool>("Lasers", "Aim At Object Center", true, "When an interactable is available, snap the interaction line's end to the object's center instead of pointing straight ahead."); ArmSpanScale = file.Bind<float>("VR", "Arm Span Scale", 1.089f, new ConfigDescription("Multiplier from your real arm reach to the character's arm reach. Calibrate it in-game with the T-pose window instead of editing by hand.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.6f, 1.8f), Array.Empty<object>())); VirtualArmSpan = file.Bind<float>("Internal", "VirtualArmSpan", 1.851f, new ConfigDescription("FOR INTERNAL USE ONLY, DO NOT EDIT — cached character wingspan for calibration.", (AcceptableValueBase)null, new object[1] { "Hidden" })); ControllerOffsetX = file.Bind<float>("VR", "Controller Rotation Offset X", 0f, new ConfigDescription("Tilt of the controllers up or down, in degrees. Both the hands and the aim follow it, so raise it if you hold the controllers angled and the aim points too low.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(-90f, 90f), Array.Empty<object>())); ControllerOffsetX.SettingChanged += delegate { VRHands.ApplyRotationOffset(); }; ControllerOffsetY = file.Bind<float>("VR", "Controller Rotation Offset Y", 0f, new ConfigDescription("Turn of the controllers left or right, in degrees.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(-90f, 90f), Array.Empty<object>())); ControllerOffsetY.SettingChanged += delegate { VRHands.ApplyRotationOffset(); }; ControllerOffsetZ = file.Bind<float>("VR", "Controller Rotation Offset Z", 0f, new ConfigDescription("Roll of the controllers, in degrees.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(-90f, 90f), Array.Empty<object>())); ControllerOffsetZ.SettingChanged += delegate { VRHands.ApplyRotationOffset(); }; MoveDeadzone = file.Bind<float>("VR", "Move Stick Deadzone", 0.15f, new ConfigDescription("How far the left stick has to be pushed before it counts as input. Raise it if a worn stick drifts and walks you around on its own; lower it for finer control. Past the deadzone the full speed range is still available.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 0.6f), Array.Empty<object>())); TurnDeadzone = file.Bind<float>("VR", "Turn Stick Deadzone", 0.15f, new ConfigDescription("How far the right stick has to be pushed before it counts as input. Raise it if a worn stick drifts and turns the view, scrolls the inventory or moves menu sliders on its own.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 0.6f), Array.Empty<object>())); LodBias = file.Bind<float>("VR Graphics", "LOD Bias", 2.5f, new ConfigDescription("Level-of-detail bias in VR. Higher keeps distant objects detailed; lower boosts performance. Applies immediately.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.5f, 5f), Array.Empty<object>())); LodBias.SettingChanged += delegate { RenderDiagnostics.ApplyLodBias(); }; SharpenImage = file.Bind<string>("VR Graphics", "Make Image Sharper", "Enable", new ConfigDescription("Sharpen the VR image: disables temporal anti-aliasing (TAA) and MSAA and uses a spatial (Linear) upscaler. TAA in particular blurs the image in a VR headset. Disable to keep the game's own graphics settings.", (AcceptableValueBase)(object)new AcceptableValueList<string>(new string[2] { "Enable", "Disable" }), Array.Empty<object>())); SharpenImage.SettingChanged += delegate { VRRender.ApplySharpening(); }; FixHazardRendering = file.Bind<bool>("VR Graphics", "Fix Hazard Rendering", true, "Some hazard props - the arms the spiked balls swing on - are invisible in VR because of the layer they sit on. This moves the purely visual parts of them onto the default layer so they draw. Only objects with no collider are touched, so nothing about damage or collision changes."); ForceDisableHBAO = file.Bind<bool>("VR Graphics", "Force Disable HBAO", true, new ConfigDescription("Disable HBAO ambient occlusion, which renders wrong per-eye in VR on PEAK's Unity 6.3 (URP 17.3) and costs performance. On by default; turn off to keep the game's ambient occlusion.", (AcceptableValueBase)null, Array.Empty<object>())); ForceDisableHBAO.SettingChanged += delegate { VRRender.ApplyHBAO(); }; FarPlane = file.Bind<float>("VR Graphics", "Far Plane Culling Distance", 3000f, new ConfigDescription("How far away the game still draws things, in metres. Lower values cull distant scenery and gain performance; too low and far islands or mountain tops pop out of view.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(500f, 20000f), Array.Empty<object>())); FarPlane.SettingChanged += delegate { VRRender.ApplyFarPlane(); }; DepthPrepass = file.Bind<bool>("VR Graphics", "Depth Prepass", true, new ConfigDescription("Draw scene depth first so hidden pixels are skipped instead of shaded. Grass and leaves are alpha-clipped, which normally defeats that optimisation, and they are the most expensive thing on screen in VR - this can nearly double the framerate with no visual change. Takes effect on restart.", (AcceptableValueBase)null, Array.Empty<object>())); ForegroundUI = file.Bind<bool>("VR Graphics", "Foreground UI", true, new ConfigDescription("Draw the VR interface in its own render pass after everything else, so world glass, rain and fog can never cover the wrist HUD, menus or the stamina bar. Replaces the old render-order workaround, which could not win against transparent scenery.", (AcceptableValueBase)null, Array.Empty<object>())); ForegroundUI.SettingChanged += delegate { PeakVR.ForegroundUI.Apply(); }; ForegroundUIOverGeometry = file.Bind<bool>("VR Graphics", "Foreground UI Over Geometry", true, new ConfigDescription("Let the foreground interface draw over solid objects too, instead of being hidden behind walls and terrain. Only applies when Foreground UI is on.", (AcceptableValueBase)null, Array.Empty<object>())); ForegroundUIOverGeometry.SettingChanged += delegate { PeakVR.ForegroundUI.ApplyDepthMode(); }; FoliageDistance = file.Bind<float>("VR Graphics", "Foliage Draw Distance", 0f, new ConfigDescription("Hide grass, leaves and bushes further away than this many metres. Foliage is the most expensive thing on screen in VR - hundreds of separate alpha-clipped draws, each one rendered twice, once per eye. 0 disables the limit and draws everything.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 300f), Array.Empty<object>())); FixPerEyeCulling = file.Bind<bool>("VR Graphics", "Fix Per-Eye Object Culling", true, new ConfigDescription("URP's GPU Resident Drawer culls small meshes per view, so in VR an object can vanish in one eye only (coconuts, lights, elevator pings). Turning this on stops that cull and costs no measurable performance. Changing it mid-game can freeze the desktop mirror until restart.", (AcceptableValueBase)null, Array.Empty<object>())); FixPerEyeCulling.SettingChanged += delegate { UrpDiagnostics.ApplySmallMeshCulling(); }; GpuOcclusionCulling = file.Bind<bool>("VR Graphics", "GPU Occlusion Culling", false, new ConfigDescription("Let the GPU skip objects hidden behind other objects, using the previous frame's depth. Measured no framerate gain in PEAK, which is limited by the processor rather than the graphics card, so leave it off unless you want to experiment. Takes effect on restart.", (AcceptableValueBase)null, Array.Empty<object>())); FoveationLevel = file.Bind<float>("VR Graphics", "Foveated Rendering", 0f, new ConfigDescription("Render the periphery at lower detail to save GPU. Seems like it don't work.0 = off, 1 = strongest.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); FoveationLevel.SettingChanged += delegate { VRFoveation.Apply(); }; OpenXRRuntimeFile = file.Bind<string>("Internal", "OpenXRRuntimeFile", "", new ConfigDescription("FOR INTERNAL USE ONLY, DO NOT EDIT", (AcceptableValueBase)null, new object[1] { "Hidden" })); OpenXRRuntimeFile.Value = OpenXR.ResolveRuntimePath(OpenXRRuntime.Value); OpenXRRuntime.SettingChanged += delegate { OpenXRRuntimeFile.Value = OpenXR.ResolveRuntimePath(OpenXRRuntime.Value); }; ConfigVersion = file.Bind<int>("Internal", "ConfigVersion", 0, new ConfigDescription("FOR INTERNAL USE ONLY, DO NOT EDIT", (AcceptableValueBase)null, new object[1] { "Hidden" })); Migrate(file); } private void Migrate(ConfigFile file) { int value = ConfigVersion.Value; if (value < 2) { if (value < 1 && SharpenImage.Value != "Enable") { SharpenImage.Value = "Enable"; Plugin.Log.LogInfo((object)"[PeakVR] Config update: turned on \"Make Image Sharper\" (it is now on by default)"); } ConfigVersion.Value = 2; file.Save(); Plugin.Log.LogInfo((object)$"[PeakVR] Config migrated {value} -> {2}"); } } } public static class Logger { private static ManualLogSource logSource; public static void SetSource(ManualLogSource Logger) { logSource = Logger; } public static void Log(object message) { logSource.LogInfo(message); } public static void LogInfo(object message) { logSource.LogInfo(message); } public static void LogWarning(object message) { logSource.LogWarning(message); } public static void LogError(object message) { logSource.LogError(message); } public static void LogDebug(object message) { logSource.LogDebug(message); } } internal static class Native { private delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); public static readonly IntPtr HKEY_LOCAL_MACHINE = new IntPtr(2147483650L); [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetWindowText(IntPtr hWnd, StringBuilder strText, int maxCount); [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetWindowTextLength(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam); [DllImport("user32.dll")] private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId); [DllImport("user32.dll")] private static extern bool BringWindowToTop(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll")] private static extern void AttachThreadInput(uint idAttach, uint idAttachTo, bool fAttach); [DllImport("kernel32.dll")] private static extern uint GetCurrentProcessId(); [DllImport("kernel32.dll")] private static extern uint GetCurrentThreadId(); [DllImport("Advapi32.dll", CharSet = CharSet.Ansi, EntryPoint = "RegOpenKeyExA")] public static extern int RegOpenKeyEx(IntPtr hKey, [In] string lpSubKey, int ulOptions, int samDesired, out IntPtr phkResult); [DllImport("advapi32.dll", CharSet = CharSet.Ansi)] public static extern int RegQueryValueEx(IntPtr hKey, string lpValueName, int lpReserved, out uint lpType, StringBuilder lpData, ref uint lpcbData); [DllImport("advapi32.dll", CharSet = CharSet.Ansi)] public static extern int RegQueryInfoKey(IntPtr hKey, StringBuilder lpClass, IntPtr lpcbClass, IntPtr lpReserved, out uint lpcSubKeys, out uint lpcbMaxSubKeyLen, out uint lpcbMaxClassLen, out uint lpcValues, out uint lpcbMaxValueNameLen, out uint lpcbMaxValueLen, IntPtr lpSecurityDescriptor, IntPtr lpftLastWriteTime); [DllImport("advapi32.dll", CharSet = CharSet.Ansi, EntryPoint = "RegEnumValueA")] public static extern int RegEnumValue(IntPtr hKey, uint dwIndex, StringBuilder lpValueName, ref uint lpcchValueName, IntPtr lpReserved, IntPtr lpType, IntPtr lpData, IntPtr lpcbData); [DllImport("advapi32.dll")] public static extern int RegCloseKey(IntPtr hKey); [DllImport("Shlwapi.dll", CharSet = CharSet.Ansi)] public static extern int ShellMessageBox(IntPtr hAppInst, IntPtr hWnd, string lpcText, string lpcTitle, uint fuStyle); [DllImport("kernel32.dll", SetLastError = true)] private static extern IntPtr GetCurrentProcess(); [DllImport("advapi32.dll", SetLastError = true)] private static extern bool OpenProcessToken(IntPtr hProcess, uint dwAccess, out IntPtr hToken); [DllImport("advapi32.dll", SetLastError = true)] private static extern bool GetTokenInformation(IntPtr hToken, uint tokenInformationClass, IntPtr lpData, uint tokenInformationLength, out uint returnLength); [DllImport("kernel32.dll", SetLastError = true)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SuppressUnmanagedCodeSecurity] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool CloseHandle(IntPtr handle); public static bool RegOpenSubKey(ref IntPtr hKey, string lpSubKey, int samDesired) { if (RegOpenKeyEx(hKey, lpSubKey, 0, samDesired, out var phkResult) != 0) { return false; } RegCloseKey(hKey); hKey = phkResult; return true; } private static string GetWindowText(IntPtr hWnd) { int windowTextLength = GetWindowTextLength(hWnd); if (windowTextLength > 0) { StringBuilder stringBuilder = new StringBuilder(windowTextLength + 1); GetWindowText(hWnd, stringBuilder, stringBuilder.Capacity); return stringBuilder.ToString(); } return string.Empty; } private static IEnumerable<IntPtr> FindWindows(EnumWindowsProc filter) { IntPtr zero = IntPtr.Zero; List<IntPtr> windows = new List<IntPtr>(); EnumWindows(delegate(IntPtr wnd, IntPtr param) { if (filter(wnd, param)) { windows.Add(wnd); } return true; }, IntPtr.Zero); return windows; } public static void BringGameWindowToFront() { uint currentPid = GetCurrentProcessId(); IntPtr[] array = FindWindows(delegate(IntPtr hWnd2, IntPtr lParam) { GetWindowThreadProcessId(hWnd2, out var processId2); return processId2 == currentPid && GetWindowText(hWnd2) == "Lethal Company"; }).ToArray(); if (array.Length > 1) { Logger.LogWarning("Multiple game windows called 'Lethal Company' detected. Selecting only the first one."); } IntPtr hWnd = array[0]; uint processId; uint windowThreadProcessId = GetWindowThreadProcessId(GetForegroundWindow(), out processId); uint currentThreadId = GetCurrentThreadId(); AttachThreadInput(windowThreadProcessId, currentThreadId, fAttach: true); BringWindowToTop(hWnd); AttachThreadInput(windowThreadProcessId, currentThreadId, fAttach: false); } public static bool IsElevated() { IntPtr hToken = IntPtr.Zero; IntPtr intPtr = IntPtr.Zero; try { if (!OpenProcessToken(GetCurrentProcess(), 8u, out hToken)) { return false; } intPtr = Marshal.AllocHGlobal(4); if (!GetTokenInformation(hToken, 20u, intPtr, 4u, out var _)) { return false; } return Marshal.ReadIntPtr(intPtr).ToInt32() != 0; } finally { if (hToken != IntPtr.Zero) { CloseHandle(hToken); } if (intPtr != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr); } } } } internal static class OpenXR { public class Runtimes(Runtime[] runtimes) : IReadOnlyCollection<Runtime>, IEnumerable<Runtime>, IEnumerable { public Runtime? Default => ((IEnumerable<Runtime>)runtimes).Select((Func<Runtime, Runtime?>)((Runtime rt) => rt)).FirstOrDefault((Runtime? rt) => rt.Value.Default); public int Count => runtimes.Length; public bool TryGetRuntime(string name, out Runtime runtime) { runtime = default(Runtime); try { runtime = runtimes.First((Runtime rt) => rt.Name == name); return true; } catch { return false; } } public bool TryGetRuntimeByPath(string path, out Runtime runtime) { runtime = default(Runtime); try { runtime = runtimes.First((Runtime rt) => rt.Path == path); return true; } catch { return false; } } public IEnumerator<Runtime> GetEnumerator() { return ((IEnumerable<Runtime>)runtimes).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } public struct Runtime : IEquatable<Runtime> { public string Name { get; set; } public string Path { get; set; } public bool Default { get; set; } public static bool ReadFromJson(string path, out Runtime runtime) { runtime = default(Runtime); try { JToken val = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(path))[(object)"runtime"]; object name; if (val == null) { name = null; } else { JToken obj = val[(object)"name"]; name = ((obj != null) ? obj.ToObject<string>() : null); } runtime.Name = (string)name; runtime.Path = path; string defaultRuntimePath = GetDefaultRuntimePath(); if (defaultRuntimePath != null) { runtime.Default = string.Equals(path, defaultRuntimePath, StringComparison.CurrentCultureIgnoreCase); } return true; } catch { return false; } } public bool Equals(Runtime other) { return Path == other.Path; } public override bool Equals(object obj) { if (obj is Runtime other) { return Equals(other); } return false; } public override int GetHashCode() { return HashCode.Combine(Path); } } public static class Loader { private static XRGeneralSettings xrGeneralSettings; private static XRManagerSettings xrManagerSettings; private static OpenXRLoader xrLoader; private static readonly ManualLogSource Logger; private static int recoveryTick; static Loader() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Expected O, but got Unknown Logger = new ManualLogSource("OpenXR Loader"); Logger.Sources.Add((ILogSource)(object)Logger); } public static bool IsRunning() { List<XRDisplaySubsystem> list = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances<XRDisplaySubsystem>(list); return list.Any((XRDisplaySubsystem d) => d != null && ((IntegratedSubsystem)d).running); } public static void EnsureRunning() { if ((Object)(object)xrManagerSettings == (Object)null) { return; } List<XRDisplaySubsystem> list = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances<XRDisplaySubsystem>(list); if (list.Any((XRDisplaySubsystem d) => d != null && ((IntegratedSubsystem)d).running)) { recoveryTick = 0; } else if (recoveryTick++ % 30 == 0) { if (list.Count == 0) { Logger.LogWarning((object)"OpenXR shut down — re-initializing loader"); xrManagerSettings.InitializeLoaderSync(); } Logger.LogWarning((object)"Restarting XR subsystems"); xrManagerSettings.StartSubsystems(); } } public static bool ShutdownXR() { if ((Object)(object)xrManagerSettings == (Object)null) { return false; } if (!xrManagerSettings.isInitializationComplete) { return true; } xrManagerSettings.StopSubsystems(); xrManagerSettings.DeinitializeLoader(); return true; } public static bool RestartXR() { return InitializeXR(); } public static bool InitializeXR() { InitializeScripts(); List<ISubsystemDescriptor> list = new List<ISubsystemDescriptor>(); SubsystemManager.GetAllSubsystemDescriptors(list); if (!list.Any((ISubsystemDescriptor subsystem) => subsystem.id == "OpenXR Input") || !list.Any((ISubsystemDescriptor subsystem) => subsystem.id == "OpenXR Display")) { Logger.LogError((object)"No Unity OpenXR subsystem found, this installation of PeakVR was not installed correctly."); if (list.Count == 0) { return false; } Logger.LogDebug((object)"Subsystems installed:"); foreach (ISubsystemDescriptor item in list) { Logger.LogDebug((object)("- " + item.id)); } return false; } if (Native.IsElevated()) { Logger.LogWarning((object)"Application is elevated! Unable to override the XR runtime! Only the system default OpenXR runtime will be available."); return InitializeXR(null); } Runtimes runtimes = GetRuntimes(); if (runtimes.Count == 0) { Logger.LogWarning((object)"Failed to query runtimes, or no runtimes were found. Falling back to old behavior."); return InitializeXR(string.IsNullOrEmpty(Plugin.Config.OpenXRRuntimeFile.Value) ? ((Runtime?)null) : new Runtime?(new Runtime { Name = "LCVR OpenXR Override", Path = Plugin.Config.OpenXRRuntimeFile.Value })); } if (!string.IsNullOrEmpty(Plugin.Config.OpenXRRuntimeFile.Value)) { if (InitializeXR(runtimes.TryGetRuntimeByPath(Plugin.Config.OpenXRRuntimeFile.Value, out var runtime) ? runtime : new Runtime { Name = "LCVR OpenXR Override", Path = Plugin.Config.OpenXRRuntimeFile.Value })) { return true; } Logger.LogWarning((object)"Loading OpenXR using override failed, falling back to automatic enumeration..."); } Runtime? runtime2 = runtimes.Default; if (runtime2.HasValue) { Runtime valueOrDefault = runtime2.GetValueOrDefault(); if (valueOrDefault.Path != Plugin.Config.OpenXRRuntimeFile.Value && InitializeXR(valueOrDefault)) { return true; } } foreach (Runtime item2 in runtimes.Where((Runtime rt) => rt.Path != Plugin.Config.OpenXRRuntimeFile.Value && !rt.Default)) { if (InitializeXR(item2)) { return true; } } Logger.LogError((object)"All available runtimes were attempted but none worked. Aborting..."); return false; } private static bool InitializeXR(Runtime? runtime) { if (runtime.HasValue) { Runtime valueOrDefault = runtime.GetValueOrDefault(); Logger.LogInfo((object)("Attempting to initialize OpenXR on " + valueOrDefault.Name)); Environment.SetEnvironmentVariable("XR_RUNTIME_JSON", valueOrDefault.Path); } else { Logger.LogInfo((object)"Attempting to initialize OpenXR using default runtime"); Environment.SetEnvironmentVariable("XR_RUNTIME_JSON", null); } xrGeneralSettings.InitXRSDK(); xrGeneralSettings.Start(); List<XRDisplaySubsystem> list = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances<XRDisplaySubsystem>(list); if (Plugin.Config.EnableVerboseLogging.Value) { Logger.LogWarning((object)"OpenXR Diagnostics Report:"); string[] array = GenerateReport().Split("\n"); foreach (string text in array) { Logger.LogWarning((object)text); } Logger.LogWarning((object)""); Logger.LogWarning((object)"To prevent diagnostics report from being printed, disable the 'EnableVerboseLogging' option in the settings."); } return list.Count > 0; } private static void InitializeScripts() { if (xrGeneralSettings == null) { xrGeneralSettings = ScriptableObject.CreateInstance<XRGeneralSettings>(); } if (xrManagerSettings == null) { xrManagerSettings = ScriptableObject.CreateInstance<XRManagerSettings>(); } if (xrLoader == null) { xrLoader = ScriptableObject.CreateInstance<OpenXRLoader>(); } xrGeneralSettings.Manager = xrManagerSettings; ((List<XRLoader>)xrManagerSettings.activeLoaders).Clear(); ((List<XRLoader>)xrManagerSettings.activeLoaders).Add((XRLoader)(object)xrLoader); OpenXRSettings.Instance.renderMode = (RenderMode)0; OpenXRSettings.Instance.depthSubmissionMode = (DepthSubmissionMode)0; OpenXRSettings.Instance.optimizeBufferDiscards = true; try { PropertyInfo property = typeof(OpenXRSettings).GetProperty("foveatedRenderingApi"); if (property != null && property.CanWrite) { string[] names = Enum.GetNames(property.PropertyType); foreach (string text in names) { if (text.IndexOf("SRP", StringComparison.OrdinalIgnoreCase) >= 0) { property.SetValue(OpenXRSettings.Instance, Enum.Parse(property.PropertyType, text)); Logger.LogInfo((object)("Foveation backend set to " + text)); break; } } } } catch (Exception ex) { Logger.LogWarning((object)("Could not set SRP foveation API: " + ex.Message)); } if (OpenXRSettings.Instance.features.Length == 0) { ValveIndexControllerProfile val = ScriptableObject.CreateInstance<ValveIndexControllerProfile>(); HPReverbG2ControllerProfile val2 = ScriptableObject.CreateInstance<HPReverbG2ControllerProfile>(); HTCViveControllerProfile val3 = ScriptableObject.CreateInstance<HTCViveControllerProfile>(); MicrosoftMotionControllerProfile val4 = ScriptableObject.CreateInstance<MicrosoftMotionControllerProfile>(); KHRSimpleControllerProfile val5 = ScriptableObject.CreateInstance<KHRSimpleControllerProfile>(); MetaQuestTouchProControllerProfile val6 = ScriptableObject.CreateInstance<MetaQuestTouchProControllerProfile>(); OculusTouchControllerProfile val7 = ScriptableObject.CreateInstance<OculusTouchControllerProfile>(); XRSessionMonitor xRSessionMonitor = ScriptableObject.CreateInstance<XRSessionMonitor>(); ((OpenXRFeature)val).enabled = true; ((OpenXRFeature)val2).enabled = true; ((OpenXRFeature)val3).enabled = true; ((OpenXRFeature)val4).enabled = true; ((OpenXRFeature)val5).enabled = true; ((OpenXRFeature)val6).enabled = true; ((OpenXRFeature)val7).enabled = true; ((OpenXRFeature)xRSessionMonitor).enabled = true; OpenXRSettings.Instance.features = (OpenXRFeature[])(object)new OpenXRFeature[8] { (OpenXRFeature)val, (OpenXRFeature)val2, (OpenXRFeature)val3, (OpenXRFeature)val4, (OpenXRFeature)val5, (OpenXRFeature)val6, (OpenXRFeature)val7, xRSessionMonitor }; EnableFoveationFeature(); } } private static void EnableFoveationFeature() { //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Expected O, but got Unknown try { Type type = null; Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { Type[] types; try { types = assembly.GetTypes(); } catch { continue; } Type[] array = types; foreach (Type type2 in array) { if (!type2.IsAbstract && typeof(OpenXRFeature).IsAssignableFrom(type2) && type2.Name.IndexOf("Foveat", StringComparison.OrdinalIgnoreCase) >= 0) { type = type2; break; } } if (type != null) { break; } } if (type == null) { Logger.LogWarning((object)"OpenXR Foveated Rendering feature type not found"); return; } OpenXRFeature val = (OpenXRFeature)ScriptableObject.CreateInstance(type); val.enabled = true; List<OpenXRFeature> list = new List<OpenXRFeature>(OpenXRSettings.Instance.features) { val }; OpenXRSettings.Instance.features = list.ToArray(); Logger.LogInfo((object)("Enabled OpenXR Foveated Rendering feature: " + type.Name)); } catch (Exception ex) { Logger.LogWarning((object)("Could not enable OpenXR foveation feature: " + ex.Message)); } } } private static List<KeyValuePair<string, string>> runtimeCache; [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_GenerateReport")] private static extern IntPtr Internal_GenerateReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_ReleaseReport")] private static extern void Internal_ReleaseReport(IntPtr report); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeName")] private static extern bool Internal_GetRuntimeName(out IntPtr runtimeNamePtr); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeVersion")] private static extern bool Internal_GetRuntimeVersion(out ushort major, out ushort minor, out ushort patch); private static string GenerateReport() { IntPtr intPtr = Internal_GenerateReport(); if (intPtr == IntPtr.Zero) { return ""; } string result = Marshal.PtrToStringAnsi(intPtr); Internal_ReleaseReport(intPtr); return result; } public static Runtimes GetRuntimes() { HashSet<Runtime> hashSet = new HashSet<Runtime>(); foreach (Runtime item2 in LocateCommonRuntimes()) { hashSet.Add(item2); } string defaultRuntimePath = GetDefaultRuntimePath(); if (Native.RegOpenKeyEx(Native.HKEY_LOCAL_MACHINE, "SOFTWARE\\Khronos\\OpenXR\\1", 0, 131097, out var phkResult) != 0) { return new Runtimes(hashSet.ToArray()); } List<string> list = new List<string>(); if (!Native.RegOpenSubKey(ref phkResult, "AvailableRuntimes", 131097) || !EnumRuntimeFiles(phkResult, list)) { if (string.IsNullOrEmpty(defaultRuntimePath)) { return new Runtimes(hashSet.ToArray()); } try { JToken val = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(defaultRuntimePath))[(object)"runtime"]; Runtime item = default(Runtime); object name; if (val == null) { name = null; } else { JToken obj = val[(object)"name"]; name = ((obj != null) ? obj.ToObject<string>() : null); } item.Name = (string)name; item.Path = defaultRuntimePath; item.Default = true; hashSet.Add(item); } catch { } return new Runtimes(hashSet.ToArray()); } if (!list.Contains(defaultRuntimePath)) { list.Add(defaultRuntimePath); } foreach (string item3 in list) { try { JToken val2 = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(item3))[(object)"runtime"]; Runtime item = default(Runtime); object name2; if (val2 == null) { name2 = null; } else { JToken obj3 = val2[(object)"name"]; name2 = ((obj3 != null) ? obj3.ToObject<string>() : null); } item.Name = (string)name2; item.Path = item3; item.Default = item3 == defaultRuntimePath; hashSet.Add(item); } catch (Exception ex) { Logger.LogWarning("Failed to parse " + item3 + ": " + ex.Message + ". Runtime will not be used."); } } return new Runtimes(hashSet.ToArray()); } [CanBeNull] private static string GetDefaultRuntimePath() { if (Native.RegOpenKeyEx(Native.HKEY_LOCAL_MACHINE, "SOFTWARE\\Khronos\\OpenXR\\1", 0, 131097, out var phkResult) != 0) { return null; } string result = null; uint lpcbData = 0u; uint lpType; bool flag = Native.RegQueryValueEx(phkResult, "ActiveRuntime", 0, out lpType, null, ref lpcbData) != 0; bool flag2 = flag; if (!flag2) { bool flag3 = lpType - 1 <= 1; flag2 = !flag3; } if (flag2) { return null; } StringBuilder stringBuilder = new StringBuilder((int)lpcbData); if (Native.RegQueryValueEx(phkResult, "ActiveRuntime", 0, out lpType, stringBuilder, ref lpcbData) == 0) { result = stringBuilder.ToString(); } return result; } private static bool EnumRuntimeFiles(IntPtr hKey, List<string> files) { if (Native.RegQueryInfoKey(hKey, null, IntPtr.Zero, IntPtr.Zero, out var _, out var _, out var _, out var lpcValues, out var lpcbMaxValueNameLen, out var _, IntPtr.Zero, IntPtr.Zero) != 0) { return false; } for (uint num = 0u; num < lpcValues; num++) { StringBuilder stringBuilder = new StringBuilder((int)(lpcbMaxValueNameLen + 1)); uint lpcchValueName = lpcbMaxValueNameLen + 1; if (Native.RegEnumValue(hKey, num, stringBuilder, ref lpcchValueName, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero) == 0) { files.Add(stringBuilder.ToString()); } } return true; } private static IEnumerable<Runtime> LocateCommonRuntimes() { string path = default(string); if (SteamAPI.Init() && SteamApps.GetAppInstallDir(new AppId_t(250820u), ref path, 240u) != 0 && Runtime.ReadFromJson(Path.Combine(path, "steamxr_win64.json"), out var runtime)) { yield return runtime; } path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Virtual Desktop Streamer\\OpenXR\\virtualdesktop-openxr.json"); if (File.Exists(path) && Runtime.ReadFromJson(path, out runtime)) { yield return runtime; } path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Oculus\\Support\\oculus-runtime\\oculus_openxr_64.json"); if (File.Exists(path) && Runtime.ReadFromJson(path, out runtime)) { yield return runtime; } } public static bool GetActiveRuntimeName(out string name) { name = null; if (!Internal_GetRuntimeName(out var runtimeNamePtr)) { return false; } if (runtimeNamePtr == IntPtr.Zero) { return false; } name = Marshal.PtrToStringAnsi(runtimeNamePtr); return true; } public static bool GetActiveRuntimeVersion(out ushort major, out ushort minor, out ushort patch) { return Internal_GetRuntimeVersion(out major, out minor, out patch); } private static List<KeyValuePair<string, string>> RuntimeList() { if (runtimeCache != null) { return runtimeCache; } runtimeCache = new List<KeyValuePair<string, string>>(); try { foreach (Runtime runtime in GetRuntimes()) { runtimeCache.Add(new KeyValuePair<string, string>(runtime.Name ?? "Unknown", runtime.Path ?? "")); } } catch (Exception ex) { Logger.LogWarning("Failed to enumerate OpenXR runtimes: " + ex.Message); } return runtimeCache; } public static List<string> GetRuntimeChoices() { List<string> list = new List<string> { "System Default" }; foreach (KeyValuePair<string, string> item in RuntimeList()) { list.Add(item.Key); } return list; } public static string ResolveRuntimePath(string name) { if (string.IsNullOrEmpty(name) || name == "System Default") { return ""; } foreach (KeyValuePair<string, string> item in RuntimeList()) { if (item.Key == name) { return item.Value; } } return ""; } } internal static class GameObjectExtensions { public static GameObject Find(this GameObject @object, string name) { Transform obj = @object.transform.Find(name); if (obj == null) { return null; } return ((Component)obj).gameObject; } } internal static class Utils { public static byte[] ComputeHash(byte[] input) { using SHA256 sHA = SHA256.Create(); return sHA.ComputeHash(input); } public static string[] ParseConfig(string content) { string[] source = content.Split("\n", StringSplitOptions.RemoveEmptyEntries); return (from line in source where !line.TrimStart().StartsWith("#") let commentIndex = line.IndexOf('#') select (commentIndex < 0) ? line.Trim() : line.Substring(0, commentIndex).Trim() into parsedLine where !string.IsNullOrEmpty(parsedLine) select parsedLine).ToArray(); } public static string FormatPascalAndAcronym(string input) { StringBuilder stringBuilder = new StringBuilder(input[0].ToString()); if (stringBuilder.Length <= 0) { return stringBuilder.ToString(); } for (int i = 1; i < input.Length; i++) { char c = input[i - 1]; char c2 = ((i + 1 < input.Length) ? input[i + 1] : '\0'); bool flag = char.IsLower(c2); bool flag2 = char.IsUpper(c2); bool flag3 = char.IsUpper(input[i]); bool flag4 = char.IsLower(c); bool flag5 = char.IsUpper(c); if (!string.IsNullOrWhiteSpace(c.ToString()) && ((flag5 && flag3 && flag) || (flag4 && flag3 && flag) || (flag4 && flag3 && flag2))) { stringBuilder.Append(' '); } stringBuilder.Append(input[i]); } return stringBuilder.ToString(); } public static void AttachHeadTrackedPoseDriver(this GameObject @object) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) TrackedPoseDriver val = @object.AddComponent<TrackedPoseDriver>(); val.positionAction = Actions.Instance.HeadPosition; val.rotationAction = Actions.Instance.HeadRotation; val.trackingStateInput = new InputActionProperty(Actions.Instance.HeadTrackingState); } public static Transform[] GetChildren(this Transform transform) { List<Transform> list = new List<Transform>(); for (int i = 0; i < transform.childCount; i++) { list.Add(transform.GetChild(i)); } return list.ToArray(); } public static IEnumerator NopRoutine() { yield break; } public static IEnumerator FixYuckyScrollThing(Animator animator) { ScrollRect[] rects = ((Component)animator).GetComponentsInChildren<ScrollRect>(); AnimatorStateInfo currentAnimatorStateInfo = animator.GetCurrentAnimatorStateInfo(0); float maxTime = ((AnimatorStateInfo)(ref currentAnimatorStateInfo)).length; float time = 0f; while (time < maxTime) { time += Time.deltaTime; CollectionExtensions.Do<ScrollRect>((IEnumerable<ScrollRect>)rects, (Action<ScrollRect>)delegate(ScrollRect rect) { rect.verticalNormalizedPosition = 1f; }); yield return null; } } } } namespace LCVR.Assets { public static class AssetManager { private static AssetBundle assetsBundle; private static AssetBundle scenesBundle; public static GameObject Interactable; public static GameObject Keyboard; public static GameObject VolumeManager; public static GameObject SpectatorLight; public static GameObject SpectatorGhost; public static GameObject SteeringWheelPoints; public static GameObject PopupText; public static GameObject SpectatingMenu; public static GameObject Reticle; public static GameObject InitMenuEnvironment; public static GameObject MainMenuEnvironment; public static GameObject PauseMenuEnvironment; public static GameObject SettingsPanel; public static Material SplashMaterial; public static Material DefaultRayMat; public static Shader TMPAlwaysOnTop; public static Shader VignettePostProcess; public static InputActionAsset VRActions; public static InputActionAsset DefaultXRActions; public static InputActionAsset NullActions; public static Sprite GithubImage; public static Sprite KofiImage; public static Sprite DiscordImage; public static Sprite WarningImage; public static Sprite SprintImage; public static AudioClip DoorLocked; internal static bool LoadAssets() { assetsBundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(Plugin.Config.AssemblyPath), "lethalcompanyvr")); scenesBundle = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(Plugin.Config.AssemblyPath), "lethalcompanyvr-levels")); if ((Object)(object)assetsBundle == (Object)null || (Object)(object)scenesBundle == (Object)null) { Logger.LogError("Failed to load asset bundle!"); return false; } DefaultXRActions = assetsBundle.LoadAsset<InputActionAsset>("DefaultXRActions"); return true; } } } namespace LCVR.Input { public class Actions { public static Actions Instance { get; private set; } = new Actions(); public InputAction HeadPosition { get; private set; } public InputAction HeadRotation { get; private set; } public InputAction HeadTrackingState { get; private set; } public InputAction LeftHandPosition { get; private set; } public InputAction LeftHandRotation { get; private set; } public InputAction LeftHandTrackingState { get; private set; } public InputAction RightHandPosition { get; private set; } public InputAction RightHandRotation { get; private set; } public InputAction RightHandTrackingState { get; private set; } private Actions() { HeadPosition = AssetManager.DefaultXRActions.FindAction("Head/Position", false); HeadRotation = AssetManager.DefaultXRActions.FindAction("Head/Rotation", false); HeadTrackingState = AssetManager.DefaultXRActions.FindAction("Head/Tracking State", false); LeftHandPosition = AssetManager.DefaultXRActions.FindAction("Left/Position", false); LeftHandRotation = AssetManager.DefaultXRActions.FindAction("Left/Rotation", false); LeftHandTrackingState = AssetManager.DefaultXRActions.FindAction("Left/Tracking State", false); RightHandPosition = AssetManager.DefaultXRActions.FindAction("Right/Position", false); RightHandRotation = AssetManager.DefaultXRActions.FindAction("Right/Rotation", false); RightHandTrackingState = AssetManager.DefaultXRActions.FindAction("Right/Tracking State", false); } } } namespace PeakVR { [HarmonyPatch(typeof(MainMenu), "Start")] internal static class AboutButtonPatch { [CompilerGenerated] private static class <>O { public static UnityAction <0>__Open; } private const string ButtonName = "PeakVR AboutButton"; private const float Margin = 40f; private const float SizeScale = 0.65f; [HarmonyPostfix] private static void Postfix(MainMenu __instance) { //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Expected O, but got Unknown //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Expected O, but got Unknown //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) Button val = (((Object)(object)__instance.aggrocrabButton != (Object)null) ? __instance.aggrocrabButton : __instance.landfallButton); MainMenuPageSelector val2 = Object.FindObjectOfType<MainMenuPageSelector>(); Transform val3 = (((Object)(object)val2 != (Object)null && (Object)(object)val2.mainPage != (Object)null) ? ((Component)val2.mainPage).transform : (((Object)(object)val != (Object)null) ? ((Component)val).transform.parent : null)); if (!((Object)(object)val3 == (Object)null) && !((Object)(object)val3.Find("PeakVR AboutButton") != (Object)null)) { GameObject val4 = new GameObject("PeakVR AboutButton", new Type[4] { typeof(RectTransform), typeof(CanvasRenderer), typeof(Image), typeof(Button) }); val4.transform.SetParent(val3, false); Image component = val4.GetComponent<Image>(); ((Graphic)component).color = Color.white; if ((Object)(object)PeakAssets.AboutButton != (Object)null) { component.sprite = PeakAssets.AboutButton; component.preserveAspect = true; } Button component2 = val4.GetComponent<Button>(); ((Selectable)component2).targetGraphic = (Graphic)(object)component; Navigation navigation = default(Navigation); ((Navigation)(ref navigation)).mode = (Mode)3; ((Selectable)component2).navigation = navigation; if ((Object)(object)val != (Object)null) { ((Selectable)component2).transition = (Transition)1; ((Selectable)component2).colors = ((Selectable)val).colors; } ButtonClickedEvent onClick = component2.onClick; object obj = <>O.<0>__Open; if (obj == null) { UnityAction val5 = VRAboutPanel.Open; <>O.<0>__Open = val5; obj = (object)val5; } ((UnityEvent)onClick).AddListener((UnityAction)obj); RectTransform val6 = (RectTransform)val4.transform; Vector2 val7 = (val6.pivot = Vector2.zero); Vector2 anchorMin = (val6.anchorMax = val7); val6.anchorMin = anchorMin; Vector2 val9 = (Vector2)(((Object)(object)val != (Object)null) ? ((RectTransform)((Component)val).transform).sizeDelta : new Vector2(220f, 110f)); val6.sizeDelta = val9 * 0.65f; val6.anchoredPosition = new Vector2(40f, 40f); ((Transform)val6).SetAsLastSibling(); Plugin.Log.LogInfo((object)"[PeakVR] About button added to main menu (bottom-left)"); } } } internal static class BinocularRig { private static bool loaded; public static bool HasRig { get; private set; } public static Vector3 ScopePos { get; private set; } public static Quaternion ScopeRot { get; private set; } = Quaternion.identity; public static Vector3 ScopeScale { get; private set; } = Vector3.one; public static Vector3 GripPos { get; private set; } public static Quaternion GripRot { get; private set; } = Quaternion.identity; public static void Load() { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) if (loaded) { return; } loaded = true; GameObject binocularsRig = PeakAssets.BinocularsRig; if (!((Object)(object)binocularsRig == (Object)null)) { Transform val = binocularsRig.transform.Find("Scope"); Transform val2 = binocularsRig.transform.Find("Grip"); if ((Object)(object)val == (Object)null || (Object)(object)val2 == (Object)null) { Plugin.Log.LogWarning((object)"[PeakVR] BinocularsRig needs child transforms named 'Scope' and 'Grip'"); return; } ScopePos = val.localPosition; ScopeRot = val.localRotation; ScopeScale = val.localScale; GripPos = val2.localPosition; GripRot = val2.localRotation; HasRig = true; Plugin.Log.LogInfo((object)$"[PeakVR] Binoculars rig: scope pos={ScopePos} scale={ScopeScale} grip pos={GripPos}"); } } public static void ApplyHold(Transform item, Transform hand) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)hand == (Object)null)) { ApplyHold(item, hand.position, hand.rotation); } } public static void ApplyHold(Transform item, Vector3 handPos, Quaternion handRot) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)item == (Object)null) && HasRig) { Quaternion val = handRot * Quaternion.Inverse(GripRot); item.SetPositionAndRotation(handPos - val * GripPos, val); } } public static Quaternion ControllerRotationFromIkTarget(Quaternion ikRotation) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) return ikRotation * Quaternion.Inverse(VRArmIKPatch.HandRotationOffset); } } [HarmonyPatch(typeof(MenuWindow), "get_blocksPlayerInput")] internal static class BoardingPassInputPatch { [HarmonyPostfix] private static void Postfix(MenuWindow __instance, ref bool __result) { if (Plugin.VrEnabled && __instance is BoardingPass) { __result = false; } } } [HarmonyPatch(typeof(CameraQuad), "LateUpdate")] internal static class FogQuadPatch { private const float Margin = 1.6f; private static readonly VRRestore Reparented = new VRRestore(); [HarmonyPrefix] private static bool Prefix(CameraQuad __instance) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) if (!Plugin.VrEnabled) { return true; } Camera val = (((Object)(object)MainCamera.instance != (Object)null) ? MainCamera.instance.cam : null); if ((Object)(object)val == (Object)null) { return false; } Matrix4x4 stereoProjectionMatrix = val.GetStereoProjectionMatrix((StereoscopicEye)0); if (stereoProjectionMatrix.m00 <= 0.0001f || stereoProjectionMatrix.m11 <= 0.0001f) { return false; } Transform transform = ((Component)__instance).transform; float num = val.nearClipPlane + 0.01f; float num2 = 2f * num / stereoProjectionMatrix.m00 * 1.6f; float num3 = 2f * num / stereoProjectionMatrix.m11 * 1.6f; if ((Object)(object)transform.parent != (Object)(object)((Component)val).transform) { Reparented.Record(transform); transform.SetParent(((Component)val).transform, false); } transform.localPosition = new Vector3(0f, 0f, num); transform.localRotation = Quaternion.identity; transform.localScale = new Vector3(num2, num3, 1f); return false; } public static void Restore() { Reparented.RestoreAll(); } } internal static class ForegroundUI { private const BindingFlags Any = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; private static readonly List<ScriptableRendererData> Stripped = new List<ScriptableRendererData>(); private static readonly List<LayerMask> SavedOpaque = new List<LayerMask>(); private static readonly List<LayerMask> SavedTransparent = new List<LayerMask>(); private static ForegroundUIPass pass; private static bool hooked; public static bool Active { get; private set; } public static void Apply() { if (!Plugin.VrEnabled) { return; } bool flag = Plugin.Config == null || Plugin.Config.ForegroundUI.Value; if (flag != Active) { if (flag) { Enable(); } else { Disable(); } } } private static void Enable() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) int uI = VRLayers.UI; if (uI < 0) { Plugin.Log.LogWarning((object)"[PeakVR][ForegroundUI] no UI layer; not enabling"); return; } LayerMask layers = LayerMask.op_Implicit(1 << uI); foreach (ScriptableRendererData rendererDatum in GetRendererData()) { PropertyInfo property = ((object)rendererDatum).GetType().GetProperty("opaqueLayerMask"); PropertyInfo property2 = ((object)rendererDatum).GetType().GetProperty("transparentLayerMask"); if (!(property == null) && !(property2 == null)) { LayerMask item = (LayerMask)property.GetValue(rendererDatum); LayerMask item2 = (LayerMask)property2.GetValue(rendererDatum); Stripped.Add(rendererDatum); SavedOpaque.Add(item); SavedTransparent.Add(item2); property.SetValue(rendererDatum, LayerMask.op_Implicit(((LayerMask)(ref item)).value & ~((LayerMask)(ref layers)).value)); property2.SetValue(rendererDatum, LayerMask.op_Implicit(((LayerMask)(ref item2)).value & ~((LayerMask)(ref layers)).value)); rendererDatum.SetDirty(); } } if (Stripped.Count == 0) { Plugin.Log.LogWarning((object)"[PeakVR][ForegroundUI] no renderer data found; not enabling"); return; } if (pass == null) { pass = new ForegroundUIPass(); } pass.Layers = layers; pass.ClearDepth = Plugin.Config == null || Plugin.Config.ForegroundUIOverGeometry.Value; if (!hooked) { RenderPipelineManager.beginCameraRendering += OnBeginCamera; hooked = true; } Active = true; Plugin.Log.LogInfo((object)$"[PeakVR][ForegroundUI] enabled (layer {uI}, {Stripped.Count} renderer data)"); } private static void Disable() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < Stripped.Count; i++) { ScriptableRendererData val = Stripped[i]; if (!((Object)(object)val == (Object)null)) { ((object)val).GetType().GetProperty("opaqueLayerMask")?.SetValue(val, SavedOpaque[i]); ((object)val).GetType().GetProperty("transparentLayerMask")?.SetValue(val, SavedTransparent[i]); val.SetDirty(); } } Stripped.Clear(); SavedOpaque.Clear(); SavedTransparent.Clear(); if (hooked) { RenderPipelineManager.beginCameraRendering -= OnBeginCamera; hooked = false; } Active = false; Plugin.Log.LogInfo((object)"[PeakVR][ForegroundUI] disabled"); } public static void Shutdown() { if (Active) { Disable(); } } public static void ApplyDepthMode() { if (pass != null) { pass.ClearDepth = Plugin.Config == null || Plugin.Config.ForegroundUIOverGeometry.Value; } } private static void OnBeginCamera(ScriptableRenderContext context, Camera camera) { long start = VRProfile.Begin(); OnBeginCameraBody(camera); VRProfile.End(5, start); } private static void OnBeginCameraBody(Camera camera) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Invalid comparison between Unknown and I4 if (Active && (int)camera.cameraType == 1) { UniversalAdditionalCameraData universalAdditionalCameraData = CameraExtensions.GetUniversalAdditionalCameraData(camera); if (!((Object)(object)universalAdditionalCameraData == (Object)null) && universalAdditionalCameraData.scriptableRenderer != null) { universalAdditionalCameraData.scriptableRenderer.EnqueuePass((ScriptableRenderPass)(object)pass); } } } public static void LogUiLayerRenderers() { int uI = VRLayers.UI; if (uI < 0) { return; } int num = 0; Renderer[] array = Object.FindObjectsByType<Renderer>((FindObjectsSortMode)0); foreach (Renderer val in array) { if (((Component)val).gameObject.layer == uI && !IsOurs(((Component)val).transform) && num++ < 30) { Plugin.Log.LogInfo((object)("[PeakVR][ForegroundUI] game renderer on UI layer: " + Path(((Component)val).transform) + " (" + ((object)val).GetType().Name + ")")); } } Plugin.Log.LogInfo((object)$"[PeakVR][ForegroundUI] {num} non-PeakVR renderers on the UI layer"); } private static bool IsOurs(Transform t) { while ((Object)(object)t != (Object)null) { if (((Object)t).name.StartsWith("PeakVR")) { return true; } t = t.parent; } return false; } private static string Path(Transform t) { string text = ((Object)t).name; Transform parent = t.parent; int num = 0; while ((Object)(object)parent != (Object)null && num++ < 6) { text = ((Object)parent).name + "/" + text; parent = parent.parent; } return text; } private static IEnumerable<ScriptableRendererData> GetRendererData() { RenderPipelineAsset currentRenderPipeline = GraphicsSettings.currentRenderPipeline; if ((Object)(object)currentRenderPipeline == (Object)null || !(((object)currentRenderPipeline).GetType().GetField("m_RendererDataList", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)?.GetValue(currentRenderPipeline) is ScriptableRendererData[] array)) { yield break; } ScriptableRendererData[] array2 = array; foreach (ScriptableRendererData val in array2) { if ((Object)(object)val != (Object)null) { yield return val; } } } } internal class ForegroundUIPass : ScriptableRenderPass { private class PassData { public RendererListHandle List; public bool ClearDepth; } private static readonly ShaderTagId[] Tags = (ShaderTagId[])(object)new ShaderTagId[3] { new ShaderTagId("SRPDefaultUnlit"), new ShaderTagId("UniversalForward"), new ShaderTagId("UniversalForwardOnly") }; public LayerMask Layers = LayerMask.op_Implicit(32); public bool ClearDepth = true; private bool warnedBackBuffer; public ForegroundUIPass() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown ((ScriptableRenderPass)this).renderPassEvent = (RenderPassEvent)600; ((ScriptableRenderPass)this).profilingSampler = new ProfilingSampler("PeakVR Foreground UI"); } public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) UniversalResourceData val = frameData.Get<UniversalResourceData>(); UniversalRenderingData val2 = frameData.Get<UniversalRenderingData>(); UniversalCameraData val3 = frameData.Get<UniversalCameraData>(); if (val.isActiveTargetBackBuffer) { if (!warnedBackBuffer) { warnedBackBuffer = true; Plugin.Log.LogWarning((object)("[PeakVR][ForegroundUI] active target is the back buffer on '" + ((Object)val3.camera).name + "'; pass skipped")); } return; } SortingSettings val4 = default(SortingSettings); ((SortingSettings)(ref val4))..ctor(val3.camera); ((SortingSettings)(ref val4)).criteria = (SortingCriteria)119; SortingSettings val5 = val4; DrawingSettings val6 = default(DrawingSettings); ((DrawingSettings)(ref val6))..ctor(Tags[0], val5); for (int i = 1; i < Tags.Length; i++) { ((DrawingSettings)(ref val6)).SetShaderPassName(i, Tags[i]); } ((DrawingSettings)(ref val6)).perObjectData = (PerObjectData)0; ((DrawingSettings)(ref val6)).enableDynamicBatching = false; ((DrawingSettings)(ref val6)).enableInstancing = false; FilteringSettings val7 = default(FilteringSettings); ((FilteringSettings)(ref val7))..ctor((RenderQueueRange?)RenderQueueRange.all, LayerMask.op_Implicit(Layers), uint.MaxValue, 0); RendererListParams val8 = default(RendererListParams); ((RendererListParams)(ref val8))..ctor(val2.cullResults, val6, val7); PassData passData = default(PassData); IRasterRenderGraphBuilder val9 = renderGraph.AddRasterRenderPass<PassData>("PeakVR Foreground UI", ref passData, ((ScriptableRenderPass)this).profilingSampler, "./src/PeakVR/ForegroundUIPass.cs", 66); try { passData.List = renderGraph.CreateRendererList(ref val8); passData.ClearDepth = ClearDepth; ((IBaseRenderGraphBuilder)val9).UseRendererList(ref passData.List); ((IRenderAttachmentRenderGraphBuilder)val9).SetRenderAttachment(val.activeColorTexture, 0, (AccessFlags)2); ((IRenderAttachmentRenderGraphBuilder)val9).SetRenderAttachmentDepth(val.activeDepthTexture, (AccessFlags)3); ((IBaseRenderGraphBuilder)val9).AllowPassCulling(false); ((IBaseRenderGraphBuilder)val9).AllowGlobalStateModification(true); val9.SetRenderFunc<PassData>((BaseRenderFunc<PassData, RasterGraphContext>)delegate(PassData d, RasterGraphContext context) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) RTClearFlags val10 = (RTClearFlags)4; if (d.ClearDepth) { val10 = (RTClearFlags)(val10 | 2); } context.cmd.ClearRenderTarget(val10, Color.clear, 1f, 0u); context.cmd.DrawRendererList(RendererListHandle.op_Implicit(d.List)); }); } finally { ((IDisposable)val9)?.Dispose(); } } } [HarmonyPatch(typeof(Guidebook), "LateUpdate")] internal static class GuidebookVRPatch { private const float ForwardOffset = 0.22f; private const float UpOffset = 0.04f; [HarmonyPrefix] private static bool Prefix(Guidebook __instance) { //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) if (!Plugin.VrEnabled) { return true; } Transform right = VRHands.Right; if ((Object)(object)right == (Object)null || !__instance.isOpen || (Object)(object)__instance.bookTransform == (Object)null || (Object)(object)((Item)__instance).holderCharacter == (Object)null || !((Item)__instance).holderCharacter.IsLocal || (Object)(object)MainCamera.instance == (Object)null) { return true; } Transform transform = ((Component)MainCamera.instance.cam).transform; Vector3 val = right.position + right.forward * 0.22f + right.up * 0.04f; __instance.bookTransform.position = Vector3.Lerp(__instance.bookTransform.position, val, Time.deltaTime * 10f); Transform bookTransform = __instance.bookTransform; Vector3 val2 = val - transform.position; bookTransform.forward = ((Vector3)(ref val2)).normalized; return false; } } [HarmonyPatch(typeof(Interaction), "DoInteractableRaycasts")] internal static class HandInteractPatch { private static readonly FieldInfo DistanceField = AccessTools.Field(typeof(Interaction), "distance"); private static readonly FieldInfo AreaField = AccessTools.Field(typeof(Interaction), "area"); private static readonly RaycastHit[] LineBuffer = (RaycastHit[])(object)new RaycastHit[32]; private static readonly RaycastHit[] SphereBuffer = (RaycastHit[])(object)new RaycastHit[32]; private const float LineStartOffset = 0.1f; private const float MinHitDistance = 0.0001f; private static IInteractible hitTarget; private static Vector3 hitPoint; private static int hitFrame = -1; [HarmonyPostfix] private static void Postfix(Interaction __instance, ref IInteractible interactableResult) { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) if (!Plugin.VrEnabled || (Object)(object)VRHands.Right == (Object)null) { return; } Character localCharacter = Character.localCharacter; if (!((Object)(object)localCharacter == (Object)null)) { if (!(interactableResult is ClimbHandle)) { interactableResult = FindHandInteractable(__instance, localCharacter); } bool flag = interactableResult != null && !(interactableResult is ClimbHandle); if (!VRLine.ShouldShow(Plugin.Config.InteractionLine.Value, flag) || !VRAim.TryRight(out var origin, out var direction)) { VRHands.SetInteractRay(show: false, default(Vector3), default(Vector3), default(Color)); return; } Vector3 center; Vector3 end = ((!flag || !Plugin.Config.AimAtObjectCenter.Value || !TryGetCenter(interactableResult, origin, out center)) ? (origin + direction * RayLength(__instance, localCharacter)) : center); Vector3 origin2 = origin + direction * 0.1f; Color color = (Color)(flag ? VRLine.CharacterColor() : new Color(0.35f, 0.75f, 1f)); VRHands.SetInteractRay(show: true, origin2, end, color); } } private static bool TryGetCenter(IInteractible interactable, Vector3 origin, out Vector3 center) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) center = default(Vector3); Component val = (Component)(object)((interactable is Component) ? interactable : null); if (val == null || (Object)(object)val == (Object)null) { return false; } Vector3 val2 = ((hitFrame == Time.frameCount && hitTarget == interactable) ? hitPoint : origin); Collider val3 = null; float num = float.MaxValue; Collider[] componentsInChildren = val.GetComponentsInChildren<Collider>(); Bounds bounds; foreach (Collider val4 in componentsInChildren) { if (!((Object)(object)val4 == (Object)null) && val4.enabled) { bounds = val4.bounds; float num2 = ((Bounds)(ref bounds)).SqrDistance(val2); if (!(num2 >= num)) { num = num2; val3 = val4; } } } Vector3 val5; if (!((Object)(object)val3 != (Object)null)) { val5 = val.transform.position; } else { bounds = val3.bounds; val5 = ((Bounds)(ref bounds)).center; } center = val5; return true; } private static bool ValidHandTarget(RaycastHit h, Character local, out IInteractible interactible) { interactible = null; if ((Object)(object)((RaycastHit)(ref h)).collider == (Object)null || local.refs.ragdoll.colliderList.Contains(((RaycastHit)(ref h)).collider)) { return false; } IInteractible componentInParent = ((Component)((RaycastHit)(ref h)).collider).GetComponentInParent<IInteractible>(); if (componentInParent == null || componentInParent is ClimbHandle || !componentInParent.IsInteractible(local)) { return false; } Item val = (Item)(object)((componentInParent is Item) ? componentInParent : null); if (val != null && (Object)(object)val == (Object)(object)local.data.currentItem) { return false; } interactible = componentInParent; return true; } private static float RayLength(Interaction interaction, Character local) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) float num = ((DistanceField != null) ? ((float)DistanceField.GetValue(interaction)) : 3f); if (!VRAim.TryRight(out var origin, out var direction)) { return num; } int num2 = LayerMask.op_Implicit(HelperFunctions.GetMask((LayerType)0)); int num3 = Physics.RaycastNonAlloc(origin, direction, LineBuffer, num, num2, (QueryTriggerInteraction)1); float num4 = num; for (int i = 0; i < num3; i++) { RaycastHit val = LineBuffer[i]; if (!((Object)(object)((RaycastHit)(ref val)).collider == (Object)null) && !(((RaycastHit)(ref val)).distance >= num4) && !local.refs.ragdoll.colliderList.Contains(((RaycastHit)(ref val)).collider)) { num4 = ((RaycastHit)(ref val)).distance; } } return num4; } private static IInteractible FindHandInteractable(Interaction interaction, Character local) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) if (!VRAim.TryRight(out var origin, out var direction)) { return null; } float num = ((DistanceField != null) ? ((float)DistanceField.GetValue(interaction)) : 3f); int num2 = LayerMask.op_Implicit(HelperFunctions.GetMask((LayerType)0)); int num3 = Physics.RaycastNonAlloc(origin, direction, LineBuffer, num, num2, (QueryTriggerInteraction)2); IInteractible val = null; float num4 = float.MaxValue; Vector3 point = Vector3.zero; bool valid = false; for (int i = 0; i < num3; i++) { RaycastHit h = LineBuffer[i]; if (!(((RaycastHit)(ref h)).distance >= num4) && ValidHandTarget(h, local, out IInteractible interactible)) { val = interactible; num4 = ((RaycastHit)(ref h)).distance; point = ((RaycastHit)(ref h)).point; valid = ((RaycastHit)(ref h)).distance > 0.0001f; } } if (val != null) { Remember(val, point, valid); return val; } float num5 = ((AreaField != null) ? ((float)AreaField.GetValue(interaction)) : 0.3f); int num6 = Physics.SphereCastNonAlloc(origin + direction * (num5 / 2f), num5, direction, SphereBuffer, num, num2, (QueryTriggerInteraction)2); float num7 = float.MaxValue; for (int j = 0; j < num6; j++) { RaycastHit h2 = SphereBuffer[j]; if (ValidHandTarget(h2, local, out IInteractible interactible2)) { float num8 = Vector3.Angle(((RaycastHit)(ref h2)).point - origin, direction); if (!(num8 >= num7)) { val = interactible2; num7 = num8; point = ((RaycastHit)(ref h2)).point; valid = ((RaycastHit)(ref h2)).distance > 0.0001f; } } } if (val != null) { Remember(val, point, valid); } return val; } private static void Remember(IInteractible target, Vector3 point, bool valid) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) if (!valid) { hitFrame = -1; return; } hitTarget = target; hitPoint = point; hitFrame = Time.frameCount; } } [HarmonyPatch(typeof(CharacterMovement), "CameraLook")] internal static class HeadLookPatch { [HarmonyPostfix] private static void Postfix(CharacterMovement __instance) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) if (Plugin.VrEnabled) { Character localCharacter = Character.localCharacter; if (!((Object)(object)localCharacter == (Object)null) && !((Object)(object)MainCamera.instance == (Object)null) && !((Object)(object)((Component)__instance).GetComponent<Character>() != (Object)(object)localCharacter)) { Vector3 val = Quaternion.Inverse(VRHeadRig.ViewTilt) * ((Component)MainCamera.instance.cam).transform.forward; localCharacter.data.lookValues = Vector2.op_Implicit(HelperFunctions.DirectionToLook(val)); localCharacter.RecalculateLookDirections(); } } } } [HarmonyPatch(typeof(MainCameraMovement), "CharacterCam")] internal static class HeadRotationCopyPatch { private static Quaternion smoothed = Quaternion.identity; private const float SmoothSpeed = 12f; [HarmonyPostfix] private static void Postfix(MainCameraMovement __instance) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) if (Plugin.VrEnabled || Plugin.Config == null || !Plugin.Config.CopyHeadRotation.Value) { smoothed = Quaternion.identity; return; } Character localCharacter = Character.localCharacter; if ((Object)(object)localCharacter == (Object)null) { return; } Rigidbody bodypartRig = localCharacter.GetBodypartRig((BodypartType)4); Camera val = (((Object)(object)MainCamera.instance != (Object)null) ? MainCamera.instance.cam : null); if (!((Object)(object)bodypartRig == (Object)null) && !((Object)(object)val == (Object)null)) { Vector3 lookDirection = localCharacter.data.lookDirection; if (!(((Vector3)(ref lookDirection)).sqrMagnitude < 0.0001f)) { Quaternion val2 = ((Component)bodypartRig).transform.rotation * Quaternion.Inverse(Quaternion.LookRotation(lookDirection)); smoothed = Quaternion.Slerp(smoothed, val2, Mathf.Clamp01(Time.deltaTime * 12f)); ((Component)val).transform.rotation = smoothed * ((Component)val).transform.rotation; } } } } [HarmonyPatch(typeof(Bodypart), "SaveAnimationData")] internal static class HeadTiltPatch { private class NeckState { public ConfigurableJointMotion angularX; public ConfigurableJointMotion angularY; public ConfigurableJointMotion angularZ; public RotationDriveMode driveMode; public JointDrive slerpDrive; public readonly List<(Collider head, Collider body)> uncoupled = new List<(Collider, Collider)>(); } private const float MinRoll = 0.05f; private const float NeckSpring = 3000f; private const float NeckDamper = 120f; private const float NeckMaxForce = 10000f; private static readonly Dictionary<Bodypart, NeckState> widened = new Dictionary<Bodypart, NeckState>(); private static readonly Dictionary<Character, Bodypart> heads = new Dictionary<Character, Bodypart>(); public static void RestoreFor(Character character) { if ((Object)(object)character != (Object)null && heads.TryGetValue(character, out Bodypart value) && (Object)(object)value != (Object)n
plugins/RuntimeDeps/Unity.XR.CoreUtils.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using Unity.Collections; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem.XR; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[8258] { 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 103, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 119, 97, 105, 116, 97, 98, 108, 101, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 92, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 66, 105, 110, 100, 105, 110, 103, 115, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 92, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 105, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 105, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 73, 82, 101, 97, 100, 79, 110, 108, 121, 83, 101, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 72, 97, 115, 104, 83, 101, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 83, 112, 97, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 83, 116, 114, 117, 99, 116, 83, 112, 97, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 114, 105, 110, 103, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 9, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 117, 105, 100, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 92, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 100, 111, 66, 108, 111, 99, 107, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 97, 56, 98, 57, 48, 48, 51, 50, 49, 49, 57, 57, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 79, 114, 105, 103, 105, 110, 46, 99, 115 }, TypesData = new byte[4348] { 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 103, 115, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 65, 119, 97, 105, 116, 97, 98, 108, 101, 85, 116, 105, 108, 115, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 66, 105, 110, 100, 105, 110, 103, 115, 71, 114, 111, 117, 112, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 0, 0, 0, 0, 67, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 83, 116, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 67, 111, 109, 112, 111, 110, 101, 110, 116, 72, 111, 115, 116, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 101, 114, 0, 0, 0, 0, 49, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 51, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 111, 108, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 116, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 73, 82, 101, 97, 100, 79, 110, 108, 121, 83, 101, 116, 0, 0, 0, 0, 46, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 72, 97, 115, 104, 83, 101, 116, 0, 0, 0, 0, 56, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 83, 112, 97, 110, 1, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 124, 69, 110, 117, 109, 101, 114, 97, 116, 111, 114, 0, 0, 0, 0, 49, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 83, 116, 114, 117, 99, 116, 83, 112, 97, 110, 1, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 124, 69, 110, 117, 109, 101, 114, 97, 116, 111, 114, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 124, 73, 116, 101, 109, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 111, 108, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 70, 108, 111, 97, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 52, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 110, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 111, 114, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 115, 0, 0, 0, 0, 28, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 100, 111, 66, 108, 111, 99, 107, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 79, 114, 105, 103, 105, 110 }, TotalFiles = 80, TotalTypes = 96, IsEditorOnly = false }; } } namespace Unity.XR.CoreUtils { public readonly struct ARTrackablesParentTransformChangedEventArgs : IEquatable<ARTrackablesParentTransformChangedEventArgs> { public XROrigin Origin { get; } public Transform TrackablesParent { get; } public ARTrackablesParentTransformChangedEventArgs(XROrigin origin, Transform trackablesParent) { if ((Object)(object)origin == (Object)null) { throw new ArgumentNullException("origin"); } if ((Object)(object)trackablesParent == (Object)null) { throw new ArgumentNullException("trackablesParent"); } Origin = origin; TrackablesParent = trackablesParent; } public bool Equals(ARTrackablesParentTransformChangedEventArgs other) { if ((Object)(object)Origin == (Object)(object)other.Origin) { return (Object)(object)TrackablesParent == (Object)(object)other.TrackablesParent; } return false; } public override bool Equals(object obj) { if (obj is ARTrackablesParentTransformChangedEventArgs other) { return Equals(other); } return false; } public override int GetHashCode() { return HashCodeUtil.Combine(HashCodeUtil.ReferenceHash(Origin), HashCodeUtil.ReferenceHash(TrackablesParent)); } public static bool operator ==(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return lhs.Equals(rhs); } public static bool operator !=(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return !lhs.Equals(rhs); } } public class ReadOnlyAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Class)] public class ScriptableSettingsPathAttribute : Attribute { private readonly string m_Path; public string Path => m_Path; public ScriptableSettingsPathAttribute(string path = "") { m_Path = path; } } public static class AwaitableUtils<T> { private static AwaitableCompletionSource<T> s_CompletionSource = new AwaitableCompletionSource<T>(); public static Awaitable<T> FromResult(T result) { Awaitable<T> awaitable = s_CompletionSource.Awaitable; s_CompletionSource.SetResult(ref result); s_CompletionSource.Reset(); return awaitable; } } public static class BoundsUtils { private static readonly List<Renderer> k_Renderers = new List<Renderer>(); private static readonly List<Transform> k_Transforms = new List<Transform>(); public static Bounds GetBounds(List<GameObject> gameObjects) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) Bounds? val = null; foreach (GameObject gameObject in gameObjects) { Bounds bounds = GetBounds(gameObject.transform); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform[] transforms) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) Bounds? val = null; for (int i = 0; i < transforms.Length; i++) { Bounds bounds = GetBounds(transforms[i]); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform transform) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) ((Component)transform).GetComponentsInChildren<Renderer>(k_Renderers); Bounds bounds = GetBounds(k_Renderers); if (((Bounds)(ref bounds)).size == Vector3.zero) { ((Component)transform).GetComponentsInChildren<Transform>(k_Transforms); if (k_Transforms.Count > 0) { ((Bounds)(ref bounds)).center = k_Transforms[0].position; } foreach (Transform k_Transform in k_Transforms) { ((Bounds)(ref bounds)).Encapsulate(k_Transform.position); } } return bounds; } public static Bounds GetBounds(List<Renderer> renderers) { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) Bounds result2; if (renderers.Count > 0) { Renderer val = renderers[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)val).transform.position, Vector3.zero); { foreach (Renderer renderer in renderers) { result2 = renderer.bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(renderer.bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds<T>(List<T> colliders) where T : Collider { //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) Bounds result2; if (colliders.Count > 0) { T val = colliders[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)(object)val).transform.position, Vector3.zero); { foreach (T collider in colliders) { result2 = ((Collider)collider).bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(((Collider)collider).bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds(List<Vector3> points) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) Bounds result = default(Bounds); if (points.Count < 1) { return result; } Vector3 val = points[0]; Vector3 val2 = val; for (int i = 1; i < points.Count; i++) { Vector3 val3 = points[i]; if (val3.x < val.x) { val.x = val3.x; } if (val3.y < val.y) { val.y = val3.y; } if (val3.z < val.z) { val.z = val3.z; } if (val3.x > val2.x) { val2.x = val3.x; } if (val3.y > val2.y) { val2.y = val3.y; } if (val3.z > val2.z) { val2.z = val3.z; } } ((Bounds)(ref result)).SetMinMax(val, val2); return result; } } public interface IComponentHost<THostType> where THostType : class { THostType[] HostedComponents { get; } } [Flags] public enum CachedSearchType { Children = 1, Self = 2, Parents = 4 } public class CachedComponentFilter<TFilterType, TRootType> : IDisposable where TFilterType : class where TRootType : Component { private readonly List<TFilterType> m_MasterComponentStorage; private static readonly List<TFilterType> k_TempComponentList = new List<TFilterType>(); private static readonly List<IComponentHost<TFilterType>> k_TempHostComponentList = new List<IComponentHost<TFilterType>>(); private bool m_DisposedValue; public CachedComponentFilter(TRootType componentRoot, CachedSearchType cachedSearchType = CachedSearchType.Children | CachedSearchType.Self, bool includeDisabled = true) { //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempHostComponentList.Clear(); if ((cachedSearchType & CachedSearchType.Self) == CachedSearchType.Self) { ((Component)componentRoot).GetComponents<TFilterType>(k_TempComponentList); ((Component)componentRoot).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); } if ((cachedSearchType & CachedSearchType.Parents) == CachedSearchType.Parents) { Transform parent = ((Component)componentRoot).transform.parent; while ((Object)(object)parent != (Object)null && !((Object)(object)((Component)parent).GetComponent<TRootType>() != (Object)null)) { ((Component)parent).GetComponents<TFilterType>(k_TempComponentList); ((Component)parent).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); parent = ((Component)parent).transform.parent; } } if ((cachedSearchType & CachedSearchType.Children) != CachedSearchType.Children) { return; } foreach (Transform item in ((Component)componentRoot).transform) { ((Component)item).GetComponentsInChildren<TFilterType>(k_TempComponentList); ((Component)item).GetComponentsInChildren<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled, componentRoot); } } public CachedComponentFilter(TFilterType[] componentList, bool includeDisabled = true) { if (componentList != null) { m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempComponentList.AddRange(componentList); FilteredCopyToMaster(includeDisabled); } } public void StoreMatchingComponents<TChildType>(List<TChildType> outputList) where TChildType : class, TFilterType { foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType item) { outputList.Add(item); } } } public TChildType[] GetMatchingComponents<TChildType>() where TChildType : class, TFilterType { int num = 0; foreach (TFilterType item in m_MasterComponentStorage) { if (item is TChildType) { num++; } } TChildType[] array = new TChildType[num]; num = 0; foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType val) { array[num] = val; num++; } } return array; } private void FilteredCopyToMaster(bool includeDisabled) { if (includeDisabled) { m_MasterComponentStorage.AddRange(k_TempComponentList); { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } return; } } foreach (TFilterType k_TempComponent in k_TempComponentList) { Behaviour val = (Behaviour)(object)((k_TempComponent is Behaviour) ? k_TempComponent : null); if (!((Object)(object)val != (Object)null) || val.enabled) { m_MasterComponentStorage.Add(k_TempComponent); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val2 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (!((Object)(object)val2 != (Object)null) || val2.enabled) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } private void FilteredCopyToMaster(bool includeDisabled, TRootType requiredRoot) { if (includeDisabled) { foreach (TFilterType k_TempComponent in k_TempComponentList) { Component val = (Component)(object)((k_TempComponent is Component) ? k_TempComponent : null); if (!((Object)(object)val.transform == (Object)(object)requiredRoot) && !((Object)(object)val.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent); } } { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { Component val2 = (Component)((k_TempHostComponent is Component) ? k_TempHostComponent : null); if (!((Object)(object)val2.transform == (Object)(object)requiredRoot) && !((Object)(object)val2.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } } return; } } foreach (TFilterType k_TempComponent2 in k_TempComponentList) { Behaviour val3 = (Behaviour)(object)((k_TempComponent2 is Behaviour) ? k_TempComponent2 : null); if (val3.enabled && !((Object)(object)((Component)val3).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val3).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent2); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val4 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (val4.enabled && !((Object)(object)((Component)val4).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val4).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } protected virtual void Dispose(bool disposing) { if (!m_DisposedValue) { if (disposing && m_MasterComponentStorage != null) { CollectionPool<List<TFilterType>, TFilterType>.RecycleCollection(m_MasterComponentStorage); } m_DisposedValue = true; } } public void Dispose() { Dispose(disposing: true); } } public static class CollectionPool<TCollection, TValue> where TCollection : ICollection<TValue>, new() { private static readonly Queue<TCollection> k_CollectionQueue = new Queue<TCollection>(); public static TCollection GetCollection() { if (k_CollectionQueue.Count <= 0) { return new TCollection(); } return k_CollectionQueue.Dequeue(); } public static void RecycleCollection(TCollection collection) { collection.Clear(); k_CollectionQueue.Enqueue(collection); } } public static class ComponentUtils<T> { private static readonly List<T> k_RetrievalList = new List<T>(); public static T GetComponent(GameObject gameObject) { T result = default(T); gameObject.GetComponents<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } public static T GetComponentInChildren(GameObject gameObject) { T result = default(T); gameObject.GetComponentsInChildren<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } } public static class ComponentUtils { public static T GetOrAddIf<T>(GameObject gameObject, bool add) where T : Component { T val = gameObject.GetComponent<T>(); if (add && (Object)(object)val == (Object)null) { val = gameObject.AddComponent<T>(); } return val; } } public static class EnumValues<T> { public static readonly T[] Values = (T[])Enum.GetValues(typeof(T)); } public static class BoundsExtensions { public static bool ContainsCompletely(this Bounds outerBounds, Bounds innerBounds) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) Vector3 max = ((Bounds)(ref outerBounds)).max; Vector3 min = ((Bounds)(ref outerBounds)).min; Vector3 max2 = ((Bounds)(ref innerBounds)).max; Vector3 min2 = ((Bounds)(ref innerBounds)).min; if (max.x >= max2.x && max.y >= max2.y && max.z >= max2.z && min.x <= min2.x && min.y <= min2.y) { return min.z <= min2.z; } return false; } } public static class CameraExtensions { private const float k_OneOverSqrt2 = 0.70710677f; public static float GetVerticalFieldOfView(this Camera camera, float aspectNeutralFieldOfView) { return Mathf.Atan(Mathf.Tan(aspectNeutralFieldOfView * 0.5f * (MathF.PI / 180f)) * 0.70710677f / Mathf.Sqrt(camera.aspect)) * 2f * 57.29578f; } public static float GetHorizontalFieldOfView(this Camera camera) { float num = camera.fieldOfView * 0.5f; return 57.29578f * Mathf.Atan(Mathf.Tan(num * (MathF.PI / 180f)) * camera.aspect); } public static float GetVerticalOrthographicSize(this Camera camera, float size) { return size * 0.70710677f / Mathf.Sqrt(camera.aspect); } } public static class CollectionExtensions { private static readonly StringBuilder k_String = new StringBuilder(); public static string Stringify<T>(this ICollection<T> collection) { k_String.Length = 0; int num = collection.Count - 1; int num2 = 0; foreach (T item in collection) { k_String.AppendFormat((num2++ == num) ? "{0}" : "{0}, ", item); } return k_String.ToString(); } } public static class DictionaryExtensions { public static KeyValuePair<TKey, TValue> First<TKey, TValue>(this Dictionary<TKey, TValue> dictionary) { KeyValuePair<TKey, TValue> result = default(KeyValuePair<TKey, TValue>); Dictionary<TKey, TValue>.Enumerator enumerator = dictionary.GetEnumerator(); if (enumerator.MoveNext()) { result = enumerator.Current; } enumerator.Dispose(); return result; } } public static class GameObjectExtensions { public static void SetHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetHideFlagsRecursively(hideFlags); } } public static void AddToHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.AddToHideFlagsRecursively(hideFlags); } } public static void SetLayerRecursively(this GameObject gameObject, int layer) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerRecursively(layer); } } public static void SetLayerAndAddToHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndAddToHideFlagsRecursively(layer, hideFlags); } } public static void SetLayerAndHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndHideFlagsRecursively(layer, hideFlags); } } public static void SetRunInEditModeRecursively(this GameObject gameObject, bool enabled) { } } public static class GuidExtensions { public static void Decompose(this Guid guid, out ulong low, out ulong high) { byte[] value = guid.ToByteArray(); low = BitConverter.ToUInt64(value, 0); high = BitConverter.ToUInt64(value, 8); } } public static class HashSetExtensions { public static void ExceptWithNonAlloc<T>(this HashSet<T> self, HashSet<T> other) { foreach (T item in other) { self.Remove(item); } } public static T First<T>(this HashSet<T> set) { HashSet<T>.Enumerator enumerator = set.GetEnumerator(); T result = (enumerator.MoveNext() ? enumerator.Current : default(T)); enumerator.Dispose(); return result; } } public static class LayerMaskExtensions { public static int GetFirstLayerIndex(this LayerMask layerMask) { if (((LayerMask)(ref layerMask)).value == 0) { return -1; } int num = 0; int num2 = ((LayerMask)(ref layerMask)).value; while ((num2 & 1) == 0) { num2 >>= 1; num++; } return num; } public static bool Contains(this LayerMask mask, int layer) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return ((uint)LayerMask.op_Implicit(mask) & (1 << layer)) > 0; } } public static class ListExtensions { public static List<T> Fill<T>(this List<T> list, int count) where T : new() { for (int i = 0; i < count; i++) { list.Add(new T()); } return list; } public static void EnsureCapacity<T>(this List<T> list, int capacity) { if (list.Capacity < capacity) { list.Capacity = capacity; } } public static void SwapAtIndices<T>(this List<T> list, int first, int second) { T val = list[second]; T val2 = list[first]; T val3 = (list[first] = val); val3 = (list[second] = val2); } } public static class MonoBehaviourExtensions { } public static class PoseExtensions { public static Pose ApplyOffsetTo(this Pose pose, Pose otherPose) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = pose.rotation; return new Pose(rotation * otherPose.position + pose.position, rotation * otherPose.rotation); } public static Vector3 ApplyOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) return pose.rotation * position + pose.position; } public static Vector3 ApplyInverseOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) return Quaternion.Inverse(pose.rotation) * (position - pose.position); } } public static class QuaternionExtensions { public static Quaternion ConstrainYaw(this Quaternion rotation) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; return rotation; } public static Quaternion ConstrainYawNormalized(this Quaternion rotation) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; ((Quaternion)(ref rotation)).Normalize(); return rotation; } public static Quaternion ConstrainYawPitchNormalized(this Quaternion rotation) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) Vector3 eulerAngles = ((Quaternion)(ref rotation)).eulerAngles; eulerAngles.z = 0f; return Quaternion.Euler(eulerAngles); } } public static class StopwatchExtensions { public static void Restart(this Stopwatch stopwatch) { stopwatch.Stop(); stopwatch.Reset(); stopwatch.Start(); } } public static class StringExtensions { private static readonly StringBuilder k_StringBuilder = new StringBuilder(); public static string FirstToUpper(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } if (str.Length == 1) { return char.ToUpper(str[0]).ToString(); } return $"{char.ToUpper(str[0])}{str.Substring(1)}"; } public static string InsertSpacesBetweenWords(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } k_StringBuilder.Length = 0; k_StringBuilder.Append(str[0]); int length = str.Length; for (int i = 0; i < length - 1; i++) { char c = str[i]; char c2 = str[i + 1]; bool flag = char.IsLower(c); bool flag2 = char.IsLower(c2); bool flag3 = flag && !flag2; if (i + 2 < length) { bool flag4 = char.IsLower(str[i + 2]); flag3 = flag3 || (!flag && !flag2 && flag4); } if (flag3) { k_StringBuilder.Append(' '); } k_StringBuilder.Append(c2); } return k_StringBuilder.ToString(); } } public static class TransformExtensions { public static Pose GetLocalPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetLocalPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static Pose GetWorldPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static void SetLocalPose(this Transform transform, Pose pose) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.SetLocalPositionAndRotation(pose.position, pose.rotation); } public static void SetWorldPose(this Transform transform, Pose pose) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) transform.SetPositionAndRotation(pose.position, pose.rotation); } public static Pose TransformPose(this Transform transform, Pose pose) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) return ((Pose)(ref pose)).GetTransformedBy(transform); } public static Pose InverseTransformPose(this Transform transform, Pose pose) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } return new Pose { position = transform.InverseTransformPoint(pose.position), rotation = Quaternion.Inverse(transform.rotation) * pose.rotation }; } public static Ray InverseTransformRay(this Transform transform, Ray ray) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } return new Ray(transform.InverseTransformPoint(((Ray)(ref ray)).origin), transform.InverseTransformDirection(((Ray)(ref ray)).direction)); } } public static class TypeExtensions { private static readonly List<FieldInfo> k_Fields = new List<FieldInfo>(); private static readonly List<string> k_TypeNames = new List<string>(); public static void GetAssignableTypes(this Type type, List<Type> list, Func<Type, bool> predicate = null) { ReflectionUtils.ForEachType(delegate(Type t) { if (type.IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract && (predicate == null || predicate(t))) { list.Add(t); } }); } public static void GetImplementationsOfInterface(this Type type, List<Type> list) { if (type.IsInterface) { type.GetAssignableTypes(list); } } public static void GetExtensionsOfClass(this Type type, List<Type> list) { if (type.IsClass) { type.GetAssignableTypes(list); } } public static void GetGenericInterfaces(this Type type, Type genericInterface, List<Type> interfaces) { Type[] interfaces2 = type.GetInterfaces(); foreach (Type type2 in interface
plugins/RuntimeDeps/Unity.XR.Interaction.Toolkit.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using AOT; using JetBrains.Annotations; using TMPro; using Unity.Burst; using Unity.Collections; using Unity.Jobs; using Unity.Mathematics; using Unity.Profiling; using Unity.XR.CoreUtils; using Unity.XR.CoreUtils.Bindings; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using Unity.XR.CoreUtils.Datums; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.InputForUI; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.UI; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.InputSystem.XR.Haptics; using UnityEngine.Pool; using UnityEngine.Rendering; using UnityEngine.SceneManagement; using UnityEngine.Scripting; using UnityEngine.Scripting.APIUpdating; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.UIElements; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Jobs; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver.Primitives; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Rendering; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.State; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Audio; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Primitives; using UnityEngine.XR.Interaction.Toolkit.Attachment; using UnityEngine.XR.Interaction.Toolkit.Feedback; using UnityEngine.XR.Interaction.Toolkit.Filtering; using UnityEngine.XR.Interaction.Toolkit.Gaze; using UnityEngine.XR.Interaction.Toolkit.Inputs; using UnityEngine.XR.Interaction.Toolkit.Inputs.Haptics; using UnityEngine.XR.Interaction.Toolkit.Inputs.Haptics.OpenXR; using UnityEngine.XR.Interaction.Toolkit.Inputs.Readers; using UnityEngine.XR.Interaction.Toolkit.Inputs.Simulation.Hands; using UnityEngine.XR.Interaction.Toolkit.Interactables; using UnityEngine.XR.Interaction.Toolkit.Interactables.Visuals; using UnityEngine.XR.Interaction.Toolkit.Interactors; using UnityEngine.XR.Interaction.Toolkit.Interactors.Casters; using UnityEngine.XR.Interaction.Toolkit.Interactors.Visuals; using UnityEngine.XR.Interaction.Toolkit.Locomotion; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Gravity; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Turning; using UnityEngine.XR.Interaction.Toolkit.Transformers; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Interaction.Toolkit.Utilities; using UnityEngine.XR.Interaction.Toolkit.Utilities.Collections; using UnityEngine.XR.Interaction.Toolkit.Utilities.Curves; using UnityEngine.XR.Interaction.Toolkit.Utilities.Internal; using UnityEngine.XR.Interaction.Toolkit.Utilities.Pooling; using UnityEngine.XR.Interaction.Toolkit.Utilities.Registration; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.Primitives; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.SmartTweenableVariables; using UnityEngine.XR.OpenXR.Features.Interactions; using UnityEngine.XR.OpenXR.Input; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Analytics.Hooks.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.ARStarterAssets")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.Hands")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.VisionOS")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.DeviceSimulator")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.InteractionSimulator")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[45176] { 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 112, 117, 116, 115, 92, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 80, 105, 110, 99, 104, 83, 99, 97, 108, 101, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 112, 117, 116, 115, 92, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 82, 97, 121, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 112, 117, 116, 115, 92, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 82, 111, 116, 97, 116, 101, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 112, 117, 116, 115, 92, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 83, 101, 108, 101, 99, 116, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 112, 117, 116, 115, 92, 84, 111, 117, 99, 104, 115, 99, 114, 101, 101, 110, 71, 101, 115, 116, 117, 114, 101, 73, 110, 112, 117, 116, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 66, 97, 115, 101, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 80, 108, 97, 99, 101, 109, 101, 110, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 82, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 99, 97, 108, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 101, 108, 101, 99, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 84, 114, 97, 110, 115, 108, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 65, 82, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 67, 111, 108, 111, 114, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 70, 108, 111, 97, 116, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 73, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 84, 119, 101, 101, 110, 74, 111, 98, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 137, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 143, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 140, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 144, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 117, 108, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 143, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 66, 108, 101, 110, 100, 83, 104, 97, 112, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 158, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 71, 114, 97, 100, 105, 101, 110, 116, 76, 105, 110, 101, 82, 101, 110, 100, 101, 114, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 154, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 154, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 70, 108, 111, 97, 116, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 156, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 50, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 156, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 51, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 156, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 52, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 159, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 97, 116, 105, 111, 110, 92, 85, 110, 105, 102, 111, 114, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 99, 97, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 85, 73, 92, 73, 109, 97, 103, 101, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 72, 101, 108, 112, 101, 114, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 73, 110, 115, 116, 97, 110, 99, 101, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 66, 108, 111, 99, 107, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 83, 104, 111, 114, 116, 99, 117, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 138, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 148, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 146, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 138, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 138, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 140, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 140, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 140, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 101, 100, 98, 97, 99, 107, 92, 83, 105, 109, 112, 108, 101, 65, 117, 100, 105, 111, 70, 101, 101, 100, 98, 97, 99, 107, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 101, 100, 98, 97, 99, 107, 92, 83, 105, 109, 112, 108, 101, 72, 97, 112, 116, 105, 99, 70, 101, 101, 100, 98, 97, 99, 107, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 97, 114, 100, 105, 110, 97, 108, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 6, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 111, 109, 112, 111, 115, 105, 116, 101, 115, 92, 70, 97, 108, 108, 98, 97, 99, 107, 67, 111, 109, 112, 111, 115, 105, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 65, 99, 116, 105, 111, 110, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 111, 109, 109, 97, 110, 100, 67, 104, 97, 110, 110, 101, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 111, 109, 109, 97, 110, 100, 67, 104, 97, 110, 110, 101, 108, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 80, 108, 97, 121, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 83, 105, 110, 103, 108, 101, 67, 104, 97, 110, 110, 101, 108, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 72, 97, 112, 116, 105, 99, 115, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 73, 88, 82, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 104, 97, 110, 110, 101, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 73, 88, 82, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 104, 97, 110, 110, 101, 108, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 73, 88, 82, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 79, 112, 101, 110, 88, 82, 92, 79, 112, 101, 110, 88, 82, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 104, 97, 110, 110, 101, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 104, 97, 110, 110, 101, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 67, 104, 97, 110, 110, 101, 108, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 72, 97, 112, 116, 105, 99, 115, 92, 88, 82, 73, 110, 112, 117, 116, 72, 97, 112, 116, 105, 99, 73, 109, 112, 117, 108, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 83, 101, 99, 116, 111, 114, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 73, 110, 112, 117, 116, 70, 101, 97, 116, 117, 114, 101, 85, 115, 97, 103, 101, 83, 116, 114, 105, 110, 103, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 66, 117, 116, 116, 111, 110, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 66, 111, 111, 108, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 66, 117, 116, 116, 111, 110, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 70, 108, 111, 97, 116, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 73, 110, 112, 117, 116, 84, 114, 97, 99, 107, 105, 110, 103, 83, 116, 97, 116, 101, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 86, 101, 99, 116, 111, 114, 50, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 68, 101, 118, 105, 99, 101, 86, 101, 99, 116, 111, 114, 51, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 82, 101, 97, 100, 101, 114, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 5, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 82, 101, 97, 100, 101, 114, 115, 92, 88, 82, 73, 110, 112, 117, 116, 86, 97, 108, 117, 101, 82, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 67, 97, 112, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 97, 110, 100, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 68, 101, 118, 105, 99, 101, 76, 105, 102, 101, 99, 121, 99, 108, 101, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 73, 110, 112, 117, 116, 76, 97, 121, 111, 117, 116, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 76, 111, 97, 100, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 105, 109, 117, 108, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 105, 109, 117, 108, 97, 116, 111, 114, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 111, 114, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 72, 97, 110, 100, 83, 107, 101, 108, 101, 116, 111, 110, 80, 111, 107, 101, 68, 105, 115, 112, 108, 97, 99, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 77, 111, 100, 97, 108, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 84, 114, 97, 99, 107, 105, 110, 103, 65, 103, 103, 114, 101, 103, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, 97, 98, 105, 108, 105, 122, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 84, 114, 97, 99, 107, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 65, 116, 116, 97, 99, 104, 80, 111, 105, 110, 116, 86, 101, 108, 111, 99, 105, 116, 121, 84, 114, 97, 99, 107, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 70, 97, 114, 65, 116, 116, 97, 99, 104, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 65, 116, 116, 97, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 97, 99, 104, 109, 101, 110, 116, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 65, 116, 116, 97, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 70, 111, 99, 117, 115, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 83, 101, 108, 101, 99, 116, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 135, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 69, 110, 97, 98, 108, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 65, 99, 116, 105, 111, 110, 66, 97, 115, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 97, 116, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 135, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 72, 111, 118, 101, 114, 92, 73, 88, 82, 72, 111, 118, 101, 114, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 72, 111, 118, 101, 114, 92, 84, 111, 117, 99, 104, 115, 99, 114, 101, 101, 110, 72, 111, 118, 101, 114, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 88, 82, 70, 105, 108, 116, 101, 114, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 77, 117, 108, 116, 105, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 88, 82, 80, 111, 107, 101, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 76, 111, 103, 105, 99, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 83, 101, 108, 101, 99, 116, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 145, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 56, 97, 56, 99, 102, 100, 101, 51, 51, 101, 52, 49, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 1
plugins/RuntimeDeps/Unity.XR.Management.dll
Decompiled 2 weeks agousing System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Analytics; using UnityEngine.Rendering; using UnityEngine.Serialization; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Management.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Management.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Management.EditorTests")] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[564] { 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 101, 51, 97, 51, 56, 56, 50, 98, 51, 54, 48, 97, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115 }, TypesData = new byte[427] { 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 101, 114, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 66, 117, 105, 108, 100, 69, 118, 101, 110, 116, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 88, 114, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 65, 110, 97, 108, 121, 116, 105, 99, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115 }, TotalFiles = 6, TotalTypes = 8, IsEditorOnly = false }; } } namespace UnityEngine.XR.Management; [AttributeUsage(AttributeTargets.Class)] public sealed class XRConfigurationDataAttribute : Attribute { public string displayName { get; set; } public string buildSettingsKey { get; set; } private XRConfigurationDataAttribute() { } public XRConfigurationDataAttribute(string displayName, string buildSettingsKey) { this.displayName = displayName; this.buildSettingsKey = buildSettingsKey; } } public class XRGeneralSettings : ScriptableObject { public static string k_SettingsKey = "com.unity.xr.management.loader_settings"; internal static XRGeneralSettings s_RuntimeSettingsInstance = null; [SerializeField] internal XRManagerSettings m_LoaderManagerInstance; [SerializeField] [Tooltip("Toggling this on/off will enable/disable the automatic startup of XR at run time.")] internal bool m_InitManagerOnStart = true; private XRManagerSettings m_XRManager; private bool m_ProviderIntialized; private bool m_ProviderStarted; public XRManagerSettings Manager { get { return m_LoaderManagerInstance; } set { m_LoaderManagerInstance = value; } } public static XRGeneralSettings Instance => s_RuntimeSettingsInstance; public XRManagerSettings AssignedSettings => m_LoaderManagerInstance; public bool InitManagerOnStart => m_InitManagerOnStart; private void Awake() { Debug.Log((object)"XRGeneral Settings awakening..."); s_RuntimeSettingsInstance = this; Application.quitting += Quit; Object.DontDestroyOnLoad((Object)(object)s_RuntimeSettingsInstance); } private static void Quit() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null)) { instance.DeInitXRSDK(); } } private void Start() { StartXRSDK(); } private void OnDestroy() { DeInitXRSDK(); } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptInitializeXRSDKOnLoad() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.InitXRSDK(); } } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptStartXRSDKOnBeforeSplashScreen() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.StartXRSDK(); } } private void InitXRSDK() { if (!((Object)(object)Instance == (Object)null) && !((Object)(object)Instance.m_LoaderManagerInstance == (Object)null) && Instance.m_InitManagerOnStart) { m_XRManager = Instance.m_LoaderManagerInstance; if ((Object)(object)m_XRManager == (Object)null) { Debug.LogError((object)"Assigned GameObject for XR Management loading is invalid. No XR Providers will be automatically loaded."); return; } m_XRManager.automaticLoading = false; m_XRManager.automaticRunning = false; m_XRManager.InitializeLoaderSync(); m_ProviderIntialized = true; } } private void StartXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StartSubsystems(); m_ProviderStarted = true; } } private void StopXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StopSubsystems(); m_ProviderStarted = false; } } private void DeInitXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.DeinitializeLoader(); m_XRManager = null; m_ProviderIntialized = false; } } } public abstract class XRLoader : ScriptableObject { public virtual bool Initialize() { return true; } public virtual bool Start() { return true; } public virtual bool Stop() { return true; } public virtual bool Deinitialize() { return true; } public abstract T GetLoadedSubsystem<T>() where T : class, ISubsystem; public virtual List<GraphicsDeviceType> GetSupportedGraphicsDeviceTypes(bool buildingPlayer) { return new List<GraphicsDeviceType>(); } } public abstract class XRLoaderHelper : XRLoader { protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap = new Dictionary<Type, ISubsystem>(); public override T GetLoadedSubsystem<T>() { Type typeFromHandle = typeof(T); m_SubsystemInstanceMap.TryGetValue(typeFromHandle, out var value); return value as T; } protected void StartSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Start(); } } protected void StopSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Stop(); } } protected void DestroySubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { Type typeFromHandle = typeof(T); if (m_SubsystemInstanceMap.ContainsKey(typeFromHandle)) { m_SubsystemInstanceMap.Remove(typeFromHandle); } ((ISubsystem)loadedSubsystem).Destroy(); } } protected void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem { if (descriptors == null) { throw new ArgumentNullException("descriptors"); } SubsystemManager.GetSubsystemDescriptors<TDescriptor>(descriptors); if (descriptors.Count <= 0) { return; } foreach (TDescriptor descriptor in descriptors) { ISubsystem val = null; if (string.Compare(((ISubsystemDescriptor)descriptor).id, id, ignoreCase: true) == 0) { val = ((ISubsystemDescriptor)descriptor/*cast due to .constrained prefix*/).Create(); } if (val != null) { m_SubsystemInstanceMap[typeof(TSubsystem)] = val; break; } } } [Obsolete("This method is obsolete. Please use the geenric CreateSubsystem method.", false)] protected void CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : IntegratedSubsystemDescriptor where TSubsystem : IntegratedSubsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } [Obsolete("This method is obsolete. Please use the generic CreateSubsystem method.", false)] protected void CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : SubsystemDescriptor where TSubsystem : Subsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } public override bool Deinitialize() { m_SubsystemInstanceMap.Clear(); return base.Deinitialize(); } } internal static class XRManagementAnalytics { [Serializable] private struct BuildEvent : IData { public string buildGuid; public string buildTarget; public string buildTargetGroup; public string[] assigned_loaders; } [AnalyticInfo("xrmanagment_build", "unity.xrmanagement", 1, 1000, 1000)] private class XrInitializeAnalytic : IAnalytic { private BuildEvent? data; public XrInitializeAnalytic(BuildEvent data) { this.data = data; } public bool TryGatherData(out IData data, [NotNullWhen(false)] out Exception error) { error = null; data = (IData)(object)this.data; return data != null; } } private const int kMaxEventsPerHour = 1000; private const int kMaxNumberOfElements = 1000; private const string kVendorKey = "unity.xrmanagement"; private const string kEventBuild = "xrmanagment_build"; private static bool s_Initialized; private static bool Initialize() { return s_Initialized; } } public sealed class XRManagerSettings : ScriptableObject { [HideInInspector] private bool m_InitializationComplete; [HideInInspector] [SerializeField] private bool m_RequiresSettingsUpdate; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for creating and destroying the appropriate loader instance.")] [FormerlySerializedAs("AutomaticLoading")] private bool m_AutomaticLoading; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for starting and stopping subsystems for the active loader instance.")] [FormerlySerializedAs("AutomaticRunning")] private bool m_AutomaticRunning; [SerializeField] [Tooltip("List of XR Loader instances arranged in desired load order.")] [FormerlySerializedAs("Loaders")] private List<XRLoader> m_Loaders = new List<XRLoader>(); [SerializeField] [HideInInspector] private HashSet<XRLoader> m_RegisteredLoaders = new HashSet<XRLoader>(); public bool automaticLoading { get { return m_AutomaticLoading; } set { m_AutomaticLoading = value; } } public bool automaticRunning { get { return m_AutomaticRunning; } set { m_AutomaticRunning = value; } } [Obsolete("'XRManagerSettings.loaders' property is obsolete. Use 'XRManagerSettings.activeLoaders' instead to get a list of the current loaders.")] public List<XRLoader> loaders => m_Loaders; public IReadOnlyList<XRLoader> activeLoaders => m_Loaders; public bool isInitializationComplete => m_InitializationComplete; [HideInInspector] public XRLoader activeLoader { get; private set; } internal List<XRLoader> currentLoaders { get { return m_Loaders; } set { m_Loaders = value; } } internal HashSet<XRLoader> registeredLoaders => m_RegisteredLoaders; public T ActiveLoaderAs<T>() where T : XRLoader { return activeLoader as T; } public void InitializeLoaderSync() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); return; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; return; } } activeLoader = null; } public IEnumerator InitializeLoader() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); yield break; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; yield break; } yield return null; } activeLoader = null; } public bool TryAddLoader(XRLoader loader, int index = -1) { if ((Object)(object)loader == (Object)null || currentLoaders.Contains(loader)) { return false; } if (!m_RegisteredLoaders.Contains(loader)) { return false; } if (index < 0 || index >= currentLoaders.Count) { currentLoaders.Add(loader); } else { currentLoaders.Insert(index, loader); } return true; } public bool TryRemoveLoader(XRLoader loader) { bool result = true; if (currentLoaders.Contains(loader)) { result = currentLoaders.Remove(loader); } return result; } public bool TrySetLoaders(List<XRLoader> reorderedLoaders) { List<XRLoader> list = new List<XRLoader>(activeLoaders); currentLoaders.Clear(); foreach (XRLoader reorderedLoader in reorderedLoaders) { if (!TryAddLoader(reorderedLoader)) { currentLoaders = list; return false; } } return true; } private void Awake() { foreach (XRLoader currentLoader in currentLoaders) { if (!m_RegisteredLoaders.Contains(currentLoader)) { m_RegisteredLoaders.Add(currentLoader); } } } private unsafe bool CheckGraphicsAPICompatibility(XRLoader loader) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) GraphicsDeviceType graphicsDeviceType = SystemInfo.graphicsDeviceType; List<GraphicsDeviceType> supportedGraphicsDeviceTypes = loader.GetSupportedGraphicsDeviceTypes(buildingPlayer: false); if (supportedGraphicsDeviceTypes.Count > 0 && !supportedGraphicsDeviceTypes.Contains(graphicsDeviceType)) { Debug.LogWarning((object)$"The {((Object)loader).name} does not support the initialized graphics device, {((object)(*(GraphicsDeviceType*)(&graphicsDeviceType))/*cast due to .constrained prefix*/).ToString()}. Please change the preffered Graphics API in PlayerSettings. Attempting to start the next XR loader."); return false; } return true; } public void StartSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StartSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Start(); } } public void StopSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StopSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Stop(); } } public void DeinitializeLoader() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to DeinitializeLoader without an initialized manager.Please make sure wait for initialization to complete before calling this API."); return; } StopSubsystems(); if ((Object)(object)activeLoader != (Object)null) { activeLoader.Deinitialize(); activeLoader = null; } m_InitializationComplete = false; } private void Start() { if (automaticLoading && automaticRunning) { StartSubsystems(); } } private void OnDisable() { if (automaticLoading && automaticRunning) { StopSubsystems(); } } private void OnDestroy() { if (automaticLoading) { DeinitializeLoader(); } } }
plugins/RuntimeDeps/Unity.XR.OpenXR.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using System.Threading; using AOT; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using UnityEngine.Analytics; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; using UnityEngine.Scripting; using UnityEngine.Serialization; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; using UnityEngine.XR.OpenXR.Input; using UnityEngine.XR.OpenXR.NativeTypes; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Editor")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.MetaQuestSupport.Editor")] [assembly: InternalsVisibleTo("UnityEditor.XR.OpenXR.Tests")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Testing")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.TestTooling.Tests")] [assembly: Preserve] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.TestHelpers")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Tests")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Editor.Tests")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.TestTooling")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[15474] { 0, 0, 0, 2, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 110, 115, 116, 97, 110, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 65, 117, 116, 111, 109, 97, 116, 105, 99, 68, 121, 110, 97, 109, 105, 99, 82, 101, 115, 111, 108, 117, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 84, 121, 112, 101, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 99, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 70, 111, 118, 101, 97, 116, 101, 100, 82, 101, 110, 100, 101, 114, 105, 110, 103, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 103, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 73, 110, 116, 101, 114, 110, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 6, 0, 0, 0, 99, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 83, 112, 97, 99, 101, 87, 97, 114, 112, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 80, 111, 108, 108, 69, 118, 101, 110, 116, 82, 111, 117, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 66, 97, 115, 101, 73, 110, 83, 116, 114, 117, 99, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 69, 118, 101, 110, 116, 68, 97, 116, 97, 66, 97, 115, 101, 72, 101, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 69, 120, 116, 101, 110, 116, 50, 68, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 70, 111, 118, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 80, 111, 115, 101, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 82, 101, 115, 117, 108, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 83, 119, 97, 112, 99, 104, 97, 105, 110, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 86, 101, 99, 116, 111, 114, 50, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 67, 111, 114, 101, 92, 88, 114, 86, 101, 99, 116, 111, 114, 51, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 79, 112, 101, 110, 88, 82, 82, 101, 115, 117, 108, 116, 83, 116, 97, 116, 117, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 70, 117, 116, 117, 114, 101, 67, 97, 110, 99, 101, 108, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 70, 117, 116, 117, 114, 101, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 66, 97, 115, 101, 72, 101, 97, 100, 101, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 70, 117, 116, 117, 114, 101, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 70, 117, 116, 117, 114, 101, 80, 111, 108, 108, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 102, 117, 116, 117, 114, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 70, 117, 116, 117, 114, 101, 80, 111, 108, 108, 82, 101, 115, 117, 108, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 97, 110, 99, 104, 111, 114, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 97, 110, 99, 104, 111, 114, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 65, 110, 99, 104, 111, 114, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 97, 110, 99, 104, 111, 114, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 65, 110, 99, 104, 111, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 97, 110, 99, 104, 111, 114, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 65, 110, 99, 104, 111, 114, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 73, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 144, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 66, 111, 117, 110, 100, 101, 100, 50, 68, 68, 97, 116, 97, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 66, 111, 117, 110, 100, 101, 100, 50, 68, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 66, 111, 117, 110, 100, 101, 100, 51, 68, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 150, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 77, 101, 115, 104, 51, 68, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 150, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 80, 97, 114, 101, 110, 116, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 77, 101, 115, 104, 68, 97, 116, 97, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 143, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 67, 114, 101, 97, 116, 101, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 101, 120, 116, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 67, 114, 101, 97, 116, 101, 83, 112, 97, 116, 105, 97, 108, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 110, 97, 112, 115, 104, 111, 116, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 157, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 67, 114, 101, 97, 116, 101, 83, 112, 97, 116, 105, 97, 108, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 110, 97, 112, 115, 104, 111, 116, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 69, 118, 101, 110, 116, 68, 97, 116, 97, 83, 112, 97, 116, 105, 97, 108, 68, 105, 115, 99, 111, 118, 101, 114, 121, 82, 101, 99, 111, 109, 109, 101, 110, 100, 101, 100, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 66, 117, 102, 102, 101, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 66, 117, 102, 102, 101, 114, 71, 101, 116, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 144, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 109, 112, 111, 110, 101, 110, 116, 84, 121, 112, 101, 115, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 66, 97, 115, 101, 72, 101, 97, 100, 101, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 68, 97, 116, 97, 81, 117, 101, 114, 121, 67, 111, 110, 100, 105, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 144, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 68, 97, 116, 97, 81, 117, 101, 114, 121, 82, 101, 115, 117, 108, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 137, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 101, 120, 116, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 68, 105, 115, 99, 111, 118, 101, 114, 121, 83, 110, 97, 112, 115, 104, 111, 116, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 142, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 69, 110, 116, 105, 116, 121, 70, 114, 111, 109, 73, 100, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 70, 105, 108, 116, 101, 114, 84, 114, 97, 99, 107, 105, 110, 103, 83, 116, 97, 116, 101, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 144, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 101, 110, 116, 105, 116, 121, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 85, 112, 100, 97, 116, 101, 83, 110, 97, 112, 115, 104, 111, 116, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 160, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 65, 112, 114, 105, 108, 84, 97, 103, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 163, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 65, 114, 117, 99, 111, 77, 97, 114, 107, 101, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 163, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 77, 105, 99, 114, 111, 81, 114, 67, 111, 100, 101, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 158, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 81, 114, 67, 111, 100, 101, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 148, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 77, 97, 114, 107, 101, 114, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 77, 97, 114, 107, 101, 114, 68, 97, 116, 97, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 77, 97, 114, 107, 101, 114, 83, 105, 122, 101, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 109, 97, 114, 107, 101, 114, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 77, 97, 114, 107, 101, 114, 83, 116, 97, 116, 105, 99, 79, 112, 116, 105, 109, 105, 122, 97, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 69, 110, 117, 109, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 67, 111, 110, 116, 101, 120, 116, 82, 101, 115, 117, 108, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 159, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 67, 114, 101, 97, 116, 101, 83, 112, 97, 116, 105, 97, 108, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 67, 111, 110, 116, 101, 120, 116, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 101, 120, 116, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 67, 111, 110, 102, 105, 103, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 155, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 68, 105, 115, 99, 111, 118, 101, 114, 121, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 85, 117, 105, 100, 70, 105, 108, 116, 101, 114, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 67, 111, 110, 116, 101, 120, 116, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 140, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 80, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 68, 97, 116, 97, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 159, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 80, 101, 114, 115, 105, 115, 116, 83, 112, 97, 116, 105, 97, 108, 69, 110, 116, 105, 116, 121, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 153, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 69, 110, 116, 105, 116, 121, 80, 101, 114, 115, 105, 115, 116, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 155, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 69, 110, 116, 105, 116, 121, 85, 110, 112, 101, 114, 115, 105, 115, 116, 73, 110, 102, 111, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 161, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 101, 114, 115, 105, 115, 116, 101, 110, 99, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 85, 110, 112, 101, 114, 115, 105, 115, 116, 83, 112, 97, 116, 105, 97, 108, 69, 110, 116, 105, 116, 121, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 164, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 80, 108, 97, 110, 101, 84, 114, 97, 99, 107, 105, 110, 103, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 77, 101, 115, 104, 50, 68, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 155, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 80, 108, 97, 110, 101, 65, 108, 105, 103, 110, 109, 101, 110, 116, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 159, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 80, 108, 97, 110, 101, 83, 101, 109, 97, 110, 116, 105, 99, 76, 97, 98, 101, 108, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 150, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 80, 111, 108, 121, 103, 111, 110, 50, 68, 76, 105, 115, 116, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 69, 88, 84, 95, 115, 112, 97, 116, 105, 97, 108, 95, 112, 108, 97, 110, 101, 95, 116, 114, 97, 99, 107, 105, 110, 103, 92, 83, 116, 114, 117, 99, 116, 115, 92, 88, 114, 83, 112, 97, 116, 105, 97, 108, 80, 111, 108, 121, 103, 111, 110, 50, 68, 68, 97, 116, 97, 69, 88, 84, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 99, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 86, 69, 82, 83, 73, 79, 78, 95, 49, 95, 49, 92, 88, 114, 66, 111, 120, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 86, 69, 82, 83, 73, 79, 78, 95, 49, 95, 49, 92, 88, 114, 69, 120, 116, 101, 110, 116, 51, 68, 102, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 99, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 92, 88, 82, 95, 86, 69, 82, 83, 73, 79, 78, 95, 49, 95, 49, 92, 88, 114, 85, 117, 105, 100, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 65, 112, 105, 86, 101, 114, 115, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 67, 111, 108, 111, 114, 83, 117, 98, 109, 105, 115, 115, 111, 110, 77, 111, 100, 101, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 82, 101, 112, 111, 114, 116, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 78, 111, 80, 114, 101, 73, 110, 105, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 101, 115, 116, 97, 114, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 117, 110, 116, 105, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 83, 112, 97, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 85, 110, 105, 116, 121, 65, 80, 73, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 99, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 116, 116, 105, 110, 103, 115, 92, 79, 112, 101, 110, 88, 82, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 95, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 116, 116, 105, 110, 103, 115, 92, 79, 112, 101, 110, 88, 82, 82, 101, 110, 100, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 116, 116, 105, 110, 103, 115, 92, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 87, 97, 105, 116, 70, 111, 114, 82, 101, 115, 116, 97, 114, 116, 70, 105, 110, 105, 115, 104, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 68, 101, 118, 105, 99, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 72, 109, 100, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 101, 102, 48, 48, 51, 51, 97, 53, 56, 54, 98, 102, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 80, 111, 115, 101, 67, 111, 110, 116, 114, 111, 108, 46, 99, 115 }, TypesData = new byte[10180] { 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 73, 110, 116, 101, 114, 110, 97, 108, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 0, 0, 0, 64, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 65, 117, 116, 111, 109, 97, 116, 105, 99, 68, 121, 110, 97, 109, 105, 99, 82, 101, 115, 111, 108, 117, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 124, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 100, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 88, 114, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 70, 101, 97, 116, 117, 114, 101, 124, 78, 97, 116, 105, 118, 101, 65, 112, 105, 0, 0, 0, 0, 91, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 124, 80, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 67, 104, 97, 110, 103, 101, 78, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 70, 111, 118, 101, 97, 116, 101, 100, 82, 101, 110, 100, 101, 114, 105, 110, 103, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 64, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 68, 80, 97, 100, 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 69, 121, 101, 71, 97, 122, 101, 68, 101, 118, 105, 99, 101, 0, 0, 0, 0, 61, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 84, 114, 97, 99, 107, 105, 110, 103, 85, 115, 97, 103, 101, 115, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 83, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 91, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 111, 115, 101, 115, 0, 0, 0, 0, 66, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 82, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 79, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 104, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 108, 117, 115, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 78, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 102, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 81, 117, 101, 115, 116, 80, 114, 111, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 81, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 111, 108, 111, 76, 101, 110, 115, 72, 97, 110, 100, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 97, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 87, 77, 82, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 94, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 80, 97, 108, 109, 80, 111, 115, 101, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 92, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 68, 101, 118, 105, 99, 101, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 77, 97, 112, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 85, 115, 101, 114, 80, 97, 116, 104, 115, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 83, 112, 97, 99, 101, 87, 97, 114, 112, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 49, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 80, 111, 108, 108, 69, 118, 101, 110, 116, 82, 111, 117, 116, 101, 114, 0, 0, 0, 0, 51, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 66, 97, 115, 101, 73, 110, 83, 116, 114, 117, 99, 116, 117, 114, 101, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 69, 118, 101, 110, 116, 68, 97, 116, 97, 66, 97, 115, 101, 72, 101, 97, 100, 101, 114, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 69, 120, 116, 101, 110, 116, 50, 68, 102, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 111, 118, 102, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 80, 111, 115, 101, 102, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 102, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 82, 101, 115, 117, 108, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 83, 119, 97, 112, 99, 104, 97, 105, 110, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 50, 102, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 51, 102, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 79, 112, 101, 110, 88, 82, 82, 101, 115, 117, 108, 116, 83, 116, 97, 116, 117, 115, 1, 0, 0, 0, 49, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 117, 116, 117, 114, 101, 67, 97, 110, 99, 101, 108, 73, 110, 102, 111, 69, 88, 84, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 117, 116, 117, 114, 101, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 66, 97, 115, 101, 72, 101, 97, 100, 101, 114, 69, 88, 84, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 117, 116, 117, 114, 101, 67, 111, 109, 112, 108, 101, 116, 105, 111, 110, 69, 88, 84, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 117, 116, 117, 114, 101, 80, 111, 108, 108, 73, 110, 102, 111, 69, 88, 84, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 70, 117, 116, 117, 114, 101, 80, 111, 108, 108, 82, 101, 115, 117, 108, 116, 69, 88, 84, 1, 0, 0, 0, 49, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 65, 112, 105, 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 83, 112, 97, 116, 105, 97, 108, 65, 110, 99, 104, 111, 114, 67, 114, 101, 97, 116, 101, 73, 110, 102, 111, 69, 88, 84, 0, 0, 0, 0, 75, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 65, 110, 99, 104, 111, 114, 69, 88, 84, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 83, 112, 97, 116, 105, 97, 108, 67, 111, 109, 112, 111, 110, 101, 110, 116, 65, 110, 99, 104, 111, 114, 76, 105, 115, 116, 69, 88, 84, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 73, 83, 112, 97, 116, 105, 97, 108, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 10
plugins/RuntimeDeps/UnityEngine.SpatialTracking.dll
Decompiled 2 weeks agousing System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.SpatialTracking; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("UnityEditor.XR.SpatialTracking")] [assembly: InternalsVisibleTo("UnityEditor.SpatialTracking")] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[241] { 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 57, 53, 51, 53, 102, 102, 50, 99, 50, 55, 97, 99, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 57, 53, 51, 53, 102, 102, 50, 99, 50, 55, 97, 99, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 46, 99, 115 }, TypesData = new byte[297] { 0, 0, 0, 0, 56, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 69, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 46, 88, 82, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 46, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 124, 80, 111, 115, 101, 68, 97, 116, 97, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 80, 111, 115, 101, 68, 97, 116, 97, 83, 111, 117, 114, 99, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114 }, TotalFiles = 2, TotalTypes = 5, IsEditorOnly = false }; } } namespace UnityEngine.SpatialTracking { internal class TrackedPoseDriverDataDescription { internal struct PoseData { public List<string> PoseNames; public List<TrackedPoseDriver.TrackedPose> Poses; } internal static List<PoseData> DeviceData = new List<PoseData> { new PoseData { PoseNames = new List<string> { "Left Eye", "Right Eye", "Center Eye - HMD Reference", "Head", "Color Camera" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftEye, TrackedPoseDriver.TrackedPose.RightEye, TrackedPoseDriver.TrackedPose.Center, TrackedPoseDriver.TrackedPose.Head, TrackedPoseDriver.TrackedPose.ColorCamera } }, new PoseData { PoseNames = new List<string> { "Left Controller", "Right Controller" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftPose, TrackedPoseDriver.TrackedPose.RightPose } }, new PoseData { PoseNames = new List<string> { "Device Pose" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.RemotePose } } }; } [Flags] public enum PoseDataFlags { NoData = 0, Position = 1, Rotation = 2 } public static class PoseDataSource { internal static List<XRNodeState> nodeStates = new List<XRNodeState>(); internal static PoseDataFlags GetNodePoseData(XRNode node, out Pose resultPose) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) PoseDataFlags poseDataFlags = PoseDataFlags.NoData; InputTracking.GetNodeStates(nodeStates); foreach (XRNodeState nodeState in nodeStates) { XRNodeState current = nodeState; if (((XRNodeState)(ref current)).nodeType == node) { if (((XRNodeState)(ref current)).TryGetPosition(ref resultPose.position)) { poseDataFlags |= PoseDataFlags.Position; } if (((XRNodeState)(ref current)).TryGetRotation(ref resultPose.rotation)) { poseDataFlags |= PoseDataFlags.Rotation; } return poseDataFlags; } } resultPose = Pose.identity; return poseDataFlags; } public static bool TryGetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { return GetDataFromSource(poseSource, out resultPose) == (PoseDataFlags.Position | PoseDataFlags.Rotation); } public static PoseDataFlags GetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) switch (poseSource) { case TrackedPoseDriver.TrackedPose.RemotePose: { PoseDataFlags nodePoseData = GetNodePoseData((XRNode)5, out resultPose); if (nodePoseData == PoseDataFlags.NoData) { return GetNodePoseData((XRNode)4, out resultPose); } return nodePoseData; } case TrackedPoseDriver.TrackedPose.LeftEye: return GetNodePoseData((XRNode)0, out resultPose); case TrackedPoseDriver.TrackedPose.RightEye: return GetNodePoseData((XRNode)1, out resultPose); case TrackedPoseDriver.TrackedPose.Head: return GetNodePoseData((XRNode)3, out resultPose); case TrackedPoseDriver.TrackedPose.Center: return GetNodePoseData((XRNode)2, out resultPose); case TrackedPoseDriver.TrackedPose.LeftPose: return GetNodePoseData((XRNode)4, out resultPose); case TrackedPoseDriver.TrackedPose.RightPose: return GetNodePoseData((XRNode)5, out resultPose); case TrackedPoseDriver.TrackedPose.ColorCamera: return GetNodePoseData((XRNode)2, out resultPose); default: Debug.LogWarningFormat("Unable to retrieve pose data for poseSource: {0}", new object[1] { poseSource.ToString() }); resultPose = Pose.identity; return PoseDataFlags.NoData; } } } [Serializable] [DefaultExecutionOrder(-30000)] [AddComponentMenu("XR/Tracked Pose Driver")] [HelpURL("https://docs.unity3d.com/Packages/[email protected]/manual/index.html")] public class TrackedPoseDriver : MonoBehaviour { public enum DeviceType { GenericXRDevice, GenericXRController, GenericXRRemote } public enum TrackedPose { LeftEye, RightEye, Center, Head, LeftPose, RightPose, ColorCamera, DepthCameraDeprecated, FisheyeCameraDeprected, DeviceDeprecated, RemotePose } public enum TrackingType { RotationAndPosition, RotationOnly, PositionOnly } public enum UpdateType { UpdateAndBeforeRender, Update, BeforeRender } [SerializeField] private DeviceType m_Device; [SerializeField] private TrackedPose m_PoseSource = TrackedPose.Center; [SerializeField] private BasePoseProvider m_PoseProviderComponent; [SerializeField] private TrackingType m_TrackingType; [SerializeField] private UpdateType m_UpdateType; [SerializeField] private bool m_UseRelativeTransform; protected Pose m_OriginPose; public DeviceType deviceType { get { return m_Device; } internal set { m_Device = value; } } public TrackedPose poseSource { get { return m_PoseSource; } internal set { m_PoseSource = value; } } public BasePoseProvider poseProviderComponent { get { return m_PoseProviderComponent; } set { m_PoseProviderComponent = value; } } public TrackingType trackingType { get { return m_TrackingType; } set { m_TrackingType = value; } } public UpdateType updateType { get { return m_UpdateType; } set { m_UpdateType = value; } } public bool UseRelativeTransform { get { return m_UseRelativeTransform; } set { m_UseRelativeTransform = value; } } public Pose originPose { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_OriginPose; } set { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) m_OriginPose = value; } } public bool SetPoseSource(DeviceType deviceType, TrackedPose pose) { if ((int)deviceType < TrackedPoseDriverDataDescription.DeviceData.Count) { TrackedPoseDriverDataDescription.PoseData poseData = TrackedPoseDriverDataDescription.DeviceData[(int)deviceType]; for (int i = 0; i < poseData.Poses.Count; i++) { if (poseData.Poses[i] == pose) { this.deviceType = deviceType; poseSource = pose; return true; } } } return false; } private PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose) { if (!((Object)(object)m_PoseProviderComponent != (Object)null)) { return PoseDataSource.GetDataFromSource(poseSource, out resultPose); } return m_PoseProviderComponent.GetPoseFromProvider(out resultPose); } private void CacheLocalPosition() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) m_OriginPose.position = ((Component)this).transform.localPosition; m_OriginPose.rotation = ((Component)this).transform.localRotation; } private void ResetToCachedLocalPosition() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) SetLocalTransform(m_OriginPose.position, m_OriginPose.rotation, PoseDataFlags.Position | PoseDataFlags.Rotation); } protected virtual void Awake() { CacheLocalPosition(); } protected virtual void OnDestroy() { } protected virtual void OnEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Application.onBeforeRender += new UnityAction(OnBeforeRender); } protected virtual void OnDisable() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown ResetToCachedLocalPosition(); Application.onBeforeRender -= new UnityAction(OnBeforeRender); } protected virtual void FixedUpdate() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void Update() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } [BeforeRenderOrder(-30000)] protected virtual void OnBeforeRender() { if (m_UpdateType == UpdateType.BeforeRender || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void SetLocalTransform(Vector3 newPosition, Quaternion newRotation, PoseDataFlags poseFlags) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.RotationOnly) && (poseFlags & PoseDataFlags.Rotation) > PoseDataFlags.NoData) { ((Component)this).transform.localRotation = newRotation; } if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.PositionOnly) && (poseFlags & PoseDataFlags.Position) > PoseDataFlags.NoData) { ((Component)this).transform.localPosition = newPosition; } } protected Pose TransformPoseByOriginIfNeeded(Pose pose) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) if (m_UseRelativeTransform) { return ((Pose)(ref pose)).GetTransformedBy(m_OriginPose); } return pose; } private bool HasStereoCamera() { Camera component = ((Component)this).GetComponent<Camera>(); if ((Object)(object)component != (Object)null) { return component.stereoEnabled; } return false; } protected virtual void PerformUpdate() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) if (((Behaviour)this).enabled) { Pose resultPose; PoseDataFlags poseData = GetPoseData(m_Device, m_PoseSource, out resultPose); if (poseData != PoseDataFlags.NoData) { Pose val = TransformPoseByOriginIfNeeded(resultPose); SetLocalTransform(val.position, val.rotation, poseData); } } } } } namespace UnityEngine.Experimental.XR.Interaction { [Serializable] public abstract class BasePoseProvider : MonoBehaviour { public virtual PoseDataFlags GetPoseFromProvider(out Pose output) { if (TryGetPoseFromProvider(out output)) { return PoseDataFlags.Position | PoseDataFlags.Rotation; } return PoseDataFlags.NoData; } [Obsolete("This function is provided for backwards compatibility with the BasePoseProvider found in com.unity.xr.legacyinputhelpers v1.3.X. Please do not implement this function, instead use the new API via GetPoseFromProvider", false)] public virtual bool TryGetPoseFromProvider(out Pose output) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) output = Pose.identity; return false; } } }
patchers/LCVR.Preload.dll
Decompiled 2 weeks agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using Microsoft.CodeAnalysis; using Mono.Cecil; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("DaXcess")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright (c) DaXcess 2024-2025")] [assembly: AssemblyDescription("LCVR Preloader")] [assembly: AssemblyFileVersion("1.4.6.0")] [assembly: AssemblyInformationalVersion("1.4.6+e5f9386847851d7bf3c02e50aad517a7f6c3382a")] [assembly: AssemblyProduct("LCVR.Preload")] [assembly: AssemblyTitle("LCVR.Preload")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/DaXcess/LCVR")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.4.6.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace LCVR.Preload { public static class Preload { private const string VR_MANIFEST = "{\r\n \"name\": \"OpenXR XR Plugin\",\r\n \"version\": \"1.8.2\",\r\n \"libraryName\": \"UnityOpenXR\",\r\n \"displays\": [\r\n {\r\n \"id\": \"OpenXR Display\"\r\n }\r\n ],\r\n \"inputs\": [\r\n {\r\n \"id\": \"OpenXR Input\"\r\n }\r\n ]\r\n}"; private static readonly ManualLogSource Logger = Logger.CreateLogSource("LCVR.Preload"); public static IEnumerable<string> TargetDLLs { get; } = Array.Empty<string>(); public static void Initialize() { Logger.LogInfo((object)"Setting up VR runtime assets"); SetupRuntimeAssets(); Logger.LogInfo((object)"We're done here. Goodbye!"); } private static void SetupRuntimeAssets() { string path = Path.Combine(Paths.GameRootPath, "PEAK_Data"); string text = Path.Combine(path, "UnitySubsystems"); if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } string text2 = Path.Combine(text, "UnityOpenXR"); if (!Directory.Exists(text2)) { Directory.CreateDirectory(text2); } string path2 = Path.Combine(text2, "UnitySubsystemsManifest.json"); if (!File.Exists(path2)) { File.WriteAllText(path2, "{\r\n \"name\": \"OpenXR XR Plugin\",\r\n \"version\": \"1.8.2\",\r\n \"libraryName\": \"UnityOpenXR\",\r\n \"displays\": [\r\n {\r\n \"id\": \"OpenXR Display\"\r\n }\r\n ],\r\n \"inputs\": [\r\n {\r\n \"id\": \"OpenXR Input\"\r\n }\r\n ]\r\n}"); } string path3 = Path.Combine(path, "Plugins"); string destinationFile = Path.Combine(path3, "UnityOpenXR.dll"); string destinationFile2 = Path.Combine(path3, "openxr_loader.dll"); string? directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string sourceFile = Path.Combine(directoryName, "RuntimeDeps/UnityOpenXR.dll"); string sourceFile2 = Path.Combine(directoryName, "RuntimeDeps/openxr_loader.dll"); if (!CopyResourceFile(sourceFile, destinationFile)) { Logger.LogWarning((object)"Could not find plugin UnityOpenXR.dll, VR might not work!"); } if (!CopyResourceFile(sourceFile2, destinationFile2)) { Logger.LogWarning((object)"Could not find plugin openxr_loader.dll, VR might not work!"); } } private static bool CopyResourceFile(string sourceFile, string destinationFile) { if (!File.Exists(sourceFile)) { return false; } if (File.Exists(destinationFile)) { byte[] first = Utils.ComputeHash(File.ReadAllBytes(sourceFile)); byte[] second = Utils.ComputeHash(File.ReadAllBytes(destinationFile)); if (first.SequenceEqual(second)) { return true; } } File.Copy(sourceFile, destinationFile, overwrite: true); return true; } public static void Patch(AssemblyDefinition assembly) { } } public static class Utils { public static byte[] ComputeHash(byte[] input) { using SHA256 sHA = SHA256.Create(); return sHA.ComputeHash(input); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }